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