PolyDiM
C++ library for POLYtopal DIscretization Methods
Loading...
Searching...
No Matches
FEM_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 __FEM_Hexahedron_PCC_3D_LocalSpace_Data_HPP
13#define __FEM_Hexahedron_PCC_3D_LocalSpace_Data_HPP
14
16#include "MapHexahedron.hpp"
17#include "MapParallelepiped.hpp"
18#include "MapTetrahedron.hpp"
19#include "QuadratureData.hpp"
20
21namespace Polydim
22{
23namespace FEM
24{
25namespace PCC
26{
27
29{
30 Tetrahedron = 0,
31 Hexahedron = 1
32};
33
35{
37 Generic = 1
38};
39
41{
45
46 Eigen::MatrixXd Vertices;
47 Eigen::MatrixXi Edges;
48 std::vector<Eigen::MatrixXi> Faces;
49 std::vector<bool> EdgesDirection;
50 std::vector<bool> FacesDirection;
51 std::vector<Eigen::Matrix3d> FacesRotationMatrix;
52 std::vector<Eigen::Vector3d> FacesTranslation;
53
54 std::vector<Polydim::FEM::PCC::FEM_PCC_2D_Polygon_Geometry> Faces_2D_Geometry;
55};
56
58{
61 unsigned int Order;
63 Eigen::MatrixXd Dofs;
64 std::array<unsigned int, 12> polyhedron_to_reference_edge_index;
66 std::array<unsigned int, 6> polyhedron_to_reference_face_index;
67 std::vector<unsigned int> DofsMeshOrder;
68 std::array<unsigned int, 9> Dof0DsIndex;
69 std::array<unsigned int, 13> Dof1DsIndex;
70 std::array<unsigned int, 7> Dof2DsIndex;
71 std::array<unsigned int, 2> Dof3DsIndex;
73 std::array<Polydim::FEM::PCC::FEM_Quadrilateral_PCC_2D_LocalSpace_Data, 6> Boundary_LocalSpace_Data;
74 std::array<Gedim::Quadrature::QuadratureData, 6> BoundaryQuadrature;
76};
77
79{
81 unsigned int Order;
83 Eigen::MatrixXd Dofs;
84 std::array<unsigned int, 6> polyhedron_to_reference_edge_index;
86 std::array<unsigned int, 4> polyhedron_to_reference_face_index;
89 std::vector<unsigned int> DofsMeshOrder;
90 std::array<unsigned int, 5> Dof0DsIndex;
91 std::array<unsigned int, 7> Dof1DsIndex;
92 std::array<unsigned int, 5> Dof2DsIndex;
93 std::array<unsigned int, 2> Dof3DsIndex;
95 std::array<Polydim::FEM::PCC::FEM_Triangle_PCC_2D_LocalSpace_Data, 4> Boundary_LocalSpace_Data;
96 std::array<Gedim::Quadrature::QuadratureData, 4> BoundaryQuadrature;
97};
98
109
110} // namespace PCC
111} // namespace FEM
112} // namespace Polydim
113
114#endif
FEM_PCC_3D_Types
Definition FEM_PCC_3D_LocalSpace_Data.hpp:29
HexahedronType
Definition FEM_PCC_3D_LocalSpace_Data.hpp:35
Definition FEM_MCC_2D_LocalSpace.cpp:17
Definition MapHexahedron.hpp:23
Definition MapParallelepiped.hpp:24
Definition MapTetrahedron.hpp:24
Definition QuadratureData.hpp:22
Definition FEM_PCC_3D_LocalSpace_Data.hpp:58
std::array< unsigned int, 6 > polyhedron_to_reference_face_index
Definition FEM_PCC_3D_LocalSpace_Data.hpp:66
std::array< Gedim::Quadrature::QuadratureData, 6 > BoundaryQuadrature
Definition FEM_PCC_3D_LocalSpace_Data.hpp:74
unsigned int Order
Definition FEM_PCC_3D_LocalSpace_Data.hpp:61
Gedim::Quadrature::QuadratureData InternalQuadrature
Definition FEM_PCC_3D_LocalSpace_Data.hpp:72
std::array< bool, 12 > polyhedron_to_reference_edge_direction
Definition FEM_PCC_3D_LocalSpace_Data.hpp:65
std::array< unsigned int, 9 > Dof0DsIndex
Definition FEM_PCC_3D_LocalSpace_Data.hpp:68
Gedim::MapHexahedron::MapHexahedronData MapDataHexahedron
Definition FEM_PCC_3D_LocalSpace_Data.hpp:60
unsigned int NumberOfBasisFunctions
Definition FEM_PCC_3D_LocalSpace_Data.hpp:62
std::array< unsigned int, 13 > Dof1DsIndex
Definition FEM_PCC_3D_LocalSpace_Data.hpp:69
std::array< unsigned int, 7 > Dof2DsIndex
Definition FEM_PCC_3D_LocalSpace_Data.hpp:70
Gedim::MapParallelepiped::MapParallelepipedData MapDataParallelepiped
Definition FEM_PCC_3D_LocalSpace_Data.hpp:59
std::vector< unsigned int > DofsMeshOrder
Definition FEM_PCC_3D_LocalSpace_Data.hpp:67
Eigen::MatrixXd Dofs
Definition FEM_PCC_3D_LocalSpace_Data.hpp:63
Polydim::FEM::PCC::HexahedronType hexahedron_type
Definition FEM_PCC_3D_LocalSpace_Data.hpp:75
std::array< unsigned int, 12 > polyhedron_to_reference_edge_index
Definition FEM_PCC_3D_LocalSpace_Data.hpp:64
std::array< unsigned int, 2 > Dof3DsIndex
Definition FEM_PCC_3D_LocalSpace_Data.hpp:71
std::array< Polydim::FEM::PCC::FEM_Quadrilateral_PCC_2D_LocalSpace_Data, 6 > Boundary_LocalSpace_Data
Definition FEM_PCC_3D_LocalSpace_Data.hpp:73
Definition FEM_PCC_3D_LocalSpace_Data.hpp:100
Polydim::FEM::PCC::FEM_Hexahedron_PCC_3D_LocalSpace_Data hexahedron_local_space_data
Definition FEM_PCC_3D_LocalSpace_Data.hpp:101
Polydim::FEM::PCC::FEM_Tetrahedron_PCC_3D_LocalSpace_Data tetrahedron_local_space_data
Definition FEM_PCC_3D_LocalSpace_Data.hpp:102
std::vector< Gedim::Quadrature::QuadratureData > BoundaryQuadrature
Definition FEM_PCC_3D_LocalSpace_Data.hpp:106
Gedim::Quadrature::QuadratureData InternalQuadrature
Definition FEM_PCC_3D_LocalSpace_Data.hpp:105
unsigned int NumberOfBasisFunctions
Definition FEM_PCC_3D_LocalSpace_Data.hpp:107
Polydim::FEM::PCC::FEM_PCC_3D_Types fem_type
Definition FEM_PCC_3D_LocalSpace_Data.hpp:103
Definition FEM_PCC_3D_LocalSpace_Data.hpp:41
Eigen::MatrixXi Edges
Definition FEM_PCC_3D_LocalSpace_Data.hpp:47
double Tolerance2D
Definition FEM_PCC_3D_LocalSpace_Data.hpp:43
std::vector< Eigen::Vector3d > FacesTranslation
Definition FEM_PCC_3D_LocalSpace_Data.hpp:52
std::vector< bool > EdgesDirection
Definition FEM_PCC_3D_LocalSpace_Data.hpp:49
double Tolerance3D
Definition FEM_PCC_3D_LocalSpace_Data.hpp:44
std::vector< Eigen::Matrix3d > FacesRotationMatrix
Definition FEM_PCC_3D_LocalSpace_Data.hpp:51
std::vector< bool > FacesDirection
Definition FEM_PCC_3D_LocalSpace_Data.hpp:50
std::vector< Polydim::FEM::PCC::FEM_PCC_2D_Polygon_Geometry > Faces_2D_Geometry
Definition FEM_PCC_3D_LocalSpace_Data.hpp:54
std::vector< Eigen::MatrixXi > Faces
Definition FEM_PCC_3D_LocalSpace_Data.hpp:48
double Tolerance1D
Definition FEM_PCC_3D_LocalSpace_Data.hpp:42
Eigen::MatrixXd Vertices
Definition FEM_PCC_3D_LocalSpace_Data.hpp:46
Definition FEM_PCC_3D_LocalSpace_Data.hpp:79
std::array< unsigned int, 5 > Dof0DsIndex
Definition FEM_PCC_3D_LocalSpace_Data.hpp:90
Eigen::MatrixXd Dofs
Definition FEM_PCC_3D_LocalSpace_Data.hpp:83
Gedim::MapTetrahedron::MapTetrahedronData MapData
Definition FEM_PCC_3D_LocalSpace_Data.hpp:80
std::array< bool, 4 > polyhedron_to_reference_face_direction
Definition FEM_PCC_3D_LocalSpace_Data.hpp:87
std::array< unsigned int, 7 > Dof1DsIndex
Definition FEM_PCC_3D_LocalSpace_Data.hpp:91
std::array< bool, 6 > polyhedron_to_reference_edge_direction
Definition FEM_PCC_3D_LocalSpace_Data.hpp:85
Gedim::Quadrature::QuadratureData InternalQuadrature
Definition FEM_PCC_3D_LocalSpace_Data.hpp:94
std::array< unsigned int, 4 > polyhedron_to_reference_face_index
Definition FEM_PCC_3D_LocalSpace_Data.hpp:86
std::vector< unsigned int > DofsMeshOrder
Definition FEM_PCC_3D_LocalSpace_Data.hpp:89
std::array< Gedim::Quadrature::QuadratureData, 4 > BoundaryQuadrature
Definition FEM_PCC_3D_LocalSpace_Data.hpp:96
std::array< unsigned int, 2 > Dof3DsIndex
Definition FEM_PCC_3D_LocalSpace_Data.hpp:93
std::array< unsigned int, 5 > Dof2DsIndex
Definition FEM_PCC_3D_LocalSpace_Data.hpp:92
unsigned int NumberOfBasisFunctions
Definition FEM_PCC_3D_LocalSpace_Data.hpp:82
unsigned int Order
Definition FEM_PCC_3D_LocalSpace_Data.hpp:81
std::array< unsigned int, 4 > polyhedron_to_reference_face_starting_index
Definition FEM_PCC_3D_LocalSpace_Data.hpp:88
std::array< unsigned int, 6 > polyhedron_to_reference_edge_index
Definition FEM_PCC_3D_LocalSpace_Data.hpp:84
std::array< Polydim::FEM::PCC::FEM_Triangle_PCC_2D_LocalSpace_Data, 4 > Boundary_LocalSpace_Data
Definition FEM_PCC_3D_LocalSpace_Data.hpp:95