Base class for selecting the regulatisation PDE. More...
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< regularisationPDE > | New (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 fvMesh & | mesh_ |
const dictionary | dict_ |
const topOZones & | zones_ |
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... | |
Base class for selecting the regulatisation PDE.
Definition at line 54 of file regularisationPDE.H.
regularisationPDE | ( | const fvMesh & | mesh, |
const dictionary & | dict, | ||
const topOZones & | zones | ||
) |
Construct from components.
Definition at line 109 of file regularisationPDE.C.
|
virtualdefault |
Destructor.
|
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().
|
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().
|
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().
TypeName | ( | "regularisationPDE" | ) |
Runtime type information.
declareRunTimeSelectionTable | ( | autoPtr | , |
regularisationPDE | , | ||
dictionary | , | ||
(const fvMesh &mesh, const dictionary &dict, const topOZones &zones) | , | ||
(mesh, dict, 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.
|
pure virtual |
Regularise field (or sensitivities)
Implemented in Helmholtz.
|
protected |
Definition at line 76 of file regularisationPDE.H.
Referenced by regularisationPDE::computeRadius().
|
protected |
Definition at line 78 of file regularisationPDE.H.
|
protected |
Cell zones related to topology optimisation.
Definition at line 83 of file regularisationPDE.H.
|
protected |
Whether to apply a fixedValue BC or zeroGradient one to alphaTilda, when regularisation is performed.
Definition at line 89 of file regularisationPDE.H.