regularisationPDE Class Referenceabstract

Base class for selecting the regulatisation PDE. More...

Inheritance diagram for regularisationPDE:
Collaboration diagram for regularisationPDE:

Public Member Functions

 TypeName ("regularisationPDE")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, regularisationPDE, dictionary,(const fvMesh &mesh, const dictionary &dict, const topOZones &zones),(mesh, dict, zones))
 
 regularisationPDE (const fvMesh &mesh, const dictionary &dict, const topOZones &zones)
 Construct from components. More...
 
virtual ~regularisationPDE ()=default
 Destructor. More...
 
virtual void regularise (const volScalarField &aTilda, const scalarField &source, scalarField &result, const bool isTopoField, const regularisationRadius &radius, const scalar minSetValue=Zero, const bool fixATildaValues=true)=0
 Regularise field (or sensitivities) More...
 

Static Public Member Functions

static autoPtr< regularisationPDENew (const fvMesh &mesh, const dictionary &dict, const topOZones &zones)
 Construct and return the selected regularisationPDE. More...
 

Protected Member Functions

void setValues (fvScalarMatrix &bTildaEqn, const bool isTopoField, const scalar minSetValue=Zero)
 Set fixed bTilda values. More...
 
void setValues (const fvMesh &mesh, DynamicList< label > &cells, DynamicList< scalar > &values, bool isTopoField, const scalar minSetValue=Zero)
 Gather the cells with constant values from all constrained zones. More...
 
scalar computeRadius ()
 Compute smoothing radius, if not directly given. More...
 

Protected Attributes

const fvMeshmesh_
 
const dictionary dict_
 
const topOZoneszones_
 Cell zones related to topology optimisation. More...
 
bool growFromWalls_
 Whether to apply a fixedValue BC or zeroGradient one to alphaTilda, when regularisation is performed. More...
 

Detailed Description

Base class for selecting the regulatisation PDE.

Source files

Definition at line 54 of file regularisationPDE.H.

Constructor & Destructor Documentation

◆ regularisationPDE()

regularisationPDE ( const fvMesh mesh,
const dictionary dict,
const topOZones zones 
)

Construct from components.

Definition at line 109 of file regularisationPDE.C.

◆ ~regularisationPDE()

virtual ~regularisationPDE ( )
virtualdefault

Destructor.

Member Function Documentation

◆ setValues() [1/2]

void setValues ( fvScalarMatrix bTildaEqn,
const bool  isTopoField,
const scalar  minSetValue = Zero 
)
protected

Set fixed bTilda values.

Definition at line 36 of file regularisationPDE.C.

References cells, mesh, fvMatrix< Type >::psi(), fvMatrix< Type >::setValues(), and Foam::HashTableOps::values().

Here is the call graph for this function:

◆ setValues() [2/2]

void setValues ( const fvMesh mesh,
DynamicList< label > &  cells,
DynamicList< scalar > &  values,
bool  isTopoField,
const scalar  minSetValue = Zero 
)
protected

Gather the cells with constant values from all constrained zones.

Definition at line 51 of file regularisationPDE.C.

References cells, forAll, mesh, UList< T >::size(), and Foam::HashTableOps::values().

Here is the call graph for this function:

◆ computeRadius()

Foam::scalar computeRadius ( )
protected

Compute smoothing radius, if not directly given.

Definition at line 88 of file regularisationPDE.C.

References polyMesh::bounds(), Foam::endl(), forAll, Foam::gAverage(), polyMesh::geometricD(), Foam::Info, regularisationPDE::mesh_, polyMesh::nGeometricD(), Foam::pow(), boundBox::span(), and fvMesh::V().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "regularisationPDE"  )

Runtime type information.

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( autoPtr  ,
regularisationPDE  ,
dictionary  ,
(const fvMesh &mesh, const dictionary &dict, const topOZones &zones)  ,
(mesh, dict, zones)   
)

◆ New()

Foam::autoPtr< Foam::regularisationPDE > New ( const fvMesh mesh,
const dictionary dict,
const topOZones zones 
)
static

Construct and return the selected regularisationPDE.

Definition at line 125 of file regularisationPDE.C.

References dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInLookup, dictionary::getOrDefault(), Foam::Info, and mesh.

Here is the call graph for this function:

◆ regularise()

virtual void regularise ( const volScalarField aTilda,
const scalarField source,
scalarField result,
const bool  isTopoField,
const regularisationRadius radius,
const scalar  minSetValue = Zero,
const bool  fixATildaValues = true 
)
pure virtual

Regularise field (or sensitivities)

Implemented in Helmholtz.

Member Data Documentation

◆ mesh_

const fvMesh& mesh_
protected

Definition at line 76 of file regularisationPDE.H.

Referenced by regularisationPDE::computeRadius().

◆ dict_

const dictionary dict_
protected

Definition at line 78 of file regularisationPDE.H.

◆ zones_

const topOZones& zones_
protected

Cell zones related to topology optimisation.

Definition at line 83 of file regularisationPDE.H.

◆ growFromWalls_

bool growFromWalls_
protected

Whether to apply a fixedValue BC or zeroGradient one to alphaTilda, when regularisation is performed.

Definition at line 89 of file regularisationPDE.H.


The documentation for this class was generated from the following files: