Go to the documentation of this file.
38 namespace incompressible
101 mesh_.time().timeName(),
109 divDxDbMult_(mesh_.nCells(),
Zero),
110 optionsDxDbMult_(mesh_.nCells(),
Zero),
112 includeDistance_(
false),
113 eikonalSolver_(
nullptr)
147 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,...
virtual void clearSensitivities()
Zero sensitivity fields and their constituents.
fv::optionAdjointList & fvOptionsAdjoint_
defineTypeNameAndDebug(adjointEikonalSolver, 0)
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
static constexpr const zero Zero
Global zero (0)
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.
Similar to fv::option but with additional functionality to contribute to the sensitivity deriavtives.
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.
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
fv::IOoptionListAdjoint fvOptionsAdjoint(mesh)
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_