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_)
61 prevTimeIndex_ = fvm.time().timeIndex();
72 const label exposedPatchi =
75 bitSet cellsToSelect(
mesh().cellZones().selection(zoneNames_));
78 <<
"Allocating subset of size "
79 << cellsToSelect.count()
80 <<
" with exposed faces into patch "
81 << exposedPatchi <<
endl;
85 new fvMeshSubset(fvm, cellsToSelect, exposedPatchi)
100 fvm.lookupObjectRef<reconstructionSchemes>
102 "reconstructionScheme"
129 zoneNames_.resize(1);
138 <<
"Restricting to cellZone " <<
flatOutput(zoneNames_)
139 <<
" with exposed internal faces into patch "
164 if (prevTimeIndex_ == -1)
177 return updateGeometry();
186 return sampleOnFaces(sampler);
195 return sampleOnFaces(sampler);
204 return sampleOnFaces(sampler);
213 return sampleOnFaces(sampler);
222 return sampleOnFaces(sampler);
231 return sampleOnPoints(interpolator);
240 return sampleOnPoints(interpolator);
248 return sampleOnPoints(interpolator);
257 return sampleOnPoints(interpolator);
266 return sampleOnPoints(interpolator);
272 os <<
"sampledInterface: " <<
name();
A class for handling words, derived from Foam::string.
label findIndex(const wordRe &key) const
Zone index for the first match, return -1 if not found.
A class for managing temporary objects.
bool found(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Search for an entry (const access) with the given keyword.
virtual bool update()
Update the surface as required.
interfaceProperties interface(alpha1, U, thermo->transportPropertiesDict())
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.
label timeIndex() const noexcept
Return current time index.
bool interpolate() const noexcept
Same as isPointData()
const cellZoneMesh & cellZones() const noexcept
Return cell zone mesh.
virtual bool needsUpdate() const
Does the surface need an update?
label findIndex(const ListType &input, typename ListType::const_reference val, const label start=0)
Deprecated(2017-10) search for first occurrence of the given element.
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,...
OBJstream os(runTime.globalPath()/outputName)
Macros for easy insertion into run-time selection tables.
Mesh data needed to do the Finite Volume discretisation.
FlatOutput::OutputAdaptor< Container, Delimiters > flatOutput(const Container &obj, Delimiters delim)
Global flatOutput() function with specified output delimiters.
virtual tmp< scalarField > sample(const interpolation< scalar > &sampler) const
Sample volume field onto surface faces.
#define DebugInfo
Report an information message using Foam::Info.
const polyMesh & mesh() const noexcept
Access to the underlying mesh.
virtual void print(Ostream &os, int level=0) const
Print information.
virtual void clearGeom() const
Additional cleanup when clearing the geometry.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
const Time & time() const
Return the top-level database.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
defineTypeNameAndDebug(combustionModel, 0)
bool readIfPresent(const word &keyword, T &val, enum keyType::option matchOpt=keyType::REGEX) const