52#ifndef adjointMeshMovementSolver_H
53#define adjointMeshMovementSolver_H
71class adjointMeshMovementSolver
115 adjointMeshMovementSolver(
const adjointMeshMovementSolver&) =
delete;
118 void operator=(
const adjointMeshMovementSolver) =
delete;
124 TypeName(
"adjointMeshMovementSolver");
130 adjointMeshMovementSolver
148 virtual void solve();
Useful typenames for fields defined only at the boundaries.
Base class supporting Shape sensitivity derivatives.
volVectorField source_
Source term of the adjoint grid displacement PDEs.
autoPtr< boundaryVectorField > meshMovementSensPtr_
Part of sensitivity derivatives coming from the adjoint grid displacement PDE.
const fvMesh & mesh_
Reference to mesh.
const volVectorField & ma() const
Return the adjoint distance field.
ShapeSensitivitiesBase & adjointSensitivity_
dictionary dict_
Dictionary containing solution controls.
virtual bool readDict(const dictionary &dict)
Read dict if changed.
TypeName("adjointMeshMovementSolver")
Runtime type information.
virtual ~adjointMeshMovementSolver()=default
boundaryVectorField & meshMovementSensitivities()
Return the sensitivity term depending on ma.
void read()
Read options each time a new solution is found.
volVectorField ma_
Adjoint grid displacement field.
void setSource()
Set the source term of the PDE.
void reset()
Reset the source term.
label iters_
Solution controls.
virtual void solve()
Calculate the adjoint distance field.
Abstract base class for adjoint-based sensitivities.
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.
GeometricField< vector, fvPatchField, volMesh > volVectorField
volVectorField::Boundary boundaryVectorField
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.