Public Member Functions | Private Member Functions | Private Attributes
sampledCuttingPlane Class Reference

A sampledSurface defined by a plane. More...

Inheritance diagram for sampledCuttingPlane:
Inheritance graph
[legend]
Collaboration diagram for sampledCuttingPlane:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("sampledCuttingPlane")
 Runtime type information. More...
 
 sampledCuttingPlane (const word &name, const polyMesh &mesh, const dictionary &dict)
 Construct from dictionary. More...
 
virtual ~sampledCuttingPlane ()
 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 pointFieldpoints () const
 Points of surface. More...
 
virtual const faceListfaces () const
 Faces of surface. More...
 
const isoSurfacesurface () const
 
virtual tmp< scalarFieldsample (const volScalarField &) const
 Sample field on surface. More...
 
virtual tmp< vectorFieldsample (const volVectorField &) const
 Sample field on surface. More...
 
virtual tmp< sphericalTensorFieldsample (const volSphericalTensorField &) const
 Sample field on surface. More...
 
virtual tmp< symmTensorFieldsample (const volSymmTensorField &) const
 Sample field on surface. More...
 
virtual tmp< tensorFieldsample (const volTensorField &) const
 Sample field on surface. More...
 
virtual tmp< scalarFieldinterpolate (const interpolation< scalar > &) const
 Interpolate field on surface. More...
 
virtual tmp< vectorFieldinterpolate (const interpolation< vector > &) const
 Interpolate field on surface. More...
 
virtual tmp< sphericalTensorFieldinterpolate (const interpolation< sphericalTensor > &) const
 Interpolate field on surface. More...
 
virtual tmp< symmTensorFieldinterpolate (const interpolation< symmTensor > &) const
 Interpolate field on surface. More...
 
