version 3.9-dev
Dumux::GridManager< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > > Class Template Reference

Provides a grid manager for YaspGrids with different zones and grading. More...

#include <dumux/io/grid/gridmanager_yasp.hh>

Inheritance diagram for Dumux::GridManager< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >:

Description

template<class ctype, int dim>
class Dumux::GridManager< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >

All keys are expected to be in group GridParameterGroup. The following keys are recognized:

  • Positions0 : position array for x-coordinate
  • Positions1 : position array for y-coordinate
  • Positions2 : position array for z-coordinate
  • Cells0 : number of cells array for x-coordinate
  • Cells1 : number of cells array for y-coordinate
  • Cells2 : number of cells array for z-coordinate
  • Grading0 : grading factor array for x-coordinate
  • Grading1 : grading factor array for y-coordinate
  • Grading2 : grading factor array for z-coordinate
  • Verbosity : whether the grid construction should output to standard out
  • Periodic : true or false for each direction
  • Overlap : overlap size in cells
  • Partitioning : a non-standard load-balancing, number of processors per direction
  • KeepPyhsicalOverlap : whether to keep the physical overlap in physical size or in number of cells upon refinement
  • Refinement : the number of global refines to apply initially.

The grading factor \( g \) specifies the ratio between the next and the current cell size: \( g = \frac{h_{i+1}}{h_i} \). Negative grading factors are converted to \( g = -\frac{1}{g_\textrm{negative}} \) to avoid issues with imprecise fraction numbers.

Public Types

using Grid = typename Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > >
 
using ParentType = GridManagerBase< Grid >
 
using GridData = Dumux::GridData< Grid >
 

Public Member Functions

void init (const std::string &modelParamGroup="")
 Make the grid. This is implemented by specializations of this method. More...
 
void init (const std::array< std::vector< ctype >, dim > &positions, const std::array< std::vector< int >, dim > &cells, const std::array< std::vector< ctype >, dim > &grading, const std::string &modelParamGroup="")
 Make the grid using input data not read from the input file. More...
 
Gridgrid ()
 Returns a reference to the grid. More...
 
const Gridgrid () const
 Returns a const reference to the grid. More...
 
void loadBalance ()
 Call loadBalance() function of the grid. More...
 
std::shared_ptr< GridDatagetGridData () const
 Get an owning pointer to grid data associated with the grid. More...
 
bool hasGridData () const
 Check whether there is data associated with the grid. More...
 

Protected Types

enum  CellType
 The cell types for structured grids. More...
 

Protected Member Functions

std::shared_ptr< Grid > & gridPtr ()
 Returns a reference to the grid pointer (std::shared_ptr<Grid>) More...
 
Dune::GridPtr< Grid > & dgfGridPtr ()
 Returns a reference to the DGF grid pointer (Dune::GridPtr<Grid>). More...
 
std::string getFileExtension (const std::string &fileName) const
 Returns the filename extension of a given filename. More...
 
void makeGridFromFile (const std::string &fileName, const std::string &modelParamGroup)
 Makes a grid from a file. We currently support. More...
 
void makeGridFromDgfFile (const std::string &fileName)
 Makes a grid from a DGF file. This is used by grid managers that only support DGF. More...
 
void makeStructuredGrid (CellType cellType, const std::string &modelParamGroup)
 Makes a structured cube grid using the structured grid factory. More...
 
void maybeRefineGrid (const std::string &modelParamGroup)
 Refines a grid after construction if GridParameterGroup.Refinement is set in the input file. More...
 

Protected Attributes

bool enableDgfGridPointer_
 A state variable if the DGF Dune::GridPtr has been enabled. It is always enabled if a DGF grid file was used to create the grid. More...
 
bool enableGmshDomainMarkers_
 A state variable if domain markers have been read from a Gmsh file. More...
 
std::shared_ptr< GridgridPtr_
 
Dune::GridPtr< GriddgfGridPtr_
 
