Go to the documentation of this file.
51 bool Foam::sampledInterface::updateGeometry()
const
53 const fvMesh& fvm =
static_cast<const fvMesh&
>(
mesh());
56 if (fvm.time().timeIndex() == prevTimeIndex_)
62 if (!subMeshPtr_ && zoneID_.
index() != -1)
69 const label exposedPatchi =
patches.findPatchID(exposedPatchName_);
72 <<
"Allocating subset of size " << cz.size()
73 <<
" with exposed faces into patch "
76 subMeshPtr_.reset(
new fvMeshSubset(fvm, cz, exposedPatchi));
80 prevTimeIndex_ = fvm.time().timeIndex();
92 fvm.lookupObjectRef<reconstructionSchemes>
94 "reconstructionScheme"
119 if (zoneID_.index() != -1)
126 <<
"Cannot find patch " << exposedPatchName_
127 <<
" in which to put exposed faces." <<
endl
133 <<
"Restricting to cellZone " << zoneID_.name()
134 <<
" with exposed internal faces into patch "
135 << exposedPatchName_ <<
endl;
159 if (prevTimeIndex_ == -1)
172 return updateGeometry();
181 return sampleOnFaces(sampler);
190 return sampleOnFaces(sampler);
199 return sampleOnFaces(sampler);
208 return sampleOnFaces(sampler);
217 return sampleOnFaces(sampler);
226 return sampleOnPoints(interpolator);
235 return sampleOnPoints(interpolator);
243 return sampleOnPoints(interpolator);
252 return sampleOnPoints(interpolator);
261 return sampleOnPoints(interpolator);
267 os <<
"sampledInterface: " <<
name();
A class for handling words, derived from Foam::string.
A class for managing temporary objects.
virtual bool update()
Update the surface as required.
interfaceProperties interface(alpha1, U, thermo->transportPropertiesDict())
const cellZoneMesh & cellZones() const
Return cell zone mesh.
sampledInterface(const word &name, const polyMesh &mesh, const dictionary &dict)
Construct from dictionary.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Mesh consisting of general polyhedral cells.
wordList names() const
Return a list of patch names.
word name(const complex &c)
Return string representation of complex.
virtual bool needsUpdate() const
Does the surface need an update?
addNamedToRunTimeSelectionTable(topoSetCellSource, badQualityToCell, word, badQuality)
bool readEntry(const word &keyword, T &val, enum keyType::option matchOpt=keyType::REGEX, bool mandatory=true) const
An abstract class for surfaces with sampling.
label findPatchID(const word &patchName, const bool allowNotFound=true) const
Find patch index given a name, return -1 if not found.
virtual bool expire()
Mark the surface as needing an update.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Macros for easy insertion into run-time selection tables.
Mesh data needed to do the Finite Volume discretisation.
virtual tmp< scalarField > sample(const interpolation< scalar > &sampler) const
Sample volume field onto surface faces.
virtual void print(Ostream &) const
Write.
errorManipArg< error, int > exit(error &err, const int errNo=1)
#define DebugInfo
Report an information message using Foam::Info.
static const word null
An empty word.
const polyBoundaryMesh & patches
virtual void clearGeom() const
Additional cleanup when clearing the geometry.
const Time & time() const
Return the top-level database.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
const polyMesh & mesh() const
Access to the underlying mesh.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
label timeIndex() const
Return current time index.
T getOrDefault(const word &keyword, const T &deflt, enum keyType::option matchOpt=keyType::REGEX) const
bool interpolate() const
Interpolation to nodes requested for surface.
defineTypeNameAndDebug(combustionModel, 0)
label index() const
Return index of first matching zone.