sampledSurface Class Referenceabstract

An abstract class for surfaces with sampling. More...

Inheritance diagram for sampledSurface:

Classes

class  iNew
 Class used for the PtrLists read-construction. More...
 

Public Member Functions

 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< sampledSurfaceclone () const
 Clone. More...
 
virtual ~sampledSurface ()
 Destructor. More...
 
const polyMeshmesh () const
 Access to the underlying mesh. More...
 
const wordname () const
 Name of surface. More...
 
bool interpolate () const
 Interpolation requested for surface. More...
 
virtual bool needsUpdate () const =0
 Does the surface need an update? More...
 
virtual wordList fields () const
 Return the list of fields required. More...
 
virtual bool update ()=0
 Update the surface as required. More...
 
virtual const pointFieldpoints () const =0
 Points of surface. More...
 
virtual const faceListfaces () const =0
 Faces of surface. More...
 
virtual const vectorFieldSf () const
 Return face area vectors. More...
 
virtual const scalarFieldmagSf () const
 Return face area magnitudes. More...
 
virtual const vectorFieldCf () 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...
 
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 >
Type average (const tmp< Field< Type >> &) const
 Area-averaged value of a field across the surface. More...
 
 FOR_ALL_FIELD_TYPES (DEFINE_SAMPLE)
 
 FOR_ALL_FIELD_TYPES (DEFINE_INTERPOLATE)
 
virtual void movePoints ()=0
 Update for mesh point-motion. More...
 
virtual void topoChange (const polyTopoChangeMap &)=0
 Update topology using the given map. More...
 
virtual void mapMesh (const polyMeshMap &)=0
 Update from another mesh using the given map. More...
 
virtual void distribute (const polyDistributionMap &)=0
 Redistribute or update using the given distribution map. More...
 
virtual void rename (const word &newName)
 Rename. More...
 
virtual void print (Ostream &) const
 Write. More...
 
template<class ReturnType , class Type >
Foam::tmp< Foam::Field< ReturnType > > project (const tmp< Field< Type >> &field) const
 

Static Public Member Functions

static autoPtr< sampledSurfaceNew (const word &name, const polyMesh &, const dictionary &)
 Return a reference to the selected surface. More...
 

Protected Member Functions

virtual void clearGeom () const
 

Friends

Ostreamoperator<< (Ostream &, const sampledSurface &)
 Ostream operator. More...
 

Detailed Description

An abstract class for surfaces with sampling.

The constructors for the derived classes should generally start in a 'expired' condition (ie, needsUpdate() == true) and rely on a subsequent call to the update() method to complete the initialisation. Delaying the final construction as late as possible allows the construction of surfaces that may depend on intermediate calculation results (eg, iso-surfaces) and also avoids the unnecessary reconstruction of surfaces between sampling intervals.

It is the responsibility of the caller to ensure that the surface update() is called before the surface is used. The update() method implementation should do nothing when the surface is already up-to-date.

Source files

Definition at line 80 of file sampledSurface.H.

Constructor & Destructor Documentation

◆ sampledSurface() [1/2]

sampledSurface ( const word name,
const polyMesh mesh,
const bool  interpolate = false 
)

Construct from name, mesh.

Definition at line 149 of file sampledSurface.C.

◆ sampledSurface() [2/2]

sampledSurface ( const word name,
const polyMesh mesh,
const dictionary dict 
)

Construct from dictionary.

Definition at line 166 of file sampledSurface.C.

References dict.

◆ ~sampledSurface()

~sampledSurface ( )
virtual

Destructor.

Definition at line 187 of file sampledSurface.C.

Member Function Documentation

◆ clearGeom()

void clearGeom ( ) const
protectedvirtual

◆ TypeName()

TypeName ( "sampledSurface"  )

