31 #include "directPointPatchFieldMapper.H" 59 if (patchMap[
patchi] == -1)
111 Boundary& bf = resF.boundaryFieldRef();
115 if (patchMap[
patchi] != -1)
125 forAll(directAddressing, i)
127 label baseFacei = faceMap[subPatch.
start()+i];
129 if (baseFacei >= baseStart && baseFacei < baseStart+baseSize)
131 directAddressing[i] = baseFacei-baseStart;
137 directAddressing[i] = -1;
184 const bool negateIfFlipped
195 if (patchMap[
patchi] == -1)
260 if (patchMap[
patchi] != -1)
270 forAll(directAddressing, i)
272 label baseFacei = faceMap[subPatch.
start()+i];
274 if (baseFacei >= baseStart && baseFacei < baseStart+baseSize)
276 directAddressing[i] = baseFacei-baseStart;
283 directAddressing[i] = -1;
308 label baseFacei = faceMap[subPatch.start()+i];
313 if (cellMap[fc[i]] == own[baseFacei] || !negateIfFlipped)
346 const bool negateIfFlipped
379 if (patchMap[
patchi] == -1)
432 Boundary& bf = resF.boundaryFieldRef();
439 if (patchMap[
patchi] != -1)
449 forAll(meshPoints, localI)
451 meshPointMap.insert(meshPoints[localI], localI);
461 forAll(subMeshPoints, localI)
464 label meshPointi = pointMap[subMeshPoints[localI]];
468 if (iter != meshPointMap.
end())
470 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 assmued 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.