Base class for selecting the regulatisation PDE. More...
#include <regularisationPDE.H>


Public Member Functions | |
| TypeName ("regularisationPDE") | |
| Runtime type information. | |
| 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. | |
| virtual | ~regularisationPDE ()=default |
| Destructor. | |
| 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). | |
Static Public Member Functions | |
| static autoPtr< regularisationPDE > | New (const fvMesh &mesh, const dictionary &dict, const topOZones &zones) |
| Construct and return the selected regularisationPDE. | |
Protected Member Functions | |
| void | setValues (fvScalarMatrix &bTildaEqn, const bool isTopoField, const scalar minSetValue=Zero) |
| Set fixed bTilda values. | |
| 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. | |
| scalar | computeRadius () |
| Compute smoothing radius, if not directly given. | |
Protected Attributes | |
| const fvMesh & | mesh_ |
| const dictionary | dict_ |
| const topOZones & | zones_ |
| Cell zones related to topology optimisation. | |
| bool | growFromWalls_ |
| Whether to apply a fixedValue BC or zeroGradient one to alphaTilda, when regularisation is performed. | |
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 108 of file regularisationPDE.C.
References dict, dict_, growFromWalls_, mesh, mesh_, and zones_.
|
virtualdefault |
Destructor.
|
protected |
Set fixed bTilda values.
Definition at line 35 of file regularisationPDE.C.
References cells, GeometricField< Type, PatchField, GeoMesh >::internalField(), DimensionedField< Type, GeoMesh >::mesh(), mesh, fvMatrix< Type >::psi(), fvMatrix< Type >::setValues(), and setValues().
Referenced by Helmholtz::regularise(), setValues(), and Helmholtz::solveEqn().


|
protected |
Gather the cells with constant values from all constrained zones.
Definition at line 50 of file regularisationPDE.C.
References cells, forAll, mesh, UList< T >::size(), and zones_.

|
protected |
Compute smoothing radius, if not directly given.
Definition at line 88 of file regularisationPDE.C.
References Foam::endl(), forAll, Foam::gAverage(), Foam::Info, mesh_, and Foam::pow().

| 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 124 of file regularisationPDE.C.
References dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInLookup, Foam::Info, and mesh.

|
pure virtual |
|
protected |
Definition at line 76 of file regularisationPDE.H.
Referenced by computeRadius(), regularisationPDE(), and Helmholtz::regularise().
|
protected |
Definition at line 78 of file regularisationPDE.H.
Referenced by regularisationPDE(), and Helmholtz::solveEqn().
|
protected |
Cell zones related to topology optimisation.
Definition at line 83 of file regularisationPDE.H.
Referenced by regularisationPDE(), and setValues().
|
protected |
Whether to apply a fixedValue BC or zeroGradient one to alphaTilda, when regularisation is performed.
Definition at line 89 of file regularisationPDE.H.
Referenced by regularisationPDE(), and Helmholtz::solveEqn().