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

Provides a grid manager for YaspGrids from information in the input file. More...

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

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

Description

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

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

  • File : a DGF file to load the coarse grid from
  • LowerLeft : lower left corner of the domain (only for EquidistantOffsetCoordinates, otherwise 0-origin)
  • UpperRight : upper right corner of the domain
  • Cells : the number of cells in each direction
  • 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.

Public Types

using Grid = typename Dune::YaspGrid< dim, Coordinates >
 
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 GlobalPosition &upperRight, const std::array< int, dim > &cells, const std::string &modelParamGroup="", const int overlap=1, const std::bitset< dim > periodic=std::bitset< dim >{})
 Make the grid using input data not read from the input file. More...
 
void init (const GlobalPosition &lowerLeft, const GlobalPosition &upperRight, const std::array< int, dim > &cells, const std::string &modelParamGroup="", const int overlap=1, const std::bitset< dim > periodic=std::bitset< dim >{})
 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 Coordinates , int dim>
using Dumux::GridManager< Dune::YaspGrid< dim, Coordinates > >::Grid = typename Dune::YaspGrid<dim, Coordinates>

◆ GridData

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

◆ ParentType

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

Member Enumeration Documentation

◆ CellType

enum Dumux::GridManagerBase::CellType
protectedinherited

Member Function Documentation

◆ dgfGridPtr()

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

◆ getFileExtension()

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

◆ getGridData()

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

◆ grid() [1/2]

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

◆ grid() [2/2]

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

◆ gridPtr()

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

◆ hasGridData()

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

◆ init() [1/3]

template<class Coordinates , int dim>
void Dumux::GridManager< Dune::YaspGrid< dim, Coordinates > >::init ( const GlobalPosition &  lowerLeft,
const GlobalPosition &  upperRight,
const std::array< int, dim > &  cells,
const std::string &  modelParamGroup = "",
const int  overlap = 1,
const std::bitset< dim >  periodic = std::bitset<dim>{} 
)
inline
Note
Use this function for EquidistantOffsetCoordinates.

◆ init() [2/3]

template<class Coordinates , int dim>
void Dumux::GridManager< Dune::YaspGrid< dim, Coordinates > >::init ( const GlobalPosition &  upperRight,
const std::array< int, dim > &  cells,
const std::string &  modelParamGroup = "",
const int  overlap = 1,
const std::bitset< dim >  periodic = std::bitset<dim>{} 
)
inline
Note
Use this function for EquidistantCoordinates where lowerLeft is always zero.

◆ init() [3/3]

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

◆ loadBalance()

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

◆ makeGridFromDgfFile()

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

◆ makeGridFromFile()

void Dumux::GridManagerBase< Dune::YaspGrid< dim, Coordinates > >::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, Coordinates > >::makeStructuredGrid ( CellType  cellType,
const std::string &  modelParamGroup 
)
inlineprotectedinherited

◆ maybeRefineGrid()

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

Member Data Documentation

◆ dgfGridPtr_

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

◆ enableDgfGridPointer_

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

◆ enableGmshDomainMarkers_

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

◆ gridData_

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

◆ gridPtr_

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

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