41 Foam::LagrangianSubMesh::LagrangianSubMesh
43 const LagrangianMesh&
mesh,
60 Foam::LagrangianSubMesh::LagrangianSubMesh
72 index_(
mesh.subMeshIndex())
76 Foam::LagrangianSubMesh::LagrangianSubMesh
90 start_(groupOffsets[static_cast<
label>(
group)]),
91 index_(
mesh.subMeshIndex())
119 word fieldName = subFieldName;
123 while (subi < subFieldName.size())
127 subFieldName[subi] !=
':'
128 || subFieldName.size() < groupName.size() + subi + 1
129 || subFieldName(subi + 1, groupName.size()) != groupName
132 fieldName[i ++] = subFieldName[subi ++];
136 subi += groupName.size() + 1;
208 mesh().celli()[subi + start()],
209 mesh().facei()[subi + start()],
210 mesh().faceTrii()[subi + start()],
300 mesh().celli()[subi + start()],
301 mesh().facei()[subi + start()],
302 mesh().faceTrii()[subi + start()],
332 if (&mesh_ != &subMesh.mesh_)
335 <<
"Cannot combine sub-meshes which relate to different meshes"
339 if (group_ != subMesh.group_)
342 <<
"Cannot combine sub-meshes with different groups "
346 if (size_ + start_ != subMesh.start_)
349 <<
"Cannot combine sub-meshes that are not contiguous"
353 size_ += subMesh.size_;
graph_traits< Graph >::vertices_size_type size_type
#define forAll(list, i)
Loop across all elements in list.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
static tmp< DimensionedField< Type, GeoMesh, PrimitiveField > > New(const word &name, const GeoMesh &mesh, const dimensionSet &, const PrimitiveField< Type > &)
Return a temporary field constructed from name, mesh,.
Class containing Lagrangian geometry and topology.
const Time & time() const
Return time.
const labelIODynamicField & faceTrii() const
Access the face-tet indices.
const labelIODynamicField & celli() const
Access the cell indices.
const polyMesh & poly() const
Access the poly mesh.
const barycentricIODynamicField & coordinates() const
Access the coordinates.
const labelIODynamicField & facei() const
Access the cell-face indices.
Mesh that relates to a sub-section of a Lagrangian mesh. This is used to construct fields that relate...
const Time & time() const
Return time.
~LagrangianSubMesh()
Destructor.
static tmp< FieldType > nf(const LagrangianSubScalarSubField &fraction)
Return the face normals at the Lagrangian locations.
label size() const
Return size.
const objectRegistry & db() const
Return the object registry.
void operator+=(const LagrangianSubMesh &)
Add a sub-mesh to this one. Must relate to adjacent elements.
static tmp< FieldType > Uf(const LagrangianSubScalarSubField &fraction)
Return the face velocities at the Lagrangian locations.
word complete(const word &subFieldName) const
Return the name of a field corresponding to the complete mesh.
const LagrangianMesh & mesh() const
Return the mesh.
word sub(const word &fieldName) const
Return the name of a field corresponding to this sub-mesh.
label start() const
Return start.
scalar deltaTValue() const
Return time step value.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
const Time & time() const
Return the top-level database.
Registry of regIOobjects.
const Time & time() const
Return time.
A class for managing temporary objects.
T & ref() const
Return non-const reference or generate a fatal error.
A class for handling words, derived from string.
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
const char *const group
Group name for atomic constants.
barycentric coordinates(const polyMesh &mesh, const point &position, const label celli, const label facei, const label faceTrii, const scalar stepFraction)
Return the coordinates given the position and tet topology.
Pair< vector > faceNormalAndDisplacement(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label facei, const label faceTrii, const scalar stepFraction)
Return the normal of the corresponding point on the associated face and.
errorManipArg< error, int > exit(error &err, const int errNo=1)
const dimensionSet & dimless
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const dimensionSet & dimVelocity
Field< vector > vectorField
Specialisation of Field<T> for vector.
word name(const LagrangianState state)
Return a string representation of a Lagrangian state enumeration.
LagrangianGroup
Lagrangian group enumeration.
defineTypeNameAndDebug(atmosphericBoundaryLayer, 0)