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

Sparse grid fields arrays using AoSoA. More...

#include <Cabana_Grid_SparseIndexSpace.hpp>
#include <Cabana_Grid_SparseLocalGrid.hpp>
#include <Cabana_Grid_Types.hpp>
#include <Cabana_AoSoA.hpp>
#include <Cabana_Utils.hpp>
#include <Kokkos_Core.hpp>
#include <cmath>
#include <memory>
#include <type_traits>
#include <vector>
#include <mpi.h>
Include dependency graph for Cabana_Grid_SparseArray.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Cabana::Grid::Experimental::SparseArrayLayout< DataTypes, EntityType, MeshType, SparseMapType >
 Entity layout for sparse array data on the local sparse mesh. More...
 
struct  Cabana::Grid::Experimental::is_sparse_array_layout< class >
 Sparse array layout static type checker. More...
 
struct  Cabana::Grid::Experimental::is_sparse_array_layout< SparseArrayLayout< DataTypes, EntityType, MeshType, SparseMapType > >
 Sparse array layout static type checker. More...
 
struct  Cabana::Grid::Experimental::is_sparse_array_layout< const SparseArrayLayout< DataTypes, EntityType, MeshType, SparseMapType > >
 Sparse array layout static type checker. More...
 
class  Cabana::Grid::Experimental::SparseArray< DataTypes, MemorySpace, EntityType, MeshType, SparseMapType >
 Sparse array of field data on the local sparse mesh; Array data is stored in AoSoA manner, with each tile being the SoA element. More...
 
struct  Cabana::Grid::Experimental::is_sparse_array< class >
 Sparse array static type checker. More...
 
struct  Cabana::Grid::Experimental::is_sparse_array< SparseArray< DataTypes, MemorySpace, EntityType, MeshType, SparseMapType > >
 Sparse array static type checker. More...
 
struct  Cabana::Grid::Experimental::is_sparse_array< const SparseArray< DataTypes, MemorySpace, EntityType, MeshType, SparseMapType > >
 Sparse array static type checker. More...
 

Namespaces

namespace  Cabana
 Core: particle data structures and algorithms.
 

Functions

template<class DataTypes, class EntityType, class MeshType, class SparseMapType>
auto Cabana::Grid::Experimental::createSparseArrayLayout (const std::shared_ptr< LocalGrid< MeshType > > &local_grid, SparseMapType &sparse_map, EntityType, const float over_allocation=1.01f)
 Create sparse array layout over the entities of a sparse local grid.
 
template<class MemorySpace, class DataTypes, class EntityType, class MeshType, class SparseMapType>
auto Cabana::Grid::Experimental::createSparseArray (const std::string label, SparseArrayLayout< DataTypes, EntityType, MeshType, SparseMapType > &layout)
 Create sparse array based on the sparse array layout.
 

Detailed Description

Sparse grid fields arrays using AoSoA.

Function Documentation

◆ createSparseArray()

template<class MemorySpace, class DataTypes, class EntityType, class MeshType, class SparseMapType>
auto Cabana::Grid::Experimental::createSparseArray ( const std::string label,
SparseArrayLayout< DataTypes, EntityType, MeshType, SparseMapType > & layout )

Create sparse array based on the sparse array layout.

Parameters
labelThe sparse array data description.
layoutThe sparse array layout.
Returns
SparseArray

◆ createSparseArrayLayout()

template<class DataTypes, class EntityType, class MeshType, class SparseMapType>
auto Cabana::Grid::Experimental::createSparseArrayLayout ( const std::shared_ptr< LocalGrid< MeshType > > & local_grid,
SparseMapType & sparse_map,
EntityType ,
const float over_allocation = 1.01f )

Create sparse array layout over the entities of a sparse local grid.

Parameters
local_gridThe sparse local grid over which to create the layout.
sparse_mapThe reference to a pre-created sparse map.
over_allocationFactor used to increase allocation size for special entities.
Note
EntityType The entity: Cell, Node, Face, or Edge.