A sampledSurface defined by a surface of iso value. It only recalculates the iso-surface if time changes. To be used in sampleSurfaces / functionObjects. More...
Public Member Functions | |
TypeName ("samplediIsoSurfacePoint") | |
Runtime type information. More... | |
sampledIsoSurface (const isoSurfaceParams ¶ms, const word &name, const polyMesh &mesh, const dictionary &dict) | |
Construct from dictionary. More... | |
sampledIsoSurface (const word &name, const polyMesh &mesh, const dictionary &dict) | |
Construct from dictionary. More... | |
virtual | ~sampledIsoSurface () |
Destructor. More... | |
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... | |
const meshedSurface & | surface () const |
The currently created surface geometry. More... | |
const labelList & | meshCells () const |
For each face, the original cell in mesh. More... | |
virtual const pointField & | points () const |
Points of surface. More... | |
virtual const faceList & | faces () const |
Faces of surface. More... | |
virtual const labelList & | zoneIds () const |
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) const |
Write. 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 |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | sampleOnIsoSurfacePoints (const interpolation< Type > &interpolator) const |
Public Member Functions inherited from sampledSurface | |
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 interpolate=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 |
Access to the underlying mesh. More... | |
const word & | name () const |
Name of surface. More... | |
bool | enabled () const |
Surface is enabled. More... | |
bool | invariant () const |
Surface is invariant with geometry change (caution) More... | |
bool | interpolate () const |
Interpolation to nodes requested for surface. 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... | |
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) |
Public Member Functions inherited from meshedSurf | |
constexpr | meshedSurf () noexcept=default |
Default construct. More... | |
virtual | ~meshedSurf ()=default |
Destructor. More... | |
virtual const labelList & | faceIds () const |
Per-face identifier (eg, element Id) More... | |
Protected Member Functions | |
bool | hasIsoSurface () const |
Is currently backed by an isoSurfacePtr_. More... | |
Protected Member Functions inherited from sampledSurface | |
virtual void | clearGeom () const |
Additional cleanup when clearing the geometry. More... | |
sampledSurface (const word &name, std::nullptr_t) | |
Construct null. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from sampledSurface | |
static autoPtr< sampledSurface > | New (const word &name, const polyMesh &mesh, const dictionary &dict) |
Return a reference to the selected surface. More... | |
Static Public Attributes inherited from sampledSurface | |
static const wordList | surfaceFieldTypes |
Class names for surface field types. More... | |
Static Protected Member Functions inherited from sampledSurface | |
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 defined by a surface of iso value. It only recalculates the iso-surface if time changes. To be used in sampleSurfaces / functionObjects.
surfaces { surface1 { type isoSurface; isoField T; isoValue 373; isoMethod topo; } }
Where the sub-entries comprise:
Property | Description | Required | Default |
---|---|---|---|
type | isoSurface | yes | |
isoField | field name for obtaining iso-surface | yes | |
isoValue | value of iso-surface | yes | |
isoValues | values for iso-surfaces | yes | |
isoMethod | Iso-algorithm (cell/topo/point) | no | topo |
average | cell values from averaged point values | no | false |
bounds | limit with bounding box | no | |
zone | limit to cell zone (name or regex) | no | |
zones | limit to cell zones (names, regexs) | no | |
simpleSubMesh | Simple sub-meshing in algorithm itself | no | false |
exposedPatchName | name for zone subset | optional | |
regularise | point snapping (bool or enum) | no | true |
triangulate | triangulate faces (if regularise) | no | false |
mergeTol | tolerance for merging points | no | 1e-6 |
Some options are limited to particular algorithms.
Definition at line 169 of file sampledIsoSurface.H.
sampledIsoSurface | ( | const isoSurfaceParams & | params, |
const word & | name, | ||
const polyMesh & | mesh, | ||
const dictionary & | dict | ||
) |
Construct from dictionary.
Definition at line 583 of file sampledIsoSurface.C.
References isoSurfaceParams::ALGO_DEFAULT, isoSurfaceParams::ALGO_POINT, isoSurfaceParams::ALGO_TOPO, isoSurfaceParams::algorithm(), polyMesh::boundaryMesh(), polyMesh::cellZones(), DebugInfo, dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, ZoneMesh< ZoneType, MeshType >::findIndex(), polyBoundaryMesh::findPatchID(), Foam::flatOutput(), dictionary::found(), Foam::inplaceUniqueSort(), sampledSurface::interpolate(), IOWarningInFunction, mesh, Foam::nl, isoSurfaceParams::NONE, dictionary::readEntry(), and dictionary::readIfPresent().
sampledIsoSurface | ( | const word & | name, |
const polyMesh & | mesh, | ||
const dictionary & | dict | ||
) |
Construct from dictionary.
Definition at line 708 of file sampledIsoSurface.C.
|
virtual |
Destructor.
Definition at line 720 of file sampledIsoSurface.C.
|
inlineprotected |
Is currently backed by an isoSurfacePtr_.
Definition at line 283 of file sampledIsoSurface.H.
References bool.
TypeName | ( | "samplediIsoSurfacePoint" | ) |
Runtime type information.
|
virtual |
Does the surface need an update?
Implements sampledSurface.
Definition at line 726 of file sampledIsoSurface.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 734 of file sampledIsoSurface.C.
References sampledSurface::clearGeom().
|
virtual |
Update the surface as required.
Do nothing (and return false) if no update was needed
Implements sampledSurface.
Definition at line 756 of file sampledIsoSurface.C.
|
inline |
The currently created surface geometry.
Definition at line 334 of file sampledIsoSurface.H.
Referenced by sampledIsoSurface::Cf(), sampledIsoSurface::faces(), sampledIsoSurface::magSf(), sampledIsoSurface::points(), and sampledIsoSurface::Sf().
|
inline |
For each face, the original cell in mesh.
Definition at line 344 of file sampledIsoSurface.H.
|
inlinevirtual |
Points of surface.
Implements sampledSurface.
Definition at line 354 of file sampledIsoSurface.H.
References sampledIsoSurface::surface().
|
inlinevirtual |
Faces of surface.
Implements sampledSurface.
Definition at line 360 of file sampledIsoSurface.H.
References sampledIsoSurface::surface(), and MeshedSurface< Face >::surfFaces().
|
inlinevirtual |
Per-face zone/region information.
Reimplemented from meshedSurf.
Definition at line 366 of file sampledIsoSurface.H.
References List< label >::null().
|
inlinevirtual |
Face area magnitudes.
Implements sampledSurface.
Definition at line 372 of file sampledIsoSurface.H.
References MeshedSurface< Face >::Sf(), and sampledIsoSurface::surface().
|
inlinevirtual |
Face area magnitudes.
Implements sampledSurface.
Definition at line 378 of file sampledIsoSurface.H.
References MeshedSurface< Face >::magSf(), and sampledIsoSurface::surface().
|
inlinevirtual |
Face centres.
Implements sampledSurface.
Definition at line 384 of file sampledIsoSurface.H.
References MeshedSurface< Face >::Cf(), and sampledIsoSurface::surface().
|
virtual |
Sample volume field onto surface faces.
Implements sampledSurface.
Definition at line 764 of file sampledIsoSurface.C.
|
virtual |
Sample volume field onto surface faces.
Implements sampledSurface.
Definition at line 774 of file sampledIsoSurface.C.
|
virtual |
Sample volume field onto surface faces.
Implements sampledSurface.
Definition at line 784 of file sampledIsoSurface.C.
|
virtual |
Sample volume field onto surface faces.
Implements sampledSurface.
Definition at line 794 of file sampledIsoSurface.C.
|
virtual |
Sample volume field onto surface faces.
Implements sampledSurface.
Definition at line 804 of file sampledIsoSurface.C.
|
virtual |
Interpolate volume field onto surface points.
Implements sampledSurface.
Definition at line 814 of file sampledIsoSurface.C.
|
virtual |
Interpolate volume field onto surface points.
Implements sampledSurface.
Definition at line 824 of file sampledIsoSurface.C.
|
virtual |
Interpolate volume field onto surface points.
Implements sampledSurface.
Definition at line 833 of file sampledIsoSurface.C.
|
virtual |
Interpolate volume field onto surface points.
Implements sampledSurface.
Definition at line 843 of file sampledIsoSurface.C.
|
virtual |
Interpolate volume field onto surface points.
Implements sampledSurface.
Definition at line 853 of file sampledIsoSurface.C.
|
virtual |
Write.
Reimplemented from sampledSurface.
Definition at line 861 of file sampledIsoSurface.C.
References Foam::flatOutput(), and Foam::name().
Foam::tmp<Foam::Field<Type> > sampleOnFaces | ( | const interpolation< Type > & | sampler | ) | const |
Definition at line 39 of file sampledIsoSurfaceTemplates.C.
References points.
Foam::tmp<Foam::Field<Type> > sampleOnPoints | ( | const interpolation< Type > & | interpolator | ) | const |
Definition at line 58 of file sampledIsoSurfaceTemplates.C.
References points.
Foam::tmp<Foam::Field<Type> > sampleOnIsoSurfacePoints | ( | const interpolation< Type > & | interpolator | ) | const |
Definition at line 82 of file sampledIsoSurfaceTemplates.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::fac::interpolate(), mesh, Foam::New(), Foam::nl, interpolation< Type >::psi(), and tmp< T >::reset().