60 #ifndef sensitivitySurfaceIncompressible_H 61 #define sensitivitySurfaceIncompressible_H 75 namespace incompressible
Finite area mesh (used for 2-D non-Euclidian finite area method) defined using a patch of faces on a ...
autoPtr< volVectorField > nfOnPatchPtr_
void setIncludeObjective(const bool includeObjective)
Set includeObjective bool.
autoPtr< volVectorField > SfOnPatchPtr_
bool useSnGradInTranposeStresses_
Use snGrad in the transpose part of the adjoint stresses.
bool includeObjective_
Include terms directly emerging from the objective function.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
autoPtr< volVectorField > CfOnPatchPtr_
autoPtr< adjointMeshMovementSolver > meshMovementSolver_
virtual void write(const word &baseName=word::null)
Write sensitivity maps.
void addGeometricSens()
Add sensitivities from dSd/db and dnf/db computed at points and mapped to faces.
virtual void clearSensitivities()
Zero sensitivity fields and their constituents.
void smoothSensitivities()
Smooth sensitivity derivatives based on the computation of the 'Sobolev gradient'.
Base class for adjoint solvers.
bool includeTransposeStresses_
Include the transpose part of the adjoint stresses.
bool getIncludeSurfaceArea() const
Get access to the includeSurfaceArea bool.
void read()
Read controls and update solver pointers if necessary.
autoPtr< adjointEikonalSolver > eikonalSolver_
bool includeDivTerm_
Include the term from the deviatoric part of the stresses.
virtual ~sensitivitySurface()=default
Destructor.
bool includeGradStressTerm_
Include the term containing the grad of the stress at the boundary.
Base class for incompressibleAdjoint solvers.
const dictionary & dict() const
Return the construction dictionary.
void setIncludeSurfaceArea(const bool includeSurfaceArea)
Set includeSurfaceArea bool.
TypeName("surface")
Runtime type information.
autoPtr< adjointEikonalSolver > & getAdjointEikonalSolver()
Get adjoint eikonal solver.
A class for handling words, derived from Foam::string.
Abstract base class for adjoint-based sensitivities in incompressible flows.
virtual bool readDict(const dictionary &dict)
Read dict if changed.
bool includeSurfaceArea_
Include surface area in sens computation.
void computeDerivativesSize()
Compute the number of faces on sensitivityPatchIDs_.
bool includeMeshMovement_
Include mesh movement variation in sens computation.
static const word null
An empty word.
virtual void accumulateIntegrand(const scalar dt)
Accumulate sensitivity integrands.
virtual void assembleSensitivities()
Assemble sensitivities.
bool writeGeometricInfo_
Write geometric info for use by external programs.
bool includeDistance_
Include distance variation in sens computation.
bool includePressureTerm_
Include the adjoint pressure term in sens computation.
Mesh data needed to do the Finite Volume discretisation.
Calculation of adjoint based sensitivities at wall faces.
void setSuffixName()
Set suffix name for sensitivity fields.
scalar computeRadius(const faMesh &aMesh)
Compute the physical smoothing radius based on the average boundary face 'length'.
bool smoothSensitivities_
Smooth sensitivity derivatives based on the computation of the 'Sobolev gradient'.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
bool getIncludeObjective() const
Get access to the includeObjective bool.
Base class supporting shape sensitivity derivatives for incompressible flows.