distanceSurface Class Reference

A sampledSurface defined by a distance to a surface. More...

Inheritance diagram for distanceSurface:
Collaboration diagram for distanceSurface:

Public Member Functions

 TypeName ("distanceSurface")
 Runtime type information. More...
 
 distanceSurface (const word &name, const polyMesh &mesh, const dictionary &dict)
 Construct from dictionary. More...
 
 distanceSurface (const word &name, const polyMesh &mesh, const bool interpolate, const word &surfaceType, const word &surfaceName, const scalar distance, const bool signedDistance, const Switch regularise, const Switch average)
 Construct from components. More...
 
virtual ~distanceSurface ()
 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...
 
const isoSurface & surface () const
 
virtual tmp< scalarField > sample (const volScalarField &) const
 Sample field on surface. More...
 
virtual tmp< vectorField > sample (const volVectorField &) const
 Sample field on surface. More...
 
virtual tmp< sphericalTensorField > sample (const volSphericalTensorField &) const
 Sample field on surface. More...
 
virtual tmp< symmTensorField > sample (const volSymmTensorField &) const
 Sample field on surface. More...
 
virtual tmp< tensorField > sample (const volTensorField &) const
 Sample field on surface. More...
 
virtual tmp< scalarField > interpolate (const interpolation< scalar > &) const
 Interpolate field on surface. More...
 
virtual tmp< vectorField > interpolate (const interpolation< vector > &) const
 Interpolate field on surface. More...
 
virtual tmp< sphericalTensorField > interpolate (const interpolation< sphericalTensor > &) const
 Interpolate field on surface. More...
 
virtual tmp< symmTensorField > interpolate (const interpolation< symmTensor > &) const
 Interpolate field on surface. More...
 
virtual tmp< tensorField > interpolate (const interpolation< tensor > &) const
 Interpolate field on surface. More...
 
virtual void print (Ostream &) const
 Write. More...
 
template<class Type >
Foam::tmp< Foam::Field< Type > > sampleField (const GeometricField< Type, fvPatchField, volMesh > &vField) const
 
template<class Type >
Foam::tmp< Foam::Field< Type > > interpolateField (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 &, const bool interpolate=false)
 Construct from name, mesh. More...
 
 sampledSurface (const word &name, const polyMesh &, const dictionary &)
 Construct from dictionary. More...
 
autoPtr< sampledSurface > clone () const
 Clone. More...
 
virtual ~sampledSurface ()
 Destructor. More...
 
const polyMesh & mesh () const
 Access to the underlying mesh. More...
 
const word & name () const
 Name of surface. More...
 
bool interpolate () const
 Interpolation requested for surface. More...
 
virtual const vectorField & Sf () const
 Return face area vectors. More...
 
virtual const scalarField & magSf () const
 Return face area magnitudes. More...
 
virtual const vectorField & Cf () const
 Return face centres as vectorField. More...
 
scalar area () const
 The total surface area. More...
 
template<class Type >
Type integrate (const Field< Type > &) const
 Integration of a field across the surface. More...
 
template<class Type >
Type integrate (const tmp< Field< Type >> &) const
 Integration of a field across the surface. More...
 
template<class Type >
Type average (const Field< Type > &) const
 Area-averaged value of a field across the surface. More...
 
template<class Type >
Type average (const tmp< Field< Type >> &) const
 Area-averaged value of a field across the surface. More...
 
tmp< Field< scalar > > project (const Field< scalar > &) const
 Project field onto surface. More...
 
tmp< Field< scalar > > project (const Field< vector > &) const
 Project field onto surface. More...
 
tmp< Field< vector > > project (const Field< sphericalTensor > &) const
 Project field onto surface. More...
 
tmp< Field< vector > > project (const Field< symmTensor > &) const
 Project field onto surface. More...
 
tmp< Field< vector > > project (const Field< tensor > &) const
 Project field onto surface. More...
 
template<class Type >
tmp< GeometricField< Type, fvPatchField, volMesh > > pointAverage (const GeometricField< Type, pointPatchField, pointMesh > &pfld) const
 Interpolate from points to cell centre. More...
 
virtual tmp< scalarField > sample (const surfaceScalarField &) const
 Surface sample field on surface. More...
 
virtual tmp< symmTensorField > sample (const surfaceSymmTensorField &) const
 Surface sample field on surface. More...
 
virtual tmp< tensorField > sample (const surfaceTensorField &) const
 Surface sample field on surface. More...
 
virtual void rename (const word &newName)
 Rename. More...
 
template<class ReturnType , class Type >
Foam::tmp< Foam::Field< ReturnType > > project (const tmp< Field< Type >> &field) const
 
template<class Type >
Foam::tmp< Foam::GeometricField< Type, Foam::fvPatchField, Foam::volMesh > > pointAverage (const GeometricField< Type, pointPatchField, pointMesh > &pfld) const
 

Additional Inherited Members

- Static Public Member Functions inherited from sampledSurface
static autoPtr< sampledSurface > New (const word &name, const polyMesh &, const dictionary &)
 Return a reference to the selected surface. More...
 
- Protected Member Functions inherited from sampledSurface
virtual void clearGeom () const
 

Detailed Description

A sampledSurface defined by a distance to a surface.

Source files

Definition at line 52 of file distanceSurface.H.

Constructor & Destructor Documentation

◆ distanceSurface() [1/2]

distanceSurface ( const word &  name,
const polyMesh &  mesh,
const dictionary &  dict 
)

Construct from dictionary.

Definition at line 287 of file distanceSurface.C.

◆ distanceSurface() [2/2]

distanceSurface ( const word &  name,
const polyMesh &  mesh,
const bool  interpolate,
const word &  surfaceType,
const word &  surfaceName,
const scalar  distance,
const bool  signedDistance,
const Switch  regularise,
const Switch  average 
)

