60#ifndef sensitivitySurfaceIncompressible_H
61#define sensitivitySurfaceIncompressible_H
75namespace 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,...
Finite area mesh (used for 2-D non-Euclidian finite area method) defined using a patch of faces on a ...
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 faces.
bool includeTransposeStresses_
Include the transpose part of the adjoint stresses.
virtual void clearSensitivities()
Zero sensitivity fields and their constituents.
autoPtr< adjointEikonalSolver > & getAdjointEikonalSolver()
Get adjoint eikonal solver.
bool includeDistance_
Include distance variation in sens computation.
autoPtr< volVectorField > CfOnPatchPtr_
bool useSnGradInTranposeStresses_
Use snGrad in the transpose part of the adjoint stresses.
autoPtr< volVectorField > nfOnPatchPtr_
autoPtr< adjointEikonalSolver > eikonalSolver_
virtual void assembleSensitivities()
Assemble sensitivities.
TypeName("surface")
Runtime type information.
void computeDerivativesSize()
Compute the number of faces on sensitivityPatchIDs_.
void setSuffixName()
Set suffix name for sensitivity fields.
void setIncludeSurfaceArea(const bool includeSurfaceArea)
Set includeSurfaceArea bool.
autoPtr< volVectorField > SfOnPatchPtr_
bool includePressureTerm_
Include the adjoint pressure term in sens computation.
void setIncludeObjective(const bool includeObjective)
Set includeObjective bool.
virtual bool readDict(const dictionary &dict)
Read dict if changed.
virtual ~sensitivitySurface()=default
Destructor.
bool includeGradStressTerm_
Include the term containing the grad of the stress at the boundary.
bool includeSurfaceArea_
Include surface area in sens computation.
bool writeGeometricInfo_
Write geometric info for use by external programs.
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.
bool getIncludeSurfaceArea() const
Get access to the includeSurfaceArea bool.
bool getIncludeObjective() const
Get access to the includeObjective bool.
scalar computeRadius(const faMesh &aMesh)
virtual void accumulateIntegrand(const scalar dt)
Accumulate sensitivity integrands.
autoPtr< adjointMeshMovementSolver > meshMovementSolver_
bool smoothSensitivities_
bool includeObjective_
Include terms directly emerging from the objective function.
void smoothSensitivities()
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.