version 3.10-dev
Dumux::GridData< Grid > Class Template Reference

Class for grid data attached to dgf or gmsh grid files.

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

Public Member Functions

 GridData (std::shared_ptr< Grid > grid, std::shared_ptr< Dune::GridFactory< Grid > > factory, std::vector< int > &&elementMarkers, std::vector< int > &&boundaryMarkers, std::vector< int > &&faceMarkers=std::vector< int >{})
 constructor for gmsh grid data More...
 
 GridData (Dune::GridPtr< Grid > grid)
 constructor for dgf grid data More...
 
 GridData (std::shared_ptr< Grid > grid, std::shared_ptr< Dune::GridFactory< Grid > > factory, VTKReader::Data &&cellData, VTKReader::Data &&pointData)
 constructor for VTK grid data More...
 
DGF interface functions
const std::vector< double > & parameters (const Vertex &vertex) const
 Call the parameters function of the DGF grid pointer if available for vertex data. More...
 
const std::vector< double > & parameters (const Element &element) const
 Call the parameters function of the DGF grid pointer if available for element data. More...
 
template<class GridImp , class IntersectionImp >
const Dune::DGFBoundaryParameter::type & parameters (const Dune::Intersection< GridImp, IntersectionImp > &intersection) const
 Call the parameters function of the DGF grid pointer if available. More...
 
Gmsh interface functions
int getBoundaryDomainMarker (int boundarySegmentIndex) const
 Return the boundary domain marker (Gmsh physical entity number) of an intersection Only available when using Gmsh with GridParameterGroup.DomainMarkers = 1. More...
 
int getBoundaryDomainMarker (const Intersection &intersection) const
 Return the boundary domain marker (Gmsh physical entity number) of an intersection Only available when using Gmsh with GridParameterGroup.DomainMarkers = 1. More...
 
bool wasInserted (const Intersection &intersection) const
 Returns true if an intersection was inserted during grid creation. More...
 
int getElementDomainMarker (const Element &element) const
 Return the element domain marker (Gmsh physical entity number) of an element. Only available when using Gmsh with GridParameterGroup.DomainMarkers = 1. More...
 
template<bool ug = Detail::isUG<Grid>::value, typename std::enable_if_t<!ug, int > = 0>
GmshDataHandle createGmshDataHandle ()
 Create a data handle for communication of the data in parallel simulations. More...
 
template<bool ug = Detail::isUG<Grid>::value, typename std::enable_if_t< ug, int > = 0>
GmshDataHandle createGmshDataHandle ()
 Create a data handle for communication of the data in parallel simulations. More...
 

VTK interface functions

double getParameter (const Element &element, const std::string &fieldName) const
 Get an element parameter. More...
 
template<class T , std::size_t size>
std::array< T, size > getArrayParameter (const Element &element, const std::string &fieldName) const
 Get an element parameter that is an array. More...
 
double getParameter (const Vertex &vertex, const std::string &fieldName) const
 Call the parameters function of the DGF grid pointer if available for vertex data. More...
 
template<class T , std::size_t size>
std::array< T, size > getArrayParameter (const Vertex &vertex, const std::string &fieldName) const
 Call the parameters function of the DGF grid pointer if available for vertex data. More...
 
VtkDataHandle createVtkDataHandle ()
 Create a data handle for communication of the data in parallel simulations. More...
 

Constructor & Destructor Documentation

◆ GridData() [1/3]

template<class Grid >
Dumux::GridData< Grid >::GridData ( std::shared_ptr< Grid >  grid,
std::shared_ptr< Dune::GridFactory< Grid > >  factory,
std::vector< int > &&  elementMarkers,
std::vector< int > &&  boundaryMarkers,
std::vector< int > &&  faceMarkers = std::vector<int>{} 
)
inline

◆ GridData() [2/3]

template<class Grid >
Dumux::GridData< Grid >::GridData ( Dune::GridPtr< Grid >  grid)
inline

◆ GridData() [3/3]

