1 #ifndef OPM_POLYHEDRALCARTESIANINDEXMAPPER_HEADER
2 #define OPM_POLYHEDRALCARTESIANINDEXMAPPER_HEADER
4 #include <opm/grid/common/CartesianIndexMapper.hpp>
5 #include <opm/grid/polyhedralgrid.hh>
9 template<
int dim,
int dimworld,
typename coord_t >
15 const int cartesianSize_;
17 int computeCartesianSize()
const
20 for(
int d=1; d<dim; ++d )
25 static const int dimension = Grid :: dimension ;
29 cartesianSize_( computeCartesianSize() )
34 return grid_.logicalCartesianSize();
39 return cartesianSize_;
44 return grid_.
size( 0 );
49 assert( compressedElementIndex >= 0 && compressedElementIndex <
compressedSize() );
50 return grid_.globalCell()[ compressedElementIndex ];
53 void cartesianCoordinate(
const int compressedElementIndex, std::array<int,dimension>& coords)
const
Interface class to access the logical Cartesian grid as used in industry standard simulator decks.
Definition: CartesianIndexMapper.hpp:16
int cartesianIndex(const int) const
return index of the cells in the logical Cartesian grid
Definition: CartesianIndexMapper.hpp:47
int compressedSize() const
return number of cells in the active grid
Definition: CartesianIndexMapper.hpp:41
static const int dimension
dimension of the grid
Definition: CartesianIndexMapper.hpp:19
CartesianIndexMapper(const Grid &)
constructor taking grid
Definition: CartesianIndexMapper.hpp:22
int cartesianSize() const
return total number of cells in the logical Cartesian grid
Definition: CartesianIndexMapper.hpp:35
void cartesianCoordinate(const int, std::array< int, dimension > &) const
return Cartesian coordinate, i.e.
Definition: CartesianIndexMapper.hpp:53
const std::array< int, dimension > & cartesianDimensions() const
return Cartesian dimensions, i.e.
Definition: CartesianIndexMapper.hpp:28
identical grid wrapper
Definition: grid.hh:158
int size(int, int codim) const
obtain number of entites on a level
Definition: grid.hh:425
Copyright 2019 Equinor AS.
Definition: CartesianIndexMapper.hpp:10