30 Foam::label Foam::fvFieldDecomposer::completePatchID
33 const label procPatchi
36 const fvPatch& procPatch = procMeshes_[proci].boundary()[procPatchi];
42 else if (isA<processorCyclicFvPatch>(procPatch))
45 refCast<const processorCyclicFvPatch>(procPatch)
63 forwardFieldMapper(static_cast<const
labelList&>(*this))
69 const fvMesh& completeMesh,
70 const PtrList<fvMesh>& procMeshes,
73 const PtrList<surfaceLabelField::Boundary>& faceProcAddressingBf
76 completeMesh_(completeMesh),
77 procMeshes_(procMeshes),
78 faceProcAddressing_(faceProcAddressing),
79 cellProcAddressing_(cellProcAddressing),
80 faceProcAddressingBf_(faceProcAddressingBf),
81 patchFieldDecomposers_(procMeshes_.size())
85 patchFieldDecomposers_.set
88 new PtrList<patchFieldDecomposer>
96 const label completePatchi = completePatchID(proci, procPatchi);
98 if (completePatchi >= 0)
100 patchFieldDecomposers_[proci].set
103 new patchFieldDecomposer
105 faceProcAddressingBf[proci][completePatchi]
126 #define DO_FV_FIELDS_TYPE(Type, nullArg) \
128 || !objects.lookupClass(VolField<Type>::Internal::typeName).empty() \
129 || !objects.lookupClass(VolField<Type>::typeName).empty() \
130 || !objects.lookupClass(SurfaceField<Type>::typeName).empty();
132 #undef DO_FV_FIELDS_TYPE
#define forAll(list, i)
Loop across all elements in list.
label size() const
Return the number of elements in the UPtrList.
patchFieldDecomposer(const labelUList &addressing)
Construct given addressing.
static bool decomposes(const IOobjectList &objects)
Return whether anything in the object list gets decomposed.
fvFieldDecomposer(const fvMesh &completeMesh, const PtrList< fvMesh > &procMeshes, const labelListList &faceProcAddressing, const labelListList &cellProcAddressing, const PtrList< surfaceLabelField::Boundary > &faceProcAddressingBf)
Construct from components.
~fvFieldDecomposer()
Destructor.
const fvBoundaryMesh & boundary() const
Return reference to boundary mesh.
List< label > labelList
A List of labels.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
List< labelList > labelListList
A List of labelList.
dimensioned< scalar > mag(const dimensioned< Type > &)
FOR_ALL_FIELD_TYPES(makeFieldSourceTypedef)
UList< label > labelUList
faceListList boundary(nPatches)