Advanced Multi-Physics (AMP)
On-Line Documentation
Namespaces | Classes | Typedefs | Enumerations | Functions
AMP::Mesh Namespace Reference

Namespaces

namespace  MeshWriters
 
namespace  TriangleHelpers
 

Classes

class  BoxMesh
 A class used to represent a logically rectangular box mesh. More...
 
class  ElementFinder
 A class used to help find the nearest element to a point. More...
 
struct  ElementID
 A structure used to identify an element within a mesh. More...
 
class  initializeLibMesh
 A class to initialize libMesh. More...
 
class  libmeshElemIterator
 
class  libmeshMesh
 A concrete mesh class for libMesh. More...
 
class  libmeshMeshElement
 A derived class used to define a mesh element. More...
 
class  libmeshNodeIterator
 
class  loadBalanceSimulator
 Class used to contain simulated mesh load. More...
 
class  Mesh
 A class used to abstract away mesh from an application. More...
 
class  MeshElement
 
struct  MeshElementID
 A structure used to identify the mesh element. More...
 
class  MeshElementVector
 A base class for a vector of MeshElements. More...
 
class  MeshElementVectorBase
 A base class for a vector of MeshElements. More...
 
class  MeshElementVectorIterator
 A class used to iterate over a set of mesh elements. More...
 
class  MeshElementVectorPtr
 A pointer class to wrap a MeshElementVector. More...
 
class  MeshFactory
 Mesh factory class. More...
 
struct  MeshID
 A structure used to identify the mesh. More...
 
class  MeshIterator
 A class used to iterate over elements in a Mesh. More...
 
class  MeshIteratorBase
 A base class used to iterate over elements in a Mesh. More...
 
class  MeshIteratorEnd
 A base class used to represent the end iterator. More...
 
class  MeshListIterator
 A class used to iterate over a set of mesh elements. More...
 
class  MeshParameters
 
class  MeshPoint
 
class  meshTests
 A helper class to store/run tests for a mesh. More...
 
class  MovableBoxMesh
 A general BoxMesh. More...
 
class  MultiIterator
 A class used to combine multiple iterators. More...
 
class  MultiMesh
 A concrete mesh class for a multi-mesh. More...
 
class  PureLogicalMesh
 A derived version of BoxMesh for a given geometry. More...
 
class  StoreCompressedList
 
class  StoreTriData
 
class  StructuredGeometryMesh
 A derived version of BoxMesh for a given geometry. More...
 
class  structuredMeshElement
 A derived class used to define a mesh element. More...
 
class  StructuredMeshHelper
 A class used to provide utility functions for simple structured meshes. More...
 
class  structuredMeshIterator
 
class  SubsetMesh
 A class used to handle a subset mesh. More...
 
class  TriangleMesh
 A class used to represent an unstructured mesh of Triangles/Tetrahedrals. More...
 
class  TriangleMeshElement
 A derived class used to define a mesh element. More...
 
class  TriangleMeshIterator
 

Typedefs

using Point = AMP::Mesh::MeshPoint< double >
 

Enumerations

enum class  GeomType : uint8_t {
  Vertex = 0 , Edge = 1 , Face = 2 , Cell = 3 ,
  Polytope_4D = 4 , Polytope_5D = 5 , Nullity = 0xFF
}
 Enumeration for basic mesh-based quantities. More...
 
enum class  SetOP { Union , Intersection , Complement }
 Enumeration for basic mesh-based quantities. More...
 

Functions

template<class TYPE >
constexpr TYPE abs (const AMP::Mesh::MeshPoint< TYPE > &x)
 
template<class MESH >
std::unique_ptr< MESH > createMeshFromParams (std::shared_ptr< MeshParameters > params)
 
template<class MESH >
std::unique_ptr< MESH > createMeshFromRestart (int64_t fid, AMP::IO::RestartManager *manager)
 
template<class TYPE >
constexpr AMP::Mesh::MeshPoint< TYPE > cross (const AMP::Mesh::MeshPoint< TYPE > &a, const AMP::Mesh::MeshPoint< TYPE > &b)
 
template<class TYPE >
constexpr TYPE dot (const AMP::Mesh::MeshPoint< TYPE > &a, const AMP::Mesh::MeshPoint< TYPE > &b)
 
template<class TYPE >
constexpr AMP::Mesh::MeshPoint< TYPE > normalize (const AMP::Mesh::MeshPoint< TYPE > &x)
 
template<class TYPE >
constexpr AMP::Mesh::MeshPoint< TYPE > operator* (const AMP::Mesh::MeshPoint< TYPE > &a, const TYPE &b)
 
template<class TYPE >
constexpr AMP::Mesh::MeshPoint< TYPE > operator* (const TYPE &a, const AMP::Mesh::MeshPoint< TYPE > &b)
 
template<class TYPE >
constexpr AMP::Mesh::MeshPoint< TYPE > operator+ (const AMP::Mesh::MeshPoint< TYPE > &a, const AMP::Mesh::MeshPoint< TYPE > &b)
 
