Dune::CartesianIndexMapper< Dune::ALUGrid< 3, 3, Dune::cube, Dune::nonconforming > > Class Reference

Interface class to access the logical Cartesian grid as used in industry standard simulator decks. More...

#include <AluGridCartesianIndexMapper.hpp>

Classes

class  GlobalIndexDataHandle
 

Public Types

using Grid = Dune::ALUGrid< 3, 3, Dune::cube, Dune::nonconforming, Dune::ALUGridMPIComm >
 

Public Member Functions

 CartesianIndexMapper (const Grid &grid, const std::array< int, dimension > &cartDims, const std::vector< int > &cartesianIndex)
 constructor taking grid More...
 
const std::array< int, dimension > & cartesianDimensions () const
 return Cartesian dimensions, i.e. number of cells in each direction
More...
 
int cartesianSize () const
 return total number of cells in the logical Cartesian grid More...
 
int compressedSize () const
 return number of cells in the active grid More...
 
int compressedLevelZeroSize () const
 return number of cells in the active grid. Only for unifying calls with CpGrid and PolyhedralGrid specializations. More...
 
int cartesianIndex (const int compressedElementIndex) const
 return index of the cells in the logical Cartesian grid More...
 
int cartesianIndex (const std::array< int, dimension > &coords) const
 return index of the cells in the logical Cartesian grid More...
 
void cartesianCoordinate (const int compressedElementIndex, std::array< int, dimension > &coords) const
 return Cartesian coordinate, i.e. IJK, for a given cell More...
 
void cartesianCoordinateLevel (const int compressedElementIndex, std::array< int, dimension > &coords, int level) const
 Only for unifying calls with CartesianIndexMapper<CpGrid> where levels are relevant. More...
 
template<class GridView >
std::unique_ptr< GlobalIndexDataHandle< GridView > > dataHandle (const GridView &gridView)
 

Static Public Attributes

static constexpr int dimension = Grid::dimension
 dimension of the grid More...
 

Protected Member Functions

int computeCartesianSize () const
 

Protected Attributes

const Gridgrid_
 
const std::array< int, dimensioncartesianDimensions_
 
std::vector< int > cartesianIndex_
 
const int cartesianSize_
 

Detailed Description

Interface class to access the logical Cartesian grid as used in industry standard simulator decks.

Member Typedef Documentation

◆ Grid

using Dune::CartesianIndexMapper< Dune::ALUGrid< 3, 3, Dune::cube, Dune::nonconforming > >::Grid = Dune::ALUGrid<3, 3, Dune::cube, Dune::nonconforming, Dune::ALUGridMPIComm>

Constructor & Destructor Documentation

◆ CartesianIndexMapper()

Dune::CartesianIndexMapper< Dune::ALUGrid< 3, 3, Dune::cube, Dune::nonconforming > >::CartesianIndexMapper ( const Grid grid,
const std::array< int, dimension > &  cartDims,
const std::vector< int > &  cartesianIndex 
)
inline

constructor taking grid

Member Function Documentation

◆ cartesianCoordinate()

void Dune::CartesianIndexMapper< Dune::ALUGrid< 3, 3, Dune::cube, Dune::nonconforming > >::cartesianCoordinate ( const int  compressedElementIndex,
std::array< int, dimension > &  coords 
) const
inline

return Cartesian coordinate, i.e. IJK, for a given cell

References Opm::to_string().

◆ cartesianCoordinateLevel()

void Dune::CartesianIndexMapper< Dune::ALUGrid< 3, 3, Dune::cube, Dune::nonconforming > >::cartesianCoordinateLevel ( const int  compressedElementIndex,
std::array< int, dimension > &  coords,
int  level 
) const
inline

Only for unifying calls with CartesianIndexMapper<CpGrid> where levels are relevant.

◆ cartesianDimensions()

const std::array< int, dimension > & Dune::CartesianIndexMapper< Dune::ALUGrid< 3, 3, Dune::cube, Dune::nonconforming > >::cartesianDimensions ( ) const
inline

return Cartesian dimensions, i.e. number of cells in each direction

◆ cartesianIndex() [1/2]

int Dune::CartesianIndexMapper< Dune::ALUGrid< 3, 3, Dune::cube, Dune::nonconforming > >::cartesianIndex ( const int  compressedElementIndex) const
inline

return index of the cells in the logical Cartesian grid

◆ cartesianIndex() [2/2]

int Dune::CartesianIndexMapper< Dune::ALUGrid< 3, 3, Dune::cube, Dune::nonconforming > >::cartesianIndex ( const std::array< int, dimension > &  coords) const
inline

return index of the cells in the logical Cartesian grid

◆ cartesianSize()

int Dune::CartesianIndexMapper< Dune::ALUGrid< 3, 3, Dune::cube, Dune::nonconforming > >::cartesianSize ( ) const
inline

return total number of cells in the logical Cartesian grid

◆ compressedLevelZeroSize()

int Dune::CartesianIndexMapper< Dune::ALUGrid< 3, 3, Dune::cube, Dune::nonconforming > >::compressedLevelZeroSize ( ) const
inline

return number of cells in the active grid. Only for unifying calls with CpGrid and PolyhedralGrid specializations.

◆ compressedSize()

int Dune::CartesianIndexMapper< Dune::ALUGrid< 3, 3, Dune::cube, Dune::nonconforming > >::compressedSize ( ) const
inline

return number of cells in the active grid

◆ computeCartesianSize()

int Dune::CartesianIndexMapper< Dune::ALUGrid< 3, 3, Dune::cube, Dune::nonconforming > >::computeCartesianSize ( ) const
inlineprotected

◆ dataHandle()

template<class GridView >
std::unique_ptr< GlobalIndexDataHandle< GridView > > Dune::CartesianIndexMapper< Dune::ALUGrid< 3, 3, Dune::cube, Dune::nonconforming > >::dataHandle ( const GridView &  gridView)
inline

Member Data Documentation

◆ cartesianDimensions_

const std::array<int, dimension> Dune::CartesianIndexMapper< Dune::ALUGrid< 3, 3, Dune::cube, Dune::nonconforming > >::cartesianDimensions_
protected

◆ cartesianIndex_

std::vector<int> Dune::CartesianIndexMapper< Dune::ALUGrid< 3, 3, Dune::cube, Dune::nonconforming > >::cartesianIndex_
protected

◆ cartesianSize_

const int Dune::CartesianIndexMapper< Dune::ALUGrid< 3, 3, Dune::cube, Dune::nonconforming > >::cartesianSize_
protected

◆ dimension

constexpr int Dune::CartesianIndexMapper< Dune::ALUGrid< 3, 3, Dune::cube, Dune::nonconforming > >::dimension = Grid::dimension
staticconstexpr

dimension of the grid

◆ grid_

const Grid& Dune::CartesianIndexMapper< Dune::ALUGrid< 3, 3, Dune::cube, Dune::nonconforming > >::grid_
protected

The documentation for this class was generated from the following file: