Advanced Multi-Physics (AMP)
On-Line Documentation
Functions
AMP::Mesh::TriangleHelpers Namespace Reference

Functions

template<size_t NG>
size_t count (const std::vector< std::array< int, NG+1 > > &tri)
 Count the number of unique triangles.
 
template<size_t NG, size_t NP>
void createTriangles (const std::vector< std::array< std::array< double, NP >, NG+1 > > &tri_list, std::vector< std::array< double, NP > > &vertices, std::vector< std::array< int, NG+1 > > &triangles, double tol)
 Create triangles/vertices from a set of triangles specified by their coordinates.
 
size_t estimateMeshSize (std::shared_ptr< const MeshParameters > params)
 Estimate Mesh size.
 
template<size_t NG, size_t NP = 3>
std::shared_ptr< AMP::Mesh::Meshgenerate (const std::vector< std::array< std::array< double, NP >, NG+1 > > &triangles, const AMP_MPI &comm, const std::string &name, double tol=1e-12, bool splitDomain=true, int loadBalanceMethod=1)
 Generate a triangle mesh from local triangle coordinates.
 
std::shared_ptr< AMP::Mesh::Meshgenerate (std::shared_ptr< const MeshParameters > params)
 Generate a triangle mesh (or multi-mesh) from parameters.
 
std::shared_ptr< AMP::Mesh::MeshgenerateGeom (std::shared_ptr< AMP::Geometry::Geometry > geom, const AMP_MPI &comm, double resolution)
 Generate a triangle mesh (or multi-mesh) from a geometry.
 
std::shared_ptr< AMP::Mesh::MeshgenerateSTL (std::shared_ptr< const AMP::Mesh::MeshParameters > params)
 Read an STL file and generate a mesh (triangle mesh or multi-mesh)
 
size_t maxProcs (std::shared_ptr< const MeshParameters > params)
 Maximum processor size.
 
std::vector< std::array< std::array< double, 3 >, 3 > > readSTL (const std::string &filename, double scale)
 Read an STL file.
 
size_t readSTLHeader (const std::string &filename)
 Read the header for an STL file.
 
template<size_t NG>
std::vector< std::vector< std::array< int, NG+1 > > > splitDomains (std::vector< std::array< int, NG+1 > > tri)
 Create triangles neighbors from the triangles.
 

Function Documentation

◆ count()

template<size_t NG>
size_t AMP::Mesh::TriangleHelpers::count ( const std::vector< std::array< int, NG+1 > > &  tri)

Count the number of unique triangles.

◆ createTriangles()

template<size_t NG, size_t NP>
void AMP::Mesh::TriangleHelpers::createTriangles ( const std::vector< std::array< std::array< double, NP >, NG+1 > > &  tri_list,
std::vector< std::array< double, NP > > &  vertices,
std::vector< std::array< int, NG+1 > > &  triangles,
double  tol 
)

Create triangles/vertices from a set of triangles specified by their coordinates.

◆ estimateMeshSize()

size_t AMP::Mesh::TriangleHelpers::estimateMeshSize ( std::shared_ptr< const MeshParameters params)

Estimate Mesh size.

◆ generate() [1/2]

template<size_t NG, size_t NP = 3>
std::shared_ptr< AMP::Mesh::Mesh > AMP::Mesh::TriangleHelpers::generate ( const std::vector< std::array< std::array< double, NP >, NG+1 > > &  triangles,
const AMP_MPI comm,
const std::string &  name,
double  tol = 1e-12,
bool  splitDomain = true,
int  loadBalanceMethod = 1 
)

Generate a triangle mesh from local triangle coordinates.

Create a triangle mesh from the local triangle coordinates. Note: rank 0 must contain all data, other ranks "may" contain copies

Parameters
trianglesList of triangles (rank 0 should contain all triangles)
commCommunicator to use
tolRelative tolerance to determine if two points are the same
nameName of mesh
splitDomainSplit multi-domain objects into seperate meshes (returning a multimesh)
loadBalanceMethodLoad balance method to use (only used if splitting multi-domain)

◆ generate() [2/2]

std::shared_ptr< AMP::Mesh::Mesh > AMP::Mesh::TriangleHelpers::generate ( std::shared_ptr< const MeshParameters params)

Generate a triangle mesh (or multi-mesh) from parameters.

◆ generateGeom()

std::shared_ptr< AMP::Mesh::Mesh > AMP::Mesh::TriangleHelpers::generateGeom ( std::shared_ptr< AMP::Geometry::Geometry geom,
const AMP_MPI comm,
double  resolution 
)

Generate a triangle mesh (or multi-mesh) from a geometry.

◆ generateSTL()

std::shared_ptr< AMP::Mesh::Mesh > AMP::Mesh::TriangleHelpers::generateSTL ( std::shared_ptr< const AMP::Mesh::MeshParameters params)

Read an STL file and generate a mesh (triangle mesh or multi-mesh)

◆ maxProcs()

size_t AMP::Mesh::TriangleHelpers::maxProcs ( std::shared_ptr< const MeshParameters params)

Maximum processor size.

◆ readSTL()

std::vector< std::array< std::array< double, 3 >, 3 > > AMP::Mesh::TriangleHelpers::readSTL ( const std::string &  filename,
double  scale 
)

Read an STL file.

◆ readSTLHeader()

size_t AMP::Mesh::TriangleHelpers::readSTLHeader ( const std::string &  filename)

Read the header for an STL file.

◆ splitDomains()

template<size_t NG>
std::vector< std::vector< std::array< int, NG+1 > > > AMP::Mesh::TriangleHelpers::splitDomains ( std::vector< std::array< int, NG+1 > >  tri)

Create triangles neighbors from the triangles.



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