template<class Grid >
Dumux::GridData< Grid >::GridData ( std::shared_ptr< Grid >  grid,
std::shared_ptr< Dune::GridFactory< Grid > >  factory,
VTKReader::Data &&  cellData,
VTKReader::Data &&  pointData 
)
inline

Member Function Documentation

◆ createGmshDataHandle() [1/2]

template<class Grid >
template<bool ug = Detail::isUG<Grid>::value, typename std::enable_if_t<!ug, int > = 0>
GmshDataHandle Dumux::GridData< Grid >::createGmshDataHandle ( )
inline
Note
this data handle is the default

◆ createGmshDataHandle() [2/2]

template<class Grid >
template<bool ug = Detail::isUG<Grid>::value, typename std::enable_if_t< ug, int > = 0>
GmshDataHandle Dumux::GridData< Grid >::createGmshDataHandle ( )
inline
Note
this data handle is the specialized for UGGrid since UGGrid can't communicate element data (yet)

◆ createVtkDataHandle()

template<class Grid >
VtkDataHandle Dumux::GridData< Grid >::createVtkDataHandle ( )
inline

◆ getArrayParameter() [1/2]

template<class Grid >
template<class T , std::size_t size>
std::array< T, size > Dumux::GridData< Grid >::getArrayParameter ( const Element &  element,
const std::string &  fieldName 
) const
inline
Parameters
elementthe element
fieldNamethe name of the field to read from the vtk data
Template Parameters
Tthe parameter scalar type
sizethe number of parameters in the array

◆ getArrayParameter() [2/2]

template<class Grid >
template<class T , std::size_t size>
std::array< T, size > Dumux::GridData< Grid >::getArrayParameter ( const Vertex &  vertex,
const std::string &  fieldName 
) const
inline
Parameters
vertexthe vertex
fieldNamethe name of the field to read from the vtk data
Template Parameters
Tthe parameter scalar type
sizethe number of parameters in the array
Note
You can only pass vertices that exist on level 0 (otherwise: undefined behaviour).

◆ getBoundaryDomainMarker() [1/2]

template<class Grid >
int Dumux::GridData< Grid >::getBoundaryDomainMarker ( const Intersection &  intersection) const
inline
Parameters
intersectionThe intersection to be evaluated

◆ getBoundaryDomainMarker() [2/2]

template<class Grid >
int Dumux::GridData< Grid >::getBoundaryDomainMarker ( int  boundarySegmentIndex) const
inline
Parameters
boundarySegmentIndexThe boundary segment index of the intersection (intersection.boundarySegmentIndex()

◆ getElementDomainMarker()

template<class Grid >
int Dumux::GridData< Grid >::getElementDomainMarker ( const Element &  element) const
inline
Parameters
elementThe element to be evaluated

◆ getParameter() [1/2]

template<class Grid >
double Dumux::GridData< Grid >::getParameter ( const Element &  element,
const std::string &  fieldName 
) const
inline
Parameters
elementthe element
fieldNamethe name of the field to read from the vtk data

◆ getParameter() [2/2]

template<class Grid >
double Dumux::GridData< Grid >::getParameter ( const Vertex &  vertex,
const std::string &  fieldName 
) const
inline
Parameters
vertexthe vertex
fieldNamethe name of the field to read from the vtk data
Note
You can only pass vertices that exist on level 0!

◆ parameters() [1/3]

template<class Grid >
template<class GridImp , class IntersectionImp >
const Dune::DGFBoundaryParameter::type & Dumux::GridData< Grid >::parameters ( const Dune::Intersection< GridImp, IntersectionImp > &  intersection) const
inline

◆ parameters() [2/3]

template<class Grid >
const std::vector< double > & Dumux::GridData< Grid >::parameters ( const Element &  element) const
inline

◆ parameters() [3/3]

template<class Grid >
const std::vector< double > & Dumux::GridData< Grid >::parameters ( const Vertex &  vertex) const
inline
Note
You can only pass vertices that exist on level 0!

◆ wasInserted()

template<class Grid >
bool Dumux::GridData< Grid >::wasInserted ( const Intersection &  intersection) const
inline

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