The basis for sampling from 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 ("discreteSurface") | |
Runtime type information. More... | |
discreteSurface (const polyMesh &mesh, const word &surfaceName, const samplingSource sampleSource, const bool allowInterpolate=true) | |
Construct from components. More... | |
discreteSurface (const polyMesh &mesh, const dictionary &dict, const bool allowInterpolate=true) | |
Construct from dictionary. More... | |
discreteSurface (const word &name, const polyMesh &mesh, const triSurface &surface, const word &sampleSourceName, const bool allowInterpolate=true) | |
Construct from triSurface. More... | |
virtual | ~discreteSurface () |
Destructor. More... | |
const polyMesh & | mesh () const |
Access to the underlying mesh. More... | |
bool | interpolate () const |
Interpolation requested for surface. More... | |
bool | interpolate (bool b) |
Change interpolation request for surface. 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 &) |
Update the surface using a bound box to limit the searching. More... | |
virtual const labelList & | zoneIds () const |
Per-face zone/region information. 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... | |
const labelList & | sampleElements () const |
From local surface face to mesh cell/face. More... | |
const pointField & | samplePoints () const |
Local points to sample per point. More... | |
virtual bool | sampleAndStore (const objectRegistry &store, const word &fieldName, const word &sampleScheme) const |
Sample the volume field onto surface,. More... | |
template<class Type > | |
tmp< Field< Type > > | sampleType (const word &fieldName, const word &sampleScheme) const |
Sample field on surface. The tmp field is 'valid' on success. More... | |
virtual void | print (Ostream &os) const |
Write information. More... | |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | sampleType (const word &fieldName, const word &sampleScheme) const |
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 MeshedSurface< Face > | |
ClassName ("MeshedSurface") | |
Runtime type information. More... | |
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... | |
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... | |
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... | |
template<class BoolListType > | |
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... | |
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... | |
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... | |
void | writeStats (Ostream &os) const |
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... | |
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... | |
template<class Face> | |
MeshedSurface (const MeshedSurface< Face > &surf) | |
template<class Face> | |
MeshedSurface (MeshedSurface< Face > &&surf) | |
template<class BoolListType > | |
Foam::MeshedSurface< Face > | subsetMesh (const BoolListType &include, labelList &pointMap, labelList &faceMap) const |
template<> | |
bool | addZonesToFaces () |
Specialization for labelledTri. More... | |
template<> | |
bool | addZonesToFaces () |
Static Public Member Functions | |
static void | setZoneMap (const surfZoneList &, labelList &zoneIds) |
Set new zoneIds list based on the surfZoneList information. More... | |
Static Public Member Functions inherited from MeshedSurface< Face > | |
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... | |
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... | |
Protected Member Functions | |
template<class Type > | |
bool | sampleType (const objectRegistry &store, const word &fieldName, const word &sampleScheme) const |
Sample the volume field onto surface,. More... | |
template<class Type > | |
tmp< Field< Type > > | sampleOnFaces (const interpolation< Type > &sampler) const |
Sample field on surface faces. More... | |
template<class Type > | |
tmp< Field< Type > > | sampleOnPoints (const interpolation< Type > &interpolator) const |
Sample field on surface points. More... | |
Protected Member Functions inherited from MeshedSurface< Face > | |
void | transcribe (MeshedSurface< face > &surf) |
Transfer points/zones from 'face' to other other shapes. More... | |
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... | |
template<> | |
void | transcribe (MeshedSurface< face > &surf) |
template<> | |
void | transcribe (MeshedSurface< face > &surf) |
template<> | |
void | transcribe (MeshedSurface< face > &surf) |
The basis for sampling from triSurfaceMesh. It samples on the points/triangles of the triSurface.
- it either samples cells or (non-coupled) boundary faces
Definition at line 91 of file discreteSurface.H.
enum samplingSource |
Types of communications.
Enumerator | |
---|---|
cells | |
insideCells | |
boundaryFaces |
Definition at line 97 of file discreteSurface.H.
discreteSurface | ( | const polyMesh & | mesh, |
const word & | surfaceName, | ||
const samplingSource | sampleSource, | ||
const bool | allowInterpolate = true |
||
) |
Construct from components.
Definition at line 628 of file discreteSurface.C.
discreteSurface | ( | const polyMesh & | mesh, |
const dictionary & | dict, | ||
const bool | allowInterpolate = true |
||
) |
Construct from dictionary.
Definition at line 663 of file discreteSurface.C.
discreteSurface | ( | const word & | name, |
const polyMesh & | mesh, | ||
const triSurface & | surface, | ||
const word & | sampleSourceName, | ||
const bool | allowInterpolate = true |
||
) |
Construct from triSurface.
Definition at line 701 of file discreteSurface.C.
|
virtual |
Destructor.
Definition at line 739 of file discreteSurface.C.
|
protected |
Sample the volume field onto surface,.
store it (temporarily) onto the given registry
Definition at line 35 of file discreteSurfaceTemplates.C.
References objectRegistry::getObjectPtr(), mesh, Foam::New(), regIOobject::store(), objectRegistry::time(), Time::timeName(), and Foam::Zero.
|
protected |
Sample field on surface faces.
|
protected |
Sample field on surface points.
TypeName | ( | "discreteSurface" | ) |
Runtime type information.
|
static |
Set new zoneIds list based on the surfZoneList information.
Definition at line 81 of file discreteSurface.C.
References forAll, List< T >::setSize(), surfZone::size(), and surfZone::start().
|
inline |
Access to the underlying mesh.
Definition at line 241 of file discreteSurface.H.
bool interpolate | ( | ) | const |
Interpolation requested for surface.
Definition at line 745 of file discreteSurface.C.
Change interpolation request for surface.
Return false if the value did not change. Use with caution.
Definition at line 751 of file discreteSurface.C.
References Foam::constant::physicoChemical::b.
|
virtual |
Does the surface need an update?
Reimplemented in sampledDiscreteSurface.
Definition at line 771 of file discreteSurface.C.
|
virtual |
Mark the surface as needing an update.
May also free up unneeded data. Return false if surface was already marked as expired.
Reimplemented in sampledDiscreteSurface.
Definition at line 777 of file discreteSurface.C.
References clear().
|
virtual |
Update the surface as required.
Do nothing (and return false) if no update was needed
Reimplemented in sampledDiscreteSurface.
Definition at line 798 of file discreteSurface.C.
References polyMesh::bounds(), Foam::constant::electromagnetic::e, polyMesh::FACE_PLANES, VectorSpace< Form, Cmpt, Ncmpts >::max, boundBox::max(), Foam::max(), mesh, VectorSpace< Form, Cmpt, Ncmpts >::min, boundBox::min(), Foam::min(), and update().
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 829 of file discreteSurface.C.
References polyMesh::FACE_PLANES, mesh, and update().
|
inlinevirtual |
Per-face zone/region information.
Reimplemented in sampledDiscreteSurface.
Definition at line 274 of file discreteSurface.H.
Referenced by sampledDiscreteSurface::zoneIds().
|
inlinevirtual |
If element ids/order of the original surface are kept.
Reimplemented in sampledDiscreteSurface.
Definition at line 280 of file discreteSurface.H.
Referenced by sampledDiscreteSurface::hasFaceIds().
|
inlinevirtual |
List of element ids/order of the original surface,.
when keepIds is active.
Reimplemented in sampledDiscreteSurface.
Definition at line 287 of file discreteSurface.H.
|
inline |
Sampling boundary values instead of cell values.
Definition at line 293 of file discreteSurface.H.
References discreteSurface::boundaryFaces.
|
inline |
From local surface face to mesh cell/face.
Definition at line 299 of file discreteSurface.H.
|
inline |
Local points to sample per point.
Definition at line 305 of file discreteSurface.H.
|
virtual |
Sample the volume field onto surface,.
store it (temporarily) onto the given registry
Definition at line 844 of file discreteSurface.C.
Sample field on surface. The tmp field is 'valid' on success.
|
virtual |
Write information.
Reimplemented in sampledDiscreteSurface.
Definition at line 861 of file discreteSurface.C.
References points.
Foam::tmp<Foam::Field<Type> > sampleType | ( | const word & | fieldName, |
const word & | sampleScheme | ||
) | const |
Definition at line 119 of file discreteSurfaceTemplates.C.
References mesh, and Foam::New().
Foam::tmp<Foam::Field<Type> > sampleOnFaces | ( | const interpolation< Type > & | sampler | ) | const |
Definition at line 141 of file discreteSurfaceTemplates.C.
References forAll, interpolation< Type >::interpolate(), 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 210 of file discreteSurfaceTemplates.C.
References forAll, interpolation< Type >::interpolate(), mesh, Foam::New(), and Foam::HashTableOps::values().