HArD::Core2D
Hybrid Arbitrary Degree::Core 2D - Library to implement 2D schemes with edge and cell polynomials as unknowns
Loading...
Searching...
No Matches
local-space-dimensions.hpp
Go to the documentation of this file.
1#ifndef LOCAL_SPACE_DIMENSIONS_HPP
2#define LOCAL_SPACE_DIMENSIONS_HPP
3
6
7namespace HArDCore2D {
8
9 namespace DSL {
10
11 template<typename SpaceType>
12 struct LocalSpaceDimensions {};
13
14 template<>
15 struct LocalSpaceDimensions<PolyCellType> {
16 static size_t get(int k)
17 {
19 }
20 };
21
22 template<>
23 struct LocalSpaceDimensions<PolyEdgeType> {
24 static size_t get(int k)
25 {
27 }
28 };
29
30 template<>
31 struct LocalSpaceDimensions<PolynCellType> {
32 static size_t get(int k)
33 {
35 }
36 };
37
38 template<>
39 struct LocalSpaceDimensions<PolynxnCellType> {
40 static size_t get(int k)
41 {
42 return std::pow(dimspace, 2) * PolynomialSpaceDimension<Cell>::Poly(k);
43 }
44 };
45
46 template<>
47 struct LocalSpaceDimensions<PolynEdgeType> {
48 static size_t get(int k)
49 {
51 }
52 };
53
54 template<>
55 struct LocalSpaceDimensions<RolyCellType> {
56 static size_t get(int k)
57 {
59 }
60 };
61
62 template<>
63 struct LocalSpaceDimensions<RolyComplCellType> {
64 static size_t get(int k)
65 {
67 }
68 };
69
70 template<>
71 struct LocalSpaceDimensions<GolyCellType> {
72 static size_t get(int k)
73 {
75 }
76 };
77
78 template<>
79 struct LocalSpaceDimensions<GolyComplCellType> {
80 static size_t get(int k)
81 {
83 }
84 };
85
86 template<>
87 struct LocalSpaceDimensions<RealVertexType> {
88 static size_t get(int k)
89 {
90 return 1;
91 }
92 };
93
94 template<>
95 struct LocalSpaceDimensions<RealnVertexType> {
96 static size_t get(int k)
97 {
98 return dimspace;
99 }
100 };
101
102 template<>
103 struct LocalSpaceDimensions<RealnxnVertexType> {
104 static size_t get(int k)
105 {
106 return std::pow(dimspace, 2);
107 }
108 };
109 } // namespace DSL
110
111} // namespace HArDCore2D
112
113#endif
constexpr int dimspace
Dimension, and generic types for vector in correct dimension (makes it easier to translate a code bet...
Definition basis.hpp:53
Family< GradientBasis< ShiftedBasis< MonomialScalarBasisCell > > > GolyCellType
Definition discrete-space-descriptor.hpp:19
TensorizedVectorFamily< PolyCellType, dimspace > PolynCellType
Definition discrete-space-descriptor.hpp:23
VectorRd RealnVertexType
Definition discrete-space-descriptor.hpp:26
MatrixRd RealnxnVertexType
Definition discrete-space-descriptor.hpp:27
Family< GolyComplBasisCell > GolyComplCellType
Definition discrete-space-descriptor.hpp:20
double RealVertexType
Definition discrete-space-descriptor.hpp:28
TensorizedVectorFamily< Family< MonomialScalarBasisEdge >, dimspace > PolynEdgeType
Definition discrete-space-descriptor.hpp:24
Family< RolyComplBasisCell > RolyComplCellType
Definition discrete-space-descriptor.hpp:30
Family< CurlBasis< ShiftedBasis< MonomialScalarBasisCell > > > RolyCellType
Definition discrete-space-descriptor.hpp:29
Family< MonomialScalarBasisCell > PolyCellType
Definition discrete-space-descriptor.hpp:21
MatrixFamily< PolyCellType, dimspace > PolynxnCellType
Definition discrete-space-descriptor.hpp:25
Family< MonomialScalarBasisEdge > PolyEdgeType
Definition discrete-space-descriptor.hpp:22
Definition ddr-klplate.hpp:27
static size_t get(int k)
Definition local-space-dimensions.hpp:72
static size_t get(int k)
Definition local-space-dimensions.hpp:80
static size_t get(int k)
Definition local-space-dimensions.hpp:16
static size_t get(int k)
Definition local-space-dimensions.hpp:24
static size_t get(int k)
Definition local-space-dimensions.hpp:32
static size_t get(int k)
Definition local-space-dimensions.hpp:48
static size_t get(int k)
Definition local-space-dimensions.hpp:40
static size_t get(int k)
Definition local-space-dimensions.hpp:88
static size_t get(int k)
Definition local-space-dimensions.hpp:96
static size_t get(int k)
Definition local-space-dimensions.hpp:104
static size_t get(int k)
Definition local-space-dimensions.hpp:56
static size_t get(int k)
Definition local-space-dimensions.hpp:64
Basis dimensions for various polynomial spaces on edges/faces/elements (when relevant): Pk,...
Definition polynomialspacedimension.hpp:55