Cabana 0.8.0-dev
 
Loading...
Searching...
No Matches
Cabana_Grid_GlobalMesh.hpp File Reference

Global mesh. More...

#include <Cabana_Grid_Types.hpp>
#include <array>
#include <cmath>
#include <limits>
#include <memory>
#include <stdexcept>
#include <type_traits>
#include <vector>
Include dependency graph for Cabana_Grid_GlobalMesh.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Cabana::Grid::GlobalMesh< MeshType >
 Global mesh partial specialization for uniform mesh. More...
 
class  Cabana::Grid::GlobalMesh< NonUniformMesh< Scalar, 3 > >
 Global mesh partial specialization for 3D non-uniform mesh. More...
 
class  Cabana::Grid::GlobalMesh< NonUniformMesh< Scalar, 2 > >
 Global mesh partial specialization for 2D non-uniform mesh. More...
 

Namespaces

namespace  Cabana
 Core: particle data structures and algorithms.
 

Functions

template<class Scalar, std::size_t NumSpaceDim>
std::shared_ptr< GlobalMesh< UniformMesh< Scalar, NumSpaceDim > > > Cabana::Grid::createUniformGlobalMesh (const std::array< Scalar, NumSpaceDim > &global_low_corner, const std::array< Scalar, NumSpaceDim > &global_high_corner, const Scalar cell_size)
 Create uniform mesh with uniform cell size.
 
template<class Scalar, std::size_t NumSpaceDim>
std::shared_ptr< GlobalMesh< UniformMesh< Scalar, NumSpaceDim > > > Cabana::Grid::createUniformGlobalMesh (const std::array< Scalar, NumSpaceDim > &global_low_corner, const std::array< Scalar, NumSpaceDim > &global_high_corner, const std::array< Scalar, NumSpaceDim > &cell_size)
 Create uniform mesh with uniform cell size.
 
template<class Scalar, std::size_t NumSpaceDim>
std::shared_ptr< GlobalMesh< UniformMesh< Scalar, NumSpaceDim > > > Cabana::Grid::createUniformGlobalMesh (const std::array< Scalar, NumSpaceDim > &global_low_corner, const std::array< Scalar, NumSpaceDim > &global_high_corner, const std::array< int, NumSpaceDim > &global_num_cell)
 Create uniform mesh with total number of cells.
 
template<class Scalar, std::size_t NumSpaceDim>
std::shared_ptr< GlobalMesh< SparseMesh< Scalar, NumSpaceDim > > > Cabana::Grid::createSparseGlobalMesh (const std::array< Scalar, NumSpaceDim > &global_low_corner, const std::array< Scalar, NumSpaceDim > &global_high_corner, const Scalar cell_size)
 Create sparse mesh with uniform cell size.
 
template<class Scalar, std::size_t NumSpaceDim>
std::shared_ptr< GlobalMesh< SparseMesh< Scalar, NumSpaceDim > > > Cabana::Grid::createSparseGlobalMesh (const std::array< Scalar, NumSpaceDim > &global_low_corner, const std::array< Scalar, NumSpaceDim > &global_high_corner, const std::array< Scalar, NumSpaceDim > &cell_size)
 Create sparse mesh with uniform cell size.
 
template<class Scalar, std::size_t NumSpaceDim>
std::shared_ptr< GlobalMesh< SparseMesh< Scalar, NumSpaceDim > > > Cabana::Grid::createSparseGlobalMesh (const std::array< Scalar, NumSpaceDim > &global_low_corner, const std::array< Scalar, NumSpaceDim > &global_high_corner, const std::array< int, NumSpaceDim > &global_num_cell)
 Create sparse mesh with total number of cells.
 
template<class Scalar>
std::shared_ptr< GlobalMesh< NonUniformMesh< Scalar, 3 > > > Cabana::Grid::createNonUniformGlobalMesh (const std::vector< Scalar > &i_edges, const std::vector< Scalar > &j_edges, const std::vector< Scalar > &k_edges)
 Create a non-uniform 3D mesh.
 
template<class Scalar>
std::shared_ptr< GlobalMesh< NonUniformMesh< Scalar, 2 > > > Cabana::Grid::createNonUniformGlobalMesh (const std::vector< Scalar > &i_edges, const std::vector< Scalar > &j_edges)
 Create a non-uniform 2D mesh.
 

Detailed Description

Global mesh.

Function Documentation

◆ createNonUniformGlobalMesh() [1/2]

template<class Scalar>
std::shared_ptr< GlobalMesh< NonUniformMesh< Scalar, 2 > > > Cabana::Grid::createNonUniformGlobalMesh ( const std::vector< Scalar > & i_edges,
const std::vector< Scalar > & j_edges )

Create a non-uniform 2D mesh.

Template Parameters
ScalarMesh scalar type.
Parameters
i_edges,j_edgesList of edges defining the mesh in each dimension.
Returns
Shared pointer to a GlobalMesh.

◆ createNonUniformGlobalMesh() [2/2]

