A regulatisation PDE based on a Helmholtz filter. More...
Public Member Functions | |
TypeName ("Helmholtz") | |
Runtime type information. More... | |
Helmholtz (const fvMesh &mesh, const dictionary &dict, const topOZones &zones) | |
Construct from components. More... | |
virtual | ~Helmholtz ()=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) |
Regularise field (or sensitivities) using a Laplace PDE. More... | |
Public Member Functions inherited from regularisationPDE | |
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... | |
Protected Member Functions | |
void | solveEqn (const volScalarField &aTilda, const scalarField &source, scalarField &result, const bool isTopoField, const regularisationRadius &radius, const scalar minSetValue=Zero, const bool fixATildaValues=true) |
Solve the regulatisation equation. More... | |
Protected Member Functions inherited from regularisationPDE | |
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 | |
bool | solveOnActiveCells_ |
Solve the regularisationPDE only on a subset mesh made of the active cell zones. More... | |
scalar | wallValue_ |
Fixed value at wall boundaries. Defaults to 1. More... | |
Protected Attributes inherited from regularisationPDE | |
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... | |
Additional Inherited Members | |
Static Public Member Functions inherited from regularisationPDE | |
static autoPtr< regularisationPDE > | New (const fvMesh &mesh, const dictionary &dict, const topOZones &zones) |
Construct and return the selected regularisationPDE. More... | |
A regulatisation PDE based on a Helmholtz filter.
Definition at line 49 of file Helmholtz.H.
Helmholtz | ( | const fvMesh & | mesh, |
const dictionary & | dict, | ||
const topOZones & | zones | ||
) |
Construct from components.
Definition at line 151 of file Helmholtz.C.
|
virtualdefault |
Destructor.
|
protected |
Solve the regulatisation equation.
The mesh used is the one of aTilda
Definition at line 44 of file Helmholtz.C.
References regularisationRadius::addRegularisationTerm(), GeometricField< Type, PatchField, GeoMesh >::boundaryFieldRef(), Foam::dimless, forAll, Foam::Info, GeometricField< Type, PatchField, GeoMesh >::internalField(), iters(), Foam::mag(), mesh, DimensionedField< Type, GeoMesh >::mesh(), Foam::foamVersion::patch, GeometricField< Type, PatchField, GeoMesh >::primitiveField(), fvMatrix< Type >::solve(), Sp, and Foam::Zero.
TypeName | ( | "Helmholtz" | ) |
Runtime type information.
|
virtual |
Regularise field (or sensitivities) using a Laplace PDE.
Implements regularisationPDE.
Definition at line 166 of file Helmholtz.C.
References cells, Field< Type >::rmap(), and Foam::HashTableOps::values().
|
protected |
Solve the regularisationPDE only on a subset mesh made of the active cell zones.
Definition at line 77 of file Helmholtz.H.
|
protected |
Fixed value at wall boundaries. Defaults to 1.
Definition at line 82 of file Helmholtz.H.