24#ifndef DUMUX_IO_GRID_MANAGER_ONED_HH
25#define DUMUX_IO_GRID_MANAGER_ONED_HH
27#include <dune/grid/onedgrid.hh>
28#include <dune/grid/io/file/dgfparser/dgfoned.hh>
30#ifndef DUMUX_IO_GRID_MANAGER_BASE_HH
55 using Grid = Dune::OneDGrid;
61 void init(
const std::string& modelParamGroup =
"")
68 postProcessing_(modelParamGroup);
76 using CoordinateType =
typename Grid::ctype;
82 postProcessing_(modelParamGroup);
91 postProcessing_(modelParamGroup);
97 const auto prefix = modelParamGroup.empty() ? modelParamGroup : modelParamGroup +
".";
99 << prefix +
"Grid.RightBoundary"
100 <<
", or " << prefix +
"Grid.Coordinates"
101 <<
", or a grid file in " << prefix +
"Grid.File");
114 void postProcessing_(
const std::string& modelParamGroup)
118 if (refType ==
"Local")
119 ParentType::grid().setRefinementType(Dune::OneDGrid::RefinementType::LOCAL);
120 else if (refType ==
"Copy")
121 ParentType::grid().setRefinementType(Dune::OneDGrid::RefinementType::COPY);
123 DUNE_THROW(Dune::IOError,
"OneGrid only supports 'Local' or 'Copy' as refinment type. Not '"<< refType<<
"'!");
126 ParentType::maybeRefineGrid(modelParamGroup);
Provides a grid manager for all supported grid managers with input file interfaces....
T getParamFromGroup(Args &&... args)
A free function to get a parameter from the parameter tree singleton with a model group.
Definition parameters.hh:375
bool hasParamInGroup(const std::string ¶mGroup, const std::string ¶m)
Check whether a key exists in the parameter tree with a model group prefix.
Definition parameters.hh:391
Definition common/pdesolver.hh:35
Exception thrown if a run-time parameter is not specified correctly.
Definition exceptions.hh:60
The grid manager (this is the class used by the user) for all supported grid managers that constructs...
Definition gridmanager_base.hh:320
The grid manager base interface (public) and methods common to most grid manager specializations (pro...
Definition gridmanager_base.hh:73
void makeGridFromDgfFile(const std::string &fileName)
Definition gridmanager_base.hh:246
void loadBalance()
Definition gridmanager_base.hh:103
std::shared_ptr< Grid > & gridPtr()
Definition gridmanager_base.hh:142
void init(const std::string &modelParamGroup="")
Make the grid. This is implemented by specializations of this method.
Definition gridmanager_oned.hh:61
void loadBalance()
Call loadBalance() function of the grid. OneDGrid is not parallel an thus cannot communicate.
Definition gridmanager_oned.hh:108
GridManagerBase< Grid > ParentType
Definition gridmanager_oned.hh:56
Dune::OneDGrid Grid
Definition gridmanager_oned.hh:55