45 velocityComponentLaplacianFvMotionSolver,
53 Foam::velocityComponentLaplacianFvMotionSolver::
54 velocityComponentLaplacianFvMotionSolver
66 "cellMotionU" + cmptName_,
74 cellMotionBoundaryTypes<scalar>(pointMotionU_.boundaryField())
78 coeffDict().
found(
"interpolation")
101 interpolationPtr_->interpolate
109 tcurPoints.ref().replace
113 + fvMesh_.time().deltaTValue()*pointMotionU_.primitiveField()
116 twoDCorrectPoints(tcurPoints.ref());
126 movePoints(fvMesh_.points());
128 diffusivityPtr_->correct();
129 pointMotionU_.boundaryFieldRef().updateCoeffs();
140 *diffusivityPtr_->operator()(),
142 "laplacian(diffusivity,cellMotionU)" 163 diffusivityPtr_.reset(
nullptr);
167 coeffDict().
lookup(
"diffusivity")
void correct(GeometricField< Type, PatchField, GeoMesh > &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 tmp< pointField > curPoints() const
Return point location obtained from the current motion field.
Lookup type of boundary radiation properties.
SolverPerformance< Type > solveSegregatedOrCoupled(const dictionary &)
Solve segregated or coupled returning the solution statistics.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Macros for easy insertion into run-time selection tables.
virtual void solve()
Solve for motion.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Base class for fvMesh based motionSolvers.
Virtual base class for velocity motion solver.
virtual void updateMesh(const mapPolyMesh &)
Update local data for topology changes.
static tmp< T > New(Args &&... args)
Construct tmp with forwarding arguments.
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.
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)
virtual void updateMesh(const mapPolyMesh &)
Update topology.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
~velocityComponentLaplacianFvMotionSolver()
Destructor.
tmp< fvMatrix< Type > > laplacian(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
Mesh consisting of general polyhedral cells.
fvScalarMatrix TEqn(fvm::ddt(T)+fvm::div(phi, T) - fvm::laplacian(alphaEff, T)==radiation->ST(rhoCpRef, T)+fvOptions(T))
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.
Defines the attributes of an object for which implicit objectRegistry management is supported...
void component(FieldField< Field, typename FieldField< Field, Type >::cmptType > &sf, const FieldField< Field, Type > &f, const direction d)
addToRunTimeSelectionTable(functionObject, pointHistory, dictionary)
static constexpr const zero Zero
Global zero (0)