Construct from components.

Definition at line 322 of file distanceSurface.C.

◆ ~distanceSurface()

~distanceSurface ( )
virtual

Destructor.

Definition at line 364 of file distanceSurface.C.

Member Function Documentation

◆ TypeName()

TypeName ( "distanceSurface"  )

Runtime type information.

◆ needsUpdate()

bool needsUpdate ( ) const
virtual

Does the surface need an update?

Implements sampledSurface.

Definition at line 370 of file distanceSurface.C.

◆ expire()

bool expire ( )
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 376 of file distanceSurface.C.

References functionObject::debug, Foam::endl(), and Foam::Pout.

Here is the call graph for this function:

◆ update()

bool update ( )
virtual

Update the surface as required.

Do nothing (and return false) if no update was needed

Implements sampledSurface.

Definition at line 398 of file distanceSurface.C.

References functionObject::debug, Foam::endl(), Foam::Pout, and distanceSurface::sample().

Here is the call graph for this function:

◆ points()

virtual const pointField& points ( ) const
inlinevirtual

Points of surface.

Implements sampledSurface.

Definition at line 158 of file distanceSurface.H.

References isoSurface::points(), and distanceSurface::surface().

Here is the call graph for this function:

◆ faces()

virtual const faceList& faces ( ) const
inlinevirtual

Faces of surface.

Implements sampledSurface.

Definition at line 164 of file distanceSurface.H.

References isoSurface::faces(), and distanceSurface::surface().

Here is the call graph for this function:

◆ surface()

const isoSurface& surface ( ) const
inline

Definition at line 169 of file distanceSurface.H.

References sampledSurface::interpolate(), distanceSurface::print(), and distanceSurface::sample().

Referenced by distanceSurface::faces(), and distanceSurface::points().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sample() [1/5]

Foam::tmp< Foam::scalarField > sample ( const volScalarField &  vField) const
virtual

Sample field on surface.

Implements sampledSurface.

Definition at line 420 of file distanceSurface.C.

Referenced by distanceSurface::sample(), distanceSurface::surface(), and distanceSurface::update().

Here is the caller graph for this function:

◆ sample() [2/5]

Foam::tmp< Foam::vectorField > sample ( const volVectorField &  vField) const
virtual

Sample field on surface.

Implements sampledSurface.

Definition at line 430 of file distanceSurface.C.

References distanceSurface::sample().

Here is the call graph for this function:

◆ sample() [3/5]

Foam::tmp< Foam::sphericalTensorField > sample ( const volSphericalTensorField &  vField) const
virtual

Sample field on surface.

Implements sampledSurface.

Definition at line 440 of file distanceSurface.C.

References distanceSurface::sample().

Here is the call graph for this function:

◆ sample() [4/5]

Foam::tmp< Foam::symmTensorField > sample ( const volSymmTensorField &  vField) const
virtual

Sample field on surface.

Implements sampledSurface.

Definition at line 450 of file distanceSurface.C.

References distanceSurface::sample().

Here is the call graph for this function:

◆ sample() [5/5]

Foam::tmp< Foam::tensorField > sample ( const volTensorField &  vField) const
virtual

Sample field on surface.

Implements sampledSurface.

Definition at line 460 of file distanceSurface.C.

References sampledSurface::interpolate().

Here is the call graph for this function:

◆ interpolate() [1/5]

Foam::tmp< Foam::scalarField > interpolate ( const interpolation< scalar > &  interpolator) const
virtual

Interpolate field on surface.

Implements sampledSurface.

Definition at line 470 of file distanceSurface.C.

References sampledSurface::interpolate().

Here is the call graph for this function:

◆ interpolate() [2/5]

Foam::tmp< Foam::vectorField > interpolate ( const interpolation< vector > &  interpolator) const
virtual

Interpolate field on surface.

Implements sampledSurface.

Definition at line 480 of file distanceSurface.C.

References sampledSurface::interpolate().

Here is the call graph for this function:

◆ interpolate() [3/5]

Foam::tmp< Foam::sphericalTensorField > interpolate ( const interpolation< sphericalTensor > &  interpolator) const
virtual

Interpolate field on surface.

Implements sampledSurface.

Definition at line 489 of file distanceSurface.C.

References sampledSurface::interpolate().

Here is the call graph for this function:

◆ interpolate() [4/5]

Foam::tmp< Foam::symmTensorField > interpolate ( const interpolation< symmTensor > &  interpolator) const
virtual

Interpolate field on surface.

Implements sampledSurface.

Definition at line 499 of file distanceSurface.C.

References sampledSurface::interpolate().

Here is the call graph for this function:

◆ interpolate() [5/5]

Foam::tmp< Foam::tensorField > interpolate ( const interpolation< tensor > &  interpolator) const
virtual

Interpolate field on surface.

Implements sampledSurface.

Definition at line 509 of file distanceSurface.C.

◆ print()

void print ( Ostream &  os) const
virtual

Write.

Reimplemented from sampledSurface.

Definition at line 517 of file distanceSurface.C.

References functionObject::name(), and points.

Referenced by distanceSurface::surface().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sampleField()

Foam::tmp<Foam::Field<Type> > sampleField ( const GeometricField< Type, fvPatchField, volMesh > &  vField) const

Definition at line 34 of file distanceSurfaceTemplates.C.

◆ interpolateField()

Foam::tmp<Foam::Field<Type> > interpolateField ( const interpolation< Type > &  interpolator) const

Definition at line 48 of file distanceSurfaceTemplates.C.

References Foam::fvc::interpolate(), mesh, Foam::New(), and interpolation< Type >::psi().

Here is the call graph for this function:

The documentation for this class was generated from the following files: