HyperHDG
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Attributes | List of all members
Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT > Class Template Reference

Definition of the topology of a hypergraph — Cubic HyperGraphs. More...

#include <cubic.hxx>

Collaboration diagram for Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >:
Collaboration graph
[legend]

Classes

class  hyEdge
 Definition of the topology of a hypergraph's edges — Cubic HyperGraph's edges. More...
 

Public Types

typedef hyEdge value_type
 Define the return value of the class. More...
 
typedef ConstructorVecT constructor_value_type
 Define the value type of input argument for standard constructor. More...
 

Public Member Functions

 Cubic (const constructor_value_type &n_elements)
 Construct a cubic hypergraph. More...
 
 Cubic (const Cubic< hyEdge_dimT, space_dimT > &other)
 Construct a hypergraph topology from another hypergraph topology. More...
 
const value_type operator[] (const hyEdge_index_t index) const
 Get topological hyperedge of given index. More...
 
const ConstructorVecT & n_elements () const
 Read the array of elements per dimensions. More...
 
const Wrapper::tpcc_t< hyEdge_dimT, space_dimT, TPCC::boundaries::both, hyNode_index_t > & tpcc_elem () const
 Tensor product chain complex for elements. More...
 
const Wrapper::tpcc_t< hyEdge_dimT - 1, space_dimT, TPCC::boundaries::both, hyNode_index_t > & tpcc_face () const
 Tensor product chain complex for faces. More...
 
const Wrapper::tpcc_t< hyEdge_dimT, hyEdge_dimT, TPCC::boundaries::both, hyNode_index_t > & tpcc_ref_elem () const
 Tensor product chain complex of 'local' / refined elements. More...
 
const hyEdge_index_t n_hyEdges () const
 Return the number of hyperedges making up the hypergraph. More...
 
const hyNode_index_t n_hyNodes () const
 Return the number of hypernodes making up the hypergraph. 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 the template parameter representing the dimension of a hyperedge. More...
 
static constexpr unsigned int space_dim ()
 Return the template parameter representing the dimension of the space. More...
 

Private Types

using hyNode_index_t = typename NodeIndexVecT::value_type
 

Private Attributes

const ConstructorVecT n_elements_
 Number of elements per spatial dimension. More...
 
const Wrapper::tpcc_t< hyEdge_dimT, space_dimT, TPCC::boundaries::both, hyNode_index_ttpcc_elements_
 Tensor product chain complex for elements. More...
 
const Wrapper::tpcc_t< hyEdge_dimT - 1, space_dimT, TPCC::boundaries::both, hyNode_index_ttpcc_faces_
 Tensor product chain complex for faces. 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_ttpcc_ref_elem_
 Tensor product chain complex for refining a hyperedge into elements. More...
 
Wrapper::tpcc_t< hyEdge_dimT - 1, hyEdge_dimT, TPCC::boundaries::none, hyNode_index_ttpcc_ref_faces_
 Tensor product chain complex for refining a hyperedge into faces. More...
 
unsigned int n_elem_per_elem
 Number of refined elements per corase element. More...
 
unsigned int n_face_per_face
 Number of refined faces per corase face. More...
 
unsigned int n_face_per_elem
 Number of refined faces per corase element. More...
 
unsigned int n_coarse_elem
 Number of refined corase elements. More...
 
unsigned int n_coarse_face
 Number of refined corase faces. More...
 
hyEdge_index_t n_hyEdges_
 Total amount of hyperedges. More...
 
hyNode_index_t n_hyNodes_
 Total amount of hypernodes. More...
 

Detailed Description

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
class Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >

Definition of the topology of a hypergraph — Cubic HyperGraphs.


One of the advantages of this software package is the strict discrimination between the topology and the geometry of the domain \(\Omega\). Thus, one can exemplarily define a single topology (the one of a cube) to approximate PDEs that live on the cube's boundary and PDEs that live on a sphere, since their topology is the same. However, different geometries have to be defined, since these obviously are not equal. Thus, all parts of the code that involve communication and/or solving systems of equations are reusable in a much more general (than the standard) sense. Beyond that, absurd (on first sight) domains can be defined easily. This also covers variously periodic domains, for example.

Template Parameters
hyEdge_dimTDimension of a hyperedge, i.e., 1 is for PDEs defined on graphs, 2 is for PDEs defined on surfaces, and 3 is for PDEs defined on volumes.
space_dimTThe dimension of the space, the object is located in. This number should be larger than or equal to hyEdge_dimT.
NodeIncesVecTThe vector type of an array containing the node indices of an hyperedge.
ConstructorVecTThe vector type of the constructor.
hyEdge_index_tThe index type of an hyperedge.
NodeOrientationTThe class type that encodes the orientation of the hypernodes with respect to a given hyperedge.
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, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
typedef ConstructorVecT Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::constructor_value_type

Define the value type of input argument for standard constructor.


◆ hyNode_index_t

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
using Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::hyNode_index_t = typename NodeIndexVecT::value_type
private

◆ value_type

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
typedef hyEdge Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::value_type

Define the return value of the class.


Constructor & Destructor Documentation

◆ Cubic() [1/2]

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::Cubic ( const constructor_value_type n_elements)
inline

Construct a cubic hypergraph.


Parameters
n_elementsA vector / array containing number of elements per dimension.

