PolyDiM
C++ library for POLYtopal DIscretization Methods
Loading...
Searching...
No Matches
VEM_PCC_2D_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_2D_LocalSpace_Data_HPP
13#define __VEM_PCC_2D_LocalSpace_Data_HPP
14
15#include "Eigen/Eigen"
16#include "Inertia_Utilities.hpp"
17#include "VEM_Quadrature_2D.hpp"
18
19namespace Polydim
20{
21namespace VEM
22{
23namespace PCC
24{
25
27{
28 public:
31
32 Eigen::MatrixXd Vertices;
33 Eigen::Vector3d Centroid;
34 double Measure;
35 double Diameter;
36 std::vector<Eigen::Matrix3d> TriangulationVertices;
37 Eigen::VectorXd EdgesLength;
38 std::vector<bool> EdgesDirection;
39 Eigen::MatrixXd EdgesTangent;
40 Eigen::MatrixXd EdgesNormal;
41};
42
44{
45 public:
46 unsigned int Dimension;
47 unsigned int Order;
49
51
53
55 unsigned int NumBasisFunctions;
56 unsigned int NumEdgeDofs;
58 unsigned int Nkm1;
59 unsigned int Nkm2;
60 unsigned int Nklm1;
61
64
67
68 double Diameter;
69 double Measure;
70 Eigen::Vector3d Centroid;
71
72 Eigen::MatrixXd VanderInternal;
73 Eigen::MatrixXd VanderInternalKL;
74 std::vector<Eigen::MatrixXd> VanderInternalDerivatives;
75
76 Eigen::MatrixXd VanderBoundary;
77 std::vector<Eigen::MatrixXd> VanderBoundaryDerivatives;
78
79 Eigen::MatrixXd PiNabla;
80 Eigen::MatrixXd Pi0km1;
81 Eigen::MatrixXd Pi0k;
82 Eigen::MatrixXd Pi0klm1;
83 std::vector<Eigen::MatrixXd> Pi0km1Der;
84
85 Eigen::MatrixXd Hmatrix;
86
87 Eigen::MatrixXd H_klm1_matrix;
88 Eigen::MatrixXd Cmatrix;
89 Eigen::MatrixXd Bmatrix;
90 Eigen::MatrixXd Gmatrix;
91 Eigen::MatrixXd Dmatrix;
92 std::vector<Eigen::MatrixXd> Ematrix;
93
94 Eigen::MatrixXd Qmatrix;
95 Eigen::MatrixXd QmatrixInv;
96 Eigen::MatrixXd Qmatrixkm1;
97
102};
103} // namespace PCC
104} // namespace VEM
105} // namespace Polydim
106
107#endif
Definition VEM_PCC_2D_LocalSpace_Data.hpp:44
Polydim::Utilities::Inertia_Data inertia_data
Definition VEM_PCC_2D_LocalSpace_Data.hpp:98
Eigen::MatrixXd QmatrixInv
Definition VEM_PCC_2D_LocalSpace_Data.hpp:95
unsigned int Dimension
Definition VEM_PCC_2D_LocalSpace_Data.hpp:46
unsigned int Nkm2
Definition VEM_PCC_2D_LocalSpace_Data.hpp:59
Eigen::MatrixXd VanderInternal
Definition VEM_PCC_2D_LocalSpace_Data.hpp:72
Polydim::VEM::PCC::VEM_PCC_2D_Polygon_Geometry inertia_polygon
Definition VEM_PCC_2D_LocalSpace_Data.hpp:99
Eigen::MatrixXd PiNabla
Definition VEM_PCC_2D_LocalSpace_Data.hpp:79
Eigen::MatrixXd Hmatrix
Definition VEM_PCC_2D_LocalSpace_Data.hpp:85
Eigen::MatrixXd Cmatrix
Definition VEM_PCC_2D_LocalSpace_Data.hpp:88
unsigned int NumInternalBasisFunctions
Definition VEM_PCC_2D_LocalSpace_Data.hpp:54
unsigned int Nkm1
Definition VEM_PCC_2D_LocalSpace_Data.hpp:58
Eigen::Vector3d Centroid
Definition VEM_PCC_2D_LocalSpace_Data.hpp:70
Eigen::MatrixXd Pi0klm1
Definition VEM_PCC_2D_LocalSpace_Data.hpp:82
unsigned int NumEdgeDofs
Definition VEM_PCC_2D_LocalSpace_Data.hpp:56
std::vector< Eigen::MatrixXd > Ematrix
Definition VEM_PCC_2D_LocalSpace_Data.hpp:92
Eigen::MatrixXd Qmatrixkm1
Definition VEM_PCC_2D_LocalSpace_Data.hpp:96
unsigned int NumBasisFunctions
Definition VEM_PCC_2D_LocalSpace_Data.hpp:55
Eigen::MatrixXd Bmatrix
Definition VEM_PCC_2D_LocalSpace_Data.hpp:89
Eigen::MatrixXd Qmatrix
Definition VEM_PCC_2D_LocalSpace_Data.hpp:94
unsigned int NumBoundaryBasisFunctions
Definition VEM_PCC_2D_LocalSpace_Data.hpp:52
double constantMass
Definition VEM_PCC_2D_LocalSpace_Data.hpp:101
Gedim::Quadrature::QuadratureData InternalQuadrature
Definition VEM_PCC_2D_LocalSpace_Data.hpp:62
Eigen::MatrixXd Gmatrix
Definition VEM_PCC_2D_LocalSpace_Data.hpp:90
unsigned int NumProjectorBasisFunctions
Definition VEM_PCC_2D_LocalSpace_Data.hpp:57
Eigen::MatrixXd Dmatrix
Definition VEM_PCC_2D_LocalSpace_Data.hpp:91
Eigen::MatrixXd VanderBoundary
Definition VEM_PCC_2D_LocalSpace_Data.hpp:76
Eigen::MatrixXd Pi0k
Definition VEM_PCC_2D_LocalSpace_Data.hpp:81
unsigned int NumVertexBasisFunctions
Definition VEM_PCC_2D_LocalSpace_Data.hpp:48
double constantStiff
Definition VEM_PCC_2D_LocalSpace_Data.hpp:100
std::vector< Eigen::MatrixXd > VanderBoundaryDerivatives
Definition VEM_PCC_2D_LocalSpace_Data.hpp:77
double Diameter
Definition VEM_PCC_2D_LocalSpace_Data.hpp:68
std::vector< Eigen::MatrixXd > Pi0km1Der
Definition VEM_PCC_2D_LocalSpace_Data.hpp:83
Eigen::MatrixXd VanderInternalKL
Definition VEM_PCC_2D_LocalSpace_Data.hpp:73
Eigen::MatrixXd Pi0km1
Definition VEM_PCC_2D_LocalSpace_Data.hpp:80
unsigned int Nklm1
Definition VEM_PCC_2D_LocalSpace_Data.hpp:60
Polydim::VEM::Quadrature::VEM_Quadrature_2D::Edges_QuadratureData BoundaryQuadrature
Definition VEM_PCC_2D_LocalSpace_Data.hpp:63
unsigned int Order
Definition VEM_PCC_2D_LocalSpace_Data.hpp:47
double Measure
Definition VEM_PCC_2D_LocalSpace_Data.hpp:69
Polydim::VEM::Quadrature::VEM_Quadrature_2D::Edges_QuadratureData BoundaryQuadratureKL
Definition VEM_PCC_2D_LocalSpace_Data.hpp:66
Gedim::Quadrature::QuadratureData InternalQuadratureKL
Definition VEM_PCC_2D_LocalSpace_Data.hpp:65
unsigned int NumEdgeBasisFunctions
Definition VEM_PCC_2D_LocalSpace_Data.hpp:50
std::vector< Eigen::MatrixXd > VanderInternalDerivatives
Definition VEM_PCC_2D_LocalSpace_Data.hpp:74
Eigen::MatrixXd H_klm1_matrix
Definition VEM_PCC_2D_LocalSpace_Data.hpp:87
Definition VEM_PCC_2D_LocalSpace_Data.hpp:27
std::vector< Eigen::Matrix3d > TriangulationVertices
Definition VEM_PCC_2D_LocalSpace_Data.hpp:36
Eigen::Vector3d Centroid
Definition VEM_PCC_2D_LocalSpace_Data.hpp:33
std::vector< bool > EdgesDirection
Definition VEM_PCC_2D_LocalSpace_Data.hpp:38
Eigen::VectorXd EdgesLength
Definition VEM_PCC_2D_LocalSpace_Data.hpp:37
double Tolerance1D
Definition VEM_PCC_2D_LocalSpace_Data.hpp:29
Eigen::MatrixXd Vertices
Definition VEM_PCC_2D_LocalSpace_Data.hpp:32
double Diameter
Definition VEM_PCC_2D_LocalSpace_Data.hpp:35
double Measure
Definition VEM_PCC_2D_LocalSpace_Data.hpp:34
Eigen::MatrixXd EdgesNormal
Definition VEM_PCC_2D_LocalSpace_Data.hpp:40
double Tolerance2D
Definition VEM_PCC_2D_LocalSpace_Data.hpp:30
Eigen::MatrixXd EdgesTangent
Definition VEM_PCC_2D_LocalSpace_Data.hpp:39
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