41#ifndef optMeshMovement_H
42#define optMeshMovement_H
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.
Abstract base class for translating an update of the design variables into mesh movement.
virtual ~optMeshMovement()=default
Destructor.
bool writeMeshQualityMetrics_
scalarField correction_
Correction of design variables.
virtual void resetDesignVariables()
Reset to starting point of line search.
void setCorrection(const scalarField &correction)
Set design variable correction.
virtual scalar computeEta(const scalarField &correction)=0
Compute eta value based on max displacement.
vectorField pointsInit_
Fall back points in case line-search is used.
virtual labelList getActiveDesignVariables() const
Return active design variables.
const labelList & getPatchIDs()
Return patchIDs.
bool maxAllowedDisplacementSet() const
Whether maxAllowedDisplacement has been set.
autoPtr< displacementMethod > displMethodPtr_
static autoPtr< optMeshMovement > New(fvMesh &mesh, const dictionary &dict, const labelList &patchIDs)
declareRunTimeSelectionTable(autoPtr, optMeshMovement, dictionary,(fvMesh &mesh, const dictionary &dict, const labelList &patchIDs),(mesh, dict, patchIDs))
scalar getMaxAllowedDisplacement() const
Get maxAllowedDisplacement, is set.
void writeMeshQualityMetrics()
Write mesh quality metrics.
autoPtr< displacementMethod > & returnDisplacementMethod()
Return displacementMethod.
virtual void storeDesignVariables()
TypeName("optMeshMovement")
Runtime type information.
labelList patchIDs_
IDs of patches to be moved.
tmp< fvMatrix< Type > > correction(const fvMatrix< Type > &)
#define declareRunTimeSelectionTable(ptrWrapper, baseType, argNames, argList, parList)
Declare a run-time selection (variables and adder classes)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.