51bool 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)
98 new reconstructionSchemes::interface
100 fvm.lookupObjectRef<reconstructionSchemes>
102 "reconstructionScheme"
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();
Macros for easy insertion into run-time selection tables.
#define addNamedToRunTimeSelectionTable(baseType, thisType, argNames, lookupName)
Add to construction table with 'lookupName' as the key.
Minimal example by using system/controlDict.functions:
void resize(const label len)
Adjust allocated size of list.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
label timeIndex() const noexcept
Return current time index.
T & first()
Return the first element of the list.
label findIndex(const wordRe &key) const
Zone index for the first match, return -1 if not found.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
bool found(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Search for an entry (const access) with the given keyword.
bool readIfPresent(const word &keyword, T &val, enum keyType::option matchOpt=keyType::REGEX) const
bool readEntry(const word &keyword, T &val, enum keyType::option matchOpt=keyType::REGEX, bool mandatory=true) const
Mesh data needed to do the Finite Volume discretisation.
const Time & time() const
Return the top-level database.
Abstract base class for volume field interpolation.
scalar print()
Print to screen.
label findPatchID(const word &patchName, const bool allowNotFound=true) const
Find patch index given a name, return -1 if not found.
Mesh consisting of general polyhedral cells.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
const cellZoneMesh & cellZones() const noexcept
Return cell zone mesh.
A sampledSurface that calculates the PLIC interface in VoF simulations Only works in combination with...
virtual bool expire()
Mark the surface as needing an update.
virtual bool needsUpdate() const
Does the surface need an update?
virtual bool update()
Update the surface as required.
An abstract class for surfaces with sampling.
virtual void clearGeom() const
Additional cleanup when clearing the geometry.
const polyMesh & mesh() const noexcept
Access to the underlying mesh.
bool interpolate() const noexcept
Same as isPointData()
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
OBJstream os(runTime.globalPath()/outputName)
#define DebugInfo
Report an information message using Foam::Info.
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.
Ostream & endl(Ostream &os)
Add newline and flush stream.
FlatOutput::OutputAdaptor< Container, Delimiters > flatOutput(const Container &obj, Delimiters delim)
Global flatOutput() function with specified output delimiters.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
interfaceProperties interface(alpha1, U, thermo->transportPropertiesDict())