41 #ifndef regularisationPDE_H 42 #define regularisationPDE_H 95 const bool isTopoField,
96 const scalar minSetValue =
Zero 106 const scalar minSetValue =
Zero 169 const bool isTopoField,
171 const scalar minSetValue =
Zero,
172 const bool fixATildaValues =
true Base class for selecting the regulatisation radius.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
static autoPtr< regularisationPDE > New(const fvMesh &mesh, const dictionary &dict, const topOZones &zones)
Construct and return the selected regularisationPDE.
Base class for selecting the regulatisation PDE.
List< T > values(const HashTable< T, Key, Hash > &tbl, const bool doSort=false)
List of values from HashTable, optionally sorted.
virtual ~regularisationPDE()=default
Destructor.
scalar computeRadius()
Compute smoothing radius, if not directly given.
const topOZones & zones_
Cell zones related to topology optimisation.
A special matrix type and solver, designed for finite volume solutions of scalar equations. Face addressing is used to make all matrix assembly and solution loops vectorise.
void setValues(fvScalarMatrix &bTildaEqn, const bool isTopoField, const scalar minSetValue=Zero)
Set fixed bTilda values.
TypeName("regularisationPDE")
Runtime type information.
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)
Mesh data needed to do the Finite Volume discretisation.
A special matrix type and solver, designed for finite volume solutions of scalar equations.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Macros to ease declaration of run-time selection tables.
declareRunTimeSelectionTable(autoPtr, regularisationPDE, dictionary,(const fvMesh &mesh, const dictionary &dict, const topOZones &zones),(mesh, dict, zones))
bool growFromWalls_
Whether to apply a fixedValue BC or zeroGradient one to alphaTilda, when regularisation is performed...
static constexpr const zero Zero
Global zero (0)