49#ifndef elasticityMotionSolver_H
50#define elasticityMotionSolver_H
62class motionInterpolation;
160 virtual void solve();
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Mesh deformation based on the linear elasticity equations. The boundary displacement is set as a boun...
scalar exponent_
Exponent to stiffen highly morphed cells.
volVectorField cellMotionU_
virtual tmp< pointField > curPoints() const
Return point location. Mesh is actually moved in solve()
label nSteps_
Intermediate steps to solve the PDEs.
scalar tolerance_
Residual threshold.
volScalarField E_
Inverse cell volume diffusivity.
TypeName("elasticityMotionSolver")
Runtime type information.
label nIters_
Number of laplacian iterations per solution step.
void setBoundaryConditions()
Set boundary conditions of cellMotionU based on pointMotionU.
volVectorField & cellMotionU()
Get const and non-const references to cellMotionU.
autoPtr< motionInterpolation > interpolationPtr_
Interpolation used to transfer cell displacement to the points.
pointVectorField pointMotionU_
virtual void movePoints(const pointField &)
Update local data for geometry changes.
virtual ~elasticityMotionSolver()=default
Destructor.
virtual void updateMesh(const mapPolyMesh &)
Update the mesh corresponding to given map.
virtual void solve()
Solve for motion.
pointVectorField & pointMotionU()
Get const and non-const references to pointMotionU.
Mesh data needed to do the Finite Volume discretisation.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Virtual base class for mesh motion solver.
const polyMesh & mesh() const
Return reference to mesh.
Mesh consisting of general polyhedral cells.
A class for managing temporary objects.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.