template<class Scalar>
std::shared_ptr< GlobalMesh< NonUniformMesh< Scalar, 3 > > > Cabana::Grid::createNonUniformGlobalMesh ( const std::vector< Scalar > & i_edges,
const std::vector< Scalar > & j_edges,
const std::vector< Scalar > & k_edges )

Create a non-uniform 3D mesh.

Parameters
i_edges,j_edges,k_edgesList of edges defining the mesh in each dimension.
Returns
Shared pointer to a GlobalMesh.

◆ createSparseGlobalMesh() [1/3]

template<class Scalar, std::size_t NumSpaceDim>
std::shared_ptr< GlobalMesh< SparseMesh< Scalar, NumSpaceDim > > > Cabana::Grid::createSparseGlobalMesh ( const std::array< Scalar, NumSpaceDim > & global_low_corner,
const std::array< Scalar, NumSpaceDim > & global_high_corner,
const Scalar cell_size )

Create sparse mesh with uniform cell size.

Template Parameters
ScalarMesh floating point type.
NumSpaceDimSpatial dimension.
Parameters
global_low_corner,global_high_cornerLocation of the mesh corner.
cell_sizeUniform cell size for every dimension.
Returns
Shared pointer to a GlobalMesh.

◆ createSparseGlobalMesh() [2/3]

template<class Scalar, std::size_t NumSpaceDim>
std::shared_ptr< GlobalMesh< SparseMesh< Scalar, NumSpaceDim > > > Cabana::Grid::createSparseGlobalMesh ( const std::array< Scalar, NumSpaceDim > & global_low_corner,
const std::array< Scalar, NumSpaceDim > & global_high_corner,
const std::array< int, NumSpaceDim > & global_num_cell )

Create sparse mesh with total number of cells.

Template Parameters
ScalarMesh floating point type.
NumSpaceDimSpatial dimension.
Parameters
global_low_corner,global_high_cornerLocation of the mesh corner.
global_num_cellArray ofnumber of cells per dimension.
Returns
Shared pointer to a GlobalMesh.

◆ createSparseGlobalMesh() [3/3]

template<class Scalar, std::size_t NumSpaceDim>
std::shared_ptr< GlobalMesh< SparseMesh< Scalar, NumSpaceDim > > > Cabana::Grid::createSparseGlobalMesh ( const std::array< Scalar, NumSpaceDim > & global_low_corner,
const std::array< Scalar, NumSpaceDim > & global_high_corner,
const std::array< Scalar, NumSpaceDim > & cell_size )

Create sparse mesh with uniform cell size.

Template Parameters
ScalarMesh floating point type.
NumSpaceDimSpatial dimension.
Parameters
global_low_corner,global_high_cornerLocation of the mesh corner.
cell_sizeArray ofuniform cell size per dimension.
Returns
Shared pointer to a GlobalMesh.

◆ createUniformGlobalMesh() [1/3]

template<class Scalar, std::size_t NumSpaceDim>
std::shared_ptr< GlobalMesh< UniformMesh< Scalar, NumSpaceDim > > > Cabana::Grid::createUniformGlobalMesh ( const std::array< Scalar, NumSpaceDim > & global_low_corner,
const std::array< Scalar, NumSpaceDim > & global_high_corner,
const Scalar cell_size )

Create uniform mesh with uniform cell size.

Template Parameters
ScalarMesh floating point type.
NumSpaceDimSpatial dimension.
Parameters
global_low_corner,global_high_cornerLocation of the mesh corner.
cell_sizeUniform cell size for every dimension.
Returns
Shared pointer to a GlobalMesh.

◆ createUniformGlobalMesh() [2/3]

template<class Scalar, std::size_t NumSpaceDim>
std::shared_ptr< GlobalMesh< UniformMesh< Scalar, NumSpaceDim > > > Cabana::Grid::createUniformGlobalMesh ( const std::array< Scalar, NumSpaceDim > & global_low_corner,
const std::array< Scalar, NumSpaceDim > & global_high_corner,
const std::array< int, NumSpaceDim > & global_num_cell )

Create uniform mesh with total number of cells.

Template Parameters
ScalarMesh floating point type.
NumSpaceDimSpatial dimension.
Parameters
global_low_corner,global_high_cornerLocation of the mesh corner.
global_num_cellArray ofnumber of cells per dimension.
Returns
Shared pointer to a GlobalMesh.

◆ createUniformGlobalMesh() [3/3]

template<class Scalar, std::size_t NumSpaceDim>
std::shared_ptr< GlobalMesh< UniformMesh< Scalar, NumSpaceDim > > > Cabana::Grid::createUniformGlobalMesh ( const std::array< Scalar, NumSpaceDim > & global_low_corner,
const std::array< Scalar, NumSpaceDim > & global_high_corner,
const std::array< Scalar, NumSpaceDim > & cell_size )

Create uniform mesh with uniform cell size.

Template Parameters
ScalarMesh floating point type.
NumSpaceDimSpatial dimension.
Parameters
global_low_corner,global_high_cornerLocation of the mesh corner.
cell_sizeArray ofuniform cell size per dimension.
Returns
Shared pointer to a GlobalMesh.