Runtime type information.

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( autoPtr  ,
sampledSurface  ,
word  ,
(const word &name, const polyMesh &mesh, const dictionary &dict ,
(name, mesh, dict  
)

Declare run-time constructor selection table.

◆ clone()

autoPtr<sampledSurface> clone ( ) const
inline

Clone.

Definition at line 220 of file sampledSurface.H.

References NotImplemented.

◆ New()

Foam::autoPtr< Foam::sampledSurface > New ( const word name,
const polyMesh mesh,
const dictionary dict 
)
static

Return a reference to the selected surface.

Definition at line 116 of file sampledSurface.C.

References dict, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::indentOrNl(), Foam::Info, dictionary::lookup(), mesh, Foam::name(), and Foam::nl.

Referenced by sampledSurface::iNew::operator()(), surfaceFieldValue::read(), and sampledSurfaces::read().

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

◆ mesh()

const polyMesh& mesh ( ) const
inline

Access to the underlying mesh.

Definition at line 245 of file sampledSurface.H.

Referenced by sampledIsoSurfaceSurface::calcIsoSurf(), patchInternalField::patchInternalField(), and triSurface::sampleField().

Here is the caller graph for this function:

◆ name()

const word& name ( ) const
inline

Name of surface.

Definition at line 251 of file sampledSurface.H.

Referenced by sampledSurface::iNew::operator()().

Here is the caller graph for this function:

◆ interpolate()

bool interpolate ( ) const
inline

Interpolation requested for surface.

Definition at line 257 of file sampledSurface.H.

Referenced by triSurface::update().

Here is the caller graph for this function:

◆ needsUpdate()

virtual bool needsUpdate ( ) const
pure virtual

Does the surface need an update?

Implemented in triSurface, thresholdCellFaces, patch, isoSurface, distanceSurface, and cutPlane.

◆ fields()

virtual wordList fields ( ) const
inlinevirtual

Return the list of fields required.

Reimplemented in thresholdCellFaces, and isoSurface.

Definition at line 266 of file sampledSurface.H.

References List< word >::null().

Here is the call graph for this function:

◆ update()

virtual bool update ( )
pure virtual

Update the surface as required.

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

Implemented in triSurface, thresholdCellFaces, patch, and sampledIsoSurfaceSurface.

◆ points()

virtual const pointField& points ( ) const
pure virtual

Points of surface.

Implemented in triSurface, thresholdCellFaces, patch, and sampledIsoSurfaceSurface.

◆ faces()

virtual const faceList& faces ( ) const
pure virtual

Faces of surface.

Implemented in triSurface, thresholdCellFaces, patch, and sampledIsoSurfaceSurface.

◆ Sf()

const Foam::vectorField & Sf ( ) const
virtual

Return face area vectors.

Definition at line 195 of file sampledSurface.C.

◆ magSf()

const Foam::scalarField & magSf ( ) const
virtual

Return face area magnitudes.

Definition at line 206 of file sampledSurface.C.

◆ Cf()

const Foam::vectorField & Cf ( ) const
virtual

Return face centres as vectorField.

Definition at line 217 of file sampledSurface.C.

◆ area()

Foam::scalar area ( ) const

The total surface area.

Definition at line 228 of file sampledSurface.C.

References Foam::reduce(), and Foam::sum().

Here is the call graph for this function:

◆ integrate() [1/2]

Type integrate ( const Field< Type > &  field) const

Integration of a field across the surface.

Definition at line 52 of file sampledSurfaceTemplates.C.

References Foam::reduce(), Foam::sum(), and Foam::Zero.

Here is the call graph for this function:

◆ integrate() [2/2]

Type integrate ( const tmp< Field< Type >> &  field) const

Integration of a field across the surface.

Definition at line 67 of file sampledSurfaceTemplates.C.

◆ average() [1/2]

Type average ( const Field< Type > &  field) const

Area-averaged value of a field across the surface.

Definition at line 76 of file sampledSurfaceTemplates.C.

References Foam::dimensions::area, Foam::reduce(), Foam::sum(), and Foam::Zero.

Here is the call graph for this function:

◆ project() [1/6]

Foam::tmp< Foam::Field< Foam::scalar > > project ( const Field< scalar > &  field) const

Project field onto surface.

Definition at line 255 of file sampledSurface.C.

References forAll, and tmp< T >::ref().

Here is the call graph for this function:

◆ project() [2/6]

Foam::tmp< Foam::Field< Foam::scalar > > project ( const Field< vector > &  field) const

Project field onto surface.

Definition at line 270 of file sampledSurface.C.

References tmp< T >::ref().

Here is the call graph for this function:

◆ project() [3/6]

Foam::tmp< Foam::Field< Foam::vector > > project ( const Field< sphericalTensor > &  field) const

Project field onto surface.

Definition at line 279 of file sampledSurface.C.

References tmp< T >::ref().

Here is the call graph for this function:

◆ project() [4/6]

Foam::tmp< Foam::Field< Foam::vector > > project ( const Field< symmTensor > &  field) const

Project field onto surface.

Definition at line 288 of file sampledSurface.C.

References tmp< T >::ref().

Here is the call graph for this function:

◆ project() [5/6]

Foam::tmp< Foam::Field< Foam::vector > > project ( const Field< tensor > &  field) const

Project field onto surface.

Definition at line 297 of file sampledSurface.C.

References tmp< T >::ref().

Here is the call graph for this function:

◆ average() [2/2]

Type average ( const tmp< Field< Type >> &  field) const

Area-averaged value of a field across the surface.

Definition at line 100 of file sampledSurfaceTemplates.C.

References Foam::average().

Here is the call graph for this function:

◆ FOR_ALL_FIELD_TYPES() [1/2]

FOR_ALL_FIELD_TYPES ( DEFINE_SAMPLE  )

◆ FOR_ALL_FIELD_TYPES() [2/2]

FOR_ALL_FIELD_TYPES ( DEFINE_INTERPOLATE  )

◆ movePoints()

virtual void movePoints ( )
pure virtual

Update for mesh point-motion.

Implemented in triSurface, thresholdCellFaces, patch, and sampledIsoSurfaceSurface.

◆ topoChange()

virtual void topoChange ( const polyTopoChangeMap )
pure virtual

Update topology using the given map.

Implemented in triSurface, thresholdCellFaces, patch, and sampledIsoSurfaceSurface.

◆ mapMesh()

virtual void mapMesh ( const polyMeshMap )
pure virtual

Update from another mesh using the given map.

Implemented in triSurface, thresholdCellFaces, patch, and sampledIsoSurfaceSurface.

◆ distribute()

virtual void distribute ( const polyDistributionMap )
pure virtual

Redistribute or update using the given distribution map.

Implemented in triSurface, thresholdCellFaces, patch, and sampledIsoSurfaceSurface.

◆ rename()

virtual void rename ( const word newName)
inlinevirtual

Rename.

Definition at line 366 of file sampledSurface.H.

◆ print()

void print ( Ostream os) const
virtual

Write.

Reimplemented in triSurface, thresholdCellFaces, patchInternalField, patch, isoSurface, distanceSurface, and cutPlane.

Definition at line 305 of file sampledSurface.C.

References Foam::type().

Here is the call graph for this function:

◆ project() [6/6]

Foam::tmp<Foam::Field<ReturnType> > project ( const tmp< Field< Type >> &  field) const

Definition at line 145 of file sampledSurfaceTemplates.C.

Friends And Related Function Documentation

◆ operator<<

Ostream& operator<< ( Ostream ,
const sampledSurface  
)
friend

Ostream operator.


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