PolyDiM
C++ library for POLYtopal DIscretization Methods
Loading...
Searching...
No Matches
VEM_Quadrature_3D.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_Quadrature_3D_HPP
13#define __VEM_Quadrature_3D_HPP
14
15#include "GeometryUtilities.hpp"
16#include "QuadratureData.hpp"
17#include "VEM_Quadrature_2D.hpp"
18
19namespace Polydim
20{
21namespace VEM
22{
23namespace Quadrature
24{
30
32{
33 public:
39
41 {
43 std::vector<Gedim::Quadrature::QuadratureData> FacesQuadrature;
44 };
45
49
51 const Gedim::GeometryUtilities &geometryUtility,
52 const std::vector<Eigen::MatrixXd> &polyhedronTetrahedronVertices) const;
53
56 const std::vector<Eigen::MatrixXd> &polyhedronTetrahedronVertices) const;
57
59 const Gedim::GeometryUtilities &geometryUtility,
60 const std::vector<Eigen::MatrixXi> &polyhedronFaces,
61 const std::vector<Eigen::Matrix3d> &facesRotationMatrix,
62 const std::vector<Eigen::Vector3d> &facesTranslation,
63 const std::vector<Eigen::Vector3d> &facesNormals,
64 const std::vector<bool> &faceNormalDirections,
65 const std::vector<Eigen::MatrixXd> &facesQuadraturePoints,
66 const std::vector<Eigen::VectorXd> &facesQuadratureWeights) const;
67
68 Eigen::MatrixXd PolyhedronInternalEdgesQuadraturePoints(const Eigen::MatrixXd &referenceSegmentInternalPoints,
69 const Eigen::MatrixXd &polyhedronVertices,
70 const Eigen::MatrixXi &polyhedronEdges,
71 const std::vector<bool> &edgeDirections,
72 const Eigen::MatrixXd &edgeTangents) const;
73
76 const Gedim::GeometryUtilities &geometryUtility,
77 const std::vector<std::vector<Eigen::Matrix3d>> &facesTriangulations2D,
78 const std::vector<Eigen::Matrix3d> &facesRotationMatrix,
79 const std::vector<Eigen::Vector3d> &facesTranslation) const;
80};
81} // namespace Quadrature
82} // namespace VEM
83} // namespace Polydim
84
85#endif
The GeometryUtilities class intersects 3D segments.
Definition GeometryUtilities.hpp:37
Definition VEM_Quadrature_3D.hpp:32
Eigen::MatrixXd PolyhedronInternalEdgesQuadraturePoints(const Eigen::MatrixXd &referenceSegmentInternalPoints, const Eigen::MatrixXd &polyhedronVertices, const Eigen::MatrixXi &polyhedronEdges, const std::vector< bool > &edgeDirections, const Eigen::MatrixXd &edgeTangents) const
Definition VEM_Quadrature_3D.cpp:199
Polydim::VEM::Quadrature::VEM_QuadratureData_3D Compute_MCC_3D(const unsigned int order) const
Definition VEM_Quadrature_3D.cpp:45
Polydim::VEM::Quadrature::VEM_QuadratureData_3D Compute_DF_PCC_3D(const unsigned int order) const
Definition VEM_Quadrature_3D.cpp:37
Polydim::VEM::Quadrature::VEM_Quadrature_3D::Faces_QuadratureData_PCC PolyhedronFacesQuadrature(const Gedim::GeometryUtilities &geometryUtility, const std::vector< Eigen::MatrixXi > &polyhedronFaces, const std::vector< Eigen::Matrix3d > &facesRotationMatrix, const std::vector< Eigen::Vector3d > &facesTranslation, const std::vector< Eigen::Vector3d > &facesNormals, const std::vector< bool > &faceNormalDirections, const std::vector< Eigen::MatrixXd > &facesQuadraturePoints, const std::vector< Eigen::VectorXd > &facesQuadratureWeights) const
Definition VEM_Quadrature_3D.cpp:116
Polydim::VEM::Quadrature::VEM_QuadratureData_3D Compute_PCC_3D(const unsigned int order) const
Definition VEM_Quadrature_3D.cpp:29
Gedim::Quadrature::QuadratureData PolyhedronInternalQuadrature(const Polydim::VEM::Quadrature::VEM_QuadratureData_3D &data, const Gedim::GeometryUtilities &geometryUtility, const std::vector< Eigen::MatrixXd > &polyhedronTetrahedronVertices) const
Definition VEM_Quadrature_3D.cpp:55
Definition FEM_MCC_2D_LocalSpace.cpp:17
Definition QuadratureData.hpp:22
Gedim::Quadrature::QuadratureData Quadrature
Definition VEM_Quadrature_3D.hpp:42
std::vector< Gedim::Quadrature::QuadratureData > FacesQuadrature
Definition VEM_Quadrature_3D.hpp:43
std::vector< Eigen::VectorXd > WeightsTimesNormal
Definition VEM_Quadrature_3D.hpp:37
Gedim::Quadrature::QuadratureData Quadrature
Definition VEM_Quadrature_3D.hpp:36
Definition VEM_Quadrature_2D.hpp:25
Definition VEM_Quadrature_3D.hpp:26
Gedim::Quadrature::QuadratureData ReferenceTetrahedronQuadrature
Definition VEM_Quadrature_3D.hpp:27
Polydim::VEM::Quadrature::VEM_QuadratureData_2D QuadratureData_2D
Definition VEM_Quadrature_3D.hpp:28