std::shared_ptr< GridDatagridData_
 

Member Typedef Documentation

◆ Grid

template<class ctype , int dim>
using Dumux::GridManager< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >::Grid = typename Dune::YaspGrid<dim, Dune::TensorProductCoordinates<ctype, dim> >

◆ GridData

using Dumux::GridManagerBase< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >::GridData = Dumux::GridData<Grid>
inherited

◆ ParentType

template<class ctype , int dim>
using Dumux::GridManager< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >::ParentType = GridManagerBase<Grid>

Member Enumeration Documentation

◆ CellType

enum Dumux::GridManagerBase::CellType
protectedinherited

Member Function Documentation

◆ dgfGridPtr()

Dune::GridPtr< Grid > & Dumux::GridManagerBase< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >::dgfGridPtr ( )
inlineprotectedinherited

◆ getFileExtension()

std::string Dumux::GridManagerBase< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >::getFileExtension ( const std::string &  fileName) const
inlineprotectedinherited

◆ getGridData()

std::shared_ptr< GridData > Dumux::GridManagerBase< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >::getGridData ( ) const
inlineinherited
Note
Throws if no grid data is available

◆ grid() [1/2]

Grid & Dumux::GridManagerBase< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >::grid ( )
inlineinherited

◆ grid() [2/2]

const Grid & Dumux::GridManagerBase< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >::grid ( ) const
inlineinherited

◆ gridPtr()

std::shared_ptr< Grid > & Dumux::GridManagerBase< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >::gridPtr ( )
inlineprotectedinherited

◆ hasGridData()

bool Dumux::GridManagerBase< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >::hasGridData ( ) const
inlineinherited

◆ init() [1/2]

template<class ctype , int dim>
void Dumux::GridManager< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >::init ( const std::array< std::vector< ctype >, dim > &  positions,
const std::array< std::vector< int >, dim > &  cells,
const std::array< std::vector< ctype >, dim > &  grading,
const std::string &  modelParamGroup = "" 
)
inline

◆ init() [2/2]

template<class ctype , int dim>
void Dumux::GridManager< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >::init ( const std::string &  modelParamGroup = "")
inline

◆ loadBalance()

void Dumux::GridManagerBase< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >::loadBalance ( )
inlineinherited

◆ makeGridFromDgfFile()

void Dumux::GridManagerBase< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >::makeGridFromDgfFile ( const std::string &  fileName)
inlineprotectedinherited

◆ makeGridFromFile()

void Dumux::GridManagerBase< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >::makeGridFromFile ( const std::string &  fileName,
const std::string &  modelParamGroup 
)
inlineprotectedinherited
  • dgf (Dune Grid Format)
  • msh (Gmsh mesh format)
  • vtp/vtu (VTK file formats)

◆ makeStructuredGrid()

void Dumux::GridManagerBase< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >::makeStructuredGrid ( CellType  cellType,
const std::string &  modelParamGroup 
)
inlineprotectedinherited

◆ maybeRefineGrid()

void Dumux::GridManagerBase< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >::maybeRefineGrid ( const std::string &  modelParamGroup)
inlineprotectedinherited

Member Data Documentation

◆ dgfGridPtr_

Dune::GridPtr<Grid> Dumux::GridManagerBase< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >::dgfGridPtr_
protectedinherited

◆ enableDgfGridPointer_

bool Dumux::GridManagerBase< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >::enableDgfGridPointer_
protectedinherited

◆ enableGmshDomainMarkers_

bool Dumux::GridManagerBase< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >::enableGmshDomainMarkers_
protectedinherited

◆ gridData_

std::shared_ptr<GridData> Dumux::GridManagerBase< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >::gridData_
protectedinherited

◆ gridPtr_

std::shared_ptr<Grid> Dumux::GridManagerBase< Dune::YaspGrid< dim, Dune::TensorProductCoordinates< ctype, dim > > >::gridPtr_
protectedinherited

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