52boundaryAdjointContributionIncompressible::
53boundaryAdjointContributionIncompressible
55 const word& managerName,
56 const word& adjointSolverName,
57 const word& simulationType,
103 source += adjointRAS().adjointMomentumBCSource()[
patch_.
index()];
125 adjointRAS().adjointMomentumBCSource()[
patch_.
index()];
127 source += adjointTurbulenceContr &
patch_.
nf();
150 adjointRAS().adjointMomentumBCSource()[
patch_.
index()];
155 source += adjointTurbulenceContr - (adjointTurbulenceContr & nf)*nf;
269 <<
"no abstract thermalDiffusion is implemented. Returning zero field";
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Contributions of objective function differentiation to adjoint boundary conditions for incompressible...
tmp< scalarField > TMVariable2Diffusion()
tmp< scalarField > adjointTMVariable1Source()
tmp< Field< returnType > > sumContributions(PtrList< sourceType > &sourceList, const fvPatchField< returnType > &(castType::*boundaryFunction)(const label))
const fvPatchVectorField & Uab() const
const fvPatchScalarField & pab() const
tmp< scalarField > pressureSource()
tmp< tensorField > dJdGradU()
const fvsPatchScalarField & phiab() const
tmp< scalarField > adjointTMVariable2Source()
const word primalSolverName() const
tmp< scalarField > momentumDiffusion()
tmp< scalarField > thermalDiffusion()
tmp< scalarField > TMVariable2()
tmp< scalarField > wallDistance()
objectiveManager & getObjectiveManager()
const fvPatchVectorField & Ub() const
const fvPatchScalarField & pb() const
tmp< scalarField > TMVariable1Diffusion()
const incompressibleAdjointSolver & adjointSolver_
tmp< scalarField > dJdnut()
tmp< scalarField > TMVariable1()
const fvsPatchScalarField & phib() const
const word adjointSolverName() const
objectiveManager & objectiveManager_
const incompressibleVars & primalVars_
const fvPatchScalarField & turbulentDiffusivity() const
tmp< scalarField > energySource()
tmp< vectorField > normalVelocitySource()
tmp< vectorField > velocitySource()
const incompressibleVars & primalVars() const
const incompressibleAdjointVars & adjointVars() const
tmp< scalarField > laminarDiffusivity()
tmp< vectorField > tangentVelocitySource()
Abstract base class for computing contributions of the objective functions to the adjoint boundary co...
Addressing for all faces on surface of mesh. Can either be read from polyMesh or from triSurface....
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
virtual label size() const
Return size.
label index() const
Return the index of this patch in the fvBoundaryMesh.
tmp< vectorField > nf() const
Return face normals.
const volVectorField & UaInst() const
Return const reference to velocity.
const surfaceScalarField & phiaInst() const
Return const reference to volume flux.
const volScalarField & paInst() const
Return const reference to pressure.
Base class for incompressibleAdjoint solvers.
virtual const incompressibleAdjointVars & getAdjointVars() const
Access to the incompressible adjoint variables set.
Class including all adjoint fields for incompressible flows.
const autoPtr< incompressibleAdjoint::adjointRASModel > & adjointTurbulence() const
Return const reference to the adjointRASModel.
Base class for solution control classes.
const volVectorField & U() const
Return const reference to velocity.
const volScalarField & p() const
Return const reference to pressure.
const surfaceScalarField & phi() const
Return const reference to volume flux.
const autoPtr< incompressible::turbulenceModel > & turbulence() const
Return const reference to the turbulence model.
const autoPtr< incompressible::RASModelVariables > & RASModelVariables() const
Return const reference to the turbulence model variables.
const boundaryVectorField & boundarydJdp()
Objective partial deriv wrt pressure (times normal) for all patches.
const boundaryScalarField & boundarydJdTMvar1()
Objective partial deriv wrt turbulence model var 1 for all patches.
const boundaryScalarField & boundarydJdT()
Objective partial deriv wrt temperature for all patches.
const boundaryTensorField & boundarydJdGradU()
Objective partial deriv wrt gradU.
const boundaryScalarField & boundarydJdnut()
Objective partial deriv wrt nut for all patches.
const boundaryVectorField & boundarydJdv()
Objective partial deriv wrt velocity for all patches.
const boundaryScalarField & boundarydJdvn()
Objective partial deriv wrt normal velocity for all patches.
const boundaryVectorField & boundarydJdvt()
Objective partial deriv wrt tangent velocity for all patches.
const boundaryScalarField & boundarydJdTMvar2()
Objective partial deriv wrt turbulence model var 2 for all patches.
class for managing incompressible objective functions.
PtrList< objective > & getObjectiveFunctions()
Return reference to objective functions.
A class for managing temporary objects.
Abstract base class for turbulence models (RAS, LES and laminar).
virtual tmp< volScalarField > nu() const =0
Return the laminar viscosity.
const word & solverName() const
Return solver name.
A class for handling words, derived from Foam::string.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
#define WarningInFunction
Report a warning using Foam::Warning.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
static constexpr const zero Zero
Global zero (0)