45 velocityLaplacianFvMotionSolver,
53 Foam::velocityLaplacianFvMotionSolver::velocityLaplacianFvMotionSolver
73 cellMotionBoundaryTypes<
vector>(pointMotionU_.boundaryField())
77 coeffDict().
found(
"interpolation")
99 interpolationPtr_->interpolate
108 + fvMesh_.time().deltaTValue()*pointMotionU_.primitiveField()
111 twoDCorrectPoints(tcurPoints.ref());
121 movePoints(fvMesh_.points());
123 diffusivityPtr_->correct();
124 pointMotionU_.boundaryFieldRef().updateCoeffs();
130 getOrDefault<label>(
"nNonOrthogonalCorrectors", 1)
140 * diffusivityPtr_->operator()(),
142 "laplacian(diffusivity,cellMotionU)" 157 const mapPolyMesh& mpm
164 diffusivityPtr_.reset(
nullptr);
168 coeffDict().lookup(
"diffusivity")
Virtual base class for velocity motion solver.
void correct(GeometricField< Type, fvPatchField, volMesh > &field)
Apply correction to field.
const dimensionSet dimViscosity
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
Calculate the matrix for the laplacian of the field.
virtual void updateMesh(const mapPolyMesh &)
Update local data for topology changes.
Lookup type of boundary radiation properties.
virtual tmp< pointField > curPoints() const
Return point location obtained from the current motion field.
SolverPerformance< Type > solveSegregatedOrCoupled(const dictionary &)
Solve segregated or coupled returning the solution statistics.
Macros for easy insertion into run-time selection tables.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Base class for fvMesh based motionSolvers.
virtual void solve()
Solve for motion.
A special matrix type and solver, designed for finite volume solutions of scalar equations. Face addressing is used to make all matrix assembly and solution loops vectorise.
void constrain(fvMatrix< Type > &eqn)
Apply constraints to equation.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
Abstract base class for cell-centre mesh motion diffusivity.
Base class for interpolation of cell displacement fields, generated by fvMotionSolvers, to the points. This base class implements the default method which applies volPointInterpolation only.
defineTypeNameAndDebug(combustionModel, 0)
addToRunTimeSelectionTable(decompositionMethod, kahipDecomp, dictionary)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
tmp< fvMatrix< Type > > laplacian(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
virtual void updateMesh(const mapPolyMesh &)
Update topology.
Mesh consisting of general polyhedral cells.
A class for managing temporary objects.
static autoPtr< motionDiffusivity > New(const fvMesh &mesh, Istream &mdData)
Select null constructed.
static options & New(const fvMesh &mesh)
Construct fvOptions and register to database if not present.
~velocityLaplacianFvMotionSolver()
Destructor.
Defines the attributes of an object for which implicit objectRegistry management is supported...
const dictionary & solverDict() const
Return the solver dictionary taking into account finalIteration.
static constexpr const zero Zero
Global zero (0)