A sampledSurface defined by a distance to a surface - using either an isoSurfaceCell or an isoSurface. More...
Public Member Functions | |
TypeName ("sampledDistanceSurface") | |
Runtime type information. More... | |
sampledDistanceSurface (const word &name, const polyMesh &mesh, const dictionary &dict) | |
Construct from dictionary. More... | |
virtual | ~sampledDistanceSurface ()=default |
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... | |
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 vectors. 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 |
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 |
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) |
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... | |
Public Member Functions inherited from distanceSurface | |
TypeName ("distanceSurface") | |
Runtime type information. More... | |
distanceSurface (const word &defaultSurfaceName, const polyMesh &mesh, const dictionary &dict) | |
Construct from dictionary. More... | |
distanceSurface (const polyMesh &mesh, const bool interpolate, const word &surfaceType, const word &surfaceName, const scalar distance, const bool signedDistance, const isoSurfaceBase::algorithmType algo, const isoSurfaceBase::filterType filter, const boundBox &bounds=boundBox::invertedBox) | |
Construct from components. More... | |
virtual | ~distanceSurface ()=default |
Destructor. More... | |
void | createGeometry () |
Create/recreate the distance surface. More... | |
const word & | surfaceName () const |
The name of the underlying searchableSurface. More... | |
scalar | distance () const |
The distance to the underlying searchableSurface. More... | |
const meshedSurface & | surface () const |
The underlying surface. More... | |
meshedSurface & | surface () |
The underlying surface. More... | |
const labelList & | meshCells () const |
For each face, the original cell in mesh. More... | |
labelList & | meshCells () |
For each face, the original cell in mesh. More... | |
template<class Type > | |
tmp< Field< Type > > | interpolate (const GeometricField< Type, fvPatchField, volMesh > &cellValues, const Field< Type > &pointValues) const |
Interpolate volume field onto surface points. More... | |
void | print (Ostream &os) const |
Print information. More... | |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | interpolate (const GeometricField< Type, fvPatchField, volMesh > &cellValues, const Field< Type > &pointValues) const |
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... | |
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... | |
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) |
General loop for sampling elements to faces. 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 distance to a surface - using either an isoSurfaceCell or an isoSurface.
This is often embedded as part of a sampled surfaces function object.
surfaces ( surface1 { type distanceSurface; } );
Where the sub-entries comprise:
Property | Description | Required | Default |
---|---|---|---|
type | distanceSurface | yes | |
distance | Distance from surface | yes | |
signed | Use sign when distance is positive | partly | |
isoAlgorithm | (cell/topo/point) | no | cell |
regularise | Point snapping for iso-surface | no | true |
average | Cell values from averaged point values | no | false |
bounds | Limit with bounding box | no | |
surfaceType | Type of surface | yes | |
surfaceName | Name of surface in triSurface/ | no | dict name |
Definition at line 133 of file sampledDistanceSurface.H.
sampledDistanceSurface | ( | const word & | name, |
const polyMesh & | mesh, | ||
const dictionary & | dict | ||
) |
Construct from dictionary.
Definition at line 54 of file sampledDistanceSurface.C.
|
virtualdefault |
Destructor.
TypeName | ( | "sampledDistanceSurface" | ) |
Runtime type information.
|
virtual |
Does the surface need an update?
Implements sampledSurface.
Definition at line 69 of file sampledDistanceSurface.C.
|
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 75 of file sampledDistanceSurface.C.
References Foam::expressions::patchExpr::debug, Foam::endl(), and Foam::Pout.
|
virtual |
Update the surface as required.
Do nothing (and return false) if no update was needed
Implements sampledSurface.
Definition at line 97 of file sampledDistanceSurface.C.
References distanceSurface::createGeometry(), Foam::expressions::patchExpr::debug, Foam::endl(), and Foam::Pout.
|
inlinevirtual |
Points of surface.
Implements sampledSurface.
Definition at line 200 of file sampledDistanceSurface.H.
References distanceSurface::surface().
|
inlinevirtual |
Faces of surface.
Implements sampledSurface.
Definition at line 206 of file sampledDistanceSurface.H.
References distanceSurface::surface(), and MeshedSurface< Face >::surfFaces().
|
inlinevirtual |
Per-face zone/region information.
Reimplemented from meshedSurf.
Definition at line 212 of file sampledDistanceSurface.H.
References List< label >::null().
|
inlinevirtual |
Face area vectors.
Implements sampledSurface.
Definition at line 218 of file sampledDistanceSurface.H.
References MeshedSurface< Face >::Sf(), and distanceSurface::surface().
|
inlinevirtual |
Face area magnitudes.
Implements sampledSurface.
Definition at line 224 of file sampledDistanceSurface.H.
References MeshedSurface< Face >::magSf(), and distanceSurface::surface().
|
inlinevirtual |
Face centres.
Implements sampledSurface.
Definition at line 230 of file sampledDistanceSurface.H.
References MeshedSurface< Face >::Cf(), and distanceSurface::surface().
|
virtual |
Sample volume field onto surface faces.
Implements sampledSurface.
Definition at line 118 of file sampledDistanceSurface.C.
|
virtual |
Sample volume field onto surface faces.
Implements sampledSurface.
Definition at line 127 of file sampledDistanceSurface.C.
|
virtual |
Sample volume field onto surface faces.
Implements sampledSurface.
Definition at line 136 of file sampledDistanceSurface.C.
|
virtual |
Sample volume field onto surface faces.
Implements sampledSurface.
Definition at line 145 of file sampledDistanceSurface.C.
|
virtual |
Sample volume field onto surface faces.
Implements sampledSurface.
Definition at line 154 of file sampledDistanceSurface.C.
|
virtual |
Interpolate volume field onto surface points.
Implements sampledSurface.
Definition at line 163 of file sampledDistanceSurface.C.
|
virtual |
Interpolate volume field onto surface points.
Implements sampledSurface.
Definition at line 172 of file sampledDistanceSurface.C.
|
virtual |
Interpolate volume field onto surface points.
Implements sampledSurface.
Definition at line 180 of file sampledDistanceSurface.C.
|
virtual |
Interpolate volume field onto surface points.
Implements sampledSurface.
Definition at line 189 of file sampledDistanceSurface.C.
|
virtual |
Interpolate volume field onto surface points.
Implements sampledSurface.
Definition at line 198 of file sampledDistanceSurface.C.
|
virtual |
Print information.
Reimplemented from sampledSurface.
Definition at line 206 of file sampledDistanceSurface.C.
References Foam::name(), and distanceSurface::print().
Foam::tmp<Foam::Field<Type> > sampleOnFaces | ( | const interpolation< Type > & | sampler | ) | const |
Definition at line 39 of file sampledDistanceSurfaceTemplates.C.
References points.
Foam::tmp<Foam::Field<Type> > sampleOnPoints | ( | const interpolation< Type > & | interpolator | ) | const |
Definition at line 56 of file sampledDistanceSurfaceTemplates.C.
References Foam::fac::interpolate(), Foam::New(), and interpolation< Type >::psi().