51 ibProcCentres()[procI].size(),
57 if (Pstream::parRun())
60 for (
label procI = 0; procI < Pstream::nProcs(); procI++)
62 if (procI != Pstream::myProcNo())
65 if (!ibProcCells()[procI].empty())
74 curPsi.size()*
sizeof(Type)
83 for (
label procI = 0; procI < Pstream::nProcs(); procI++)
85 if (procI != Pstream::myProcNo())
88 if (!procPsi[procI].empty())
95 procPsi[procI].size()*
sizeof(Type)
98 fromProc >> procPsi[procI];
115 if (triValues.size() != ibMesh().size())
119 "template<class Type>\n"
120 "Foam::tmp<Foam::Field<Type> >\n"
121 "immersedBoundaryFvPatch::toIbPoints\n"
123 " const Field<Type>& triValues\n"
125 ) <<
"Field size does not correspond to size of immersed boundary "
126 <<
"triangulated surface for patch " <<
name() <<
nl
127 <<
"Field size = " << triValues.size()
128 <<
" surface size = " << ibMesh().size()
145 ibPsi[cellI] = triValues[hf[cellI]];
189 if (ibValues.size() != ibCells().size())
193 "template<class Type>\n"
194 "Foam::tmp<Foam::Field<Type> >\n"
195 "immersedBoundaryFvPatch::toTriFaces\n"
197 " const Field<Type>& ibValues\n"
199 ) <<
"Field size does not correspond to size of IB points "
200 <<
"triangulated surface for patch " <<
name() <<
nl
201 <<
"Field size = " << ibValues.size()
202 <<
" IB points size = " << ibCells().size()
218 const labelList& curAddr = ctfAddr[triI];
219 const scalarList& curWeights = ctfWeights[triI];
223 ibPsi[triI] += curWeights[cellI]*ibValues[curAddr[cellI]];
252 if (cellValues.size() != mesh_.nCells())
256 "template<class Type>\n"
257 "Foam::tmp<Foam::Field<Type> >\n"
258 "immersedBoundaryFvPatch::toSamplingPoints\n"
260 " const Field<Type>& cellValues\n"
262 ) <<
"Field size does not correspond to cell centres "
263 <<
"for patch " <<
name() <<
nl
264 <<
"Field size = " << cellValues.size()
265 <<
" nCells = " << mesh_.nCells()
288 const scalarList& curWeights = cellWeights[cellI];
292 ibPsi[cellI] += curWeights[ccI]*cellValues[curAddr[ccI]];
303 const scalarList& curProcWeights = cellProcWeights[cellI];
305 forAll (curProcCells, cpcI)
308 curProcWeights[cpcI]*
311 curProcCells[cpcI].first()
314 curProcCells[cpcI].second()
330 const dynamicLabelList& triFInM = this->triFacesInMesh();
337 rf[faceI] =
f[triFInM[faceI]];