sampledTriSurfaceMeshNormal Class Reference

Variant of sampledTriSurfaceMesh that samples the surface-normal component of a vector field. More...

Inheritance diagram for sampledTriSurfaceMeshNormal:
[legend]
Collaboration diagram for sampledTriSurfaceMeshNormal:
[legend]

Public Member Functions

 TypeName ("sampledTriSurfaceMeshNormal")
 Runtime type information. More...
 
 sampledTriSurfaceMeshNormal (const word &name, const polyMesh &mesh, const word &surfaceName, const samplingSource sampleSource)
 Construct from components. More...
 
 sampledTriSurfaceMeshNormal (const word &name, const polyMesh &mesh, const dictionary &dict)
 Construct from dictionary. More...
 
 sampledTriSurfaceMeshNormal (const word &name, const polyMesh &mesh, const triSurface &surface, const word &sampleSourceName)
 Construct from triSurface. More...
 
virtual ~sampledTriSurfaceMeshNormal ()=default
 Destructor. More...
 
virtual tmp< scalarFieldsample (const interpolation< scalar > &sampler) const
 Sample volume field onto surface faces. More...
 
virtual tmp< vectorFieldsample (const interpolation< vector > &sampler) const
 Sample volume field onto surface faces. More...
 
virtual tmp< sphericalTensorFieldsample (const interpolation< sphericalTensor > &sampler) const
 Sample volume field onto surface faces. More...
 
virtual tmp< symmTensorFieldsample (const interpolation< symmTensor > &sampler) const
 Sample volume field onto surface faces. More...
 
virtual tmp< tensorFieldsample (const interpolation< tensor > &sampler) const
 Sample volume field onto surface faces. More...
 
virtual tmp< scalarFieldinterpolate (const interpolation< scalar > &interpolator) const
 Interpolate volume field onto surface points. More...
 
virtual tmp< vectorFieldinterpolate (const interpolation< vector > &interpolator) const
 Interpolate volume field onto surface points. More...
 
virtual tmp< sphericalTensorFieldinterpolate (const interpolation< sphericalTensor > &interpolator) const
 Interpolate volume field onto surface points. More...
 
virtual tmp< symmTensorFieldinterpolate (const interpolation< symmTensor > &interpolator) const
 Interpolate volume field onto surface points. More...
 
virtual tmp< tensorFieldinterpolate (const interpolation< tensor > &interpolator) const
 Interpolate volume field onto surface points. More...
 
- Public Member Functions inherited from sampledTriSurfaceMesh
 TypeName ("sampledTriSurfaceMesh")
 Runtime type information. More...
 
 sampledTriSurfaceMesh (const word &name, const polyMesh &mesh, const word &surfaceName, const samplingSource sampleSource)
 Construct from components. More...
 
 sampledTriSurfaceMesh (const word &name, const polyMesh &mesh, const dictionary &dict)
 Construct from dictionary. More...
 
 sampledTriSurfaceMesh (const word &name, const polyMesh &mesh, const triSurface &surface, const word &sampleSourceName)
 Construct from triSurface. More...
 
virtual ~sampledTriSurfaceMesh ()
 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...
 
bool update (const treeBoundBox &bb)
 Update the surface using a bound box to limit the searching. More...
 
virtual const pointFieldpoints () const
 Points of surface. More...
 
virtual const faceListfaces () const
 Faces of surface. More...
 
virtual const labelListzoneIds () const
 Per-face zone/region information. More...
 
virtual const vectorFieldSf () const
 Face area vectors. More...
 
virtual const scalarFieldmagSf () const
 Face area magnitudes. More...
 
virtual const vectorFieldCf () const
 Face centres. More...
 
virtual bool hasFaceIds () const
 If element ids/order of the original surface are kept. More...
 
virtual const labelListoriginalIds () const
 List of element ids/order of the original surface,. More...
 
bool onBoundary () const
 Sampling boundary values instead of cell values. 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
 
- 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< sampledSurfaceclone () const
 Clone. More...
 
virtual ~sampledSurface ()
 Destructor - calls clearGeom() More...
 
const polyMeshmesh () const
 Access to the underlying mesh. More...
 
const wordname () 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...
 
polySurfacegetRegistrySurface (const objectRegistry &obr, word lookupName="") const
 Get surface from registry if available. More...
 