virtual tmp< tensorFieldinterpolate (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< 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 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...
 
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 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
 

Private Member Functions

void createGeometry ()
 Create iso surface. More...
 
template<class Type >
tmp< Field< Type > > sampleField (const GeometricField< Type, fvPatchField, volMesh > &vField) const
 Sample field on faces. More...
 
template<class Type >
tmp< Field< Type > > interpolateField (const interpolation< Type > &) const
 

Private Attributes

const plane plane_
 Plane. More...
 
const boundBox bounds_
 Optional bounding box to trim triangles against. More...
 
const scalar mergeTol_
 Merge tolerance. More...
 
const Switch regularise_
 Whether to coarsen. More...
 
const Switch average_
 Whether to recalculate cell values as average of point values. More...
 
cellZoneID zoneID_
 Zone name/index (if restricted to zones) More...
 
word exposedPatchName_
 For zones: patch to put exposed faces into. More...
 
bool needsUpdate_
 Track if the surface needs an update. More...
 
autoPtr< fvMeshSubsetsubMeshPtr_
 Optional subsetted mesh. More...
 
autoPtr< volScalarFieldcellDistancePtr_
 Distance to cell centres. More...
 
scalarField pointDistance_
 Distance to points. More...
 
autoPtr< isoSurfaceisoSurfPtr_
 Constructed iso surface. More...
 
autoPtr< faceListfacesPtr_
 Triangles converted to faceList. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from sampledSurface
static autoPtr< sampledSurfaceNew (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 plane.

Source files

Definition at line 53 of file sampledCuttingPlane.H.

Constructor & Destructor Documentation

◆ sampledCuttingPlane()

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

Construct from dictionary.

Definition at line 258 of file sampledCuttingPlane.C.

References polyMesh::boundaryMesh(), dict, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, polyBoundaryMesh::findPatchID(), Foam::Info, dictionary::lookup(), mesh, and polyBoundaryMesh::names().

Here is the call graph for this function:

◆ ~sampledCuttingPlane()

~sampledCuttingPlane ( )
virtual

Destructor.

Definition at line 303 of file sampledCuttingPlane.C.

Member Function Documentation

◆ createGeometry()

void createGeometry ( )
private

◆ sampleField() [1/2]

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

Sample field on faces.

◆ interpolateField() [1/2]

tmp<Field<Type> > interpolateField ( const interpolation< Type > &  ) const
private

◆ TypeName()

TypeName ( "sampledCuttingPlane"  )

Runtime type information.

◆ needsUpdate()

bool needsUpdate ( ) const
virtual

Does the surface need an update?

Implements sampledSurface.

Definition at line 309 of file sampledCuttingPlane.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 315 of file sampledCuttingPlane.C.

References 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 341 of file sampledCuttingPlane.C.

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

Here is the call graph for this function:

◆ points()

virtual const pointField& points ( ) const
inlinevirtual

Points of surface.

Implements sampledSurface.

Definition at line 155 of file sampledCuttingPlane.H.

References PrimitivePatch< Face, FaceList, PointField, PointType >::points(), and sampledCuttingPlane::surface().

Here is the call graph for this function:

◆ faces()

virtual const faceList& faces ( ) const
inlinevirtual

Faces of surface.

Implements sampledSurface.

Definition at line 161 of file sampledCuttingPlane.H.

References sampledCuttingPlane::facesPtr_, forAll, s(), and sampledCuttingPlane::surface().

Here is the call graph for this function:

◆ surface()

const isoSurface& surface ( ) const
inline

Definition at line 179 of file sampledCuttingPlane.H.

References sampledCuttingPlane::isoSurfPtr_.

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

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 364 of file sampledCuttingPlane.C.

◆ sample() [2/5]

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

Sample field on surface.

Implements sampledSurface.

Definition at line 374 of file sampledCuttingPlane.C.

◆ sample() [3/5]

virtual tmp<sphericalTensorField> sample ( const volSphericalTensorField ) const
virtual

Sample field on surface.

Implements sampledSurface.

◆ sample() [4/5]

virtual tmp<symmTensorField> sample ( const volSymmTensorField ) const
virtual

Sample field on surface.

Implements sampledSurface.

◆ sample() [5/5]

virtual tmp<tensorField> sample ( const volTensorField ) const
virtual

Sample field on surface.

Implements sampledSurface.

◆ interpolate() [1/5]

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

Interpolate field on surface.

Implements sampledSurface.

Definition at line 414 of file sampledCuttingPlane.C.

◆ interpolate() [2/5]

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

Interpolate field on surface.

Implements sampledSurface.

Definition at line 424 of file sampledCuttingPlane.C.

◆ interpolate() [3/5]

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

Interpolate field on surface.

Implements sampledSurface.

Definition at line 433 of file sampledCuttingPlane.C.

◆ interpolate() [4/5]

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

Interpolate field on surface.

Implements sampledSurface.

Definition at line 443 of file sampledCuttingPlane.C.

◆ interpolate() [5/5]

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

Interpolate field on surface.

Implements sampledSurface.

Definition at line 453 of file sampledCuttingPlane.C.

◆ print()

void print ( Ostream os) const
virtual

Write.

Reimplemented from sampledSurface.

Definition at line 461 of file sampledCuttingPlane.C.

References Foam::name(), and points.

Referenced by sampledCuttingPlane::createGeometry().

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

◆ sampleField() [2/2]

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

Definition at line 36 of file sampledCuttingPlaneTemplates.C.

◆ interpolateField() [2/2]

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

Definition at line 47 of file sampledCuttingPlaneTemplates.C.

References Foam::compressible::New(), and interpolation::psi().

Here is the call graph for this function:

Field Documentation

◆ plane_

const plane plane_
private

Plane.

Definition at line 60 of file sampledCuttingPlane.H.

Referenced by sampledCuttingPlane::createGeometry().

◆ bounds_

const boundBox bounds_
private

Optional bounding box to trim triangles against.

Definition at line 63 of file sampledCuttingPlane.H.

Referenced by sampledCuttingPlane::createGeometry().

◆ mergeTol_

const scalar mergeTol_
private

Merge tolerance.

Definition at line 66 of file sampledCuttingPlane.H.

Referenced by sampledCuttingPlane::createGeometry().

◆ regularise_

const Switch regularise_
private

Whether to coarsen.

Definition at line 69 of file sampledCuttingPlane.H.

Referenced by sampledCuttingPlane::createGeometry().

◆ average_

const Switch average_
private

Whether to recalculate cell values as average of point values.

Definition at line 72 of file sampledCuttingPlane.H.

◆ zoneID_

cellZoneID zoneID_
mutableprivate

Zone name/index (if restricted to zones)

Definition at line 75 of file sampledCuttingPlane.H.

Referenced by sampledCuttingPlane::createGeometry().

◆ exposedPatchName_

word exposedPatchName_
mutableprivate

For zones: patch to put exposed faces into.

Definition at line 78 of file sampledCuttingPlane.H.

Referenced by sampledCuttingPlane::createGeometry().

◆ needsUpdate_

bool needsUpdate_
mutableprivate

Track if the surface needs an update.

Definition at line 81 of file sampledCuttingPlane.H.

◆ subMeshPtr_

autoPtr<fvMeshSubset> subMeshPtr_
private

Optional subsetted mesh.

Definition at line 85 of file sampledCuttingPlane.H.

Referenced by sampledCuttingPlane::createGeometry().

◆ cellDistancePtr_

autoPtr<volScalarField> cellDistancePtr_
private

Distance to cell centres.

Definition at line 88 of file sampledCuttingPlane.H.

Referenced by sampledCuttingPlane::createGeometry().

◆ pointDistance_

scalarField pointDistance_
private

Distance to points.

Definition at line 91 of file sampledCuttingPlane.H.

Referenced by sampledCuttingPlane::createGeometry().

◆ isoSurfPtr_

autoPtr<isoSurface> isoSurfPtr_
private

Constructed iso surface.

autoPtr<isoSurfaceCell> isoSurfPtr_;

Definition at line 95 of file sampledCuttingPlane.H.

Referenced by sampledCuttingPlane::createGeometry(), and sampledCuttingPlane::surface().

◆ facesPtr_

autoPtr<faceList> facesPtr_
mutableprivate

Triangles converted to faceList.

Definition at line 98 of file sampledCuttingPlane.H.

Referenced by sampledCuttingPlane::createGeometry(), and sampledCuttingPlane::faces().


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