Go to the documentation of this file.
37 namespace incompressible
51 for (
const label patchI : sensitivityPatchIDs_)
56 const scalar wei(
func.weight());
60 wei*
func.dxdbDirectMultiplier(patchI)*magSfDt;
72 for (
const label patchI : sensitivityPatchIDs_)
76 if (isA<adjointVectorBoundaryCondition>(Uab))
81 & refCast<adjointVectorBoundaryCondition>(Uab).dxdbMult()
91 tres(createZeroBoundaryPtr<vector>(meshShape_).ptr());
107 for (
const label patchI : sensitivityPatchIDs_)
115 nuEff.boundaryField()[patchI]
118 + (gradUa.boundaryField()[patchI] & nf)
122 + adjointTurbulence().adjointMomentumBCSource()[patchI];
131 shapeSensitivities::shapeSensitivities
149 dSfdbMult_(createZeroBoundaryPtr<vector>(mesh_)),
150 dnfdbMult_(createZeroBoundaryPtr<vector>(mesh_)),
151 dxdbDirectMult_(createZeroBoundaryPtr<vector>(mesh_)),
152 bcDxDbMult_(createZeroBoundaryPtr<vector>(mesh_))
class for managing incompressible objective functions.
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh >> grad(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
autoPtr< boundaryVectorField > bcDxDbMult_
A class for handling words, derived from Foam::string.
defineTypeNameAndDebug(adjointEikonalSolver, 0)
A class for managing temporary objects.
virtual void accumulateBCSensitivityIntegrand(const scalar dt)
Accumulate sensitivities enamating from the boundary conditions.
A simple single-phase transport model based on viscosityModel.
virtual void write(const word &baseName=word::null)
Write sensitivity fields.
Class including all adjoint fields for incompressible flows.
const autoPtr< incompressible::RASModelVariables > & RASModelVariables() const
Return const reference to the turbulence model variables.
autoPtr< boundaryVectorField > dSfdbMult_
Fields related to direct sensitivities.
void write()
Write sensitivity fields.
Abstract base class for adjoint-based sensitivities in incompressible flows.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
const singlePhaseTransportModel & laminarTransport() const
Return const reference to transport model.
const volScalarField & pa() const
Return const reference to pressure.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
virtual void clearSensitivities()
Zero sensitivity fields and their constituents.
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.
const volVectorField & Ua() const
Return const reference to velocity.
tmp< boundaryVectorField > dvdbMult() const
Compute multiplier of dv_i/db.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
autoPtr< boundaryVectorField > dxdbDirectMult_
incompressibleAdjointVars & adjointVars_
Mesh data needed to do the Finite Volume discretisation.
incompressibleVars & primalVars_
const fvBoundaryMesh & boundary() const
Return reference to boundary mesh.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
virtual tmp< volScalarField > nu() const
Return the laminar viscosity.
const std::string patch
OpenFOAM patch number as a std::string.
Boundary & boundaryFieldRef(const bool updateAccessTime=true)
Return a reference to the boundary field.
const autoPtr< incompressibleAdjoint::adjointRASModel > & adjointTurbulence() const
Return const reference to the adjointRASModel.
void clearSensitivities()
Zero sensitivity fields and their constituents.
static const Vector< Cmpt > zero
virtual void clearSensitivities()
Zero sensitivity fields and their constituents.
autoPtr< boundaryVectorField > dnfdbMult_
Abstract base class for objective functions. No point in making this runTime selectable since its chi...
Base class for solution control classes.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
virtual void write(const word &baseName=word::null)
Write sensitivity fields.
PtrList< objective > & getObjectiveFunctions()
Return reference to objective functions.
objectiveManager & objectiveManager_