A sampledSurface from a triSurfaceMesh. It samples on the points/triangles of the triSurface. More...
Public Types | |
enum | samplingSource { cells, insideCells, boundaryFaces } |
Types of communications. More... | |
Public Types inherited from MeshedSurface< face > | |
typedef face | FaceType |
Face type used. More... | |
Public Member Functions | |
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 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 bool | hasFaceIds () const |
If element ids/order of the original surface are kept. More... | |
virtual const labelList & | originalIds () const |
List of element ids/order of the original surface,. More... | |
bool | onBoundary () const |
Sampling boundary values instead of cell values. 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 |
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< 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... | |
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 | |
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 surfZoneList & | surfZones () const |
Const access to the surface zones. More... | |
const vectorField & | Sf () const |
Face area vectors (normals) More... | |
const scalarField & | magSf () const |
Face area magnitudes. More... | |
const vectorField & | Cf () 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< face > | subsetMesh (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... | |
Static Public Member Functions | |
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< sampledSurface > | New (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< MeshedSurface > | New (const fileName &name, const word &ext) |
Select constructed from filename (explicit extension) More... | |
static autoPtr< MeshedSurface > | New (const fileName &name) |
Select constructed from filename (implicit extension) More... | |
Additional Inherited Members | |
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... | |
pointField & | storedPoints () |
Non-const access to global points. More... | |
List< face > & | storedFaces () |
Non-const access to the faces. More... | |
surfZoneList & | storedZones () |
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... | |
A sampledSurface from a triSurfaceMesh. It samples on the points/triangles of the triSurface.
- it either samples cells or (non-coupled) boundary faces
This is often embedded as part of a sampled surfaces function object.
surfaces ( surface1 { type sampledTriSurfaceMesh; surface something.obj; source cells; } );
Where the sub-entries comprise:
Property | Description | Required | Default |
---|---|---|---|
type | sampledTriSurfaceMesh | yes | |
surface | surface name in triSurface/ | yes | |
source | cells/insideCells/boundaryFaces | yes | |
keepIds | pass through id numbering | no | false |
Definition at line 141 of file sampledTriSurfaceMesh.H.
enum samplingSource |
Types of communications.
Enumerator | |
---|---|
cells | |
insideCells | |
boundaryFaces |
Definition at line 148 of file sampledTriSurfaceMesh.H.
sampledTriSurfaceMesh | ( | const word & | name, |
const polyMesh & | mesh, | ||
const word & | surfaceName, | ||
const samplingSource | sampleSource | ||
) |
Construct from components.
Definition at line 629 of file sampledTriSurfaceMesh.C.
sampledTriSurfaceMesh | ( | const word & | name, |
const polyMesh & | mesh, | ||
const dictionary & | dict | ||
) |
Construct from dictionary.
Definition at line 662 of file sampledTriSurfaceMesh.C.
sampledTriSurfaceMesh | ( | const word & | name, |
const polyMesh & | mesh, | ||
const triSurface & | surface, | ||
const word & | sampleSourceName | ||
) |
Construct from triSurface.
Definition at line 695 of file sampledTriSurfaceMesh.C.
|
virtual |
Destructor.
Definition at line 730 of file sampledTriSurfaceMesh.C.
TypeName | ( | "sampledTriSurfaceMesh" | ) |
Runtime type information.
|
static |
Set new zoneIds list based on the surfZoneList information.
Definition at line 87 of file sampledTriSurfaceMesh.C.
References forAll, List< T >::setSize(), surfZone::size(), and surfZone::start().
|
virtual |
Does the surface need an update?
Implements sampledSurface.
Definition at line 736 of file sampledTriSurfaceMesh.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 742 of file sampledTriSurfaceMesh.C.
References clear(), and sampledSurface::clearGeom().
|
virtual |
Update the surface as required.
Do nothing (and return false) if no update was needed
Implements sampledSurface.
Definition at line 764 of file sampledTriSurfaceMesh.C.
References polyMesh::bounds(), Foam::constant::electromagnetic::e, Foam::endl(), polyMesh::FACE_PLANES, boundBox::intersect(), VectorSpace< Form, Cmpt, Ncmpts >::max, mesh, VectorSpace< Form, Cmpt, Ncmpts >::min, update(), and WarningInFunction.
bool update | ( | const treeBoundBox & | bb | ) |
Update the surface using a bound box to limit the searching.
For direct use, i.e. not through sample. Do nothing (and return false) if no update was needed
Definition at line 814 of file sampledTriSurfaceMesh.C.
References polyMesh::FACE_PLANES, mesh, and update().
|
inlinevirtual |
Points of surface.
Implements sampledSurface.
Definition at line 282 of file sampledTriSurfaceMesh.H.
References points.
|
inlinevirtual |
Faces of surface.
Implements sampledSurface.
Definition at line 288 of file sampledTriSurfaceMesh.H.
References MeshedSurface< face >::surfFaces().
|
inlinevirtual |
Per-face zone/region information.
Reimplemented from meshedSurf.
Definition at line 294 of file sampledTriSurfaceMesh.H.
|
inlinevirtual |
Face area vectors.
Implements sampledSurface.
Definition at line 300 of file sampledTriSurfaceMesh.H.
References MeshedSurface< face >::Sf().
|
inlinevirtual |
Face area magnitudes.
Implements sampledSurface.
Definition at line 306 of file sampledTriSurfaceMesh.H.
References MeshedSurface< face >::magSf().
|
inlinevirtual |
Face centres.
Implements sampledSurface.
Definition at line 312 of file sampledTriSurfaceMesh.H.
References MeshedSurface< face >::Cf().
|
inlinevirtual |
If element ids/order of the original surface are kept.
Reimplemented from sampledSurface.
Definition at line 318 of file sampledTriSurfaceMesh.H.
|
inlinevirtual |
List of element ids/order of the original surface,.
when keepIds is active.
Reimplemented from sampledSurface.
Definition at line 325 of file sampledTriSurfaceMesh.H.
|
inline |
Sampling boundary values instead of cell values.
Definition at line 331 of file sampledTriSurfaceMesh.H.
References sampledTriSurfaceMesh::boundaryFaces.
|
virtual |
Sample volume field onto surface faces.
Implements sampledSurface.
Reimplemented in sampledTriSurfaceMeshNormal.
Definition at line 829 of file sampledTriSurfaceMesh.C.
|
virtual |
Sample volume field onto surface faces.
Implements sampledSurface.
Reimplemented in sampledTriSurfaceMeshNormal.
Definition at line 838 of file sampledTriSurfaceMesh.C.
|
virtual |
Sample volume field onto surface faces.
Implements sampledSurface.
Reimplemented in sampledTriSurfaceMeshNormal.
Definition at line 847 of file sampledTriSurfaceMesh.C.
|
virtual |
Sample volume field onto surface faces.
Implements sampledSurface.
Reimplemented in sampledTriSurfaceMeshNormal.
Definition at line 856 of file sampledTriSurfaceMesh.C.
|
virtual |
Sample volume field onto surface faces.
Implements sampledSurface.
Reimplemented in sampledTriSurfaceMeshNormal.
Definition at line 865 of file sampledTriSurfaceMesh.C.
|
virtual |
Interpolate volume field onto surface points.
Implements sampledSurface.
Reimplemented in sampledTriSurfaceMeshNormal.
Definition at line 874 of file sampledTriSurfaceMesh.C.
|
virtual |
Interpolate volume field onto surface points.
Implements sampledSurface.
Reimplemented in sampledTriSurfaceMeshNormal.
Definition at line 883 of file sampledTriSurfaceMesh.C.
|
virtual |
Interpolate volume field onto surface points.
Implements sampledSurface.
Reimplemented in sampledTriSurfaceMeshNormal.
Definition at line 891 of file sampledTriSurfaceMesh.C.
|
virtual |
Interpolate volume field onto surface points.
Implements sampledSurface.
Reimplemented in sampledTriSurfaceMeshNormal.
Definition at line 900 of file sampledTriSurfaceMesh.C.
|
virtual |
Interpolate volume field onto surface points.
Implements sampledSurface.
Reimplemented in sampledTriSurfaceMeshNormal.
Definition at line 909 of file sampledTriSurfaceMesh.C.
|
virtual |
Write.
Reimplemented from sampledSurface.
Definition at line 917 of file sampledTriSurfaceMesh.C.
References Foam::name(), and points.
Foam::tmp<Foam::Field<Type> > sampleOnFaces | ( | const interpolation< Type > & | sampler | ) | const |
Definition at line 36 of file sampledTriSurfaceMeshTemplates.C.
References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), forAll, mesh, Foam::New(), points, interpolation< Type >::psi(), polyBoundaryMesh::start(), Foam::HashTableOps::values(), and Foam::Zero.
Foam::tmp<Foam::Field<Type> > sampleOnPoints | ( | const interpolation< Type > & | interpolator | ) | const |
Definition at line 99 of file sampledTriSurfaceMeshTemplates.C.
References forAll, interpolation< Type >::interpolate(), mesh, Foam::New(), and Foam::HashTableOps::values().