36 #include "surfaceInterpolate.H" 50 displacementSBRStressFvMotionSolver,
56 displacementMotionSolver,
57 displacementSBRStressFvMotionSolver,
65 Foam::displacementSBRStressFvMotionSolver::displacementSBRStressFvMotionSolver
85 cellMotionBoundaryTypes<
vector>(pointDisplacement().boundaryField())
89 coeffDict().
found(
"interpolation")
100 Foam::displacementSBRStressFvMotionSolver::
101 displacementSBRStressFvMotionSolver
127 cellMotionBoundaryTypes<
vector>
134 coeffDict().
found(
"interpolation")
157 interpolationPtr_->interpolate
165 points0() + pointDisplacement().primitiveField()
168 twoDCorrectPoints(tcurPoints.ref());
178 movePoints(fvMesh_.points());
180 diffusivityPtr_->correct();
181 pointDisplacement_.boundaryFieldRef().updateCoeffs();
186 *diffusivityPtr_->operator()()
199 "laplacian(diffusivity,cellDisplacement)" 208 cellDisplacement_.mesh().Sf(),
259 diffusivityPtr_.reset(
nullptr);
263 coeffDict().
lookup(
"diffusivity")
virtual void updateMesh(const mapPolyMesh &)
Update topology.
void correct(GeometricField< Type, PatchField, GeoMesh > &field)
Apply correction to field.
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh >> grad(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
Virtual base class for displacement motion solver.
~displacementSBRStressFvMotionSolver()
Destructor.
tmp< GeometricField< Type, fvPatchField, volMesh > > div(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
static tmp< GeometricField< typename innerProduct< vector, Type >::type, fvsPatchField, surfaceMesh > > dotInterpolate(const surfaceVectorField &Sf, const GeometricField< Type, fvPatchField, volMesh > &tvf)
Interpolate field onto faces.
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.
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.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Base class for fvMesh based motionSolvers.
Calculate the gradient of the given field.
Calculate the laplacian of the given field.
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.
virtual void updateMesh(const mapPolyMesh &)
Update local data for topology changes.
dimensionedScalar tr(const dimensionedSphericalTensor &dt)
Calculate the divergence of the given field.
void constrain(fvMatrix< Type > &eqn)
Apply constraints to equation.
tmp< GeometricField< Type, PatchField, GeoMesh > > T() const
Return transpose (only if it is a tensor field)
virtual void solve()
Solve for motion.
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)
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
pointField points0(pointIOField(IOobject("points", mesh.time().constant(), polyMesh::meshSubDir, mesh, IOobject::MUST_READ, IOobject::NO_WRITE, IOobject::NO_REGISTER)))
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
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))
virtual tmp< pointField > curPoints() const
Return point location obtained from the current motion field.
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...
A primitive field of type <T> with automated input and output.
addToRunTimeSelectionTable(functionObject, pointHistory, dictionary)
static constexpr const zero Zero
Global zero (0)