polySurfacestoreRegistrySurface (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...
 
surfMeshgetSurfMesh (word lookupName="") const
 Get surface from registry if available. More...
 
surfMeshstoreSurfMesh (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< scalarFieldsample (const surfaceScalarField &sField) const
 Sample surface field onto surface. More...
 
virtual tmp< vectorFieldsample (const surfaceVectorField &sField) const
 Sample surface field onto surface. More...
 
virtual tmp< sphericalTensorFieldsample (const surfaceSphericalTensorField &sField) const
 Sample surface field onto surface. More...
 
virtual tmp< symmTensorFieldsample (const surfaceSymmTensorField &sField) const
 Sample surface field onto surface. More...
 
virtual tmp< tensorFieldsample (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
 meshedSurf ()=default
 Construct null. More...
 
virtual ~meshedSurf ()=default
 Destructor. More...
 
- Public Member Functions inherited from MeshedSurface< face >
 MeshedSurface ()
 Construct null, an empty surface. More...
 
 MeshedSurface (const MeshedSurface &surf)
 Copy construct. More...
 
 MeshedSurface (const UnsortedMeshedSurface< face > &surf)
 Copy construct from an UnsortedMeshedSurface. More...
 
 MeshedSurface (MeshedSurface &&surf)
 Move construct. More...
 
 MeshedSurface (UnsortedMeshedSurface< face > &&surf)
 Move construct from an UnsortedMeshedSurface. More...
 
 MeshedSurface (const pointField &pointLst, const UList< face > &faceLst, const UList< surfZone > &zoneLst)
 Copy construct from components (points, faces, zones). More...
 
 MeshedSurface (pointField &&pointLst, List< face > &&faceLst, const UList< surfZone > &zoneLst)
 Move construct from components (points, faces). More...
 
 MeshedSurface (const pointField &pointLst, const UList< face > &faceLst, const labelUList &zoneSizes=labelUList(), const UList< word > &zoneNames=UList< word >())
 Copy construct from components (points, faces). More...
 
 MeshedSurface (pointField &&pointLst, List< face > &&faceLst, const labelUList &zoneSizes=labelUList(), const UList< word > &zoneNames=UList< word >())
 Move construct from components (points, faces). More...
 
 MeshedSurface (const polyBoundaryMesh &bMesh, const bool globalPoints=false)
 Construct from a boundary mesh with local points/faces. More...
 
 MeshedSurface (const surfMesh &mesh)
 Construct from a surfMesh. More...
 
 MeshedSurface (const fileName &name)
 Construct from file name (uses extension to determine type) More...
 
 MeshedSurface (const fileName &name, const word &ext)
 Construct from file name (uses extension to determine type) More...
 
 MeshedSurface (Istream &is)
 Construct from Istream. More...
 
 MeshedSurface (const Time &runTime, const word &surfName=word::null)
 Construct from database. More...
 
 MeshedSurface (const MeshedSurface< face > &surf)
 
 MeshedSurface (MeshedSurface< face > &&surf)
 
bool read (const fileName &name, const word &ext)
 Read from file. Chooses reader based on explicit extension. More...
 
virtual bool read (const fileName &name)
 Read from file. Chooses reader based on detected extension. More...
 
virtual void write (const fileName &name, const dictionary &options=dictionary::null) const
 Generic write routine. Chooses writer based on extension. More...
 
void write (const Time &t, const word &surfName=word::null) const
 Write to database. More...
 
 ClassName ("MeshedSurface")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, MeshedSurface, fileExtension,(const fileName &name),(name))
 
virtual ~MeshedSurface ()
 Destructor. More...
 
 declareMemberFunctionSelectionTable (void, UnsortedMeshedSurface, write, fileExtension,(const fileName &name, const MeshedSurface< face > &surf, const dictionary &options),(name, surf, options))
 
label size () const
 The surface size is the number of faces. More...
 
const List< face > & surfFaces () const
 Return const access to the faces. More...
 
const surfZoneListsurfZones () const
 Const access to the surface zones. More...
 
const vectorFieldSf () const
 Face area vectors (normals) More...
 
const scalarFieldmagSf () const
 Face area magnitudes. More...
 
const vectorFieldCf () const
 Face centres. More...
 
virtual void clear ()
 Clear all storage. More...
 
virtual void addZones (const UList< surfZone > &, const bool cullEmpty=false)
 Add surface zones. More...
 
virtual void addZones (const labelUList &sizes, const UList< word > &names, const bool cullEmpty=false)
 Add surface zones. More...
 
virtual void addZones (const labelUList &sizes, const bool cullEmpty=false)
 Add surface zones. More...
 
bool addZonesToFaces ()
 Propagate zone information on face regions. More...
 
bool addZonesToFaces ()
 Specialization for labelledTri. More...
 
bool addZonesToFaces ()
 
virtual void removeZones ()
 Remove surface zones. More...
 
virtual void movePoints (const pointField &newPoints)
 Move points. More...
 
virtual void scalePoints (const scalar scaleFactor)
 Scale points. A non-positive factor is ignored. More...
 
virtual void cleanup (const bool verbose)
 Remove invalid faces. More...
 
virtual bool stitchFaces (const scalar tol=SMALL, const bool verbose=false)
 
virtual bool checkFaces (const bool verbose=false)
 
virtual label nTriangles () const
 Count number of triangles. More...
 
virtual label nTriangles (List< label > &faceMap) const
 Count number of triangles, returning a face map of original ids. More...
 
virtual label triangulate ()
 Triangulate in-place, returning the number of triangles added. More...
 
virtual label triangulate (List< label > &faceMap)
 Triangulate in-place, returning the number of triangles added. More...
 
MeshedSurface subsetMesh (const BoolListType &include, labelList &pointMap, labelList &faceMap) const
 Return new surface. More...
 
MeshedSurface subsetMesh (const bitSet &include) const
 Return new surface. More...
 
MeshedSurface subsetMesh (const labelHashSet &include) const
 Return new surface. More...
 
Foam::MeshedSurface< facesubsetMesh (const BoolListType &include, labelList &pointMap, labelList &faceMap) const
 
void swap (MeshedSurface< face > &surf)
 Swap contents. More...
 
void transfer (pointField &pointLst, List< face > &faceLst)
 Transfer the components. More...
 
void transfer (MeshedSurface< face > &surf)
 Transfer the contents of the argument and annul the argument. More...
 
void transfer (UnsortedMeshedSurface< face > &surf)
 Transfer the contents of the argument and annul the argument. More...
 
autoPtr< MeshedSurface< face > > releaseGeom ()
 Release (clear) geometry and return for reuse. More...
 
void swapFaces (List< face > &faces)
 Swap the stored faces. More...
 
void swapPoints (pointField &points)
 Swap the stored points. More...
 
void swapZones (surfZoneList &zones)
 Swap the stored zones. More...
 
void writeStats (Ostream &os) const
 
void operator= (const MeshedSurface< face > &surf)
 Copy assignment. More...
 
void operator= (MeshedSurface< face > &&surf)
 Move assignment. More...
 
 operator MeshedSurfaceProxy< face > () const
 Conversion operator to MeshedSurfaceProxy. More...
 

Additional Inherited Members

- Public Types inherited from sampledTriSurfaceMesh
enum  samplingSource { cells, insideCells, boundaryFaces }
 Types of communications. More...
 
- Public Types inherited from MeshedSurface< face >
typedef face FaceType
 Face type used. More...
 
- Static Public Member Functions inherited from sampledTriSurfaceMesh
static void setZoneMap (const surfZoneList &zoneLst, labelList &zoneIds)
 Set new zoneIds list based on the surfZoneList information. More...
 
- Static Public Member Functions inherited from sampledSurface
static autoPtr< sampledSurfaceNew (const word &name, const polyMesh &mesh, const dictionary &dict)
 Return a reference to the selected surface. More...
 
- Static Public Member Functions inherited from MeshedSurface< face >
static void write (const fileName &name, const MeshedSurface< face > &surf, const dictionary &options=dictionary::null)
 Write to file, selecting writer based on its extension. More...
 
static void write (const fileName &name, const word &ext, const MeshedSurface< face > &surf, const dictionary &options=dictionary::null)
 Write to file, selecting writer based on the given extension. More...
 
static bool canRead (const fileName &name, bool verbose=false)
 Can we read this file format? More...
 
static bool canReadType (const word &ext, bool verbose=false)
 Can we read this file format? More...
 
static bool canWriteType (const word &ext, bool verbose=false)
 Can we write this file format? More...
 
static wordHashSet readTypes ()
 Known readable file-types. More...
 
static wordHashSet writeTypes ()
 Known writable file-types. More...
 
static autoPtr< MeshedSurfaceNew (const fileName &name, const word &ext)
 Select constructed from filename (explicit extension) More...
 
static autoPtr< MeshedSurfaceNew (const fileName &name)
 Select constructed from filename (implicit extension) 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...
 
- Protected Member Functions inherited from MeshedSurface< face >
void transcribe (MeshedSurface< face > &surf)
 Transfer points/zones from 'face' to other other shapes. More...
 
void transcribe (MeshedSurface< face > &surf)
 
void transcribe (MeshedSurface< face > &surf)
 
void transcribe (MeshedSurface< face > &surf)
 
void checkZones ()
 Basic sanity check on zones. More...
 
pointFieldstoredPoints ()
 Non-const access to global points. More...
 
List< face > & storedFaces ()
 Non-const access to the faces. More...
 
surfZoneListstoredZones ()
 Non-const access to the zones. More...
 
void sortFacesAndStore (DynamicList< face > &unsortedFaces, DynamicList< label > &zoneIds, const bool sorted)
 Sort faces by zones and store sorted faces. More...
 
virtual void remapFaces (const labelUList &faceMap)
 Set new zones from faceMap. 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...
 

Detailed Description

Variant of sampledTriSurfaceMesh that samples the surface-normal component of a vector field.

Returns a vector field with the value in the first component and sets the other two to zero.

This is often embedded as part of a sampled surfaces function object.

Usage
Example of function object partial specification:
surfaces
(
    surface1
    {
        type    sampledTriSurfaceMeshNormal;
        surface something.obj;
        source  cells;
    }
);

Where the sub-entries comprise:

Property Description Required Default
type sampledTriSurfaceMeshNormal yes
surface surface name in triSurface/ yes
source cells/insideCells/boundaryFaces yes
keepIds pass through id numbering no false
See also
Foam::sampledTriSurfaceMesh
Source files

Definition at line 108 of file sampledTriSurfaceMeshNormal.H.

Constructor & Destructor Documentation

◆ sampledTriSurfaceMeshNormal() [1/3]

sampledTriSurfaceMeshNormal ( const word name,
const polyMesh mesh,
const word surfaceName,
const samplingSource  sampleSource 
)

Construct from components.

Definition at line 48 of file sampledTriSurfaceMeshNormal.C.

◆ sampledTriSurfaceMeshNormal() [2/3]

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

Construct from dictionary.

Definition at line 60 of file sampledTriSurfaceMeshNormal.C.

◆ sampledTriSurfaceMeshNormal() [3/3]

sampledTriSurfaceMeshNormal ( const word name,
const polyMesh mesh,
const triSurface surface,
const word sampleSourceName 
)

Construct from triSurface.

Definition at line 71 of file sampledTriSurfaceMeshNormal.C.

◆ ~sampledTriSurfaceMeshNormal()

virtual ~sampledTriSurfaceMeshNormal ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "sampledTriSurfaceMeshNormal"  )

Runtime type information.

◆ sample() [1/5]

virtual tmp<scalarField> sample ( const interpolation< scalar > &  sampler) const
inlinevirtual

Sample volume field onto surface faces.

Reimplemented from sampledTriSurfaceMesh.

Definition at line 157 of file sampledTriSurfaceMeshNormal.H.

References NotImplemented.

◆ sample() [2/5]

Foam::tmp< Foam::Field< Foam::vector > > sample ( const interpolation< vector > &  sampler) const
virtual

Sample volume field onto surface faces.

Reimplemented from sampledTriSurfaceMesh.

Definition at line 86 of file sampledTriSurfaceMeshNormal.C.

References faceNormals(), Foam::New(), and Foam::Zero.

Here is the call graph for this function:

◆ sample() [3/5]

virtual tmp<sphericalTensorField> sample ( const interpolation< sphericalTensor > &  sampler) const
inlinevirtual

Sample volume field onto surface faces.

Reimplemented from sampledTriSurfaceMesh.

Definition at line 173 of file sampledTriSurfaceMeshNormal.H.

References NotImplemented.

◆ sample() [4/5]

virtual tmp<symmTensorField> sample ( const interpolation< symmTensor > &  sampler) const
inlinevirtual

Sample volume field onto surface faces.

Reimplemented from sampledTriSurfaceMesh.

Definition at line 183 of file sampledTriSurfaceMeshNormal.H.

References NotImplemented.

◆ sample() [5/5]

virtual tmp<tensorField> sample ( const interpolation< tensor > &  sampler) const
inlinevirtual

Sample volume field onto surface faces.

Reimplemented from sampledTriSurfaceMesh.

Definition at line 193 of file sampledTriSurfaceMeshNormal.H.

References NotImplemented.

◆ interpolate() [1/5]

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

Interpolate volume field onto surface points.

Reimplemented from sampledTriSurfaceMesh.

Definition at line 206 of file sampledTriSurfaceMeshNormal.H.

References NotImplemented.

◆ interpolate() [2/5]

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

Interpolate volume field onto surface points.

Reimplemented from sampledTriSurfaceMesh.

Definition at line 105 of file sampledTriSurfaceMeshNormal.C.

References Foam::fac::interpolate(), Foam::New(), points, and Foam::Zero.

Here is the call graph for this function:

◆ interpolate() [3/5]

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

Interpolate volume field onto surface points.

Reimplemented from sampledTriSurfaceMesh.

Definition at line 222 of file sampledTriSurfaceMeshNormal.H.

References NotImplemented.

◆ interpolate() [4/5]

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

Interpolate volume field onto surface points.

Reimplemented from sampledTriSurfaceMesh.

Definition at line 232 of file sampledTriSurfaceMeshNormal.H.

References NotImplemented.

◆ interpolate() [5/5]

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

Interpolate volume field onto surface points.

Reimplemented from sampledTriSurfaceMesh.

Definition at line 242 of file sampledTriSurfaceMeshNormal.H.

References NotImplemented.


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