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" 127 if (!
dict.readIfPresent(
"zones", zoneNames_) &&
dict.found(
"zone"))
130 dict.readEntry(
"zone", zoneNames_.
first());
135 dict.readIfPresent(
"exposedPatchName", exposedPatchName_);
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();
label findPatchID(const word &patchName, const bool allowNotFound=true) const
Find patch index given a name, return -1 if not found.
bool interpolate() const noexcept
Same as isPointData()
void resize(const label len)
Adjust allocated size of list.
const polyMesh & mesh() const noexcept
Access to the underlying mesh.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
An abstract class for surfaces with sampling.
virtual tmp< scalarField > sample(const interpolation< scalar > &sampler) const
Sample volume field onto surface faces.
label findIndex(const wordRe &key) const
Zone index for the first match, return -1 if not found.
virtual bool expire()
Mark the surface as needing an update.
T & first()
Access first element of the list, position [0].
Ostream & endl(Ostream &os)
Add newline and flush stream.
interfaceProperties interface(alpha1, U, thermo->transportPropertiesDict())
const Time & time() const
Return the top-level database.
Macros for easy insertion into run-time selection tables.
addNamedToRunTimeSelectionTable(topoSetCellSource, badQualityToCell, word, badQuality)
virtual void clearGeom() const
Additional cleanup when clearing the geometry.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
const polyBoundaryMesh & boundaryMesh() const noexcept
Return boundary mesh.
A class for handling words, derived from Foam::string.
virtual void print(Ostream &os, int level=0) const
Print information.
label timeIndex() const noexcept
Return the current time index.
#define DebugInfo
Report an information message using Foam::Info.
virtual bool update()
Update the surface as required.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
defineTypeNameAndDebug(combustionModel, 0)
Mesh data needed to do the Finite Volume discretisation.
const cellZoneMesh & cellZones() const noexcept
Return cell zone mesh.
Mesh consisting of general polyhedral cells.
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.
virtual bool needsUpdate() const
Does the surface need an update?
A class for managing temporary objects.
sampledInterface(const word &name, const polyMesh &mesh, const dictionary &dict)
Construct from dictionary.
FlatOutput::OutputAdaptor< Container, Delimiters > flatOutput(const Container &obj, Delimiters delim)
Global flatOutput() function with specified output delimiters.