54 const word& adjointSolverName,
55 const word& primalSolverName
69 auto& icoObj = refCast<objectiveIncompressible>(obj);
73 scalar weight = icoObj.weight();
74 UaEqn += weight*icoObj.dJdv();
85 auto& icoObj = refCast<objectiveIncompressible>(obj);
89 scalar weight = icoObj.weight();
90 paEqn += weight*icoObj.dJdp();
101 auto& icoObj = refCast<objectiveIncompressible>(obj);
103 if (icoObj.hasdJdTMVar1())
105 scalar weight = icoObj.weight();
106 adjTMEqn1 += weight*icoObj.dJdTMvar1();
117 auto& icoObj = refCast<objectiveIncompressible>(obj);
119 if (icoObj.hasdJdTMVar2())
121 scalar weight = icoObj.weight();
122 adjTMEqn2 += weight*icoObj.dJdTMvar2();
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A special matrix type and solver, designed for finite volume solutions of scalar equations....
Mesh data needed to do the Finite Volume discretisation.
class for managing incompressible objective functions.
virtual void addTMEqn1Source(fvScalarMatrix &adjTMEqn1)
Add contribution to adjoint turbulence model PDE.
virtual void addTMEqn2Source(fvScalarMatrix &adjTMEqn2)
Add contribution to adjoint turbulence model PDE.
virtual void addUaEqnSource(fvVectorMatrix &UaEqn)
Add contribution to adjoint momentum PDEs.
virtual void addPaEqnSource(fvScalarMatrix &paEqn)
Add contribution to adjoint momentum PDEs.
class for managing incompressible objective functions.
PtrList< objective > objectives_
Abstract base class for objective functions. No point in making this runTime selectable since its chi...
A class for handling words, derived from Foam::string.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
fvScalarMatrix paEqn(fvm::d2dt2(pa) - sqr(c0) *fvc::laplacian(pa))