Go to the documentation of this file.
44 boundaryAdjointContribution,
45 boundaryAdjointContributionIncompressible,
52 boundaryAdjointContributionIncompressible::
53 boundaryAdjointContributionIncompressible
55 const word& managerName,
56 const word& adjointSolverName,
57 const word& simulationType,
70 patch_.patch().boundaryMesh().mesh().
71 lookupObjectRef<objectiveManager>(managerName)
75 patch_.patch().boundaryMesh().mesh().
76 lookupObject<incompressibleAdjointSolver>(adjointSolverName).
81 patch_.patch().boundaryMesh().mesh().
82 lookupObject<incompressibleAdjointSolver>(adjointSolverName)
104 source += adjointRAS().adjointMomentumBCSource()[
patch_.
index()];
127 adjointRAS().adjointMomentumBCSource()[
patch_.
index()];
132 source += adjointTurbulenceContr & nf;
156 adjointRAS().adjointMomentumBCSource()[
patch_.
index()];
161 source += adjointTurbulenceContr - (adjointTurbulenceContr & nf)*nf;
234 nuEff = adjointTurbulenceModel().nuEff()().boundaryField()[
patch_.
index()];
266 <<
"no abstract thermalDiffusion is implemented. Returning zero field";
317 boundField = RASVariables().TMVar1().boundaryField()[
patch_.
index()];
330 boundField = RASVariables().TMVar2().boundaryField()[
patch_.
index()];
addToRunTimeSelectionTable(decompositionMethod, kahipDecomp, dictionary)
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
class for managing incompressible objective functions.
const word & solverName() const
Return solver name.
A class for handling words, derived from Foam::string.
tmp< scalarField > laminarDiffusivity()
A class for managing temporary objects.
static constexpr const zero Zero
Global zero (0)
virtual const incompressibleAdjointVars & getAdjointVars() const
Access to the incompressible adjoint variables set.
tmp< vectorField > velocitySource()
const fvsPatchScalarField & phiab() const
const surfaceScalarField & phiaInst() const
Return const reference to volume flux.
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...
const surfaceScalarField & phi() const
Return const reference to volume flux.
tmp< scalarField > adjointTMVariable1Source()
const volScalarField & p() const
Return const reference to pressure.
Class including all adjoint fields for incompressible flows.
tmp< vectorField > normalVelocitySource()
const fvPatchVectorField & Ub() const
const autoPtr< incompressible::RASModelVariables > & RASModelVariables() const
Return const reference to the turbulence model variables.
virtual label size() const
Return size.
tmp< vectorField > nf() const
Return face normals.
tmp< scalarField > energySource()
const boundaryVectorField & boundarydJdv()
Objective partial deriv wrt velocity for all patches.
const fvPatchScalarField & pab() const
const word adjointSolverName() const
tmp< scalarField > wallDistance()
Interface to run-time selectable methods to calculate the distance-to-wall and normal-to-wall fields.
ThermalDiffusivity< CompressibleTurbulenceModel< fluidThermo > > turbulenceModel
const volScalarField & paInst() const
Return const reference to pressure.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
const volVectorField & U() const
Return const reference to velocity.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
const fvsPatchScalarField & phib() const
Abstract base class for turbulence models (RAS, LES and laminar).
const fvPatchVectorField & Uab() const
label index() const
Return the index of this patch in the fvBoundaryMesh.
Macros for easy insertion into run-time selection tables.
tmp< scalarField > TMVariable1Diffusion()
const boundaryScalarField & boundarydJdT()
Objective partial deriv wrt temperature for all patches.
tmp< scalarField > adjointTMVariable2Source()
const autoPtr< incompressible::turbulenceModel > & turbulence() const
Return const reference to the turbulence model.
const boundaryScalarField & boundarydJdvn()
Objective partial deriv wrt normal velocity for all patches.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Abstract base class for computing contributions of the objective functions to the adjoint boundary co...
const incompressibleAdjointSolver & adjointSolver_
tmp< scalarField > momentumDiffusion()
tmp< scalarField > TMVariable1()
const std::string patch
OpenFOAM patch number as a std::string.
const fvPatchScalarField & pb() const
const autoPtr< incompressibleAdjoint::adjointRASModel > & adjointTurbulence() const
Return const reference to the adjointRASModel.
tmp< scalarField > pressureSource()
const boundaryScalarField & boundarydJdTMvar2()
Objective partial deriv wrt turbulence model var 2 for all patches.
tmp< scalarField > TMVariable2()
const incompressibleAdjointVars & adjointVars() const
const incompressibleVars & primalVars() const
tmp< Field< returnType > > sumContributions(PtrList< sourceType > &sourceList, const fvPatchField< returnType > &(castType::*boundaryFunction)(const label))
const boundaryVectorField & boundarydJdp()
Objective partial deriv wrt pressure (times normal) for all patches.
tmp< vectorField > tangentVelocitySource()
const fvPatchScalarField & turbulentDiffusivity() const
const boundaryScalarField & boundarydJdTMvar1()
Objective partial deriv wrt turbulence model var 1 for all patches.
const boundaryVectorField & boundarydJdvt()
Objective partial deriv wrt tangent velocity for all patches.
defineTypeNameAndDebug(combustionModel, 0)
#define WarningInFunction
Report a warning using Foam::Warning.
objectiveManager & getObjectiveManager()
objectiveManager & objectiveManager_
const incompressibleVars & primalVars_
tmp< scalarField > TMVariable2Diffusion()
tmp< scalarField > thermalDiffusion()
const volVectorField & UaInst() const
Return const reference to velocity.
const word primalSolverName() const
Base class for solution control classes.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
PtrList< objective > & getObjectiveFunctions()
Return reference to objective functions.