
Public Member Functions | |
| TypeName ("fieldRegularisation") | |
| Runtime type information. More... | |
| fieldRegularisation (fvMesh &mesh, const scalarField &alpha, const topOZones &zones, const dictionary &dict) | |
| Construct from components. More... | |
| virtual | ~fieldRegularisation ()=default |
| Destructor. More... | |
| const volScalarField & | beta () const |
| Return beta field. More... | |
| bool | growFromWalls () const |
| Grow beta from walls. More... | |
| bool | shouldRegularise () const |
| Should regularisation be executed. More... | |
| virtual void | updateBeta () |
| Update the beta field. More... | |
| void | regularise (const scalarField &source, scalarField &result, const bool isTopoField, const regularisationRadius &radius) |
| Regularise an externally provided radius. More... | |
| void | regularise (const scalarField &source, scalarField &result, const bool isTopoField) |
| Regularise field (or sensitivities) using a Laplace PDE. More... | |
| void | postProcessSens (scalarField &sens) |
| Update part of fieldRegularisation to the sensitivitiy derivatives. More... | |
Protected Attributes | |
| fvMesh & | mesh_ |
| dictionary | dict_ |
| const topOZones & | zones_ |
| Cell zones related to topology optimisation. More... | |
| bool | regularise_ |
| Perform regulaisation on alpha before inputing it on beta? More... | |
| bool | project_ |
| Perform the projection (sharpening) step? More... | |
| autoPtr< regularisationRadius > | radius_ |
| Smoothing radius. More... | |
| const scalarField & | alpha_ |
| Alpha field (design variables of topology optimisation) More... | |
| autoPtr< volScalarField > | alphaTilda_ |
| The regularised alpha field, if regulatisation is performed. More... | |
| autoPtr< topOInterpolationFunction > | sharpenFunction_ |
| Function used to sharpen the field after regularisation. More... | |
| autoPtr< regularisationPDE > | regularisationPDE_ |
| PDE used for the regularisation. More... | |
| const scalarField & | betaArg_ |
| Argument of the beta field. More... | |
| bool | growFromWalls_ |
| Whether to apply a fixedValue BC or zeroGradient one to alphaTilda, when regularisation is performed. More... | |
| volScalarField | beta_ |
| Beta is the field used for all interpolations between fluid and solid in topology optimisation. More... | |
Definition at line 68 of file fieldRegularisation.H.
| fieldRegularisation | ( | fvMesh & | mesh, |
| const scalarField & | alpha, | ||
| const topOZones & | zones, | ||
| const dictionary & | dict | ||
| ) |
Construct from components.
Definition at line 37 of file fieldRegularisation.C.
References DebugInfo, Foam::endl(), and Foam::nl.

|
virtualdefault |
Destructor.
| TypeName | ( | "fieldRegularisation" | ) |
Runtime type information.
|
inline |
Return beta field.
Definition at line 189 of file fieldRegularisation.H.
References fieldRegularisation::beta_.
|
inline |
Grow beta from walls.
Definition at line 197 of file fieldRegularisation.H.
References fieldRegularisation::growFromWalls_.
|
inline |
Should regularisation be executed.
Definition at line 205 of file fieldRegularisation.H.
References fieldRegularisation::regularise_.
|
virtual |
Update the beta field.
Performs regulaisation of alpha_, if necessary
Definition at line 102 of file fieldRegularisation.C.
References fieldRegularisation::alpha_, fieldRegularisation::alphaTilda_, fieldRegularisation::beta_, fieldRegularisation::betaArg_, GeometricField< Type, PatchField, GeoMesh >::correctBoundaryConditions(), GeometricField< Type, PatchField, GeoMesh >::primitiveFieldRef(), fieldRegularisation::project_, fieldRegularisation::regularise(), fieldRegularisation::regularise_, and fieldRegularisation::sharpenFunction_.

| void regularise | ( | const scalarField & | source, |
| scalarField & | result, | ||
| const bool | isTopoField, | ||
| const regularisationRadius & | radius | ||
| ) |
Regularise an externally provided radius.
Definition at line 123 of file fieldRegularisation.C.
Referenced by fieldRegularisation::updateBeta().

| void regularise | ( | const scalarField & | source, |
| scalarField & | result, | ||
| const bool | isTopoField | ||
| ) |
Regularise field (or sensitivities) using a Laplace PDE.
Definition at line 136 of file fieldRegularisation.C.
| void postProcessSens | ( | scalarField & | sens | ) |
Update part of fieldRegularisation to the sensitivitiy derivatives.
Definition at line 147 of file fieldRegularisation.C.
|
protected |
Definition at line 75 of file fieldRegularisation.H.
|
protected |
Definition at line 76 of file fieldRegularisation.H.
|
protected |
Cell zones related to topology optimisation.
Definition at line 81 of file fieldRegularisation.H.
|
protected |
Perform regulaisation on alpha before inputing it on beta?
Definition at line 86 of file fieldRegularisation.H.
Referenced by fieldRegularisation::shouldRegularise(), and fieldRegularisation::updateBeta().
|
protected |
Perform the projection (sharpening) step?
Definition at line 91 of file fieldRegularisation.H.
Referenced by fieldRegularisation::updateBeta().
|
protected |
Smoothing radius.
May be isotropic or differ per spatial direction
Definition at line 98 of file fieldRegularisation.H.
|
protected |
Alpha field (design variables of topology optimisation)
Definition at line 103 of file fieldRegularisation.H.
Referenced by fieldRegularisation::updateBeta().
|
protected |
The regularised alpha field, if regulatisation is performed.
Definition at line 108 of file fieldRegularisation.H.
Referenced by fieldRegularisation::updateBeta().
|
protected |
Function used to sharpen the field after regularisation.
Definition at line 113 of file fieldRegularisation.H.
Referenced by fieldRegularisation::updateBeta().
|
protected |
PDE used for the regularisation.
Definition at line 118 of file fieldRegularisation.H.
|
protected |
Argument of the beta field.
Is either alpha_ (no regularisation) or alphaTilda_ (with regularisation)
Definition at line 126 of file fieldRegularisation.H.
Referenced by fieldRegularisation::updateBeta().
|
protected |
Whether to apply a fixedValue BC or zeroGradient one to alphaTilda, when regularisation is performed.
Definition at line 132 of file fieldRegularisation.H.
Referenced by fieldRegularisation::growFromWalls().
|
protected |
Beta is the field used for all interpolations between fluid and solid in topology optimisation.
Definition at line 138 of file fieldRegularisation.H.
Referenced by fieldRegularisation::beta(), and fieldRegularisation::updateBeta().