A sampledSurface that calculates the PLIC interface in VoF simulations Only works in combination with isoAdvector and a reconstruction scheme. More...
Public Member Functions | |
TypeName ("sampledInterface") | |
Runtime type information. More... | |
sampledInterface (const word &name, const polyMesh &mesh, const dictionary &dict) | |
Construct from dictionary. More... | |
virtual | ~sampledInterface ()=default |
Destructor. More... | |
const reconstructionSchemes::interface & | surface () const |
virtual bool | needsUpdate () const |
Does the surface need an update? More... | |
virtual bool | expire () |
Mark the surface as needing an update. More... | |
virtual bool | update () |
Update the surface as required. More... | |
virtual const pointField & | points () const |
Points of surface. More... | |
virtual const faceList & | faces () const |
Faces of surface. More... | |
virtual const labelList & | zoneIds () const |
Const access to per-face zone/region information. More... | |
virtual const vectorField & | Sf () const |
Face area magnitudes. More... | |
virtual const scalarField & | magSf () const |
Face area magnitudes. More... | |
virtual const vectorField & | Cf () const |
Face centres. More... | |
virtual tmp< scalarField > | sample (const interpolation< scalar > &sampler) const |
Sample volume field onto surface faces. More... | |
virtual tmp< vectorField > | sample (const interpolation< vector > &sampler) const |
Sample volume field onto surface faces. More... | |
virtual tmp< sphericalTensorField > | sample (const interpolation< sphericalTensor > &sampler) const |
Sample volume field onto surface faces. More... | |
virtual tmp< symmTensorField > | sample (const interpolation< symmTensor > &sampler) const |
Sample volume field onto surface faces. More... | |
virtual tmp< tensorField > | sample (const interpolation< tensor > &sampler) const |
Sample volume field onto surface faces. More... | |
virtual tmp< scalarField > | interpolate (const interpolation< scalar > &interpolator) const |
Interpolate volume field onto surface points. More... | |
virtual tmp< vectorField > | interpolate (const interpolation< vector > &interpolator) const |
Interpolate volume field onto surface points. More... | |
virtual tmp< sphericalTensorField > | interpolate (const interpolation< sphericalTensor > &interpolator) const |
Interpolate volume field onto surface points. More... | |
virtual tmp< symmTensorField > | interpolate (const interpolation< symmTensor > &interpolator) const |
Interpolate volume field onto surface points. More... | |
virtual tmp< tensorField > | interpolate (const interpolation< tensor > &interpolator) const |
Interpolate volume field onto surface points. More... | |
virtual void | print (Ostream &os, int level=0) const |
Print information. More... | |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | sampleOnFaces (const interpolation< Type > &sampler) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | sampleOnPoints (const interpolation< Type > &interpolator) const |
![]() | |
TypeName ("sampledSurface") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, sampledSurface, word,(const word &name, const polyMesh &mesh, const dictionary &dict),(name, mesh, dict)) | |
Declare run-time constructor selection table. More... | |
sampledSurface (const word &name, const polyMesh &mesh, const bool interpolateToPoints=false) | |
Construct from name, mesh. More... | |
sampledSurface (const word &name, const polyMesh &mesh, const dictionary &dict) | |
Construct from dictionary. More... | |
autoPtr< sampledSurface > | clone () const |
Clone. More... | |
virtual | ~sampledSurface () |
Destructor - calls clearGeom() More... | |
const polyMesh & | mesh () const noexcept |
Access to the underlying mesh. More... | |
const word & | name () const noexcept |
Name of surface. More... | |
bool | enabled () const noexcept |
Surface is enabled. More... | |
bool | invariant () const noexcept |
Surface is invariant with geometry change (caution) More... | |
bool | isPointData () const noexcept |
Using interpolation to surface points. More... | |
virtual bool | isPointData (const bool on) |
Change point/cell representation, may trigger an expire(). More... | |
scalar | area () const |
The total surface area. More... | |
virtual bool | hasFaceIds () const |
If element ids/order of the original surface are available. More... | |
polySurface * | getRegistrySurface (const objectRegistry &obr, word lookupName="") const |
Get surface from registry if available. More... | |
polySurface * | storeRegistrySurface (objectRegistry &obr, word lookupName="") const |
Copy surface into registry. More... | |
bool | removeRegistrySurface (objectRegistry &obr, word lookupName="") const |
Remove surface from registry. More... | |
template<class Type , class GeoMeshType > | |
bool | storeRegistryField (const objectRegistry &obr, const word &fieldName, const dimensionSet &dims, const Field< Type > &values, word lookupName="") const |
Copy/store sampled field onto registered surface (if it exists) More... | |
template<class Type , class GeoMeshType > | |
bool | storeRegistryField (const objectRegistry &obr, const word &fieldName, const dimensionSet &dims, Field< Type > &&values, word lookupName="") const |
Move/store sampled field onto registered surface (if it exists) More... | |
surfMesh * | getSurfMesh (word lookupName="") const |
Get surface from registry if available. More... | |
surfMesh * | storeSurfMesh (word lookupName="") const |
Copy surface into registry. More... | |
bool | removeSurfMesh (word lookupName="") const |
Remove surface from registry. More... | |
template<class Type , class GeoMeshType > | |
bool | storeSurfMeshField (const word &fieldName, const dimensionSet &dims, const Field< Type > &values, word lookupName="") const |
Copy/store sampled Face field onto surfMesh (if it exists) More... | |
template<class Type , class GeoMeshType > | |
bool | storeSurfMeshField (const word &fieldName, const dimensionSet &dims, Field< Type > &&values, word lookupName="") const |
Move/store sampled Face field onto surfMesh (if it exists) More... | |
virtual bool | withSurfaceFields () const |
Can it sample surface-fields? More... | |
virtual tmp< scalarField > | sample (const surfaceScalarField &sField) const |
Sample surface field onto surface. More... | |
virtual tmp< vectorField > | sample (const surfaceVectorField &sField) const |
Sample surface field onto surface. More... | |
virtual tmp< sphericalTensorField > | sample (const surfaceSphericalTensorField &sField) const |
Sample surface field onto surface. More... | |
virtual tmp< symmTensorField > | sample (const surfaceSymmTensorField &sField) const |
Sample surface field onto surface. More... | |
virtual tmp< tensorField > | sample (const surfaceTensorField &sField) const |
Sample surface field onto surface. More... | |
virtual void | rename (const word &newName) |
Rename. More... | |
bool | interpolate () const noexcept |
Same as isPointData() More... | |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | sampleOnFaces (const interpolation< Type > &sampler, const labelUList &elements, const faceList &fcs, const pointField &pts, const Type &defaultValue) |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | sampleOnPoints (const interpolation< Type > &interpolator, const labelUList &elements, const faceList &fcs, const pointField &pts) |
template<class Type > | |
Foam::tmp< Foam::GeometricField< Type, Foam::fvPatchField, Foam::volMesh > > | pointAverage (const GeometricField< Type, pointPatchField, pointMesh > &pfld) |
![]() | |
constexpr | meshedSurf () noexcept=default |
Default construct. More... | |
virtual | ~meshedSurf ()=default |
Destructor. More... | |
virtual const labelList & | faceIds () const |
Per-face identifier (eg, element Id) More... | |
Additional Inherited Members | |
![]() | |
static autoPtr< sampledSurface > | New (const word &name, const polyMesh &mesh, const dictionary &dict) |
Return a reference to the selected surface. More... | |
![]() | |
static const wordList | surfaceFieldTypes |
Class names for surface field types. More... | |
![]() | |
virtual void | clearGeom () const |
Additional cleanup when clearing the geometry. More... | |
sampledSurface (const word &name, std::nullptr_t) | |
Construct null. More... | |
![]() | |
template<class Type > | |
static tmp< Field< Type > > | sampleOnFaces (const interpolation< Type > &sampler, const labelUList &elements, const faceList &fcs, const pointField &pts, const Type &defaultValue=Type(Zero)) |
Loop for sampling volume elements to faces. More... | |
template<class Type > | |
static tmp< Field< Type > > | sampleOnPoints (const interpolation< Type > &interpolator, const labelUList &elements, const faceList &fcs, const pointField &pts) |
Loop for interpolating volume elements to face points. More... | |
template<class Type > | |
static tmp< GeometricField< Type, fvPatchField, volMesh > > | pointAverage (const GeometricField< Type, pointPatchField, pointMesh > &pfld) |
Create cell values by averaging the point values. More... | |
A sampledSurface that calculates the PLIC interface in VoF simulations Only works in combination with isoAdvector and a reconstruction scheme.
This is often embedded as part of a sampled surfaces function object.
surfaces { freeSurf { type interface; interpolate false; } }
Where the sub-entries comprise:
Property | Description | Required | Default |
---|---|---|---|
type | interface | yes |
Original code supplied by Henning Scheufler, DLR (2019)
Definition at line 88 of file sampledInterface.H.
sampledInterface | ( | const word & | name, |
const polyMesh & | mesh, | ||
const dictionary & | dict | ||
) |
Construct from dictionary.
Definition at line 114 of file sampledInterface.C.
References polyMesh::boundaryMesh(), polyMesh::cellZones(), DebugInfo, dict, Foam::endl(), ZoneMesh< ZoneType, MeshType >::findIndex(), polyBoundaryMesh::findPatchID(), Foam::flatOutput(), dictionary::found(), mesh, dictionary::readEntry(), and dictionary::readIfPresent().
|
virtualdefault |
Destructor.
TypeName | ( | "sampledInterface" | ) |
Runtime type information.
|
inline |
Definition at line 156 of file sampledInterface.H.
Referenced by sampledInterface::Cf(), sampledInterface::faces(), sampledInterface::magSf(), sampledInterface::points(), and sampledInterface::Sf().
|
virtual |
Does the surface need an update?
Implements sampledSurface.
Definition at line 147 of file sampledInterface.C.
References mesh, fvMesh::time(), and TimeState::timeIndex().
|
virtual |
Mark the surface as needing an update.
May also free up unneeded data. Return false if surface was already marked as expired.
Implements sampledSurface.
Definition at line 155 of file sampledInterface.C.
|
virtual |
Update the surface as required.
Do nothing (and return false) if no update was needed
Implements sampledSurface.
Definition at line 175 of file sampledInterface.C.
|
inlinevirtual |
Points of surface.
Implements sampledSurface.
Definition at line 175 of file sampledInterface.H.
References sampledInterface::surface().
|
inlinevirtual |
Faces of surface.
Implements sampledSurface.
Definition at line 181 of file sampledInterface.H.
References sampledInterface::surface(), and MeshedSurface< Face >::surfFaces().
|
inlinevirtual |
Const access to per-face zone/region information.
Reimplemented from meshedSurf.
Definition at line 187 of file sampledInterface.H.
References List< T >::null().
|
inlinevirtual |
Face area magnitudes.
Implements sampledSurface.
Definition at line 193 of file sampledInterface.H.
References MeshedSurface< Face >::Sf(), and sampledInterface::surface().
|
inlinevirtual |
Face area magnitudes.
Implements sampledSurface.
Definition at line 199 of file sampledInterface.H.
References MeshedSurface< Face >::magSf(), and sampledInterface::surface().
|
inlinevirtual |
Face centres.
Implements sampledSurface.
Definition at line 205 of file sampledInterface.H.
References MeshedSurface< Face >::Cf(), and sampledInterface::surface().
|
virtual |
Sample volume field onto surface faces.
Implements sampledSurface.
Definition at line 182 of file sampledInterface.C.
|
virtual |
Sample volume field onto surface faces.
Implements sampledSurface.
Definition at line 191 of file sampledInterface.C.
|
virtual |
Sample volume field onto surface faces.
Implements sampledSurface.
Definition at line 200 of file sampledInterface.C.
|
virtual |
Sample volume field onto surface faces.
Implements sampledSurface.
Definition at line 209 of file sampledInterface.C.
|
virtual |
Sample volume field onto surface faces.
Implements sampledSurface.
Definition at line 218 of file sampledInterface.C.
|
virtual |
Interpolate volume field onto surface points.
Implements sampledSurface.
Definition at line 227 of file sampledInterface.C.
|
virtual |
Interpolate volume field onto surface points.
Implements sampledSurface.
Definition at line 236 of file sampledInterface.C.
|
virtual |
Interpolate volume field onto surface points.
Implements sampledSurface.
Definition at line 244 of file sampledInterface.C.
|
virtual |
Interpolate volume field onto surface points.
Implements sampledSurface.
Definition at line 253 of file sampledInterface.C.
|
virtual |
Interpolate volume field onto surface points.
Implements sampledSurface.
Definition at line 262 of file sampledInterface.C.
|
virtual |
Print information.
Reimplemented from sampledSurface.
Definition at line 270 of file sampledInterface.C.
References Foam::name(), and os().
Foam::tmp<Foam::Field<Type> > sampleOnFaces | ( | const interpolation< Type > & | sampler | ) | const |
Definition at line 39 of file sampledInterfaceTemplates.C.
References points.
Foam::tmp<Foam::Field<Type> > sampleOnPoints | ( | const interpolation< Type > & | interpolator | ) | const |
Definition at line 58 of file sampledInterfaceTemplates.C.
References notImplemented.