41#ifndef displacementMethod_H
42#define displacementMethod_H
60class displacementMethod
84 displacementMethod(
const displacementMethod&) =
delete;
87 void operator=(
const displacementMethod&) =
delete;
Macros for easy insertion into run-time selection tables.
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,...
bool preferPointField_
Whether the motion solver prefers a point of a vol field as input.
autoPtr< motionSolver > motionPtr_
virtual void setMotionField(const pointVectorField &pointMovement)=0
Set motion filed related to model based on given motion.
virtual ~displacementMethod()=default
Destructor.
void setPatchIDs(const labelList &patchIDs)
Set parametertised patch IDs.
autoPtr< motionSolver > & getMotionSolver()
Get access to motionSolver.
virtual void boundControlField(vectorField &controlField)
Bound control field in certain directions etc. For methods working with parameters (RBF etc) does not...
virtual bool preferPointField() const
Whether the motion solver prefers a point of a vol field as input.
void update()
Update mesh.
virtual void setMotionField(const volVectorField &cellMovement)=0
Set motion filed related to model based on given motion.
virtual void setControlField(const vectorField &controlField)=0
Set control field as a vectorField. For methods working with parameters (RBF etc).
static autoPtr< displacementMethod > New(fvMesh &mesh, const labelList &patchIDs)
Return a reference to the selected turbulence model.
scalar getMaxDisplacement() const
Get max displacement.
TypeName("displacementMethod")
Runtime type information.
virtual void setControlField(const scalarField &controlField)=0
Set control field as a vectorField. For methods working with parameters (RBF etc).
declareRunTimeSelectionTable(autoPtr, displacementMethod, dictionary,(fvMesh &mesh, const labelList &patchIDs),(mesh, patchIDs))
labelList patchIDs_
IDs of the patches to be moved.
Mesh data needed to do the Finite Volume discretisation.
GeometricField< vector, fvPatchField, volMesh > volVectorField
List< label > labelList
A List of labels.
GeometricField< vector, pointPatchField, pointMesh > pointVectorField
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Field< vector > vectorField
Specialisation of Field<T> for vector.
Macros to ease declaration of run-time selection tables.
#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.