54 if (oldPoints.size() != currPoints.size())
57 <<
"Old and current points sizes must be the same. "
58 <<
"Old points:" << oldPoints.size()
59 <<
" Current points:" << currPoints.size()
64 const scalar rdt = 1.0/
mesh_.time().deltaTValue();
66 auto tmeshPhi(
const_cast<fvMesh&
>(
mesh_).setPhi());
70 auto& meshPhii =
meshPhi.primitiveFieldRef();
73 const face&
f = faces[facei];
74 meshPhii[facei] =
f.sweptVol(oldPoints, currPoints)*rdt;
77 auto& meshPhiBf =
meshPhi.boundaryFieldRef();
78 for (
auto& meshPhip : meshPhiBf)
86 const auto&
pp = meshPhip.patch().patch();
90 const face&
f =
pp[facei];
91 meshPhip[facei] =
f.sweptVol(oldPoints, currPoints)*rdt;
106 const word& defaultScheme
110 const word schemeName
114 :
dict.getOrDefault<
word>(
"type", defaultScheme)
119 auto* ctorPtr = dictConstructorTable(schemeName);
128 *dictConstructorTablePtr_
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())
void size(const label n)
Older name for setAddressableSize.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A keyword and a list of tokens is an 'entry'.
virtual ITstream & stream() const =0
Return token stream, if entry is a primitive entry.
A face is a list of labels corresponding to mesh vertices.
Abstract base class for geometry calculation schemes.
const fvMesh & mesh_
Hold reference to mesh.
bool setMeshPhi() const
Set the mesh motion flux.
virtual void movePoints()
Update basic geometric properties from provided points.
virtual void updateMesh(const mapPolyMesh &mpm)
Update mesh for topology changes.
const fvMesh & mesh() const
Return mesh reference.
static tmp< fvGeometryScheme > New(const fvMesh &mesh, const dictionary &dict, const word &defaultScheme)
Return new tmp interpolation scheme.
Mesh data needed to do the Finite Volume discretisation.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
bool moving() const noexcept
Is mesh moving.
virtual const pointField & oldPoints() const
Return old points (mesh motion).
virtual const pointField & points() const
Return raw points.
void clearGeom()
Clear geometry.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
#define FatalIOErrorInLookup(ios, lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalIOError.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
#define DebugInFunction
Report an information message using Foam::Info.
tmp< surfaceScalarField > meshPhi(const volVectorField &U)
List< face > faceList
List of faces.
Ostream & endl(Ostream &os)
Add newline and flush stream.
errorManip< error > abort(error &err)
IOerror FatalIOError
Error stream (stdout output on all processes), with additional 'FOAM FATAL IO ERROR' header text and ...
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
vectorField pointField
pointField is a vectorField.
errorManipArg< error, int > exit(error &err, const int errNo=1)
#define defineRunTimeSelectionTable(baseType, argNames)
Define run-time selection table.
#define forAll(list, i)
Loop across all elements in list.