32 #ifndef distributedWeightedFvPatchFieldMapper_H 33 #define distributedWeightedFvPatchFieldMapper_H 51 const label singlePatchProc_;
68 const label singlePatchProc,
74 singlePatchProc_(singlePatchProc),
75 distMapPtr_(distMapPtr),
76 addressing_(addressing),
82 if (addressing_[i].
size() == 0)
88 if ((singlePatchProc_ == -1) != (distMapPtr_ !=
nullptr))
92 "distributedWeightedFvPatchFieldMapper::" 93 "distributedWeightedFvPatchFieldMapper(..)" 94 ) <<
"Supply a mapDistributeBase if and only if " 95 <<
"singlePatchProc is -1" 96 <<
" singlePatchProc_:" << singlePatchProc_
97 <<
" distMapPtr_:" << (distMapPtr_ !=
nullptr)
121 virtual bool direct()
const 128 return singlePatchProc_ == -1;
137 "distributedWeightedFvPatchFieldMapper::" 139 ) <<
"Cannot ask for distributeMap on a non-distributed"
virtual bool direct() const
virtual const scalarListList & weights() const
virtual bool distributed() const
#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.
FieldMapper with weighted mapping from (optionally remote) quantities.
errorManipArg< error, int > exit(error &err, const int errNo=1)
void size(const label)
Override size to be inconsistent with allocated storage.
virtual label size() const
virtual bool hasUnmapped() const
Are there unmapped values? I.e. do all size() elements get.
Foam::fvPatchFieldMapper.
virtual const mapDistributeBase & distributeMap() const
Class containing processor-to-processor mapping information.
virtual ~distributedWeightedFvPatchFieldMapper()
Destructor.
label constructSize() const
Constructed data size.
virtual const labelListList & addressing() const
#define FatalErrorIn(functionName)
Report an error message using Foam::FatalError.
distributedWeightedFvPatchFieldMapper(const label singlePatchProc, const mapDistributeBase *distMapPtr, const labelListList &addressing, const scalarListList &weights)
Construct given addressing.