45 const typename GeoField::Boundary& bFld = sFld.
boundaryField();
49 for (
const T& val : bFld[patchi])
61 label oldFacei =
faceMap[facei];
73 for (
auto ownFacei : ownFaces)
77 tmpValue += tsFld[ownFacei];
83 for (
auto neiFacei : neiFaces)
87 tmpValue += tsFld[neiFacei];
94 sFld[facei] = tmpValue/counter;
115 <<
"dynamicRefineFvMesh::mapNewInternalFaces():" 116 <<
" Mapping new internal faces by interpolation on " 117 << iter.key()<<
endl;
119 GeoField& sFld = *iter();
121 if (sFld.is_oriented())
124 << sFld.name() <<
" since of type " << sFld.type()
129 mapNewInternalFaces(
faceMap, sFld);
143 typedef GeometricField<T, fvsPatchField, surfaceMesh> GeoField;
144 HashTable<GeoField*> sFlds(this->objectRegistry::lookupClass<GeoField>());
151 <<
"dynamicRefineFvMesh::mapNewInternalFaces():" 152 <<
" Mapping new internal faces by interpolation on " 153 << iter.key() <<
endl;
155 GeoField& sFld = *iter();
157 if (sFld.is_oriented())
160 <<
"dynamicRefineFvMesh::mapNewInternalFaces(): " 161 <<
"Converting oriented field " << iter.key()
162 <<
" to intensive field and mapping" <<
endl;
167 typedef GeometricField
175 NormalGeoField fFld(sFld*Sf/
Foam::sqr(magSf));
178 mapNewInternalFaces(
faceMap, fFld);
185 mapNewInternalFaces(
faceMap, sFld);
virtual const labelList & faceNeighbour() const
Return face neighbour.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
const Internal & internalField() const noexcept
Return a const-reference to the dimensioned internal field.
label start() const noexcept
The start label of boundary faces in the polyMesh face list.
GeometricField< vector, fvsPatchField, surfaceMesh > surfaceVectorField
Ostream & endl(Ostream &os)
Add newline and flush stream.
A traits class, which is primarily used for primitives.
typeOfRank< typename pTraits< arg1 >::cmptType, direction(pTraits< arg1 >::rank)+direction(pTraits< arg2 >::rank) >::type type
const cellList & cells() const
Generic GeometricField class.
label nFaces() const noexcept
Number of mesh faces.
SubField is a Field obtained as a section of another Field, without its own allocation. SubField is derived from a SubList rather than a List.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
const labelUList & neighbour() const
Internal face neighbour.
#define forAll(list, i)
Loop across all elements in list.
void mapNewInternalFaces(const labelList &faceMap, GeometricField< T, fvsPatchField, surfaceMesh > &)
Map single non-flux surface<Type>Field.
const polyBoundaryMesh & boundaryMesh() const noexcept
Return boundary mesh.
virtual const labelList & faceOwner() const
Return face owner.
#define forAllIters(container, iter)
Iterate across all elements in the container object.
label nInternalFaces() const noexcept
Number of internal faces.
A HashTable similar to std::unordered_map.
#define DebugInfo
Report an information message using Foam::Info.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
const labelUList & owner() const
Internal face owner. Note bypassing virtual mechanism so.
#define WarningInFunction
Report a warning using Foam::Warning.
A cell is defined as a list of faces with extra functionality.
List< label > labelList
A List of labels.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
const Boundary & boundaryField() const noexcept
Return const-reference to the boundary field.
static constexpr const zero Zero
Global zero (0)