A class used to represent an unstructured mesh of Triangles/Tetrahedrals. More...
#include <TriangleMesh.h>

Public Types | |
| typedef std::array< int, 2 > | Edge |
| typedef StoreCompressedList< ElementID > | ElementList |
| using | ElementListPtr = MeshElementVectorPtr |
| typedef std::array< int, 3 > | Face |
| typedef std::function< std::shared_ptr< Mesh >(std::shared_ptr< const MeshParameters >)> | generatorType |
| Generator for meshes. | |
| using | IteratorSet = std::array< TriangleMeshIterator< NG >, NG+1 > |
| using | MeshElementPtr = std::unique_ptr< MeshElement > |
| Pointer to MeshElement and MeshElementVector. | |
| enum class | Movable : uint8_t { Fixed = 0 , Displace = 1 , Deform = 2 } |
| Enumeration for basic mesh-based quantities. More... | |
| typedef std::array< double, 3 > | Point |
| typedef std::array< int, NG+1 > | TRI |
Public Member Functions | |
| std::unique_ptr< Mesh > | clone () const override final |
| Virtual function to copy the mesh (allows use to proply copy the derived class) | |
| virtual bool | containsElement (const MeshElementID &id) const |
| TriangleMeshIterator< NG > | createIterator (GeomType type, int gcw) const |
| void | displaceMesh (const std::vector< double > &x) override |
| Displace the entire mesh. | |
| void | displaceMesh (std::shared_ptr< const AMP::LinearAlgebra::Vector > x) override |
| Displace the entire mesh. | |
| virtual std::vector< MeshID > | getAllMeshIDs () const |
| virtual std::vector< MeshID > | getBaseMeshIDs () const |
| virtual MeshIterator | getBlockIDIterator (const GeomType type, const int id, const int gcw=0) const override final |
| Return an MeshIterator over the given geometric objects on the given block ID set. | |
| std::vector< int > | getBlockIDs () const override final |
| Return the list of all boundary ID sets in the mesh. | |
| virtual MeshIterator | getBoundaryIDIterator (const GeomType type, const int id, const int gcw=0) const override final |
| Return an MeshIterator over the given geometric objects on the given boundary ID set. | |
| std::vector< int > | getBoundaryIDs () const override final |
| Return the list of all boundary ID sets in the mesh. | |
| const auto & | getBoundingBox () const |
| Get the bounding box for the mesh. | |
| const AMP_MPI & | getComm () const |
| Get the communicator for the mesh. | |
| uint8_t | getDim () const |
| Get the physical dimension of the mesh. | |
| template<uint8_t TYPE> | |
| std::array< int, TYPE+1 > | getElem (const ElementID &id) const |
| MeshElementPtr | getElement (const MeshElementID &id) const override final |
| Return a mesh element given it's id. | |
| MeshElement * | getElement2 (const MeshElementID &id) const |
| std::pair< const ElementID *, const ElementID * > | getElementParents (const ElementID &id, const GeomType type) const |
| ElementListPtr | getElementParents (const MeshElement &elem, const GeomType type) const override final |
| Return the parent elements of the given mesh element. | |
| void | getElementsIDs (const ElementID &id, const GeomType type, ElementID *IDs) const |
| auto | getGeometry () |
| Return the geometry of the mesh. | |
| auto | getGeometry () const |
| Return the geometry of the mesh. | |
| GeomType | getGeomType () const |
| Get the largest geometric type in the mesh. | |
| template<uint8_t TYPE> | |
| ElementID | getID (const std::array< int, TYPE+1 > &id) const |
| MeshIterator | getIterator (const GeomType type, const int gcw=0) const override final |
| Return an MeshIterator over the given geometric objects. | |
| virtual std::vector< MeshID > | getLocalBaseMeshIDs () const |
| const auto & | getLocalBoundingBox () const |
| Get the bounding box for the local part of the mesh. | |
| virtual std::vector< MeshID > | getLocalMeshIDs () const |
| uint8_t | getMaxGhostWidth () const |
| Get the maximum ghost width. | |
| virtual std::string | getName () const |
| Get the mesh name. | |
| void | getNeighborIDs (const ElementID &id, std::vector< ElementID > &IDs) const |
| virtual std::shared_ptr< AMP::LinearAlgebra::Vector > | getPositionVector (std::string name, const int gcw=0) const |
| Get a vector of the coordinates of the nodes. | |
| virtual MeshIterator | getSurfaceIterator (const GeomType type, const int gcw=0) const override final |
| Return an MeshIterator over the given geometric objects on the surface. | |
| void | getVertexCoord (const ElementID &id, std::array< double, 3 > *x) const |
| virtual bool | isBaseMesh () const |
| Is the current mesh a base mesh. | |
| bool | isInBlock (const ElementID &elemID, int id) const |
| virtual bool | isMember (const MeshElementID &id) const |
| Check if an element is in the mesh. | |
| virtual MeshIterator | isMember (const MeshIterator &it) const |
| Check if elements are in the mesh. | |
| Movable | isMeshMovable () const override |
| Is the mesh movable. | |
| bool | isOnBoundary (const ElementID &elemID, int id) const |
| bool | isOnSurface (const ElementID &elemID) const |
| std::string | meshClass () const override |
| Return a string with the mesh class name. | |
| MeshID | meshID () const |
| Get the mesh ID. | |
| size_t | numGhostElements (const GeomType type, const int gcw) const override final |
| size_t | numGlobalElements (const GeomType type) const override final |
| size_t | numLocalElements (const GeomType type) const override final |
| bool | operator!= (const Mesh &mesh) const |
| Check if two meshes are not equal. | |
| TriangleMesh & | operator= (const TriangleMesh &)=delete |
| TriangleMesh & | operator= (TriangleMesh &&)=default |
| bool | operator== (const Mesh &mesh) const override |
| Check if two meshes are equal. | |
| uint64_t | positionHash () const override |
| Identify if the position has moved. | |
| virtual void | registerChildObjects (AMP::IO::RestartManager *manager) const |
| Register child objects. | |
| virtual void | setName (std::string name) |
| Set the mesh name. | |
| std::shared_ptr< AMP::Mesh::Mesh > | shared_from_this () |
| std::shared_ptr< const AMP::Mesh::Mesh > | shared_from_this () const |
| virtual std::shared_ptr< Mesh > | Subset (const MeshIterator &iterator, bool isGlobal=true) const |
| Subset a mesh given a MeshIterator. | |
| virtual std::shared_ptr< Mesh > | Subset (Mesh &mesh) const |
| Subset a mesh given another mesh. | |
| virtual std::shared_ptr< Mesh > | Subset (MeshID meshID) const |
| Subset a mesh given a MeshID. | |
| virtual std::shared_ptr< Mesh > | Subset (std::string name) const |
| Subset a mesh given a mesh name. | |
| TriangleMesh (const TriangleMesh &) | |
| TriangleMesh (int NP, std::vector< Point > vertices, std::vector< TRI > triangles, std::vector< TRI > tri_nab, const AMP_MPI &comm, std::shared_ptr< Geometry::Geometry > geom={}, std::vector< int > block={}, int max_gcw=2) | |
| Primary constructor. | |
| TriangleMesh (TriangleMesh &&)=default | |
| void | writeRestart (int64_t fid) const override |
| Write restart data to file. | |
| virtual | ~TriangleMesh () |
| Deconstructor. | |
Static Public Member Functions | |
| static CompareResult | compare (const Mesh &a, const Mesh &b) |
| Compare two meshes. | |
| static std::shared_ptr< Mesh > | createView (const Mesh &mesh, const AMP::Database &db) |
| Create a view of existing mesh(s) | |
| static size_t | estimateMeshSize (std::shared_ptr< const MeshParameters > params) |
| Estimate the number of elements in the mesh. | |
| static MeshIterator | getIterator (SetOP OP, const MeshIterator &, MeshIteratorEnd) |
| static MeshIterator | getIterator (SetOP OP, const MeshIterator &A, const MeshIterator &B) |
| Return an MeshIterator constructed through a set operation of two other MeshIterators. | |
| static MeshIterator | getIterator (SetOP OP, MeshIteratorEnd, const MeshIterator &) |
| static MeshIterator | getIterator (SetOP OP, MeshIteratorEnd, MeshIteratorEnd) |
| static bool | inIterator (const ElementID &id, const TriangleMeshIterator< NG > *it) |
| static size_t | maxProcs (std::shared_ptr< const MeshParameters > params) |
| Return the maximum number of processors that can be used with the mesh. | |
| static void | printMeshHierarchy (const Mesh &mesh, std::ostream &out=std::cout, const std::string &prefix="") |
| Print the mesh hierarchy<iostream> | |
Protected Member Functions | |
| std::vector< IteratorSet > | createBlockIterators (int block) |
| void | createSurfaceIterators () |
| void | initialize () |
| void | initializeBoundingBox () |
| void | initializeIterators () |
| void | setMeshID () |
| TriangleMesh ()=default | |
| TriangleMesh (std::shared_ptr< const MeshParameters >) | |
Static Protected Member Functions | |
| static std::vector< double > | reduceBox (const std::vector< double > &, const AMP_MPI &) |
| Fill the domain box from the local box (requires communication) | |
Protected Attributes | |
| std::vector< double > | d_box |
| The bounding box for the mesh. | |
| std::vector< double > | d_box_local |
| The bounding box for the mesh. | |
| AMP_MPI | d_comm |
| The communicator over which the mesh is stored. | |
| std::shared_ptr< Geometry::Geometry > | d_geometry |
| The geometry parameters. | |
| uint8_t | d_max_gcw |
| The maximum ghost cell width. | |
| MeshID | d_meshID |
| A unique id for each mesh. | |
| std::string | d_name |
| A name for the mesh. | |
| GeomType | GeomDim |
| The geometric dimension. | |
| uint8_t | PhysicalDim |
| The physical dimension. | |
| std::weak_ptr< AMP::Mesh::Mesh > | weak_ptr_ |
Private Member Functions | |
| void | buildChildren () |
| ElementList | computeNodeParents (int parentType) |
| ElementList | getParents (int childType, int parentType) |
| void | loadBalance (const std::vector< Point > &vertices, const std::vector< TRI > &tri, const std::vector< TRI > &tri_nab, const std::vector< int > &block) |
Private Attributes | |
| std::vector< int > | d_block_ids |
| The global list of block ids. | |
| std::vector< std::vector< IteratorSet > > | d_block_it |
| [id][gcw][type] | |
| std::vector< int > | d_blockID |
| The block id index for each triangle. | |
| std::vector< int > | d_boundary_ids |
| The global list of boundary ids. | |
| std::vector< std::vector< IteratorSet > > | d_boundary_it |
| [id][gcw][type] | |
| StoreTriData< int, 2 > | d_childEdge |
| The list of local children edges. | |
| StoreTriData< int, 3 > | d_childFace |
| The list of local children faces. | |
| std::vector< TRI > | d_globalNab |
| Store the global triangle neighbors. | |
| StoreTriData< int, NG+1 > | d_globalTri |
| Store the global triangles. | |
| std::vector< bool > | d_isSurface [NG+1] |
| Global list of surface elements. | |
| std::vector< IteratorSet > | d_iterators |
| [gcw][type] | |
| std::array< size_t, 4 > | d_N_global = { 0 } |
| The number of global elements. | |
| ElementList | d_parents [NG+1][NG+1] |
| Parent data. | |
| uint64_t | d_pos_hash = 0 |
| Number of times position has changed. | |
| std::vector< std::vector< int > > | d_remoteTri |
| The unique ghost triangles for each gcw. | |
| std::vector< IteratorSet > | d_surface_it |
| [gcw][type] | |
| StoreTriData< double, 3 > | d_vertex |
| Store the global coordinates. | |
A class used to represent an unstructured mesh of Triangles/Tetrahedrals.
Definition at line 118 of file TriangleMesh.h.
| typedef std::array<int, 2> AMP::Mesh::TriangleMesh< NG >::Edge |
Definition at line 123 of file TriangleMesh.h.
| typedef StoreCompressedList<ElementID> AMP::Mesh::TriangleMesh< NG >::ElementList |
Definition at line 127 of file TriangleMesh.h.
|
inherited |
| typedef std::array<int, 3> AMP::Mesh::TriangleMesh< NG >::Face |
Definition at line 124 of file TriangleMesh.h.
|
inherited |
| using AMP::Mesh::TriangleMesh< NG >::IteratorSet = std::array<TriangleMeshIterator<NG>, NG + 1> |
Definition at line 126 of file TriangleMesh.h.
|
inherited |
Pointer to MeshElement and MeshElementVector.
| typedef std::array<double, 3> AMP::Mesh::TriangleMesh< NG >::Point |
Definition at line 122 of file TriangleMesh.h.
| typedef std::array<int, NG + 1> AMP::Mesh::TriangleMesh< NG >::TRI |
Definition at line 125 of file TriangleMesh.h.
|
stronginherited |
|
explicit |
Primary constructor.
Create a triangle mesh from the verticies and triangle indicies Note: Rank 0 must contain all data, other ranks "may" contain copies
| NP | Number of physical dimensions |
| vertices | List of vertices |
| triangles | List of triangles |
| tri_nab | Optional list of triangles neighbors |
| comm | Communicator to use (load balance will be automatically generated on this comm) |
| geom | Optional geometry to associate with the mesh |
| block | Optional vector with the block id for each triangle |
| max_gcw | Maximum gcw to support |
| AMP::Mesh::TriangleMesh< NG >::TriangleMesh | ( | const TriangleMesh< NG > & | ) |
|
default |
|
virtual |
Deconstructor.
|
protecteddefault |
|
explicitprotected |
|
private |
|
finaloverridevirtual |
Virtual function to copy the mesh (allows use to proply copy the derived class)
Implements AMP::Mesh::Mesh.
|
staticinherited |
Compare two meshes.
This function compares two meshes.
| [in] | a | First mesh to compare |
| [in] | b | Second mesh to compare |
|
private |
|
virtualinherited |
Check if the mesh contains the given mesh element
Reimplemented in AMP::Mesh::MultiMesh, and AMP::Mesh::SubsetMesh.
|
protected |
| TriangleMeshIterator< NG > AMP::Mesh::TriangleMesh< NG >::createIterator | ( | GeomType | type, |
| int | gcw | ||
| ) | const |
|
protected |
|
staticinherited |
Create a view of existing mesh(s)
This function creates a view of existing mesh(s)
| mesh | Existing mesh(s) |
| db | Database to control the view |
|
overridevirtual |
Displace the entire mesh.
This function will displace the entire mesh by a scalar value. This function is a blocking call for the mesh communicator, and requires the same value on all processors. The displacement vector should be the size of the physical dimension.
| x | Displacement vector |
Implements AMP::Mesh::Mesh.
|
overridevirtual |
Displace the entire mesh.
This function will displace the entire mesh by displacing each node by the values provided in the vector. This function is a blocking call for the mesh communicator
| x | Displacement vector. Must have N DOFs per node where N is the physical dimension of the mesh. |
Implements AMP::Mesh::Mesh.
|
staticinherited |
Estimate the number of elements in the mesh.
This function will estimate the number of elements in the mesh. This is used so that we can properly balance the meshes across multiple processors. Ideally this should be both an accurate estimate and very fast. It should not require any communication and should not have to actually load a mesh.
| params | Parameters for constructing a mesh from an input database |
|
virtualinherited |
Get the meshIDs of all meshes that compose the current mesh (including its self) Note: This function may require global communication depending on the implementation
Reimplemented in AMP::Mesh::MultiMesh, and AMP::Mesh::SubsetMesh.
|
virtualinherited |
Get the meshIDs of all the basic meshes that compose the current mesh (excluding multimeshes and subset meshes) Note: This function may require global communication depending on the implementation
Reimplemented in AMP::Mesh::MultiMesh, and AMP::Mesh::SubsetMesh.
|
finaloverridevirtual |
Return an MeshIterator over the given geometric objects on the given block ID set.
Return an MeshIterator over the given geometric objects on the given block ID set
| type | Geometric type to iterate over |
| id | Block id for the elements (example: block id in cubit, subdomain in libmesh) |
| gcw | Desired ghost cell width |
Reimplemented from AMP::Mesh::Mesh.
|
finaloverridevirtual |
Return the list of all boundary ID sets in the mesh.
Return the list of all boundary ID sets in the mesh Note: depending on the mesh this routine may require global communication across the mesh.
Reimplemented from AMP::Mesh::Mesh.
|
finaloverridevirtual |
Return an MeshIterator over the given geometric objects on the given boundary ID set.
Return an MeshIterator over the given geometric objects on the given boundary ID set
| type | Geometric type to iterate over |
| id | Boundary id for the elements (example: sideset id) |
| gcw | Desired ghost cell width |
Reimplemented from AMP::Mesh::Mesh.
|
finaloverridevirtual |
Return the list of all boundary ID sets in the mesh.
Return the list of all boundary ID sets in the mesh Note: depending on the mesh this routine may require global communication across the mesh.
Reimplemented from AMP::Mesh::Mesh.
|
inlineinherited |
Get the bounding box for the mesh.
This function will return the bounding box for the entire mesh. The vector returned contains the box that contains the mesh in the form [ x_min x_max y_min y_max z_min z_max ].
Definition at line 408 of file Mesh.h.
References AMP::Mesh::Mesh::d_box.
|
inlineinherited |
Get the communicator for the mesh.
Definition at line 336 of file Mesh.h.
References AMP::Mesh::Mesh::d_comm.
|
inlineinherited |
Get the physical dimension of the mesh.
Definition at line 332 of file Mesh.h.
References AMP::Mesh::Mesh::PhysicalDim.
| std::array< int, TYPE+1 > AMP::Mesh::TriangleMesh< NG >::getElem | ( | const ElementID & | id | ) | const |
|
finaloverridevirtual |
Return a mesh element given it's id.
This function queries the mesh to get an element given the mesh id. This function is only required to return an element if the id is local. Ideally, this should be done in O(1) time, but the implementation is up to the underlying mesh. The base class provides a basic implementation, but uses mesh iterators and requires O(N) time on the number of elements in the mesh.
| id | Mesh element id we are requesting. |
Reimplemented from AMP::Mesh::Mesh.
| MeshElement * AMP::Mesh::TriangleMesh< NG >::getElement2 | ( | const MeshElementID & | id | ) | const |
| std::pair< const ElementID *, const ElementID * > AMP::Mesh::TriangleMesh< NG >::getElementParents | ( | const ElementID & | id, |
| const GeomType | type | ||
| ) | const |
|
finaloverridevirtual |
Return the parent elements of the given mesh element.
This function queries the mesh to get an element given the mesh id, then returns the parent elements that have the element as a child
| elem | Mesh element of interest |
| type | Element type of the parents requested |
Reimplemented from AMP::Mesh::Mesh.
| void AMP::Mesh::TriangleMesh< NG >::getElementsIDs | ( | const ElementID & | id, |
| const GeomType | type, | ||
| ElementID * | IDs | ||
| ) | const |
|
inlineinherited |
Return the geometry of the mesh.
This function will return the geometry for the mesh if it exists. Not all meshes will have a geometry associated with them.
Definition at line 106 of file Mesh.h.
References AMP::Mesh::Mesh::d_geometry.
|
inlineinherited |
Return the geometry of the mesh.
This function will return the geometry for the mesh if it exists. Not all meshes will have a geometry associated with them.
Definition at line 114 of file Mesh.h.
References AMP::Mesh::Mesh::d_geometry.
|
inlineinherited |
Get the largest geometric type in the mesh.
Definition at line 328 of file Mesh.h.
References AMP::Mesh::Mesh::GeomDim.
| ElementID AMP::Mesh::TriangleMesh< NG >::getID | ( | const std::array< int, TYPE+1 > & | id | ) | const |
|
finaloverridevirtual |
Return an MeshIterator over the given geometric objects.
Return an MeshIterator over the given geometric objects
| type | Geometric type to iterate over |
| gcw | Desired ghost cell width |
Reimplemented from AMP::Mesh::Mesh.
|
staticinherited |
|
staticinherited |
Return an MeshIterator constructed through a set operation of two other MeshIterators.
Return an MeshIterator constructed through a set operation of two other MeshIterators.
| OP | Set operation to perform. SetOP::Union - Perform a union of the iterators ( A U B ) SetOP::Intersection - Perform an intersection of the iterators ( A n B ) SetOP::Complement - Perform a compliment of the iterators ( A - B ) |
| A | Pointer to MeshIterator A |
| B | Pointer to MeshIterator B |
|
staticinherited |
|
staticinherited |
|
virtualinherited |
Get the meshIDs of all the basic meshes that compose the current mesh (excluding multimeshes and subset meshes) on the current processor.
Reimplemented in AMP::Mesh::MultiMesh, and AMP::Mesh::SubsetMesh.
|
inlineinherited |
Get the bounding box for the local part of the mesh.
This function will return the bounding box for the local part of the mesh. The vector returned contains the box that contains the mesh in the form [ x_min x_max y_min y_max z_min z_max ].
Definition at line 417 of file Mesh.h.
References AMP::Mesh::Mesh::d_box_local.
|
virtualinherited |
Get the meshIDs of all meshes that compose the current mesh (including its self) on the current processor.
Reimplemented in AMP::Mesh::MultiMesh, and AMP::Mesh::SubsetMesh.
|
inlineinherited |
Get the maximum ghost width.
Definition at line 340 of file Mesh.h.
References AMP::Mesh::Mesh::d_max_gcw.
|
inlinevirtualinherited |
| void AMP::Mesh::TriangleMesh< NG >::getNeighborIDs | ( | const ElementID & | id, |
| std::vector< ElementID > & | IDs | ||
| ) | const |
|
private |
|
virtualinherited |
Get a vector of the coordinates of the nodes.
This function will return a const vector containing the coordinates of all the nodes.
| name | Name of the vector |
| gcw | Desired ghost cell width |
|
finaloverridevirtual |
Return an MeshIterator over the given geometric objects on the surface.
Return an MeshIterator over the given geometric objects on the surface
| type | Geometric type to iterate over |
| gcw | Desired ghost cell width |
Reimplemented from AMP::Mesh::Mesh.
| void AMP::Mesh::TriangleMesh< NG >::getVertexCoord | ( | const ElementID & | id, |
| std::array< double, 3 > * | x | ||
| ) | const |
|
static |
|
protected |
|
protected |
|
protected |
|
virtualinherited |
Is the current mesh a base mesh.
Reimplemented in AMP::Mesh::MultiMesh, and AMP::Mesh::SubsetMesh.
| bool AMP::Mesh::TriangleMesh< NG >::isInBlock | ( | const ElementID & | elemID, |
| int | id | ||
| ) | const |
|
virtualinherited |
Check if an element is in the mesh.
This function queries the mesh to determine if the given element is a member of the mesh
| id | Mesh element id we are querying. |
Reimplemented in AMP::Mesh::MultiMesh, and AMP::Mesh::SubsetMesh.
|
virtualinherited |
Check if elements are in the mesh.
This function queries the mesh to determine if each of the given elements is a member of the mesh and returns an iterator over those elements
| it | Iterator containing mesh element id we are querying. |
Reimplemented in AMP::Mesh::MultiMesh, and AMP::Mesh::SubsetMesh.
|
inlineoverridevirtual |
Is the mesh movable.
This function will check if the mesh can be displaced.
Implements AMP::Mesh::Mesh.
Definition at line 284 of file TriangleMesh.h.
References AMP::Mesh::Mesh::Deform.
| bool AMP::Mesh::TriangleMesh< NG >::isOnBoundary | ( | const ElementID & | elemID, |
| int | id | ||
| ) | const |
| bool AMP::Mesh::TriangleMesh< NG >::isOnSurface | ( | const ElementID & | elemID | ) | const |
|
private |
|
staticinherited |
Return the maximum number of processors that can be used with the mesh.
This function will return the maximum number of processors that can be used with the mesh.
| params | Parameters for constructing a mesh from an input database |
|
overridevirtual |
Return a string with the mesh class name.
Implements AMP::Mesh::Mesh.
|
inlineinherited |
|
finaloverridevirtual |
Reimplemented from AMP::Mesh::Mesh.
|
finaloverridevirtual |
Reimplemented from AMP::Mesh::Mesh.
|
finaloverridevirtual |
Reimplemented from AMP::Mesh::Mesh.
|
inlineinherited |
Check if two meshes are not equal.
Definition at line 356 of file Mesh.h.
References AMP::Mesh::Mesh::operator==().
|
delete |
|
default |
|
overridevirtual |
Check if two meshes are equal.
Implements AMP::Mesh::Mesh.
|
overridevirtual |
Identify if the position has moved.
This function will return a hash that can be used to identify if the mesh has been moved. Any time that displaceMesh is called, the hash value should change. There is no requirement that dispacing a mesh and returning it back to the original position will return the original hash.
Implements AMP::Mesh::Mesh.
|
staticinherited |
Print the mesh hierarchy<iostream>
|
staticprotectedinherited |
Fill the domain box from the local box (requires communication)
|
virtualinherited |
Register child objects.
This function register child objects if necessary
| manager | Restart manager |
Reimplemented in AMP::Mesh::MultiMesh.
|
protectedinherited |
A function to create a unique id for the mesh (requires the comm to be set) Note: this requires a global communication across the mesh communicator. Note: this function is NOT thread safe, and will need to be modified before threads are used.
|
inlinevirtualinherited |
|
inlineinherited |
Definition at line 28 of file enable_shared_from_this.h.
|
inlineinherited |
Definition at line 46 of file enable_shared_from_this.h.
|
virtualinherited |
Subset a mesh given a MeshIterator.
This function will subset a mesh over a given iterator. This will return a new mesh object.
| iterator | MeshIterator used to subset |
| isGlobal | Is the new subset mesh global over the entire mesh (true,default), or do we only want to keep the local mesh (false) |
Reimplemented in AMP::Mesh::MultiMesh, AMP::Mesh::SubsetMesh, and AMP::Mesh::MultiMesh.
Subset a mesh given another mesh.
This function will subset a mesh given another mesh
| mesh | Mesh used to subset |
Reimplemented in AMP::Mesh::MultiMesh, and AMP::Mesh::SubsetMesh.
Subset a mesh given a MeshID.
This function will return the mesh with the given meshID. Note: for multimeshes, this will return the mesh with the given id. For a single mesh this will return a pointer to itself if the meshID matches the meshID of the mesh, and a null pointer otherwise.
| meshID | MeshID of the desired mesh |
Reimplemented in AMP::Mesh::MultiMesh, AMP::Mesh::SubsetMesh, AMP::Mesh::MultiMesh, and AMP::Mesh::SubsetMesh.
|
virtualinherited |
Subset a mesh given a mesh name.
This function will return the mesh with the given name. For a single mesh this will return a pointer to itself if the mesh name matches the name of the mesh, and a null pointer otherwise. Note: The mesh name is not guaranteed to be unique. If there are multiple meshes with the same name, all meshed with the given name will be returned within a new multimesh. It is strongly recommended to use the meshID when possible.
| name | Name of the desired mesh |
Reimplemented in AMP::Mesh::MultiMesh, AMP::Mesh::SubsetMesh, AMP::Mesh::MultiMesh, and AMP::Mesh::SubsetMesh.
|
overridevirtual |
Write restart data to file.
This function will write the mesh to an HDF5 file
| fid | File identifier to write |
Reimplemented from AMP::Mesh::Mesh.
|
private |
The global list of block ids.
Definition at line 390 of file TriangleMesh.h.
|
private |
[id][gcw][type]
Definition at line 396 of file TriangleMesh.h.
|
private |
The block id index for each triangle.
Definition at line 385 of file TriangleMesh.h.
|
private |
The global list of boundary ids.
Definition at line 391 of file TriangleMesh.h.
|
private |
[id][gcw][type]
Definition at line 395 of file TriangleMesh.h.
|
protectedinherited |
The bounding box for the mesh.
Definition at line 564 of file Mesh.h.
Referenced by AMP::Mesh::Mesh::getBoundingBox().
|
protectedinherited |
The bounding box for the mesh.
Definition at line 565 of file Mesh.h.
Referenced by AMP::Mesh::Mesh::getLocalBoundingBox().
|
private |
The list of local children edges.
Definition at line 387 of file TriangleMesh.h.
|
private |
The list of local children faces.
Definition at line 388 of file TriangleMesh.h.
|
protectedinherited |
The communicator over which the mesh is stored.
Definition at line 562 of file Mesh.h.
Referenced by AMP::Mesh::Mesh::getComm().
|
protectedinherited |
The geometry parameters.
Definition at line 566 of file Mesh.h.
Referenced by AMP::Mesh::Mesh::getGeometry(), and AMP::Mesh::Mesh::getGeometry().
|
private |
Store the global triangle neighbors.
Definition at line 384 of file TriangleMesh.h.
|
private |
Store the global triangles.
Definition at line 383 of file TriangleMesh.h.
|
private |
Global list of surface elements.
Definition at line 392 of file TriangleMesh.h.
|
private |
[gcw][type]
Definition at line 393 of file TriangleMesh.h.
|
protectedinherited |
The maximum ghost cell width.
Definition at line 560 of file Mesh.h.
Referenced by AMP::Mesh::Mesh::getMaxGhostWidth().
|
protectedinherited |
A unique id for each mesh.
Definition at line 561 of file Mesh.h.
Referenced by AMP::Mesh::Mesh::meshID().
|
private |
The number of global elements.
Definition at line 381 of file TriangleMesh.h.
|
protectedinherited |
A name for the mesh.
Definition at line 563 of file Mesh.h.
Referenced by AMP::Mesh::Mesh::getName(), and AMP::Mesh::Mesh::setName().
|
private |
Parent data.
Definition at line 389 of file TriangleMesh.h.
|
private |
Number of times position has changed.
Definition at line 397 of file TriangleMesh.h.
|
private |
The unique ghost triangles for each gcw.
Definition at line 386 of file TriangleMesh.h.
|
private |
[gcw][type]
Definition at line 394 of file TriangleMesh.h.
|
private |
Store the global coordinates.
Definition at line 382 of file TriangleMesh.h.
|
protectedinherited |
The geometric dimension.
Definition at line 558 of file Mesh.h.
Referenced by AMP::Mesh::Mesh::getGeomType().
|
protectedinherited |
The physical dimension.
Definition at line 559 of file Mesh.h.
Referenced by AMP::Mesh::Mesh::getDim().
|
mutableprotectedinherited |
Definition at line 69 of file enable_shared_from_this.h.
|
Advanced Multi-Physics (AMP) Oak Ridge National Laboratory Idaho National Laboratory Los Alamos National Laboratory |
This page automatically produced from the source code by Last updated: Tue Mar 10 2026 13:06:43. Comments on this page |