39#ifndef sensitivitySurfacePointsIncompressible_H
40#define sensitivitySurfacePointsIncompressible_H
53namespace incompressible
Base class for adjoint solvers.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Mesh data needed to do the Finite Volume discretisation.
Base class for incompressibleAdjoint solvers.
Abstract base class for adjoint-based sensitivities in incompressible flows.
Calculation of adjoint based sensitivities at wall points.
bool includeTransposeStresses_
Include the transpose part of the adjoint stresses.
virtual void clearSensitivities()
Zero sensitivity fields and their constituents.
bool includeDistance_
Include distance variation in sens computation.
bool useSnGradInTranposeStresses_
Use snGrad in the transpose part of the adjoint stresses.
autoPtr< adjointEikonalSolver > eikonalSolver_
virtual void assembleSensitivities()
Assemble sensitivities.
void constructGlobalPointNormalsAndAreas(vectorField &pointNormals, scalarField &pointMagSf)
Construct globally correct point normals and point areas.
void setSuffixName()
Set suffix name for sensitivity fields.
autoPtr< boundaryVectorField > wallFaceSens_
The face-based part of the sensitivities.
bool includePressureTerm_
Include the adjoint pressure term in sens computation.
virtual bool readDict(const dictionary &dict)
Read dict if changed.
bool includeGradStressTerm_
Include the term containing the grad of the stress at the boundary.
void finaliseFaceMultiplier()
bool includeSurfaceArea_
Include surface area in sens computation.
void read()
Read controls and update solver pointers if necessary.
bool includeMeshMovement_
Include mesh movement variation in sens computation.
bool includeDivTerm_
Include the term from the deviatoric part of the stresses.
virtual ~sensitivitySurfacePoints()=default
Destructor.
virtual void accumulateIntegrand(const scalar dt)
Accumulate sensitivity integrands.
autoPtr< boundaryVectorField > dnfdbMult_
autoPtr< adjointMeshMovementSolver > meshMovementSolver_
void finalisePointSensitivities()
autoPtr< boundaryVectorField > dSfdbMult_
Multipliers of d(Sf)/db and d(nf)/db.
bool includeObjective_
Include terms directly emerging from the objective function.
TypeName("surfacePoints")
Runtime type information.
const dictionary & dict() const
Return the construction dictionary.
A class for handling words, derived from Foam::string.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.