31 #include "directPointPatchFieldMapper.H" 59 if (patchMap[
patchi] == -1)
112 Boundary& bf = resF.boundaryFieldRef();
116 if (patchMap[
patchi] != -1)
126 forAll(directAddressing, i)
128 label baseFacei = faceMap[subPatch.
start()+i];
130 if (baseFacei >= baseStart && baseFacei < baseStart+baseSize)
132 directAddressing[i] = baseFacei-baseStart;
138 directAddressing[i] = -1;
185 const bool negateIfFlipped
196 if (patchMap[
patchi] == -1)
262 if (patchMap[
patchi] != -1)
272 forAll(directAddressing, i)
274 label baseFacei = faceMap[subPatch.
start()+i];
276 if (baseFacei >= baseStart && baseFacei < baseStart+baseSize)
278 directAddressing[i] = baseFacei-baseStart;
285 directAddressing[i] = -1;
310 label baseFacei = faceMap[subPatch.start()+i];
315 if (cellMap[fc[i]] == own[baseFacei] || !negateIfFlipped)
348 const bool negateIfFlipped
381 if (patchMap[
patchi] == -1)
435 Boundary& bf = resF.boundaryFieldRef();
442 if (patchMap[
patchi] != -1)
452 forAll(meshPoints, localI)
454 meshPointMap.insert(meshPoints[localI], localI);
464 forAll(subMeshPoints, localI)
467 label meshPointi = pointMap[subMeshPoints[localI]];
471 if (iter != meshPointMap.
end())
473 directAddressing[localI] = iter();
Class containing functor to negate primitives. Dummy for all other types.
#define forAll(list, i)
Loop across all elements in list.
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 word & name() const
Return name.
static iteratorEnd end()
iteratorEnd set to beyond the end of any HashTable
virtual label start() const
Return start label of this patch in the polyMesh face list.
label nInternalFaces() const
const Boundary & boundaryField() const
Return const-reference to the boundary field.
bool interpolate(const vector &p1, const vector &p2, const vector &o, vector &n, scalar l)
T & ref() const
Return non-const reference or generate a fatal error.
void size(const label)
Override size to be inconsistent with allocated storage.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
An empty boundary condition for pointField.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
const Internal::FieldType & primitiveField() const
Return a const-reference to the internal field.
Generic GeometricField class.
static word timeName(const scalar, const int precision=precision_)
Return time name of given scalar time.
const Time & time() const
Return the top-level database.
A calculated boundary condition for pointField.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
static const pointMesh & New(const polyMesh &mesh)
const Internal & internalField() const
Return a const-reference to the dimensioned internal field.
Mesh representing a set of points created from polyMesh.
iterator find(const Key &)
Find and return an iterator set at the hashedEntry.
Abstract base class for point-mesh patch fields.
const dimensionSet & dimensions() const
Return dimensions.
A List obtained as a section of another List.
static const DimensionedField< Type, GeoMesh > & null()
Return a null DimensionedField.
Pre-declare SubField and related Field type.
const polyPatch & patch() const
Return the polyPatch.
This boundary condition is not designed to be evaluated; it is assumed that the value is assigned via...
const objectRegistry & thisDb() const
Return database. For now is its polyMesh.
direct PointPatchFieldMapper
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
virtual label size() const
Return size.
const Mesh & mesh() const
Return mesh.
direct fvPatchFieldMapper
Internal & ref()
Return a reference to the dimensioned internal field.
Foam::emptyFvsPatchField.
Boundary & boundaryFieldRef()
Return a reference to the boundary field.
Basic pointPatch represents a set of points from the mesh.
const Time & time() const
Return time.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
Mesh data needed to do the Finite Volume discretisation.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
This boundary condition provides an 'empty' condition for reduced dimensions cases, i.e. 1- and 2-D geometries. Apply this condition to patches whose normal is aligned to geometric directions that do not constitue solution directions.
Foam::calculatedFvsPatchField.
A class for managing temporary objects.
const pointBoundaryMesh & boundary() const
Return reference to boundary mesh.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
static tmp< GeometricField< Type, fvPatchField, volMesh > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &, const fvMesh &sMesh, const labelList &patchMap, const labelList &cellMap, const labelList &faceMap)
Map volume field.
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...
virtual const labelList & meshPoints() const =0
Return mesh points.
virtual label size() const =0
Return size.
label whichFace(const label l) const
Return label of face in patch from global face label.
const fvBoundaryMesh & boundary() const
Return reference to boundary mesh.