PolyDiM
C++ library for POLYtopal DIscretization Methods
Loading...
Searching...
No Matches
VEM_MCC_3D_LocalSpace_Data.hpp
Go to the documentation of this file.
1// _LICENSE_HEADER_
2//
3// Copyright (C) 2019 - 2025.
4// Terms register on the GPL-3.0 license.
5//
6// This file can be redistributed and/or modified under the license terms.
7//
8// See top level LICENSE file for more details.
9//
10// This file can be used citing references in CITATION.cff file.
11
12#ifndef __VEM_MCC_3D_LocalSpace_Data_HPP
13#define __VEM_MCC_3D_LocalSpace_Data_HPP
14
15#include "Eigen/Eigen"
16#include "QuadratureData.hpp"
17#include "VEM_Quadrature_3D.hpp"
18
19namespace Polydim
20{
21namespace VEM
22{
23namespace MCC
24{
25
27{
31
32 Eigen::MatrixXd Vertices;
33 Eigen::Vector3d Centroid;
34 double Measure;
35 double Diameter;
36 std::vector<Eigen::MatrixXd> TetrahedronVertices;
37
38 std::vector<Eigen::Matrix3d> FacesRotationMatrix;
39 std::vector<Eigen::Vector3d> FacesTranslation;
40 std::vector<Eigen::Vector3d> FacesNormal;
41 std::vector<bool> FacesNormalDirection;
42 std::vector<bool> FacesGlobalNormalDirection;
43 std::vector<double> FacesMeasure;
44 std::vector<Eigen::Vector3d> FacesCentroid2D;
45 std::vector<double> FacesDiameter;
46 std::vector<std::vector<Eigen::Matrix3d>> FacesTriangulationVertices2D;
47};
48
50{
51 unsigned int Order;
52
53 unsigned int Dimension;
54
56
58
61 unsigned int NumBasisFunctions;
62
65
66 Eigen::MatrixXd VanderInternal;
67 Eigen::MatrixXd VanderInternalKp1;
68
69 std::vector<Eigen::MatrixXd> FacesVanderInternal;
70
71 Eigen::VectorXd EdgeBasisCoefficients;
72
73 Eigen::MatrixXd Pi0k;
74
75 Eigen::MatrixXd Wmatrix;
76
77 Eigen::MatrixXd Hmatrix;
78
79 Eigen::MatrixXd VanderBoundary;
80 Eigen::MatrixXd VanderBoundaryKp1;
81
82 unsigned int Nk;
83 unsigned int NkNabla;
84
85 Eigen::MatrixXd TkNabla;
86 Eigen::MatrixXd TkBigOPlus;
87 Eigen::MatrixXd GkVanderInternal;
89
90 Eigen::MatrixXd QmatrixKp1;
91 Eigen::MatrixXd QmatrixInvKp1;
92 Eigen::MatrixXd QmatrixTkNablaInv;
93 Eigen::MatrixXd QmatrixTkNabla;
94
95 double Diameter;
96 double Measure;
97 Eigen::Vector3d Centroid;
98
99 Eigen::MatrixXd TkNablaDof;
100
101 Eigen::MatrixXd Bmatrix;
102 Eigen::MatrixXd Dmatrix;
103 Eigen::MatrixXd Gmatrix;
104
105 Eigen::MatrixXd Vmatrix;
106
107 std::vector<Eigen::MatrixXd> VanderBasisFunctionValuesOnFace;
108};
109
111{
112 unsigned int Order;
113 unsigned int Dimension;
114
115 unsigned int Nk;
116 unsigned int Nkm1;
117
118 unsigned int NumBasisFunctions;
119
120 double Diameter;
121 Eigen::Vector3d Centroid;
122
124
125 Eigen::MatrixXd Qmatrix;
126 Eigen::MatrixXd VanderInternal;
127
128 Eigen::MatrixXd Hmatrix;
129};
130
131} // namespace MCC
132} // namespace VEM
133} // namespace Polydim
134
135#endif
Definition FEM_MCC_2D_LocalSpace.cpp:17
Definition QuadratureData.hpp:22
Definition VEM_MCC_3D_LocalSpace_Data.hpp:27
double Tolerance3D
Definition VEM_MCC_3D_LocalSpace_Data.hpp:30
double Tolerance2D
Definition VEM_MCC_3D_LocalSpace_Data.hpp:29
std::vector< Eigen::MatrixXd > TetrahedronVertices
Definition VEM_MCC_3D_LocalSpace_Data.hpp:36
std::vector< std::vector< Eigen::Matrix3d > > FacesTriangulationVertices2D
Definition VEM_MCC_3D_LocalSpace_Data.hpp:46
std::vector< Eigen::Vector3d > FacesCentroid2D
Definition VEM_MCC_3D_LocalSpace_Data.hpp:44
std::vector< Eigen::Vector3d > FacesNormal
Definition VEM_MCC_3D_LocalSpace_Data.hpp:40
Eigen::Vector3d Centroid
Definition VEM_MCC_3D_LocalSpace_Data.hpp:33
std::vector< Eigen::Matrix3d > FacesRotationMatrix
Definition VEM_MCC_3D_LocalSpace_Data.hpp:38
std::vector< double > FacesDiameter
Definition VEM_MCC_3D_LocalSpace_Data.hpp:45
double Tolerance1D
Definition VEM_MCC_3D_LocalSpace_Data.hpp:28
double Measure
Definition VEM_MCC_3D_LocalSpace_Data.hpp:34
double Diameter
Definition VEM_MCC_3D_LocalSpace_Data.hpp:35
std::vector< bool > FacesGlobalNormalDirection
Definition VEM_MCC_3D_LocalSpace_Data.hpp:42
std::vector< Eigen::Vector3d > FacesTranslation
Definition VEM_MCC_3D_LocalSpace_Data.hpp:39
Eigen::MatrixXd Vertices
Definition VEM_MCC_3D_LocalSpace_Data.hpp:32
std::vector< double > FacesMeasure
Definition VEM_MCC_3D_LocalSpace_Data.hpp:43
std::vector< bool > FacesNormalDirection
Definition VEM_MCC_3D_LocalSpace_Data.hpp:41
Definition VEM_MCC_3D_LocalSpace_Data.hpp:111
unsigned int Dimension
Definition VEM_MCC_3D_LocalSpace_Data.hpp:113
unsigned int Nk
Definition VEM_MCC_3D_LocalSpace_Data.hpp:115
double Diameter
Definition VEM_MCC_3D_LocalSpace_Data.hpp:120
Gedim::Quadrature::QuadratureData InternalQuadrature
Definition VEM_MCC_3D_LocalSpace_Data.hpp:123
unsigned int NumBasisFunctions
Definition VEM_MCC_3D_LocalSpace_Data.hpp:118
Eigen::MatrixXd VanderInternal
Definition VEM_MCC_3D_LocalSpace_Data.hpp:126
Eigen::Vector3d Centroid
Definition VEM_MCC_3D_LocalSpace_Data.hpp:121
Eigen::MatrixXd Qmatrix
Definition VEM_MCC_3D_LocalSpace_Data.hpp:125
unsigned int Order
Definition VEM_MCC_3D_LocalSpace_Data.hpp:112
Eigen::MatrixXd Hmatrix
Definition VEM_MCC_3D_LocalSpace_Data.hpp:128
unsigned int Nkm1
Definition VEM_MCC_3D_LocalSpace_Data.hpp:116
Definition VEM_MCC_3D_LocalSpace_Data.hpp:50
unsigned int Order
Definition VEM_MCC_3D_LocalSpace_Data.hpp:51
Eigen::MatrixXd Hmatrix
Definition VEM_MCC_3D_LocalSpace_Data.hpp:77
Eigen::MatrixXd Dmatrix
Definition VEM_MCC_3D_LocalSpace_Data.hpp:102
unsigned int Nk
Definition VEM_MCC_3D_LocalSpace_Data.hpp:82
Eigen::MatrixXd GkVanderInternal
Definition VEM_MCC_3D_LocalSpace_Data.hpp:87
Eigen::MatrixXd QmatrixTkNablaInv
Definition VEM_MCC_3D_LocalSpace_Data.hpp:92
Eigen::MatrixXd QmatrixInvKp1
Definition VEM_MCC_3D_LocalSpace_Data.hpp:91
Eigen::VectorXd EdgeBasisCoefficients
Definition VEM_MCC_3D_LocalSpace_Data.hpp:71
Eigen::MatrixXd QmatrixKp1
Definition VEM_MCC_3D_LocalSpace_Data.hpp:90
unsigned int NumBoundaryBasisFunctions
Definition VEM_MCC_3D_LocalSpace_Data.hpp:55
std::vector< Eigen::MatrixXd > VanderBasisFunctionValuesOnFace
Definition VEM_MCC_3D_LocalSpace_Data.hpp:107
std::vector< Eigen::MatrixXd > FacesVanderInternal
Definition VEM_MCC_3D_LocalSpace_Data.hpp:69
Eigen::MatrixXd VanderBoundaryKp1
Definition VEM_MCC_3D_LocalSpace_Data.hpp:80
Eigen::MatrixXd TkNabla
Definition VEM_MCC_3D_LocalSpace_Data.hpp:85
unsigned int Dimension
Definition VEM_MCC_3D_LocalSpace_Data.hpp:53
Eigen::MatrixXd TkBigOPlus
Definition VEM_MCC_3D_LocalSpace_Data.hpp:86
unsigned int NkNabla
Definition VEM_MCC_3D_LocalSpace_Data.hpp:83
Eigen::MatrixXd GkVanderBoundaryTimesNormal
Definition VEM_MCC_3D_LocalSpace_Data.hpp:88
Eigen::MatrixXd VanderInternal
Definition VEM_MCC_3D_LocalSpace_Data.hpp:66
unsigned int NumNablaInternalBasisFunctions
Definition VEM_MCC_3D_LocalSpace_Data.hpp:57
Eigen::MatrixXd Bmatrix
Definition VEM_MCC_3D_LocalSpace_Data.hpp:101
unsigned int NumInternalBasisFunctions
Definition VEM_MCC_3D_LocalSpace_Data.hpp:60
unsigned int NumBasisFunctions
Definition VEM_MCC_3D_LocalSpace_Data.hpp:61
Eigen::MatrixXd VanderBoundary
Definition VEM_MCC_3D_LocalSpace_Data.hpp:79
Gedim::Quadrature::QuadratureData InternalQuadrature
Definition VEM_MCC_3D_LocalSpace_Data.hpp:63
Eigen::MatrixXd TkNablaDof
Definition VEM_MCC_3D_LocalSpace_Data.hpp:99
Eigen::MatrixXd Wmatrix
Definition VEM_MCC_3D_LocalSpace_Data.hpp:75
Eigen::MatrixXd Vmatrix
Definition VEM_MCC_3D_LocalSpace_Data.hpp:105
Eigen::MatrixXd VanderInternalKp1
Definition VEM_MCC_3D_LocalSpace_Data.hpp:67
double Diameter
Definition VEM_MCC_3D_LocalSpace_Data.hpp:95
Polydim::VEM::Quadrature::VEM_Quadrature_3D::Faces_QuadratureData_MCC BoundaryQuadrature
Definition VEM_MCC_3D_LocalSpace_Data.hpp:64
Eigen::MatrixXd Gmatrix
Definition VEM_MCC_3D_LocalSpace_Data.hpp:103
Eigen::Vector3d Centroid
Definition VEM_MCC_3D_LocalSpace_Data.hpp:97
Eigen::MatrixXd Pi0k
Definition VEM_MCC_3D_LocalSpace_Data.hpp:73
Eigen::MatrixXd QmatrixTkNabla
Definition VEM_MCC_3D_LocalSpace_Data.hpp:93
unsigned int NumBigOPlusInternalBasisFunctions
Definition VEM_MCC_3D_LocalSpace_Data.hpp:59
double Measure
Definition VEM_MCC_3D_LocalSpace_Data.hpp:96