version 3.11-dev
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
Dumux::FacetGridManager< HG, FacetGrid, HostGridManager > Class Template Reference

Grid manager for grids living on the facets of a host grid. More...

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

Description

template<typename HG, typename FacetGrid, typename HostGridManager = GridManager<HG>>
class Dumux::FacetGridManager< HG, FacetGrid, HostGridManager >
Note
Each facet is only visited from one side when selecting the facets to be extracted.
On surface grids as host grids, this implementation assumes that there are no bifurcations.

Public Types

using Grid = FacetGrid
 
using Vertex = typename Grid::template Codim< dim >::Entity
 
using HostGrid = HG
 
using HostGridVertex = typename HostGrid::template Codim< dim+1 >::Entity
 

Public Member Functions

template<Concept::FacetSelector< HostElement, HostIntersection > Selector>
void init (const HostGrid &hostGrid, const Selector &selector)
 Make the grid using an externally created host grid. More...
 
template<Concept::FacetSelector< HostElement, HostIntersection > Selector>
void init (const Selector &selector, const std::string &paramGroup="")
 Make the grid and create the host grid internally. More...
 
void loadBalance ()
 Call loadBalance() function of the grid. More...
 
Gridgrid ()
 Returns a reference to the grid. More...
 
const Gridgrid () const
 Returns a const reference to the grid. More...
 
bool hasGridData () const
 Return true if grid data is available. More...
 
HostGridVertex hostGridVertex (const Vertex &v) const
 Return the host grid vertex that overlaps with the given facet grid vertex. More...
 

Protected Member Functions

void initHostGrid_ (const std::string &paramGroup)
 
HostGridhostGrid_ ()
 

Protected Attributes

Dune::GridFactory< GridfacetGridFactory_
 
std::unique_ptr< GridfacetGrid_ {nullptr}
 
std::unique_ptr< HostVertexSethostVertexSet_ {nullptr}
 
std::unique_ptr< HostGridManager > hostGridManager_ {nullptr}
 
std::vector< std::size_t > facetInsertionToHostVertexIndex_
 

Member Typedef Documentation

◆ Grid

template<typename HG , typename FacetGrid , typename HostGridManager = GridManager<HG>>
using Dumux::FacetGridManager< HG, FacetGrid, HostGridManager >::Grid = FacetGrid

◆ HostGrid

template<typename HG , typename FacetGrid , typename HostGridManager = GridManager<HG>>
using Dumux::FacetGridManager< HG, FacetGrid, HostGridManager >::HostGrid = HG

◆ HostGridVertex

template<typename HG , typename FacetGrid , typename HostGridManager = GridManager<HG>>
using Dumux::FacetGridManager< HG, FacetGrid, HostGridManager >::HostGridVertex = typename HostGrid::template Codim<dim+1>::Entity

◆ Vertex

template<typename HG , typename FacetGrid , typename HostGridManager = GridManager<HG>>
using Dumux::FacetGridManager< HG, FacetGrid, HostGridManager >::Vertex = typename Grid::template Codim<dim>::Entity

Member Function Documentation

◆ grid() [1/2]

template<typename HG , typename FacetGrid , typename HostGridManager = GridManager<HG>>
Grid & Dumux::FacetGridManager< HG, FacetGrid, HostGridManager >::grid ( )
inline

◆ grid() [2/2]

template<typename HG , typename FacetGrid , typename HostGridManager = GridManager<HG>>
const Grid & Dumux::FacetGridManager< HG, FacetGrid, HostGridManager >::grid ( ) const
inline

◆ hasGridData()

template<typename HG , typename FacetGrid , typename HostGridManager = GridManager<HG>>
bool Dumux::FacetGridManager< HG, FacetGrid, HostGridManager >::hasGridData ( ) const
inline

◆ hostGrid_()

template<typename HG , typename FacetGrid , typename HostGridManager = GridManager<HG>>
HostGrid & Dumux::FacetGridManager< HG, FacetGrid, HostGridManager >::hostGrid_ ( )
inlineprotected

◆ hostGridVertex()

template<typename HG , typename FacetGrid , typename HostGridManager = GridManager<HG>>
HostGridVertex Dumux::FacetGridManager< HG, FacetGrid, HostGridManager >::hostGridVertex ( const Vertex v) const
inline

◆ init() [1/2]

template<typename HG , typename FacetGrid , typename HostGridManager = GridManager<HG>>
template<Concept::FacetSelector< HostElement, HostIntersection > Selector>
void Dumux::FacetGridManager< HG, FacetGrid, HostGridManager >::init ( const HostGrid hostGrid,
const Selector &  selector 
)
inline

◆ init() [2/2]

template<typename HG , typename FacetGrid , typename HostGridManager = GridManager<HG>>
template<Concept::FacetSelector< HostElement, HostIntersection > Selector>
void Dumux::FacetGridManager< HG, FacetGrid, HostGridManager >::init ( const Selector &  selector,
const std::string &  paramGroup = "" 
)
inline

◆ initHostGrid_()

template<typename HG , typename FacetGrid , typename HostGridManager = GridManager<HG>>
void Dumux::FacetGridManager< HG, FacetGrid, HostGridManager >::initHostGrid_ ( const std::string &  paramGroup)
inlineprotected

◆ loadBalance()

template<typename HG , typename FacetGrid , typename HostGridManager = GridManager<HG>>
void Dumux::FacetGridManager< HG, FacetGrid, HostGridManager >::loadBalance ( )
inline

Member Data Documentation

◆ facetGrid_

template<typename HG , typename FacetGrid , typename HostGridManager = GridManager<HG>>
std::unique_ptr<Grid> Dumux::FacetGridManager< HG, FacetGrid, HostGridManager >::facetGrid_ {nullptr}
protected

◆ facetGridFactory_

template<typename HG , typename FacetGrid , typename HostGridManager = GridManager<HG>>
Dune::GridFactory<Grid> Dumux::FacetGridManager< HG, FacetGrid, HostGridManager >::facetGridFactory_
protected

◆ facetInsertionToHostVertexIndex_

template<typename HG , typename FacetGrid , typename HostGridManager = GridManager<HG>>
std::vector<std::size_t> Dumux::FacetGridManager< HG, FacetGrid, HostGridManager >::facetInsertionToHostVertexIndex_
protected

◆ hostGridManager_

template<typename HG , typename FacetGrid , typename HostGridManager = GridManager<HG>>
std::unique_ptr<HostGridManager> Dumux::FacetGridManager< HG, FacetGrid, HostGridManager >::hostGridManager_ {nullptr}
protected

◆ hostVertexSet_

template<typename HG , typename FacetGrid , typename HostGridManager = GridManager<HG>>
std::unique_ptr<HostVertexSet> Dumux::FacetGridManager< HG, FacetGrid, HostGridManager >::hostVertexSet_ {nullptr}
protected

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