39#ifndef shapeSensitivitiesIncompressible_H
40#define shapeSensitivitiesIncompressible_H
49namespace 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.
virtual void clearSensitivities()
Zero sensitivity fields and their constituents.
autoPtr< boundaryVectorField > dxdbDirectMult_
autoPtr< boundaryVectorField > bcDxDbMult_
virtual void accumulateBCSensitivityIntegrand(const scalar dt)
Accumulate sensitivities enamating from the boundary conditions.
TypeName("shapeSensitivities")
Runtime type information.
virtual void assembleSensitivities()=0
Assemble sensitivities.
virtual void accumulateIntegrand(const scalar dt)=0
Accumulate sensitivity integrands.
virtual ~shapeSensitivities()=default
Destructor.
autoPtr< boundaryVectorField > dnfdbMult_
autoPtr< boundaryVectorField > dSfdbMult_
Fields related to direct sensitivities.
virtual void accumulateDirectSensitivityIntegrand(const scalar dt)
Accumulate direct sensitivities.
tmp< boundaryVectorField > dvdbMult() const
Compute multiplier of dv_i/db.
const dictionary & dict() const
Return the construction dictionary.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.