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"
127 if (!
dict.readIfPresent(
"zones", zoneNames_) &&
dict.found(
"zone"))
129 zoneNames_.resize(1);
130 dict.readEntry(
"zone", zoneNames_.first());
133 if (-1 !=
mesh.cellZones().findIndex(zoneNames_))
135 dict.readIfPresent(
"exposedPatchName", exposedPatchName_);
138 <<
"Restricting to cellZone " << flatOutput(zoneNames_)
139 <<
" with exposed internal faces into patch "
140 << mesh.boundaryMesh().findPatchID(exposedPatchName_) << endl;
151 return fvm.time().timeIndex() != prevTimeIndex_;
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.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Mesh data needed to do the Finite Volume discretisation.
Abstract base class for volume field interpolation.
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 noexcept
Return boundary mesh.
A sampledSurface that calculates the PLIC interface in VoF simulations Only works in combination with...
sampledInterface(const word &name, const polyMesh &mesh, const dictionary &dict)
Construct from dictionary.
virtual void print(Ostream &os, int level=0) const
Print information.
virtual tmp< scalarField > sample(const interpolation< scalar > &sampler) const
Sample volume field onto surface faces.
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.
sampledSurface(const word &name, std::nullptr_t)
Construct null.
const word & name() const noexcept
Name of surface.
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.
Namespace of functions to calculate implicit derivatives returning a matrix.
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.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
interfaceProperties interface(alpha1, U, thermo->transportPropertiesDict())