60 if (isA<fixedValueFvPatchVectorField>(bField))
95 fixedValuePointPatchVectorField::typeName
109 pointMotionU_.boundaryField().types()
113 coeffDict().
found(
"interpolation")
117 nIters_(this->coeffDict().get<label>(
"iters")),
118 tolerance_(this->coeffDict().get<scalar>(
"tolerance"))
126 interpolationPtr_->interpolate
134 fvMesh_.points() + pointMotionU_.internalField()
137 twoDCorrectPoints(tcurPoints.
ref());
145 setBoundaryConditions();
148 for (label iter = 0; iter < nIters_; ++iter)
150 Info<<
"Iteration " << iter <<
endl;
156 scalar residual =
mag(dEqn.
solve().initialResidual());
159 fvMesh_.time().printExecutionTime(
Info);
162 if (residual < tolerance_)
164 Info<<
"\n***Reached mesh movement convergence limit at"
165 <<
" iteration " << iter <<
"***\n\n";
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
void updateCoeffs()
Update the boundary condition coefficients.
Boundary & boundaryFieldRef(const bool updateAccessTime=true)
Return a reference to the boundary field.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Defines the attributes of an object for which implicit objectRegistry management is supported,...
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A special matrix type and solver, designed for finite volume solutions of scalar equations....
SolverPerformance< Type > solve(const dictionary &)
Solve returning the solution statistics.
Base class for fvMesh based motionSolvers.
const fvMesh & fvMesh_
The fvMesh to be moved.
Similar to velocityLaplacian but iteratively solves the mesh displacement PDEs to account for non-ort...
volVectorField cellMotionU_
virtual tmp< pointField > curPoints() const
Return point location obtained from the current motion field.
void setBoundaryConditions()
Set boundary conditions of cellMotionU based on pointMotionU.
pointVectorField pointMotionU_
virtual void solve()
Solve for motion.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Base class for interpolation of cell displacement fields, generated by fvMotionSolvers,...
void movePoints()
Update for new mesh geometry.
void updateMesh()
Update for new mesh topology.
Virtual base class for mesh motion solver.
Mesh representing a set of points created from polyMesh.
Mesh consisting of general polyhedral cells.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
virtual const pointField & points() const
Return raw points.
A patch is a list of labels that address the faces in the global face list.
Lookup type of boundary radiation properties.
A class for managing temporary objects.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
Calculate the matrix for the laplacian of the field.
tmp< fvMatrix< Type > > laplacian(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
const dimensionSet dimless
Dimensionless.
messageStream Info
Information stream (stdout output on master, null elsewhere)
Ostream & endl(Ostream &os)
Add newline and flush stream.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
static constexpr const zero Zero
Global zero (0)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh > > &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
#define forAll(list, i)
Loop across all elements in list.