36 const label addressingOffset
39 directAddressing_(addressingSlice)
41 forAll(directAddressing_, i)
44 directAddressing_[i] -= addressingOffset + 1;
56 directAddressing_(addressingSlice.
size())
61 forAll(directAddressing_, i)
64 label ai =
mag(addressingSlice[i]) - 1;
66 if (ai < neighb.size())
73 if (addressingSlice[i] >= 0)
76 directAddressing_[i] = neighb[ai];
80 directAddressing_[i] = own[ai];
91 directAddressing_[i] = own[ai];
103 addressing_(addressingSlice.
size()),
104 weights_(addressingSlice.
size())
108 addressing_[i].setSize(1);
109 weights_[i].setSize(1);
111 addressing_[i][0] =
mag(addressingSlice[i]) - 1;
117 Foam::fvFieldDecomposer::fvFieldDecomposer
119 const fvMesh& completeMesh,
126 completeMesh_(completeMesh),
128 faceAddressing_(faceAddressing),
129 cellAddressing_(cellAddressing),
130 boundaryAddressing_(boundaryAddressing),
131 patchFieldDecomposerPtrs_(procMesh_.boundary().size()),
132 processorVolPatchFieldDecomposerPtrs_(procMesh_.boundary().size()),
133 processorSurfacePatchFieldDecomposerPtrs_(procMesh_.boundary().size()),
134 faceSign_(procMesh_.boundary().size())
136 forAll(boundaryAddressing_, patchi)
138 const fvPatch& fvp = procMesh_.boundary()[patchi];
142 boundaryAddressing_[patchi] >= 0
143 && !isA<processorLduInterface>(procMesh.
boundary()[patchi])
146 patchFieldDecomposerPtrs_.set
152 completeMesh_.boundaryMesh()
154 boundaryAddressing_[patchi]
161 processorVolPatchFieldDecomposerPtrs_.set
171 processorSurfacePatchFieldDecomposerPtrs_.set