41#ifndef sensitivityTopO_H
42#define sensitivityTopO_H
60 public adjointSensitivity
86 sensitivityTopO(
const sensitivityTopO&);
89 void operator=(
const sensitivityTopO&);
133 const word& fieldName,
134 const word& designVariablesName
142 const word& fieldName
147 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
153 const word& fieldName,
Generic mesh wrapper used by volMesh, surfaceMesh, pointMesh etc.
Generic GeometricField class.
Base class for adjoint solvers.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Mesh data needed to do the Finite Volume discretisation.
Finite-volume options, which is an IOdictionary of values and a fv::optionList.
TypeName("topO")
Runtime type information.
static void postProcessAuxSens(const GeometricField< Type, PatchField, GeoMesh > &primal, const GeometricField< Type, PatchField, GeoMesh > &adjoint, fv::options &fvOptions, const word &fieldName, scalarField &auxSens)
Potentially manipulate auxSens within the fvOption before adding the part related to the design varia...
topOZones zones_
Zones related to topology optimisation.
virtual bool readDict(const dictionary &dict)
Read dictionary if changed.
word designVariablesName_
Name used as the argument for the post-processing of the sensitivities through fvOptions.
void zeroSensInFixedPorousZones(scalarField &sens)
Zero sensitivities in fixed porous zones.
virtual ~sensitivityTopO()=default
Destructor.
virtual void accumulateIntegrand(const scalar dt)
Accumulate sensitivity integrands.
static void postProcessSens(scalarField &sens, scalarField &auxSens, fv::options &fvOptions, const word &fieldName, const word &designVariablesName)
Add part of the sensitivities coming from fvOptions.
virtual void assembleSensitivities(autoPtr< designVariables > &designVars)
Assemble sensitivities.
const fvMesh & mesh() const
Return reference to mesh.
const dictionary & dict() const
Return the construction dictionary.
A class for handling words, derived from Foam::string.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.