35template<
class Type,
class CombineOp,
class TransformOp>
44 const TransformOp& top
53 Type& elem = elems[i];
59 transformedSlaves.
empty()
61 : transformedSlaves[i]
66 for (
const label pointi : slavePoints)
68 cop(elem, elems[pointi]);
72 for (
const label pointi : transformSlavePoints)
74 cop(elem, elems[pointi]);
78 for (
const label pointi : slavePoints)
83 for (
const label pointi : transformSlavePoints)
100template<
class Type,
class CombineOp>
116 Type& elem = elems[i];
118 const labelList& slavePoints = slaves[i];
122 transformedSlaves.
empty()
124 : transformedSlaves[i]
129 for (
const label pointi : slavePoints)
131 cop(elem, elems[pointi]);
135 for (
const label pointi : transformSlavePoints)
137 cop(elem, elems[pointi]);
141 for (
const label pointi : slavePoints)
143 elems[pointi] = elem;
146 for (
const label pointi : transformSlavePoints)
148 elems[pointi] = elem;
157template<
class Type,
class CombineOp,
class TransformOp>
161 const CombineOp& cop,
162 const TransformOp& top
165 if (pointData.
size() != mesh_.nPoints())
168 <<
"Number of elements in data:" << pointData.
size()
169 <<
" differs from number of points in mesh:" << mesh_.nPoints()
181 globalPointTransformedSlaves(),
182 globalPointSlavesMap(),
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
static const List< label > & null()
Return a null List.
A list of faces which address into the list of points.
const labelList & meshPoints() const
Return labelList of mesh points in patch.
A List with indirect addressing. Like IndirectList but does not store addressing.
bool empty() const noexcept
True if the UList is empty (ie, size() is zero)
void size(const label n)
Older name for setAddressableSize.
static void syncData(List< Type > &elems, const labelListList &slaves, const labelListList &transformedSlaves, const mapDistribute &slavesMap, const globalIndexAndTransform &, const CombineOp &cop, const TransformOp &top)
Helper: synchronise data with transforms.
void syncPointData(List< Type > &pointData, const CombineOp &cop, const TransformOp &top) const
Helper to synchronise coupled patch point data.
Class containing processor-to-processor mapping information.
void reverseDistribute(const label constructSize, List< T > &fld, const bool dummyTransform=true, const int tag=UPstream::msgType()) const
Reverse distribute data using default commsType.
void distribute(List< T > &fld, const bool dummyTransform=true, const int tag=UPstream::msgType()) const
Distribute data using default commsType.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
errorManip< error > abort(error &err)
#define forAll(list, i)
Loop across all elements in list.