12#ifndef __VEM_MCC_3D_Velocity_LocalSpace_HPP
13#define __VEM_MCC_3D_Velocity_LocalSpace_HPP
38 const unsigned int &numFaces,
39 const Eigen::Vector3d &polyhedronCentroid,
40 const double &polyhedronMeasure,
41 const double &polyhedronDiameter,
42 const Eigen::MatrixXd &internalQuadraturePoints,
43 const Eigen::VectorXd &internalQuadratureWeights,
44 const Eigen::MatrixXd &boundaryQuadraturePoints,
47 void ComputeL2Projectors(
const double &polyhedronMeasure,
48 const Eigen::VectorXd &internalQuadratureWeights,
49 const Eigen::MatrixXd &B2Nabla,
52 void ComputeDivergenceCoefficients(
const double &polytopeMeasure,
53 const Eigen::MatrixXd &W2,
57 const unsigned int &numFaces,
58 const std::vector<Eigen::Vector3d> &facesNormals,
59 const std::vector<bool> &facesNormalDirections,
60 const std::vector<bool> &faceNormalGlobalDirections,
61 const std::vector<Eigen::Vector3d> &facesCentroids,
62 const std::vector<double> &facesAreas,
63 const std::vector<double> &facesDiameters,
64 const std::vector<Gedim::Quadrature::QuadratureData> &facesQuadrature,
65 const Eigen::VectorXd &boundaryQuadratureWeights,
67 Eigen::MatrixXd &B2Nabla,
92 switch (projectionType)
97 throw std::runtime_error(
"not valid projection type");
104 switch (projectionType)
109 throw std::runtime_error(
"not valid projectors");
125 const Eigen::MatrixXd &points)
const
128 .leftCols(localSpace.
Nk);
Definition Monomials_2D.hpp:22
Definition Monomials_3D.hpp:22
Eigen::MatrixXd Vander(const Polydim::Utilities::Monomials_Data &data, const Eigen::MatrixXd &points, const Eigen::Vector3d ¢roid, const double &diam) const
Definition Monomials_3D.hpp:58
Interface class for the velocity space of 3D Mixed Conforming Constant degree Virtual Element Methods...
Definition I_VEM_MCC_3D_Velocity_LocalSpace.hpp:29
Definition VEM_MCC_3D_Velocity_LocalSpace.hpp:31
Eigen::MatrixXd ComputeBasisFunctionsDivergenceValues(const Polydim::VEM::MCC::VEM_MCC_3D_Velocity_LocalSpace_Data &localSpace) const
Compute values of the divergence of basis functions at default quadrature points.
Definition VEM_MCC_3D_Velocity_LocalSpace.hpp:113
Eigen::MatrixXd ComputeDofiDofiStabilizationMatrix(const Polydim::VEM::MCC::VEM_MCC_3D_Velocity_LocalSpace_Data &localSpace, const Polydim::VEM::MCC::ProjectionTypes &projectionType) const
Compute matrix representation of dofi-dofi stabilization.
Definition VEM_MCC_3D_Velocity_LocalSpace.hpp:89
Eigen::MatrixXd ComputePolynomialsValues(const Polydim::VEM::MCC::VEM_MCC_3D_Velocity_LocalSpace_Data &localSpace) const
Compute values of the polynomial basis at default quadrature points.
Definition VEM_MCC_3D_Velocity_LocalSpace.hpp:118
Polydim::VEM::MCC::VEM_MCC_3D_Velocity_LocalSpace_Data CreateLocalSpace(const Polydim::VEM::MCC::VEM_MCC_3D_Velocity_ReferenceElement_Data &reference_element_data, const Polydim::VEM::MCC::VEM_MCC_3D_Polyhedron_Geometry &polyhedron) const
Compute data of VEM space on a polygon.
Definition VEM_MCC_3D_Velocity_LocalSpace.cpp:25
std::vector< Eigen::MatrixXd > ComputeBasisFunctionsValues(const Polydim::VEM::MCC::VEM_MCC_3D_Velocity_LocalSpace_Data &localSpace, const Polydim::VEM::MCC::ProjectionTypes &projectionType) const
Compute values of a suitable projection of basis functions at default quadrature points.
Definition VEM_MCC_3D_Velocity_LocalSpace.hpp:101
Eigen::MatrixXd ComputePolynomialsValues(const Polydim::VEM::MCC::VEM_MCC_3D_Velocity_ReferenceElement_Data &reference_element_data, const Polydim::VEM::MCC::VEM_MCC_3D_Velocity_LocalSpace_Data &localSpace, const Eigen::MatrixXd &points) const
Compute values of the polynomial basis at given points.
Definition VEM_MCC_3D_Velocity_LocalSpace.hpp:123
ProjectionTypes
Definition VEM_MCC_Utilities.hpp:25
Definition FEM_MCC_2D_LocalSpace.cpp:17
Definition VEM_MCC_3D_LocalSpace_Data.hpp:27
Definition VEM_MCC_3D_LocalSpace_Data.hpp:50
unsigned int Order
Definition VEM_MCC_3D_LocalSpace_Data.hpp:51
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
unsigned int NumBoundaryBasisFunctions
Definition VEM_MCC_3D_LocalSpace_Data.hpp:55
unsigned int Dimension
Definition VEM_MCC_3D_LocalSpace_Data.hpp:53
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
unsigned int NumBasisFunctions
Definition VEM_MCC_3D_LocalSpace_Data.hpp:61
Eigen::MatrixXd Vmatrix
Definition VEM_MCC_3D_LocalSpace_Data.hpp:105
double Diameter
Definition VEM_MCC_3D_LocalSpace_Data.hpp:95
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
unsigned int NumBigOPlusInternalBasisFunctions
Definition VEM_MCC_3D_LocalSpace_Data.hpp:59
double Measure
Definition VEM_MCC_3D_LocalSpace_Data.hpp:96
Definition I_VEM_MCC_3D_ReferenceElement.hpp:39
Utilities::Monomials_Data MonomialsKp1
Definition I_VEM_MCC_3D_ReferenceElement.hpp:48
Definition VEM_MCC_Utilities.hpp:30
Eigen::MatrixXd ComputePolynomialBasisDofs(const unsigned int dimension, const double &polytopeMeasure, const unsigned int &order, const unsigned int &Nk, const unsigned int &NumBoundaryBasisFunctions, const unsigned int &NumNablaInternalBasisFunctions, const unsigned int &NumBigOPlusInternalBasisFunctions, const unsigned int &NumBasisFunctions, const Eigen::MatrixXd &GkVanderBoundaryTimesNormal, const Eigen::MatrixXd &Gmatrix) const
Definition VEM_MCC_Utilities.hpp:31
std::vector< Eigen::MatrixXd > ComputeBasisFunctionsValues(const unsigned int dimension, const Eigen::MatrixXd &projector, const Eigen::MatrixXd &GVander) const
Definition VEM_MCC_Utilities.hpp:226
Eigen::MatrixXd ComputeDofiDofiStabilizationMatrix(const Eigen::MatrixXd &projector, const double &coefficient, const Eigen::MatrixXd &DMatrix) const
Definition VEM_MCC_Utilities.hpp:57