HyperHDG
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
NodeDescriptor::File< hyEdge_dimT, space_dimT, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t > Class Template Reference

Hypergraph topology based on an input file. More...

#include <file.hxx>

Collaboration diagram for NodeDescriptor::File< hyEdge_dimT, space_dimT, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >:
Collaboration graph
[legend]

Classes

class  hyEdge
 Definition of the node types of a hypergraph's edges. More...
 

Public Types

typedef hyEdge value_type
 Define the return value of the class. More...
 
typedef Topology::File< hyEdge_dimT, space_dimT, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t > constructor_value_type
 Defines the value type of input argument for standard constructor. More...
 

Public Member Functions

 File (const constructor_value_type &topology)
 Construct a node descriptor from a file topology. More...
 
 File (const File< hyEdge_dimT, space_dimT, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t > &other)
 Copy constructor. More...
 
value_type operator[] (const hyEdge_index_t index) const
 Return hyperegde of given index. More...
 
value_type get_hyEdge (const hyEdge_index_t index) const
 Return hyperedge of given index. More...
 
unsigned int get_refinement () const
 Return the refinement level (equal to number of subintervals). More...
 
void set_refinement (unsigned int level)
 Set the refinement level (equal to number of subintervals). More...
 

Static Public Member Functions

static constexpr unsigned int hyEdge_dim ()
 Return local dimension of the hypergraph's hyperedges. More...
 
static constexpr unsigned int space_dim ()
 Return dimension of the surrounding space. More...
 

Private Attributes

const DomainInfo< hyEdge_dimT, space_dimT, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t > & domain_info_
 Domain Info containing all the information of the hypergraph (cf. ReadDomain.hxx). More...
 
unsigned int n_subintervals_
 Refinment level corresponds to number of subintervals per dimension. More...
 
Wrapper::tpcc_t< hyEdge_dimT, hyEdge_dimT, TPCC::boundaries::both, hyNode_index_t > tpcc_ref_elem_
 Tensor product chain complex for refined elements of hypergedge. More...
 
hyEdge_index_t n_hyEdges_
 Total amount of hyperedges in hypergraph. More...
 

Detailed Description

template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
class NodeDescriptor::File< hyEdge_dimT, space_dimT, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >

Hypergraph topology based on an input file.


The node descriptor class of a hypergraph which is read from a file. Thus, this class uses the file's information on hypernode types and returns them.

Authors
Guido Kanschat, Heidelberg University, 2019–2020.
Andreas Rupp, Heidelberg University, 2019–2020.

Member Typedef Documentation

◆ constructor_value_type

template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
typedef Topology:: File<hyEdge_dimT, space_dimT, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t> NodeDescriptor::File< hyEdge_dimT, space_dimT, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >::constructor_value_type

Defines the value type of input argument for standard constructor.


◆ value_type

template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
typedef hyEdge NodeDescriptor::File< hyEdge_dimT, space_dimT, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >::value_type

Define the return value of the class.


Constructor & Destructor Documentation

◆ File() [1/2]

template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
NodeDescriptor::File< hyEdge_dimT, space_dimT, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >::File ( const constructor_value_type topology)
inline

Construct a node descriptor from a file topology.


◆ File() [2/2]

template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
NodeDescriptor::File< hyEdge_dimT, space_dimT, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >::File ( const File< hyEdge_dimT, space_dimT, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t > &  other)
inline

Copy constructor.


Member Function Documentation

◆ get_hyEdge()

template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
value_type NodeDescriptor::File< hyEdge_dimT, space_dimT, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >::get_hyEdge ( const hyEdge_index_t  index) const
inline

Return hyperedge of given index.


Here is the call graph for this function:

◆ get_refinement()

template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
unsigned int NodeDescriptor::File< hyEdge_dimT, space_dimT, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >::get_refinement ( ) const
inline

Return the refinement level (equal to number of subintervals).


◆ hyEdge_dim()

template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
static constexpr unsigned int NodeDescriptor::File< hyEdge_dimT, space_dimT, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >::hyEdge_dim ( )
inlinestaticconstexpr

Return local dimension of the hypergraph's hyperedges.


◆ operator[]()

template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
value_type NodeDescriptor::File< hyEdge_dimT, space_dimT, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >::operator[] ( const hyEdge_index_t  index) const
inline

Return hyperegde of given index.


Here is the call graph for this function:

◆ set_refinement()

template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
void NodeDescriptor::File< hyEdge_dimT, space_dimT, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >::set_refinement ( unsigned int  level)
inline

Set the refinement level (equal to number of subintervals).


Here is the call graph for this function:

◆ space_dim()

template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
static constexpr unsigned int NodeDescriptor::File< hyEdge_dimT, space_dimT, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >::space_dim ( )
inlinestaticconstexpr

Return dimension of the surrounding space.


Member Data Documentation

◆ domain_info_

template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
const DomainInfo<hyEdge_dimT, space_dimT, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t>& NodeDescriptor::File< hyEdge_dimT, space_dimT, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >::domain_info_
private

Domain Info containing all the information of the hypergraph (cf. ReadDomain.hxx).


◆ n_hyEdges_

template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
hyEdge_index_t NodeDescriptor::File< hyEdge_dimT, space_dimT, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >::n_hyEdges_
private

Total amount of hyperedges in hypergraph.


◆ n_subintervals_

template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
unsigned int NodeDescriptor::File< hyEdge_dimT, space_dimT, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >::n_subintervals_
private

Refinment level corresponds to number of subintervals per dimension.


◆ tpcc_ref_elem_

template<unsigned int hyEdge_dimT, unsigned int space_dimT, template< typename... > typename vectorT = std::vector, typename pointT = Point<space_dimT, float>, typename hyEdge_index_t = unsigned int, typename hyNode_index_t = hyEdge_index_t, typename pt_index_t = hyNode_index_t>
Wrapper::tpcc_t<hyEdge_dimT, hyEdge_dimT, TPCC::boundaries::both, hyNode_index_t> NodeDescriptor::File< hyEdge_dimT, space_dimT, vectorT, pointT, hyEdge_index_t, hyNode_index_t, pt_index_t >::tpcc_ref_elem_
private

Tensor product chain complex for refined elements of hypergedge.



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