Go to the documentation of this file.
39 namespace incompressible
100 mesh_.time().timeName(),
108 divDxDbMult_(mesh_.nCells(),
Zero),
109 optionsDxDbMult_(mesh_.nCells(),
Zero),
111 includeDistance_(
false),
112 eikonalSolver_(
nullptr)
146 func.weight()*
func.divDxDbMultiplier().primitiveField()*dt;
const dictionary & dict() const
Return the construction dictionary.
vectorField optionsDxDbMult_
dx/db multiplier coming from fvOptions
class for managing incompressible objective functions.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
const word & solverName() const
Return solver name.
virtual void clearSensitivities()
Zero sensitivity fields and their constituents.
defineTypeNameAndDebug(adjointEikonalSolver, 0)
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
static constexpr const zero Zero
Global zero (0)
static options & New(const fvMesh &mesh)
Construct fvOptions and register to database if not present.
bool read(const char *buf, int32_t &val)
Same as readInt32.
volTensorField gradDxDbMult_
grad(dx/db) multiplier
virtual void accumulateBCSensitivityIntegrand(const scalar dt)
Accumulate sensitivities enamating from the boundary conditions.
void read()
Read options and update solver pointers if necessary.
scalarField divDxDbMult_
div(dx/db) multiplier
Class including all adjoint fields for incompressible flows.
const autoPtr< incompressible::RASModelVariables > & RASModelVariables() const
Return const reference to the turbulence model variables.
autoPtr< adjointEikonalSolver > eikonalSolver_
Adjoint eikonal equation solver.
Solver of the adjoint to the eikonal PDE.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
dimensionedScalar pow3(const dimensionedScalar &ds)
virtual bool readDict(const dictionary &dict)
Read dictionary if changed.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
virtual bool readDict(const dictionary &dict)
Read dict if changed.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
void func(FieldField< Field, Type > &f, const FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
virtual void accumulateDirectSensitivityIntegrand(const scalar dt)
Accumulate direct sensitivities.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Macros for easy insertion into run-time selection tables.
incompressibleAdjointVars & adjointVars_
Mesh data needed to do the Finite Volume discretisation.
void postProcessSens(Field< Type > &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null)
Post process sensitivity field related to the fvOption.
incompressibleVars & primalVars_
dimensionedSymmTensor sqr(const dimensionedVector &dv)
bool includeDistance_
Include distance variation in sens computation.
const autoPtr< incompressibleAdjoint::adjointRASModel > & adjointTurbulence() const
Return const reference to the adjointRASModel.
virtual void accumulateIntegrand(const scalar dt)
Accumulate sensitivity integrands.
static const Vector< scalar > zero
virtual void clearSensitivities()
Zero sensitivity fields and their constituents.
T getOrDefault(const word &keyword, const T &deflt, enum keyType::option matchOpt=keyType::REGEX) const
Abstract base class for objective functions. No point in making this runTime selectable since its chi...
dimensioned< tensor > dimensionedTensor
Dimensioned tensor obtained from generic dimensioned type.
tmp< volTensorField > computeGradDxDbMultiplier()
Base class for solution control classes.
PtrList< objective > & getObjectiveFunctions()
Return reference to objective functions.
objectiveManager & objectiveManager_