41 Foam::LagrangianSubMesh::LagrangianSubMesh
43 const LagrangianMesh&
mesh,
61 Foam::LagrangianSubMesh::LagrangianSubMesh
74 index_(
mesh.subMeshIndex())
78 Foam::LagrangianSubMesh::LagrangianSubMesh
93 start_(groupOffsets[static_cast<
label>(
group)]),
94 index_(
mesh.subMeshIndex())
149 nf<vectorField>(fraction)
170 mesh().celli()[subi + start()],
171 mesh().facei()[subi + start()],
172 mesh().faceTrii()[subi + start()],
173 fraction[subi + start()]
193 nf<vectorField>(fraction)
241 Uf<vectorField>(fraction)
262 mesh().celli()[subi + start()],
263 mesh().facei()[subi + start()],
264 mesh().faceTrii()[subi + start()],
265 fraction[subi + start()]
285 Uf<vectorField>(fraction)
294 if (&mesh_ != &subMesh.mesh_)
297 <<
"Cannot combine sub-meshes which relate to different meshes"
301 if (group_ != subMesh.group_)
304 <<
"Cannot combine sub-meshes with different groups "
308 if (size_ + start_ != subMesh.start_)
311 <<
"Cannot combine sub-meshes that are not contiguous"
315 size_ += subMesh.size_;
#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...
const Mesh & mesh() const
Return mesh.
static tmp< DimensionedField< Type, GeoMesh, PrimitiveField > > New(const word &name, const Mesh &mesh, const dimensionSet &, const PrimitiveField< Type > &)
Return a temporary field constructed from name, mesh,.
Generic mesh wrapper used by volMesh, surfaceMesh, pointMesh etc.
Class containing Lagrangian geometry and topology.
const Time & time() const
Return time.
const labelIODynamicField & faceTrii() const
Access the face-tet indices.
const polyMesh & mesh() const
Access the mesh.
const labelIODynamicField & celli() const
Access the cell indices.
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...
LagrangianGroup group() const
Return the group.
~LagrangianSubMesh()
Destructor.
static tmp< FieldType > nf(const LagrangianSubScalarSubField &fraction)
Return the face normals at the Lagrangian locations.
label size() const
Return size.
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.
const LagrangianMesh & mesh() const
Return the mesh.
label start() const
Return start.
scalar deltaTValue() const
Return time step value.
const Time & time() const
Return the top-level database.
Mesh consisting of general polyhedral cells.
A class for managing temporary objects.
T & ref() const
Return non-const reference or generate a fatal error.
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)
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 dimless
defineTypeNameAndDebug(combustionModel, 0)
Field< vector > vectorField
Specialisation of Field<T> for vector.
word name(const LagrangianState state)
Return a string representation of a Lagrangian state enumeration.
const dimensionSet dimVelocity
LagrangianGroup
Lagrangian group enumeration.