PolyDiM
C++ library for POLYtopal DIscretization Methods
Loading...
Searching...
No Matches
VEM_PCC_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_PCC_3D_LocalSpace_Data_HPP
13#define __VEM_PCC_3D_LocalSpace_Data_HPP
14
15#include "Eigen/Eigen"
17#include "VEM_Quadrature_3D.hpp"
18
19namespace Polydim
20{
21namespace VEM
22{
23namespace PCC
24{
25
27{
28 public:
32
33 Eigen::MatrixXd Vertices;
34 Eigen::MatrixXi Edges;
35 std::vector<Eigen::MatrixXi> Faces;
36 Eigen::Vector3d Centroid;
37 double Measure;
38 double Diameter;
39 std::vector<Eigen::MatrixXd> TetrahedronVertices;
40
41 std::vector<Eigen::Matrix3d> FacesRotationMatrix;
42 std::vector<Eigen::Vector3d> FacesTranslation;
43 std::vector<Eigen::Vector3d> FacesNormal;
44 std::vector<bool> FacesNormalDirection;
45
46 std::vector<bool> EdgesDirection;
47 Eigen::MatrixXd EdgesTangent;
48
49 std::vector<Polydim::VEM::PCC::VEM_PCC_2D_Polygon_Geometry> Faces_2D_Geometry;
50};
51
53{
54 public:
57
58 std::vector<Polydim::VEM::PCC::VEM_PCC_2D_LocalSpace_Data> facesLocalSpace;
59
60 unsigned int Dimension;
61 unsigned int Order;
62
67 unsigned int NumBasisFunctions;
68 unsigned int NumEdgeDofs;
69 unsigned int NumFaceDofs;
72
73 unsigned int Nkm1;
74 unsigned int Nkm2;
75
76 Eigen::MatrixXd VanderInternal;
77 std::vector<Eigen::MatrixXd> VanderInternalDerivatives;
78
79 double Diameter;
80 Eigen::Vector3d Centroid;
81 double Measure;
82
83 Eigen::VectorXd EdgeBasisCoefficients;
84 std::vector<Eigen::MatrixXd> EdgesDOFsCoordinates;
85 Eigen::MatrixXd PiNabla;
86 Eigen::MatrixXd Pi0km1;
87 Eigen::MatrixXd Pi0k;
88
89 std::vector<Eigen::MatrixXd> Pi0km1Der;
90 Eigen::MatrixXd StabMatrix;
91 Eigen::MatrixXd StabMatrixPi0k;
92 Eigen::MatrixXd Hmatrix;
93 Eigen::MatrixXd Cmatrix;
94 Eigen::MatrixXd Bmatrix;
95 Eigen::MatrixXd Gmatrix;
96 Eigen::MatrixXd Dmatrix;
97 std::vector<Eigen::MatrixXd> Ematrix;
98
99 Eigen::MatrixXd VanderBoundary;
100
101 Eigen::MatrixXd VanderEdgeDofs;
102 Eigen::MatrixXd ScaledHmatrixOnBoundary;
103
104 Eigen::MatrixXd VanderFaceProjections;
105 std::vector<Eigen::MatrixXd> FaceScaledMomentsBasis;
106 std::vector<Eigen::MatrixXd> FaceProjectedBasisFunctionsValues;
108
109 std::vector<Eigen::MatrixXd> VanderBoundaryDerivatives;
110
111 Eigen::MatrixXd Qmatrix; // change of basis matrix: pV = mV*Q'
112 Eigen::MatrixXd QmatrixInv;
113 Eigen::MatrixXd Qmatrixkm1;
114
119
120 Eigen::RowVectorXd EdgeInternalPoints;
121};
122} // namespace PCC
123} // namespace VEM
124} // namespace Polydim
125
126#endif
Definition VEM_PCC_3D_LocalSpace_Data.hpp:53
std::vector< Eigen::MatrixXd > Pi0km1Der
Definition VEM_PCC_3D_LocalSpace_Data.hpp:89
Eigen::MatrixXd VanderEdgeDofs
Definition VEM_PCC_3D_LocalSpace_Data.hpp:101
Eigen::MatrixXd PiNabla
Definition VEM_PCC_3D_LocalSpace_Data.hpp:85
std::vector< Polydim::VEM::PCC::VEM_PCC_2D_LocalSpace_Data > facesLocalSpace
Definition VEM_PCC_3D_LocalSpace_Data.hpp:58
unsigned int NumFaceBasisFunctions
Definition VEM_PCC_3D_LocalSpace_Data.hpp:65
Polydim::VEM::PCC::VEM_PCC_3D_Polyhedron_Geometry inertia_polyhedron
Definition VEM_PCC_3D_LocalSpace_Data.hpp:116
Gedim::Quadrature::QuadratureData InternalQuadrature
Definition VEM_PCC_3D_LocalSpace_Data.hpp:55
Eigen::MatrixXd QmatrixInv
Definition VEM_PCC_3D_LocalSpace_Data.hpp:112
double constantMass
Definition VEM_PCC_3D_LocalSpace_Data.hpp:118
std::vector< Eigen::MatrixXd > VanderBoundaryDerivatives
Definition VEM_PCC_3D_LocalSpace_Data.hpp:109
Eigen::MatrixXd Bmatrix
Definition VEM_PCC_3D_LocalSpace_Data.hpp:94
Polydim::Utilities::Inertia_Data inertia_data
Definition VEM_PCC_3D_LocalSpace_Data.hpp:115
Eigen::MatrixXd Dmatrix
Definition VEM_PCC_3D_LocalSpace_Data.hpp:96
unsigned int NumVertexBasisFunctions
Definition VEM_PCC_3D_LocalSpace_Data.hpp:63
unsigned int Dimension
Definition VEM_PCC_3D_LocalSpace_Data.hpp:60
Eigen::MatrixXd Cmatrix
Definition VEM_PCC_3D_LocalSpace_Data.hpp:93
std::vector< Eigen::MatrixXd > EdgesDOFsCoordinates
Definition VEM_PCC_3D_LocalSpace_Data.hpp:84
Eigen::MatrixXd Pi0km1
Definition VEM_PCC_3D_LocalSpace_Data.hpp:86
Eigen::MatrixXd Qmatrixkm1
Definition VEM_PCC_3D_LocalSpace_Data.hpp:113
double constantStiff
Definition VEM_PCC_3D_LocalSpace_Data.hpp:117
unsigned int Nkm1
Definition VEM_PCC_3D_LocalSpace_Data.hpp:73
unsigned int NumFaceDofs
Definition VEM_PCC_3D_LocalSpace_Data.hpp:69
Eigen::MatrixXd Hmatrix
Definition VEM_PCC_3D_LocalSpace_Data.hpp:92
std::vector< Eigen::MatrixXd > FaceProjectedBasisFunctionsValues
Definition VEM_PCC_3D_LocalSpace_Data.hpp:106
Eigen::MatrixXd ScaledHmatrixOnBoundary
Definition VEM_PCC_3D_LocalSpace_Data.hpp:102
Eigen::MatrixXd VanderFaceProjections
Definition VEM_PCC_3D_LocalSpace_Data.hpp:104
std::vector< Eigen::MatrixXd > FaceScaledMomentsBasis
Definition VEM_PCC_3D_LocalSpace_Data.hpp:105
unsigned int NumBoundaryBasisFunctions
Definition VEM_PCC_3D_LocalSpace_Data.hpp:70
unsigned int NumInternalBasisFunctions
Definition VEM_PCC_3D_LocalSpace_Data.hpp:66
unsigned int NumEdgeDofs
Definition VEM_PCC_3D_LocalSpace_Data.hpp:68
Eigen::VectorXd EdgeBasisCoefficients
Definition VEM_PCC_3D_LocalSpace_Data.hpp:83
Eigen::Vector3d Centroid
Definition VEM_PCC_3D_LocalSpace_Data.hpp:80
Polydim::VEM::Quadrature::VEM_Quadrature_3D::Faces_QuadratureData_PCC BoundaryQuadrature
Definition VEM_PCC_3D_LocalSpace_Data.hpp:56
unsigned int Order
Definition VEM_PCC_3D_LocalSpace_Data.hpp:61
Eigen::MatrixXd StabMatrix
Definition VEM_PCC_3D_LocalSpace_Data.hpp:90
std::vector< Eigen::MatrixXd > Ematrix
Definition VEM_PCC_3D_LocalSpace_Data.hpp:97
Eigen::MatrixXd Qmatrix
Definition VEM_PCC_3D_LocalSpace_Data.hpp:111
unsigned int Nkm2
Definition VEM_PCC_3D_LocalSpace_Data.hpp:74
unsigned int NumBasisFunctions
Definition VEM_PCC_3D_LocalSpace_Data.hpp:67
Eigen::MatrixXd Pi0k
Definition VEM_PCC_3D_LocalSpace_Data.hpp:87
std::vector< Eigen::MatrixXd > VanderInternalDerivatives
Definition VEM_PCC_3D_LocalSpace_Data.hpp:77
double Diameter
Definition VEM_PCC_3D_LocalSpace_Data.hpp:79
unsigned int NumEdgeBasisFunctions
Definition VEM_PCC_3D_LocalSpace_Data.hpp:64
Eigen::MatrixXd StabMatrixPi0k
Definition VEM_PCC_3D_LocalSpace_Data.hpp:91
Eigen::MatrixXd Gmatrix
Definition VEM_PCC_3D_LocalSpace_Data.hpp:95
Eigen::MatrixXd VanderInternal
Definition VEM_PCC_3D_LocalSpace_Data.hpp:76
Eigen::MatrixXd PointEdgeDofsCoordinates
Definition VEM_PCC_3D_LocalSpace_Data.hpp:107
Eigen::RowVectorXd EdgeInternalPoints
Definition VEM_PCC_3D_LocalSpace_Data.hpp:120
Eigen::MatrixXd VanderBoundary
Definition VEM_PCC_3D_LocalSpace_Data.hpp:99
double Measure
Definition VEM_PCC_3D_LocalSpace_Data.hpp:81
unsigned int NumProjectorBasisFunctions
Definition VEM_PCC_3D_LocalSpace_Data.hpp:71
Definition VEM_PCC_3D_LocalSpace_Data.hpp:27
Eigen::MatrixXi Edges
Definition VEM_PCC_3D_LocalSpace_Data.hpp:34
std::vector< Eigen::MatrixXd > TetrahedronVertices
Definition VEM_PCC_3D_LocalSpace_Data.hpp:39
double Measure
Definition VEM_PCC_3D_LocalSpace_Data.hpp:37
double Tolerance2D
Definition VEM_PCC_3D_LocalSpace_Data.hpp:30
std::vector< bool > EdgesDirection
Definition VEM_PCC_3D_LocalSpace_Data.hpp:46
std::vector< Eigen::Matrix3d > FacesRotationMatrix
Definition VEM_PCC_3D_LocalSpace_Data.hpp:41
std::vector< Polydim::VEM::PCC::VEM_PCC_2D_Polygon_Geometry > Faces_2D_Geometry
Definition VEM_PCC_3D_LocalSpace_Data.hpp:49
double Tolerance1D
Definition VEM_PCC_3D_LocalSpace_Data.hpp:29
Eigen::Vector3d Centroid
Definition VEM_PCC_3D_LocalSpace_Data.hpp:36
std::vector< Eigen::Vector3d > FacesNormal
Definition VEM_PCC_3D_LocalSpace_Data.hpp:43
double Tolerance3D
Definition VEM_PCC_3D_LocalSpace_Data.hpp:31
double Diameter
Definition VEM_PCC_3D_LocalSpace_Data.hpp:38
Eigen::MatrixXd EdgesTangent
Definition VEM_PCC_3D_LocalSpace_Data.hpp:47
std::vector< Eigen::Vector3d > FacesTranslation
Definition VEM_PCC_3D_LocalSpace_Data.hpp:42
Eigen::MatrixXd Vertices
Definition VEM_PCC_3D_LocalSpace_Data.hpp:33
std::vector< bool > FacesNormalDirection
Definition VEM_PCC_3D_LocalSpace_Data.hpp:44
std::vector< Eigen::MatrixXi > Faces
Definition VEM_PCC_3D_LocalSpace_Data.hpp:35
Definition FEM_MCC_2D_LocalSpace.cpp:17
Definition QuadratureData.hpp:22
Affine map data aligning a polytope with its principal axes of inertia.
Definition Inertia_Utilities.hpp:30