Go to the documentation of this file.
36 #include "surfaceInterpolate.H"
50 displacementSBRStressFvMotionSolver,
56 displacementMotionSolver,
57 displacementSBRStressFvMotionSolver,
65 Foam::displacementSBRStressFvMotionSolver::displacementSBRStressFvMotionSolver
78 mesh.time().timeName(),
80 IOobject::READ_IF_PRESENT,
85 cellMotionBoundaryTypes<vector>(pointDisplacement().
boundaryField())
89 coeffDict().
found(
"interpolation")
100 Foam::displacementSBRStressFvMotionSolver::
101 displacementSBRStressFvMotionSolver
116 mesh.time().timeName(),
118 IOobject::READ_IF_PRESENT,
124 displacementMotionSolver::pointDisplacement().dimensions(),
127 cellMotionBoundaryTypes<vector>
129 displacementMotionSolver::pointDisplacement().boundaryField()
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")
addToRunTimeSelectionTable(decompositionMethod, kahipDecomp, dictionary)
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,...
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh >> grad(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
void correct(GeometricField< Type, fvPatchField, volMesh > &field)
Apply correction to field.
A primitive field of type <T> with automated input and output.
static tmp< GeometricField< typename innerProduct< vector, Type >::type, fvsPatchField, surfaceMesh > > dotInterpolate(const surfaceVectorField &Sf, const GeometricField< Type, fvPatchField, volMesh > &tvf)
Interpolate field onto faces.
A class for managing temporary objects.
static constexpr const zero Zero
Global zero (0)
void constrain(fvMatrix< Type > &eqn)
Apply constraints to equation.
static options & New(const fvMesh &mesh)
Construct fvOptions and register to database if not present.
SolverPerformance< Type > solveSegregatedOrCoupled(const dictionary &)
Solve segregated or coupled returning the solution statistics.
virtual void solve()
Solve for motion.
Calculate the divergence of the given field.
tmp< GeometricField< Type, fvPatchField, volMesh > > div(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
~displacementSBRStressFvMotionSolver()
Destructor.
Mesh consisting of general polyhedral cells.
dimensioned< vector > dimensionedVector
Dimensioned vector obtained from generic dimensioned type.
fvScalarMatrix TEqn(fvm::ddt(T)+fvm::div(phi, T) - fvm::laplacian(alphaEff, T)==radiation->ST(rhoCpRef, T)+fvOptions(T))
Base class for fvMesh based motionSolvers.
tmp< fvMatrix< Type > > laplacian(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
const cellModel * lookup(const word &modelName)
Deprecated(2017-11) equivalent to cellModel::ptr static method.
Calculate the matrix for the laplacian of the field.
virtual void updateMesh(const mapPolyMesh &)
Update topology.
static autoPtr< motionDiffusivity > New(const fvMesh &mesh, Istream &mdData)
Select null constructed.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
virtual tmp< pointField > curPoints() const
Return point location obtained from the current motion field.
const dimensionSet dimViscosity
Virtual base class for displacement motion solver.
Macros for easy insertion into run-time selection tables.
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.
tmp< GeometricField< Type, PatchField, GeoMesh > > T() const
Return transpose (only if it is a tensor field)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
pointField points0(pointIOField(IOobject("points", mesh.time().constant(), polyMesh::meshSubDir, mesh, IOobject::MUST_READ, IOobject::NO_WRITE, false)))
Calculate the laplacian of the given field.
virtual void updateMesh(const mapPolyMesh &)
Update local data for topology changes.
Calculate the gradient of the given field.
const dictionary & solverDict() const
Return the solver dictionary taking into account finalIteration.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
dimensionedScalar tr(const dimensionedSphericalTensor &dt)
defineTypeNameAndDebug(combustionModel, 0)
const Boundary & boundaryField() const
Return const-reference to the boundary field.