Loading...
Searching...
No Matches
regularisationPDE Class Referenceabstract

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

#include <regularisationPDE.H>

Inheritance diagram for regularisationPDE:
Collaboration diagram for regularisationPDE:

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 fvMeshmesh_
const dictionary dict_
const topOZoneszones_
 Cell zones related to topology optimisation.
bool growFromWalls_
 Whether to apply a fixedValue BC or zeroGradient one to alphaTilda, when regularisation is performed.

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 108 of file regularisationPDE.C.

References dict, dict_, growFromWalls_, mesh, mesh_, and zones_.

◆ ~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 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().

Here is the call graph for this function:
Here is the caller 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 50 of file regularisationPDE.C.

References cells, forAll, mesh, UList< T >::size(), and zones_.

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 Foam::endl(), forAll, Foam::gAverage(), Foam::Info, mesh_, and Foam::pow().

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)  )

References dict, and mesh.

◆ 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 124 of file regularisationPDE.C.

References dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInLookup, 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.

References Foam::Zero.

Member Data Documentation

◆ mesh_

const fvMesh& mesh_
protected

Definition at line 76 of file regularisationPDE.H.

Referenced by computeRadius(), regularisationPDE(), and Helmholtz::regularise().

◆ dict_

const dictionary dict_
protected

Definition at line 78 of file regularisationPDE.H.

Referenced by regularisationPDE(), and Helmholtz::solveEqn().

◆ zones_

const topOZones& zones_
protected

Cell zones related to topology optimisation.

Definition at line 83 of file regularisationPDE.H.

Referenced by regularisationPDE(), and setValues().

◆ 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.

Referenced by regularisationPDE(), and Helmholtz::solveEqn().


The documentation for this class was generated from the following files:
  • src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/regularisation/regularisationPDE/regularisationPDE/regularisationPDE.H
  • src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/regularisation/regularisationPDE/regularisationPDE/regularisationPDE.C