32 #include "directPointPatchFieldMapper.H" 56 if (patchMap[
patchi] == -1)
109 Boundary& bf = resF.boundaryFieldRef();
113 if (patchMap[
patchi] != -1)
123 forAll(directAddressing, i)
125 const label baseFacei = faceMap[subPatch.
start() + i];
127 if (baseFacei >= baseStart && baseFacei < baseStart+baseSize)
129 directAddressing[i] = baseFacei-baseStart;
135 directAddressing[i] = -1;
186 const bool negateIfFlipped =
isFlux(sf);
196 if (patchMap[
patchi] == -1)
263 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 const label baseFacei = faceMap[subPatch.
start() + i];
316 if (cellMap[fc[i]] == own[baseFacei] || !negateIfFlipped)
334 const label patchFacei =
382 if (patchMap[
patchi] == -1)
436 Boundary& bf = resF.boundaryFieldRef();
443 if (patchMap[
patchi] != -1)
453 forAll(meshPoints, localI)
455 meshPointMap.insert(meshPoints[localI], localI);
465 forAll(subMeshPoints, localI)
468 label meshPointi = pointMap[subMeshPoints[localI]];
472 if (iter != meshPointMap.
end())
474 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.
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.
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)
const Internal & internalField() const
Return a const-reference to the dimensioned internal field.
Mesh representing a set of points created from polyMesh.
Constraint pointPatchField to hold values for internal face exposed by sub-setting.
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.
Constraint fvsPatchField to hold values for internal face exposed by sub-setting. ...
Pre-declare SubField and related Field type.
autoPtr< BasicCompressibleMomentumTransportModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const typename BasicCompressibleMomentumTransportModel::transportModel &transport)
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
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
Internal & ref()
Return a reference to the dimensioned internal field.
bool isFlux(const DimensionedField< Type, surfaceMesh > &df)
Check if surfaceField is a flux.
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.
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...
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...
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.
Constraint fvPatchField to hold values for internal face exposed by sub-setting.
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.