A derived version of BoxMesh for a given geometry. More...
#include <StructuredGeometryMesh.h>

Public Types | |
| typedef AMP::Utilities::stackVector< std::pair< MeshElementIndex, MeshElementIndex >, 32 > | ElementBlocks |
| using | ElementListPtr = MeshElementVectorPtr |
| typedef std::function< std::shared_ptr< Mesh >(std::shared_ptr< const MeshParameters >)> | generatorType |
| Generator for meshes. | |
| 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... | |
Public Member Functions | |
| std::unique_ptr< Mesh > | clone () const override |
| Virtual function to copy the mesh (allows use to proply copy the derived class) | |
| virtual bool | containsElement (const MeshElementID &id) const |
| MeshElementIndex | convert (const MeshElementID &id) const |
| Convert the MeshElementID to the MeshElementIndex. | |
| MeshElementID | convert (const MeshElementIndex &id) const |
| Convert the MeshElementIndex to the MeshElementID. | |
| void | coord (const MeshElementIndex &index, double *pos) const override |
| Return a mesh element's coordinates given it's id. | |
| MeshIterator | createIterator (const ElementBlocks &list) const |
| std::shared_ptr< AMP::LinearAlgebra::Vector > | createVector (const std::string &name, int gcw=0) |
| Create an ArrayVector over the mesh. | |
| void | displaceMesh (const std::vector< double > &x) override |
| Displace the entire mesh. | |
| void | displaceMesh (std::shared_ptr< const AMP::LinearAlgebra::Vector >) override |
| Displace the entire mesh. | |
| void | fixPeriodic (MeshElementIndex &id) const |
| Fix periodic boundaries in the element index. | |
| 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. | |
| MeshElementPtr | getElement (const MeshElementID &id) const override final |
| Return a mesh element given it's id. | |
| structuredMeshElement | getElement (const MeshElementIndex &index) const |
| Return a mesh element given it's id. | |
| MeshElementIndex | getElementFromLogical (const AMP::Geometry::Point &x, GeomType type) const |
| Return the element containing the point. | |
| MeshElementIndex | getElementFromPhysical (const AMP::Geometry::Point &x, GeomType type) const |
| Return the element containing the point. | |
| virtual ElementListPtr | getElementParents (const MeshElement &elem, const GeomType type) const override final |
| Return the parent elements of the given mesh element. | |
| 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. | |
| Box | getGlobalBox (int gcw=0) const |
| Return the global logical box. | |
| MeshIterator | getIterator (const GeomType type, const int gcw=0) const override final |
| Return an MeshIterator over the given geometric objects. | |
| ElementBlocks | getIteratorRange (std::array< int, 6 > range, const GeomType type, const int gcw) const |
| virtual std::vector< MeshID > | getLocalBaseMeshIDs () const |
| std::array< int, 6 > | getLocalBlock (int rank) const |
| const auto & | getLocalBoundingBox () const |
| Get the bounding box for the local part of the mesh. | |
| Box | getLocalBox (int gcw=0) const |
| Return the local logical box. | |
| virtual std::vector< MeshID > | getLocalMeshIDs () const |
| uint8_t | getMaxGhostWidth () const |
| Get the maximum ghost width. | |
| virtual std::string | getName () const |
| Get the mesh name. | |
| 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. | |
| int | getRank (const MeshElementIndex &id) const |
| Get the rank that owns the element. | |
| ElementBlocks | getSurface (int surface, GeomType type) const |
| int | getSurfaceID (int surface) const |
| virtual MeshIterator | getSurfaceIterator (const GeomType type, const int gcw=0) const override final |
| Return an MeshIterator over the given geometric objects on the surface. | |
| std::array< AMP::Array< double >, 3 > | globalCoord () const override |
| Return the vertex coordinates for the global box. | |
| ElementBlocks | intersect (const ElementBlocks &v1, const ElementBlocks &v2) const |
| virtual bool | isBaseMesh () const |
| Is the current mesh a base mesh. | |
| 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. | |
| Mesh::Movable | isMeshMovable () const override |
| Is the mesh movable. | |
| virtual bool | isOnBoundary (const MeshElementIndex &index, int id) const |
| Check if the element is on the given boundary id. | |
| virtual bool | isOnSurface (const MeshElementIndex &index) const |
| Check if the element is on the surface. | |
| std::array< AMP::Array< double >, 3 > | localCoord () const override |
| Return the vertex coordinates for the local box. | |
| ArraySize | localSize () const |
| Return the size of the mesh. | |
| std::string | meshClass () const override |
| Return a string with the mesh class name. | |
| MeshID | meshID () const |
| Get the mesh ID. | |
| std::vector< size_t > | numBlocks () const |
| Return the number of blocks. | |
| 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. | |
| StructuredGeometryMesh & | operator= (const StructuredGeometryMesh &)=delete |
| Assignment operator. | |
| bool | operator== (const Mesh &mesh) const override |
| Check if two meshes are equal. | |
| std::vector< bool > | periodic () const |
| Return the bool vector indicating which directions are periodic. | |
| AMP::Geometry::Point | physicalToLogical (const AMP::Geometry::Point &x) const override |
| Return the logical coordinates. | |
| 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 |
| ArraySize | size () const |
| Return the size of the mesh. | |
| StructuredGeometryMesh (const StructuredGeometryMesh &) | |
| Copy constructor. | |
| StructuredGeometryMesh (int64_t, AMP::IO::RestartManager *) | |
| StructuredGeometryMesh (std::shared_ptr< AMP::Geometry::LogicalGeometry >, const ArraySize &size, const AMP::AMP_MPI &comm) | |
| Create from a geometry. | |
| StructuredGeometryMesh (std::shared_ptr< const MeshParameters >) | |
| Default constructor. | |
| 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. | |
| void | writeRestart (int64_t) const override |
| Write restart data to file. | |
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 ArraySize | estimateLogicalMeshSize (std::shared_ptr< const MeshParameters > params) |
| Estimate the number of elements in the mesh. | |
| static size_t | estimateMeshSize (std::shared_ptr< const MeshParameters > params) |
| Estimate the number of elements in the mesh. | |
| static std::shared_ptr< BoxMesh > | generate (std::shared_ptr< const MeshParameters > params) |
| Read in mesh files, partition domain, and prepare environment for simulation. | |
| 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 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 Types | |
| typedef std::vector< MeshElementIndex > | IndexList |
| typedef std::shared_ptr< IndexList > | ListPtr |
| typedef std::tuple< IndexList, IndexList > | SurfaceMapStruct |
Protected Member Functions | |
| virtual void | createBoundingBox () |
| template<uint8_t NDIM> | |
| std::vector< MeshElementIndex > | createMap (const std::vector< MeshElementIndex >) const |
| void | createMaps () |
| void | finalize (const std::string &name, const std::vector< double > &displacement) |
| std::vector< double > | getDisplacement (std::shared_ptr< const AMP::Database > db) |
| ElementBlocks | getSurface2 (int surface, GeomType type) const |
| void | initialize (const std::array< int, 3 > &size, const std::array< int, 6 > &ids, const std::vector< int > &minSize={}) |
| bool | onSide (const MeshElementIndex &index, int d, int s) const |
| void | setMeshID () |
Static Protected Member Functions | |
| static void | fillCartesianNodes (int dim, const int *globalSize, const double *range, const std::vector< MeshElementIndex > &index, std::vector< double > *coord) |
| static void | loadBalance (std::array< int, 3 > size, int N_procs, std::vector< int > *startIndex, std::vector< int > minSize={}) |
| static std::vector< double > | reduceBox (const std::vector< double > &, const AMP_MPI &) |
| Fill the domain box from the local box (requires communication) | |
Protected Attributes | |
| int | d_blockID |
| std::vector< ListPtr > | d_bnd [4][6] |
| 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. | |
| const std::vector< int > | d_endIndex [3] |
| std::shared_ptr< Geometry::Geometry > | d_geometry |
| The geometry parameters. | |
| const std::array< int, 3 > | d_globalSize |
| const std::array< int, 3 > | d_indexSize |
| const std::array< int, 6 > | d_localIndex |
| 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. | |
| const std::array< int, 3 > | d_numBlocks |
| const int | d_rank |
| const int | d_size |
| const std::vector< int > | d_startIndex [3] |
| std::vector< ListPtr > | d_surface [4] |
| const std::array< int, 6 > | d_surfaceId |
| SurfaceMapStruct | d_surfaceMaps [3] |
| GeomType | GeomDim |
| The geometric dimension. | |
| uint8_t | PhysicalDim |
| The physical dimension. | |
| std::weak_ptr< AMP::Mesh::Mesh > | weak_ptr_ |
Private Attributes | |
| std::shared_ptr< AMP::Geometry::LogicalGeometry > | d_geometry2 |
| uint32_t | d_pos_hash = 0 |
A derived version of BoxMesh for a given geometry.
A concrete implementation of BoxMesh for a object which has a well defined geometry than can be used to define the mapping between physical and logical coordinates
Definition at line 21 of file StructuredGeometryMesh.h.
|
inherited |
|
inherited |
|
inherited |
|
protectedinherited |
|
protectedinherited |
|
inherited |
Pointer to MeshElement and MeshElementVector.
|
protectedinherited |
|
stronginherited |
|
explicit |
Default constructor.
|
explicit |
Create from a geometry.
|
explicit |
Copy constructor.
| AMP::Mesh::StructuredGeometryMesh::StructuredGeometryMesh | ( | int64_t | , |
| AMP::IO::RestartManager * | |||
| ) |
|
overridevirtual |
Virtual function to copy the mesh (allows use to proply copy the derived class)
Implements AMP::Mesh::BoxMesh.
|
staticinherited |
Compare two meshes.
This function compares two meshes.
| [in] | a | First mesh to compare |
| [in] | b | Second mesh to compare |
|
virtualinherited |
Check if the mesh contains the given mesh element
Reimplemented in AMP::Mesh::MultiMesh, and AMP::Mesh::SubsetMesh.
|
inlineinherited |
Convert the MeshElementID to the MeshElementIndex.
|
inlineinherited |
Convert the MeshElementIndex to the MeshElementID.
Referenced by AMP::Mesh::structuredMeshElement::globalID().
|
overridevirtual |
Return a mesh element's coordinates given it's id.
This function queries the mesh to get an element's coordinates given the mesh id. Ideally, this should be done in O(1) time, but the implementation is up to the underlying mesh.
Implements AMP::Mesh::BoxMesh.
|
protectedvirtualinherited |
Reimplemented in AMP::Mesh::PureLogicalMesh.
|
inherited |
|
protectedinherited |
|
protectedinherited |
|
inherited |
Create an ArrayVector over the mesh.
|
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 |
|
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 |
|
staticprotectedinherited |
|
protectedinherited |
|
inlineinherited |
Fix periodic boundaries in the element index.
|
staticinherited |
Read in mesh files, partition domain, and prepare environment for simulation.
For trivial parallelism, this method reads in the meshes on each processor. Each processor contains a piece of each mesh. For massive parallelism, each mesh is on its own communicator. As such, some math libraries must be initialized accordingly.
| 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.
|
finaloverridevirtualinherited |
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.
|
finaloverridevirtualinherited |
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.
|
finaloverridevirtualinherited |
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.
|
finaloverridevirtualinherited |
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.
|
protectedinherited |
|
finaloverridevirtualinherited |
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.
|
inherited |
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.
| index | Mesh element index we are requesting. |
|
inherited |
Return the element containing the point.
This function queries the mesh to get the element index given a logical point
| [in] | x | Logical coordinates in [0,1] |
| type | Geometric type to get |
|
inherited |
Return the element containing the point.
This function queries the mesh to get the element index given a physical point. This functionallity requires physicalToLogical which may not be supported by all meshes.
| [in] | x | Physical coordinates |
| type | Geometric type to get |
|
finaloverridevirtualinherited |
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.
|
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.
|
inlineinherited |
Return the global logical box.
|
finaloverridevirtualinherited |
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 |
|
inherited |
|
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 |
|
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.
|
inlineinherited |
Return the local logical box.
|
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 |
|
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 |
|
inlineinherited |
Get the rank that owns the element.
|
inherited |
|
protectedinherited |
|
inherited |
|
finaloverridevirtualinherited |
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.
|
overridevirtual |
Return the vertex coordinates for the global box.
This function returns the vertices for all local cells
Implements AMP::Mesh::BoxMesh.
|
protectedinherited |
|
inherited |
|
virtualinherited |
Is the current mesh a base mesh.
Reimplemented in AMP::Mesh::MultiMesh, and AMP::Mesh::SubsetMesh.
|
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.
|
overridevirtual |
Is the mesh movable.
This function will check if the mesh can be displaced.
Implements AMP::Mesh::Mesh.
|
virtualinherited |
Check if the element is on the given boundary id.
|
virtualinherited |
Check if the element is on the surface.
|
staticprotectedinherited |
|
overridevirtual |
Return the vertex coordinates for the local box.
This function returns the vertices for all local cells
Implements AMP::Mesh::BoxMesh.
|
inlineinherited |
Return the size of the mesh.
|
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 |
|
inlineinherited |
Return the number of blocks.
|
finaloverridevirtualinherited |
Reimplemented from AMP::Mesh::Mesh.
|
finaloverridevirtualinherited |
Reimplemented from AMP::Mesh::Mesh.
|
finaloverridevirtualinherited |
Reimplemented from AMP::Mesh::Mesh.
|
protectedinherited |
|
inlineinherited |
Check if two meshes are not equal.
Definition at line 356 of file Mesh.h.
References AMP::Mesh::Mesh::operator==().
|
delete |
Assignment operator.
|
overridevirtual |
Check if two meshes are equal.
Reimplemented from AMP::Mesh::BoxMesh.
|
inlineinherited |
Return the bool vector indicating which directions are periodic.
|
overridevirtual |
Return the logical coordinates.
This function queries the mesh to get the logical coordinates in [0,1] from the physical coordinates. Not all meshes support this functionallity.
| [in] | x | Physical coordinates |
Implements AMP::Mesh::BoxMesh.
|
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.
|
inlineinherited |
Return the size of the mesh.
|
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::BoxMesh.
|
mutableprotectedinherited |
|
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().
|
protectedinherited |
The communicator over which the mesh is stored.
Definition at line 562 of file Mesh.h.
Referenced by AMP::Mesh::Mesh::getComm().
|
protectedinherited |
|
protectedinherited |
The geometry parameters.
Definition at line 566 of file Mesh.h.
Referenced by AMP::Mesh::Mesh::getGeometry(), and AMP::Mesh::Mesh::getGeometry().
|
private |
Definition at line 61 of file StructuredGeometryMesh.h.
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
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().
|
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().
|
protectedinherited |
|
private |
Definition at line 60 of file StructuredGeometryMesh.h.
|
protectedinherited |
|
mutableprotectedinherited |
|
protectedinherited |
|
protectedinherited |
|
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 |