HyperHDG
Public Member Functions | Public Attributes | List of all members
DomainInfo< hyEdge_dim, space_dim, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t > Struct Template Reference

Hold all topological and geometrical information of a hypergraph. More...

#include <read_domain.hxx>

Public Member Functions

 DomainInfo (const pt_index_t n_points, const hyEdge_index_t n_hyEdge, const hyNode_index_t n_hyNode, const pt_index_t n_point)
 Constructor of DomainInfo struct. More...
 
bool check_consistency ()
 Check, whether DomainInfo is in a consistent state. More...
 

Public Attributes

hyEdge_index_t n_hyEdges
 Total amount of hyperedges. More...
 
hyNode_index_t n_hyNodes
 Total amount of hypernodes. More...
 
pt_index_t n_points
 Total amount of points. More...
 
vectorT< pointT > points
 Vector containing points. More...
 
vectorT< std::array< hyNode_index_t, 2 *hyEdge_dim > > hyNodes_hyEdge
 Vector containing hypernode indices per hyperedge. More...
 
vectorT< std::array< hyNode_index_t, 2 *hyEdge_dim > > hyFaces_hyEdge
 
vectorT< std::array< pt_index_t, 1<< hyEdge_dim > > points_hyEdge
 Vector containing vertex indices per hyperedge. More...
 

Detailed Description

template<unsigned int hyEdge_dim, unsigned int space_dim, template< typename... > typename vectorT, typename pointT, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
struct DomainInfo< hyEdge_dim, space_dim, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >

Hold all topological and geometrical information of a hypergraph.


This struct holds all topological and geometrical information of a hypergraph that has been read from a file. Here, the hyperedges are supposed to be hypercuboids, i.e., we do not allow for simplicial structures here. These have not yet been implemented.

Template Parameters
hyEdge_dimThe local dimension of a hyperedge.
space_dimThe dimension of the surrounding space.
vectorTThe typename of a large vector holding e.g. all points.
pointTThe typename of a point.
hyEdge_index_tThe index type for hyperedges. Default is unsigned int.
hyNode_index_tThe index type for hypernodes. Default is hyEdge_index_t.
pt_index_tThe index type for points. Default is hyNode_index_t.
Authors
Guido Kanschat, Heidelberg University, 2020.
Andreas Rupp, Heidelberg University, 2020.

Constructor & Destructor Documentation

◆ DomainInfo()

template<unsigned int hyEdge_dim, unsigned int space_dim, template< typename... > typename vectorT, typename pointT , typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
DomainInfo< hyEdge_dim, space_dim, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >::DomainInfo ( const pt_index_t  n_points,
const hyEdge_index_t  n_hyEdge,
const hyNode_index_t  n_hyNode,
const pt_index_t  n_point 
)
inline

Constructor of DomainInfo struct.


Member Function Documentation

◆ check_consistency()

template<unsigned int hyEdge_dim, unsigned int space_dim, template< typename... > typename vectorT, typename pointT , typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
bool DomainInfo< hyEdge_dim, space_dim, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >::check_consistency ( )
inline

Check, whether DomainInfo is in a consistent state.


Member Data Documentation

◆ hyFaces_hyEdge

template<unsigned int hyEdge_dim, unsigned int space_dim, template< typename... > typename vectorT, typename pointT , typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
vectorT<std::array<hyNode_index_t, 2 * hyEdge_dim> > DomainInfo< hyEdge_dim, space_dim, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyFaces_hyEdge

◆ hyNodes_hyEdge

template<unsigned int hyEdge_dim, unsigned int space_dim, template< typename... > typename vectorT, typename pointT , typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
vectorT<std::array<hyNode_index_t, 2 * hyEdge_dim> > DomainInfo< hyEdge_dim, space_dim, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyNodes_hyEdge

Vector containing hypernode indices per hyperedge.


◆ n_hyEdges

template<unsigned int hyEdge_dim, unsigned int space_dim, template< typename... > typename vectorT, typename pointT , typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
hyEdge_index_t DomainInfo< hyEdge_dim, space_dim, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >::n_hyEdges

Total amount of hyperedges.


◆ n_hyNodes

template<unsigned int hyEdge_dim, unsigned int space_dim, template< typename... > typename vectorT, typename pointT , typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
hyNode_index_t DomainInfo< hyEdge_dim, space_dim, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >::n_hyNodes

Total amount of hypernodes.


◆ n_points

template<unsigned int hyEdge_dim, unsigned int space_dim, template< typename... > typename vectorT, typename pointT , typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
pt_index_t DomainInfo< hyEdge_dim, space_dim, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >::n_points

Total amount of points.


◆ points

template<unsigned int hyEdge_dim, unsigned int space_dim, template< typename... > typename vectorT, typename pointT , typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
vectorT<pointT> DomainInfo< hyEdge_dim, space_dim, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >::points

Vector containing points.


◆ points_hyEdge

template<unsigned int hyEdge_dim, unsigned int space_dim, template< typename... > typename vectorT, typename pointT , typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
vectorT<std::array<pt_index_t, 1 << hyEdge_dim> > DomainInfo< hyEdge_dim, space_dim, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >::points_hyEdge

Vector containing vertex indices per hyperedge.



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