◆ Cubic() [2/2]

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::Cubic ( const Cubic< hyEdge_dimT, space_dimT > &  other)
inline

Construct a hypergraph topology from another hypergraph topology.


Create a (value based) copy of another hypergraph.

Parameters
otherHypergraph to be copied.

Member Function Documentation

◆ get_refinement()

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
unsigned int Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::get_refinement ( ) const
inline

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


◆ hyEdge_dim()

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
static constexpr unsigned int Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::hyEdge_dim ( )
inlinestaticconstexpr

Return the template parameter representing the dimension of a hyperedge.


Return values
hyEdge_dimTThe dimension of a hyperedge.

◆ n_elements()

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
const ConstructorVecT& Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::n_elements ( ) const
inline

Read the array of elements per dimensions.


Return values
n_elementsA vector / arary containing the elements in the repective dimension.

◆ n_hyEdges()

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
const hyEdge_index_t Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::n_hyEdges ( ) const
inline

Return the number of hyperedges making up the hypergraph.


Return values
n_hyperedgesThe total amount of hyperedges of a hypergraph.

◆ n_hyNodes()

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
const hyNode_index_t Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::n_hyNodes ( ) const
inline

Return the number of hypernodes making up the hypergraph.


Return values
n_hypernodesThe total amount of hypernodes of a hypergraph.

◆ operator[]()

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
const value_type Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::operator[] ( const hyEdge_index_t  index) const
inline

Get topological hyperedge of given index.


This function returns the hyperedge of the given index, i.e., it returns the topological hyperedge (not the geometrical information). The topological informatiom comprises the indices of adjacent hypernodes and information about their respective orientations.

Parameters
indexThe index of the hyperedge to be returned.
Return values
hyperedgeTopological information on the hyperedge (cf. value_type).

◆ set_refinement()

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
void Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::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, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
static constexpr unsigned int Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::space_dim ( )
inlinestaticconstexpr

Return the template parameter representing the dimension of the space.


Return values
space_dimTThe dimension of the space.

◆ tpcc_elem()

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
const Wrapper::tpcc_t<hyEdge_dimT, space_dimT, TPCC::boundaries::both, hyNode_index_t>& Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::tpcc_elem ( ) const
inline

Tensor product chain complex for elements.


◆ tpcc_face()

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
const Wrapper::tpcc_t<hyEdge_dimT - 1, space_dimT, TPCC::boundaries::both, hyNode_index_t>& Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::tpcc_face ( ) const
inline

Tensor product chain complex for faces.


◆ tpcc_ref_elem()

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
const Wrapper::tpcc_t<hyEdge_dimT, hyEdge_dimT, TPCC::boundaries::both, hyNode_index_t>& Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::tpcc_ref_elem ( ) const
inline

Tensor product chain complex of 'local' / refined elements.


Member Data Documentation

◆ n_coarse_elem

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
unsigned int Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::n_coarse_elem
private

Number of refined corase elements.


◆ n_coarse_face

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
unsigned int Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::n_coarse_face
private

Number of refined corase faces.


◆ n_elem_per_elem

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
unsigned int Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::n_elem_per_elem
private

Number of refined elements per corase element.


◆ n_elements_

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
const ConstructorVecT Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::n_elements_
private

Number of elements per spatial dimension.


◆ n_face_per_elem

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
unsigned int Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::n_face_per_elem
private

Number of refined faces per corase element.


◆ n_face_per_face

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
unsigned int Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::n_face_per_face
private

Number of refined faces per corase face.


◆ n_hyEdges_

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
hyEdge_index_t Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::n_hyEdges_
private

Total amount of hyperedges.


◆ n_hyNodes_

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
hyNode_index_t Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::n_hyNodes_
private

Total amount of hypernodes.


◆ n_subintervals_

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
unsigned int Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::n_subintervals_
private

Refinment level corresponds to number of subintervals per dimension.


◆ tpcc_elements_

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
const Wrapper::tpcc_t<hyEdge_dimT, space_dimT, TPCC::boundaries::both, hyNode_index_t> Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::tpcc_elements_
private

Tensor product chain complex for elements.


◆ tpcc_faces_

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
const Wrapper::tpcc_t<hyEdge_dimT - 1, space_dimT, TPCC::boundaries::both, hyNode_index_t> Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::tpcc_faces_
private

Tensor product chain complex for faces.


◆ tpcc_ref_elem_

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
Wrapper::tpcc_t<hyEdge_dimT, hyEdge_dimT, TPCC::boundaries::both, hyNode_index_t> Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::tpcc_ref_elem_
private

Tensor product chain complex for refining a hyperedge into elements.


◆ tpcc_ref_faces_

template<unsigned int hyEdge_dimT, unsigned int space_dimT, typename NodeIndexVecT = SmallVec<2 * hyEdge_dimT, unsigned int>, typename ConstructorVecT = SmallVec<space_dimT, unsigned int>, typename hyEdge_index_t = typename NodeIndexVecT::value_type, typename NodeOrientationT = SmallVec<2 * hyEdge_dimT - 2, unsigned int>>
Wrapper::tpcc_t<hyEdge_dimT - 1, hyEdge_dimT, TPCC::boundaries::none, hyNode_index_t> Topology::Cubic< hyEdge_dimT, space_dimT, NodeIndexVecT, ConstructorVecT, hyEdge_index_t, NodeOrientationT >::tpcc_ref_faces_
private

Tensor product chain complex for refining a hyperedge into faces.



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