template<class TYPE >
constexpr AMP::Mesh::MeshPoint< TYPE > operator+ (const AMP::Mesh::MeshPoint< TYPE > &a, const TYPE &b)
 
template<class TYPE >
constexpr AMP::Mesh::MeshPoint< TYPE > operator+ (const TYPE &a, const AMP::Mesh::MeshPoint< TYPE > &b)
 
GeomType operator+ (GeomType, int) noexcept
 
GeomType operator+ (int, GeomType) noexcept
 
template<class TYPE >
constexpr AMP::Mesh::MeshPoint< TYPE > operator- (const AMP::Mesh::MeshPoint< TYPE > &a)
 
template<class TYPE >
constexpr AMP::Mesh::MeshPoint< TYPE > operator- (const AMP::Mesh::MeshPoint< TYPE > &a, const AMP::Mesh::MeshPoint< TYPE > &b)
 
template<class TYPE >
constexpr AMP::Mesh::MeshPoint< TYPE > operator- (const AMP::Mesh::MeshPoint< TYPE > &a, const TYPE &b)
 
template<class TYPE >
constexpr AMP::Mesh::MeshPoint< TYPE > operator- (const TYPE &a, const AMP::Mesh::MeshPoint< TYPE > &b)
 
GeomType operator- (GeomType, int) noexcept
 
GeomType operator- (int, GeomType) noexcept
 
template<class TYPE >
std::ostream & operator<< (std::ostream &out, const AMP::Mesh::MeshPoint< TYPE > &x)
 
std::ostream & operator<< (std::ostream &out, const BoxMesh::MeshElementIndex &x)
 
std::ostream & operator<< (std::ostream &out, ElementID x)
 
std::ostream & operator<< (std::ostream &out, GeomType x)
 
std::ostream & operator<< (std::ostream &out, MeshElementID x)
 
std::ostream & operator<< (std::ostream &out, MeshID x)
 
std::tuple< std::vector< Point >, std::vector< MeshElementID > > sample (const Mesh &mesh, double dx)
 Get points in the mesh.
 
std::vector< Pointsample (const MeshElement &elem, double dx)
 Get points in the element.
 
std::string to_string (GeomType x)
 
Array< double > volumeOverlap (const AMP::Geometry::Geometry &geom, const std::vector< int > &N)
 Get a grid with the overlap with the given geometry.
 

Typedef Documentation

◆ Point

typedef MeshPoint< double > AMP::Mesh::Point

Definition at line 11 of file GeometryHelpers.h.

Enumeration Type Documentation

◆ GeomType

enum class AMP::Mesh::GeomType : uint8_t
strong

Enumeration for basic mesh-based quantities.

Enumerator
Vertex 
Edge 
Face 
Cell 
Polytope_4D 
Polytope_5D 
Nullity 

Definition at line 12 of file MeshID.h.

◆ SetOP

enum class AMP::Mesh::SetOP
strong

Enumeration for basic mesh-based quantities.

Enumerator
Union 
Intersection 
Complement 

Definition at line 34 of file Mesh.h.

Function Documentation

◆ abs()

template<class TYPE >
constexpr TYPE AMP::Mesh::abs ( const AMP::Mesh::MeshPoint< TYPE > &  x)
constexpr

Definition at line 333 of file MeshPoint.h.

References AMP::Mesh::MeshPoint< TYPE >::abs().

◆ createMeshFromParams()

template<class MESH >
std::unique_ptr< MESH > AMP::Mesh::createMeshFromParams ( std::shared_ptr< MeshParameters params)

Definition at line 19 of file MeshFactory.h.

◆ createMeshFromRestart()

template<class MESH >
std::unique_ptr< MESH > AMP::Mesh::createMeshFromRestart ( int64_t  fid,
AMP::IO::RestartManager manager 
)

Definition at line 24 of file MeshFactory.h.

◆ cross()

template<class TYPE >
constexpr AMP::Mesh::MeshPoint< TYPE > AMP::Mesh::cross ( const AMP::Mesh::MeshPoint< TYPE > &  a,
const AMP::Mesh::MeshPoint< TYPE > &  b 
)
constexpr

◆ dot()

template<class TYPE >
constexpr TYPE AMP::Mesh::dot ( const AMP::Mesh::MeshPoint< TYPE > &  a,
const AMP::Mesh::MeshPoint< TYPE > &  b 
)
constexpr

◆ normalize()

template<class TYPE >
constexpr AMP::Mesh::MeshPoint< TYPE > AMP::Mesh::normalize ( const AMP::Mesh::MeshPoint< TYPE > &  x)
constexpr

Definition at line 351 of file MeshPoint.h.

References AMP::Mesh::MeshPoint< TYPE >::abs().

◆ operator*() [1/2]

template<class TYPE >
constexpr AMP::Mesh::MeshPoint< TYPE > AMP::Mesh::operator* ( const AMP::Mesh::MeshPoint< TYPE > &  a,
const TYPE &  b 
)
constexpr

Definition at line 310 of file MeshPoint.h.

