Go to the documentation of this file.
35 #ifndef distributedWeightedFvPatchFieldMapper_H
36 #define distributedWeightedFvPatchFieldMapper_H
54 const label singlePatchProc_;
71 const label singlePatchProc,
77 singlePatchProc_(singlePatchProc),
78 distMapPtr_(distMapPtr),
92 if ((singlePatchProc_ == -1) != (distMapPtr_ !=
nullptr))
95 <<
"Supply a mapDistributeBase if and only if "
96 <<
"singlePatchProc is -1"
97 <<
" singlePatchProc_:" << singlePatchProc_
98 <<
" distMapPtr_:" << (distMapPtr_ !=
nullptr)
109 virtual label
size()
const
121 virtual bool direct()
const
128 return singlePatchProc_ == -1;
136 <<
"Cannot ask for distributeMap on a non-distributed"
virtual ~distributedWeightedFvPatchFieldMapper()=default
Destructor.
virtual const labelListList & addressing() const
virtual bool hasUnmapped() const
Are there unmapped values? I.e. do all size() elements get.
virtual label size() const
virtual const mapDistributeBase & distributeMap() const
virtual bool distributed() const
distributedWeightedFvPatchFieldMapper(const label singlePatchProc, const mapDistributeBase *distMapPtr, const labelListList &addressing, const scalarListList &weights)
Construct given addressing.
virtual bool direct() const
errorManipArg< error, int > exit(error &err, const int errNo=1)
label constructSize() const
Constructed data size.
virtual const scalarListList & weights() const
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Class containing processor-to-processor mapping information.
Foam::fvPatchFieldMapper.
FieldMapper with weighted mapping from (optionally remote) quantities.