44 bool Foam::sampledIsoSurfaceCell::updateGeometry()
const
46 const fvMesh& fvm =
static_cast<const fvMesh&
>(
mesh());
49 if (fvm.time().timeIndex() == prevTimeIndex_)
54 prevTimeIndex_ = fvm.time().timeIndex();
63 autoPtr<volScalarField> readFieldPtr_;
72 Info<<
"sampledIsoSurfaceCell::updateGeometry() : lookup "
84 Info<<
"sampledIsoSurfaceCell::updateGeometry() : reading "
85 << isoField_ <<
" from time " <<fvm.time().timeName()
96 fvm.time().timeName(),
106 cellFldPtr = readFieldPtr_.operator->();
110 tmp<pointScalarField> pointFld
121 for (label pointI = 0; pointI < fvm.nPoints(); pointI++)
123 const labelList& pCells = fvm.pointCells(pointI);
127 label cellI = pCells[i];
129 cellAvg[cellI] += pointFld().internalField()[pointI];
130 nPointCells[cellI]++;
136 cellAvg[cellI] /= nPointCells[cellI];
139 const isoSurfaceCell iso
143 pointFld().internalField(),
152 meshCells_ = iso.meshCells();
157 const isoSurfaceCell iso
160 cellFld.internalField(),
161 pointFld().internalField(),
170 meshCells_ = iso.meshCells();
176 Pout<<
"sampledIsoSurfaceCell::updateGeometry() : constructed iso:"
178 <<
" regularise : " << regularise_ <<
nl
179 <<
" average : " << average_ <<
nl
180 <<
" isoField : " << isoField_ <<
nl
181 <<
" isoValue : " << isoVal_ <<
nl
184 <<
" cut cells : " << meshCells_.
size() <<
endl;
201 isoField_(dict.
lookup(
"isoField")),
247 if (prevTimeIndex_ == -1)
260 return updateGeometry();
270 return sampleField(vField);
280 return sampleField(vField);
290 return sampleField(vField);
300 return sampleField(vField);
310 return sampleField(vField);
320 return interpolateField(interpolator);
330 return interpolateField(interpolator);
339 return interpolateField(interpolator);
349 return interpolateField(interpolator);
359 return interpolateField(interpolator);
365 os <<
"sampledIsoSurfaceCell: " <<
name() <<
" :"
366 <<
" field:" << isoField_
367 <<
" value:" << isoVal_;