◆ operator*() [2/2]

template<class TYPE >
constexpr AMP::Mesh::MeshPoint< TYPE > AMP::Mesh::operator* ( const TYPE &  a,
const AMP::Mesh::MeshPoint< TYPE > &  b 
)
constexpr

Definition at line 319 of file MeshPoint.h.

◆ operator+() [1/5]

template<class TYPE >
constexpr AMP::Mesh::MeshPoint< TYPE > AMP::Mesh::operator+ ( const AMP::Mesh::MeshPoint< TYPE > &  a,
const AMP::Mesh::MeshPoint< TYPE > &  b 
)
constexpr

◆ operator+() [2/5]

template<class TYPE >
constexpr AMP::Mesh::MeshPoint< TYPE > AMP::Mesh::operator+ ( const AMP::Mesh::MeshPoint< TYPE > &  a,
const TYPE &  b 
)
constexpr

◆ operator+() [3/5]

template<class TYPE >
constexpr AMP::Mesh::MeshPoint< TYPE > AMP::Mesh::operator+ ( const TYPE &  a,
const AMP::Mesh::MeshPoint< TYPE > &  b 
)
constexpr

Definition at line 279 of file MeshPoint.h.

◆ operator+() [4/5]

GeomType AMP::Mesh::operator+ ( GeomType  ,
int   
)
noexcept

◆ operator+() [5/5]

GeomType AMP::Mesh::operator+ ( int  ,
GeomType   
)
noexcept

◆ operator-() [1/6]

template<class TYPE >
constexpr AMP::Mesh::MeshPoint< TYPE > AMP::Mesh::operator- ( const AMP::Mesh::MeshPoint< TYPE > &  a)
constexpr

◆ operator-() [2/6]

template<class TYPE >
constexpr AMP::Mesh::MeshPoint< TYPE > AMP::Mesh::operator- ( const AMP::Mesh::MeshPoint< TYPE > &  a,
const AMP::Mesh::MeshPoint< TYPE > &  b 
)
constexpr

◆ operator-() [3/6]

template<class TYPE >
constexpr AMP::Mesh::MeshPoint< TYPE > AMP::Mesh::operator- ( const AMP::Mesh::MeshPoint< TYPE > &  a,
const TYPE &  b 
)
constexpr

◆ operator-() [4/6]

template<class TYPE >
constexpr AMP::Mesh::MeshPoint< TYPE > AMP::Mesh::operator- ( const TYPE &  a,
const AMP::Mesh::MeshPoint< TYPE > &  b 
)
constexpr

Definition at line 298 of file MeshPoint.h.

◆ operator-() [5/6]

GeomType AMP::Mesh::operator- ( GeomType  ,
int   
)
noexcept

◆ operator-() [6/6]

GeomType AMP::Mesh::operator- ( int  ,
GeomType   
)
noexcept

◆ operator<<() [1/6]

template<class TYPE >
std::ostream & AMP::Mesh::operator<< ( std::ostream &  out,
const AMP::Mesh::MeshPoint< TYPE > &  x 
)

Definition at line 361 of file MeshPoint.h.

References AMP::Mesh::MeshPoint< TYPE >::print().

◆ operator<<() [2/6]

std::ostream & AMP::Mesh::operator<< ( std::ostream &  out,
const BoxMesh::MeshElementIndex x 
)

◆ operator<<() [3/6]

std::ostream & AMP::Mesh::operator<< ( std::ostream &  out,
ElementID  x 
)

◆ operator<<() [4/6]

std::ostream & AMP::Mesh::operator<< ( std::ostream &  out,
GeomType  x 
)

◆ operator<<() [5/6]

std::ostream & AMP::Mesh::operator<< ( std::ostream &  out,
MeshElementID  x 
)

◆ operator<<() [6/6]

std::ostream & AMP::Mesh::operator<< ( std::ostream &  out,
MeshID  x 
)

◆ sample() [1/2]

std::tuple< std::vector< Point >, std::vector< MeshElementID > > AMP::Mesh::sample ( const Mesh mesh,
double  dx 
)

Get points in the mesh.

This function returns points in the mesh at the given resolution. Note: The nodes are always used.

Parameters
meshMesh to sample
dxResolution to use Note: if dx=0, then an automatic resolution is used.

◆ sample() [2/2]

std::vector< Point > AMP::Mesh::sample ( const MeshElement elem,
double  dx 
)

Get points in the element.

This function returns points in the mesh element at the given resolution.

Parameters
elemElement to sample
dxResolution to use.

◆ to_string()

std::string AMP::Mesh::to_string ( GeomType  x)

◆ volumeOverlap()

Array< double > AMP::Mesh::volumeOverlap ( const AMP::Geometry::Geometry geom,
const std::vector< int > &  N 
)

Get a grid with the overlap with the given geometry.

This function returns an Array with the given resolution in which each cell contains the volume of the underlying geometry that intersects with the cell.

Parameters
geomGeometry to use
NNumber of cells to use



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:43.
Comments on this page