45 void Foam::distanceSurface::createGeometry()
49 Pout<<
"distanceSurface::createGeometry :updating geometry." <<
endl;
58 const fvMesh& fvm =
static_cast<const fvMesh&
>(
mesh());
63 cellDistancePtr_.
reset
70 fvm.time().timeName(),
87 List<pointIndexHit> nearest;
88 surfPtr_().findNearest
98 surfPtr_().getNormal(nearest, normal);
102 vector d(cc[i]-nearest[i].hitPoint());
104 if ((
d&normal[i]) > 0)
118 fld[i] =
Foam::mag(cc[i] - nearest[i].hitPoint());
125 forAll(fvm.C().boundaryField(), patchI)
127 const pointField& cc = fvm.C().boundaryField()[patchI];
130 List<pointIndexHit> nearest;
131 surfPtr_().findNearest
141 surfPtr_().getNormal(nearest, normal);
145 vector d(cc[i]-nearest[i].hitPoint());
147 if ((
d&normal[i]) > 0)
161 fld[i] =
Foam::mag(cc[i] - nearest[i].hitPoint());
173 pointDistance_.
setSize(fvm.nPoints());
177 List<pointIndexHit> nearest;
178 surfPtr_().findNearest
188 surfPtr_().getNormal(nearest, normal);
192 vector d(pts[i]-nearest[i].hitPoint());
194 if ((
d&normal[i]) > 0)
208 pointDistance_[i] =
Foam::mag(pts[i]-nearest[i].hitPoint());
216 Pout<<
"Writing cell distance:" << cellDistance.objectPath() <<
endl;
217 cellDistance.
write();
223 fvm.time().timeName(),
234 Pout<<
"Writing point distance:" << pDist.objectPath() <<
endl;
273 dict.
lookup(
"surfaceType"),
325 Pout<<
"distanceSurface::expire :"
326 <<
" have-facesPtr_:" << facesPtr_.valid()
327 <<
" needsUpdate_:" << needsUpdate_ <<
endl;
351 Pout<<
"distanceSurface::update :"
352 <<
" have-facesPtr_:" << facesPtr_.valid()
353 <<
" needsUpdate_:" << needsUpdate_ <<
endl;
363 needsUpdate_ =
false;
374 return sampleField(vField);
384 return sampleField(vField);
394 return sampleField(vField);
404 return sampleField(vField);
414 return sampleField(vField);
424 return interpolateField(interpolator);
434 return interpolateField(interpolator);
443 return interpolateField(interpolator);
453 return interpolateField(interpolator);
463 return interpolateField(interpolator);
469 os <<
"distanceSurface: " <<
name() <<
" :"
470 <<
" surface:" << surfPtr_().name()
471 <<
" distance:" << distance_
472 <<
" faces:" << faces().size()