43 sampledThresholdCellFaces,
51 bool Foam::sampledThresholdCellFaces::updateGeometry()
const
53 const fvMesh& fvm =
static_cast<const fvMesh&
>(
mesh());
56 if (fvm.time().timeIndex() == prevTimeIndex_)
61 prevTimeIndex_ = fvm.time().timeIndex();
64 autoPtr<volScalarField> readFieldPtr_;
73 Info<<
"sampledThresholdCellFaces::updateGeometry() : lookup "
74 << fieldName_ <<
endl;
85 Info<<
"sampledThresholdCellFaces::updateGeometry() : reading "
86 << fieldName_ <<
" from time " << fvm.time().timeName()
97 fvm.time().timeName(),
107 cellFldPtr = readFieldPtr_.operator->();
112 thresholdCellFaces surf
115 cellFld.internalField(),
125 meshCells_.
transfer(surf.meshCells());
132 Pout<<
"sampledThresholdCellFaces::updateGeometry() : constructed"
134 <<
" field : " << fieldName_ <<
nl
135 <<
" lowerLimit : " << lowerThreshold_ <<
nl
136 <<
" upperLimit : " << upperThreshold_ <<
nl
139 <<
" cut cells : " << meshCells_.
size() <<
endl;
156 fieldName_(dict.
lookup(
"field")),
164 if (!dict.
found(
"lowerLimit") && !dict.
found(
"upperLimit"))
168 "sampledThresholdCellFaces::sampledThresholdCellFaces(..)"
170 <<
"require at least one of 'lowerLimit' or 'upperLimit'" <<
endl
207 if (prevTimeIndex_ == -1)
220 return updateGeometry();
230 return sampleField(vField);
240 return sampleField(vField);
250 return sampleField(vField);
260 return sampleField(vField);
270 return sampleField(vField);
280 return interpolateField(interpolator);
290 return interpolateField(interpolator);
299 return interpolateField(interpolator);
309 return interpolateField(interpolator);
319 return interpolateField(interpolator);
325 os <<
"sampledThresholdCellFaces: " <<
name() <<
" :"
326 <<
" field:" << fieldName_
327 <<
" lowerLimit:" << lowerThreshold_
328 <<
" upperLimit:" << upperThreshold_;