34 template<
class Type,
class CombineOp>
53 elems[i] = pointData[meshPoints[i]];
62 Type& elem = elems[i];
69 cop(elem, elems[slavePoints[j]]);
75 elems[slavePoints[j]] = elem;
85 pointData[meshPoints[i]] = elems[i];
93 GeometricField<Type, pointPatchField, pointMesh>& pf
96 typename GeometricField<Type, pointPatchField, pointMesh>::
97 Boundary& pfbf = pf.boundaryFieldRef();
101 pointPatchField<Type>& ppf = pfbf[patchi];
103 if (
isA<valuePointPatchField<Type>>(ppf))
105 refCast<valuePointPatchField<Type>>(ppf) =
106 ppf.patchInternalField();
115 GeometricField<Type, pointPatchField, pointMesh>& pf
118 forAll(patchPatchPointConstraintPoints_, pointi)
120 pf[patchPatchPointConstraintPoints_[pointi]] =
transform 122 patchPatchPointConstraintTensors_[pointi],
123 pf[patchPatchPointConstraintPoints_[pointi]]
132 GeometricField<Type, pointPatchField, pointMesh>& pf,
133 const bool overrideFixedValue
139 pf.correctBoundaryConditions();
142 syncUntransformedData
145 pf.primitiveFieldRef(),
146 maxMagSqrEqOp<Type>()
150 constrainCorners(pf);
152 if (overrideFixedValue)
const mapDistribute & globalCoPointSlavesMap() const
void distribute(List< T > &fld, const bool dummyTransform=true, const int tag=UPstream::msgType()) const
Distribute data using default commsType.
Various mesh related information for a parallel run. Upon construction, constructs all info using par...
label constructSize() const noexcept
Constructed data size.
const labelList & meshPoints() const
Return labelList of mesh points in patch.
#define forAll(list, i)
Loop across all elements in list.
A list of faces which address into the list of points.
const globalMeshData & globalData() const
Return parallel info.
static void syncUntransformedData(const polyMesh &mesh, List< Type > &pointData, const CombineOp &cop)
Helper: sync data on collocated points only.
void constrainCorners(GeometricField< Type, pointPatchField, pointMesh > &pf) const
Apply patch-patch constraints only.
static void setPatchFields(GeometricField< Type, pointPatchField, pointMesh > &)
Helper: set patchField values from internal values (on.
void reverseDistribute(const label constructSize, List< T > &fld, const bool dummyTransform=true, const int tag=UPstream::msgType()) const
Reverse distribute data using default commsType.
const indirectPrimitivePatch & coupledPatch() const
Return patch of all coupled faces.
const pointMesh & mesh() const
Class containing processor-to-processor mapping information.
Mesh consisting of general polyhedral cells.
const Type * isA(const U &obj)
Check if dynamic_cast to Type is possible.
dimensionSet transform(const dimensionSet &ds)
Return the argument; transformations do not change the dimensions.
void constrain(GeometricField< Type, pointPatchField, pointMesh > &pf, const bool overrideValue=false) const
Apply boundary conditions (single-patch constraints) and.
const labelListList & globalCoPointSlaves() const