version 3.11-dev
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
Dumux::GridData< Grid > Class Template Reference

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

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

Public Types

enum class  DataSourceType { dgf , gmsh , vtk }
 

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 unstructured VTK grid data More...
 
template<class ImageGrid >
 GridData (std::shared_ptr< Grid > grid, std::shared_ptr< ImageGrid > imageGrid, VTKReader::Data &&cellData, VTKReader::Data &&pointData)
 constructor for structured 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 via the grid. More...
 
void communicateStructuredVtkData ()
 Communication of the data in parallel simulations for structured grid is done manually. More...
 
DataSourceType dataSourceType () const
 

Member Enumeration Documentation

◆ DataSourceType

template<class Grid >
enum class Dumux::GridData::DataSourceType
strong
Enumerator
dgf 
gmsh 
vtk 

Constructor & Destructor Documentation

◆ GridData() [1/4]

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/4]

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

◆ GridData() [3/4]

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

◆ GridData() [4/4]

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

Member Function Documentation

◆ communicateStructuredVtkData()

template<class Grid >
void Dumux::GridData< Grid >::communicateStructuredVtkData ( )
inline

◆ 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

◆ dataSourceType()

template<class Grid >
DataSourceType Dumux::GridData< Grid >::dataSourceType ( ) const
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: