PolyDiM
C++ library for POLYtopal DIscretization Methods
Loading...
Searching...
No Matches
VEM_MCC_3D_Pressure_LocalSpace.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_MCC_3D_Pressure_LocalSpace_HPP
13#define __VEM_MCC_3D_Pressure_LocalSpace_HPP
14
15#include "Eigen/Eigen"
18#include "Monomials_3D.hpp"
20
21namespace Polydim
22{
23namespace VEM
24{
25namespace MCC
26{
27
29{
30 private:
32
33 void InitializeProjectorsComputation(const Polydim::VEM::MCC::VEM_MCC_3D_Pressure_ReferenceElement_Data &reference_element_data,
34 const Eigen::Vector3d &polyhedronCentroid,
35 const double &polyhedronDiameter,
36 const Eigen::MatrixXd &internalQuadraturePoints,
37 const Eigen::VectorXd &internalQuadratureWeights,
39
40 public:
44
46 {
47 return localSpace.VanderInternal;
48 }
49
52 const Eigen::MatrixXd &points) const
53 {
54 return monomials.Vander(reference_element_data.Monomials, points, localSpace.Centroid, localSpace.Diameter);
55 }
56
58 {
59 return localSpace.VanderInternal;
60 }
61
64 const Eigen::MatrixXd &points) const
65 {
66 return monomials.Vander(reference_element_data.Monomials, points, localSpace.Centroid, localSpace.Diameter);
67 }
68};
69} // namespace MCC
70} // namespace VEM
71} // namespace Polydim
72
73#endif
Definition Monomials_3D.hpp:22
Eigen::MatrixXd Vander(const Polydim::Utilities::Monomials_Data &data, const Eigen::MatrixXd &points, const Eigen::Vector3d &centroid, const double &diam) const
Definition Monomials_3D.hpp:58
Interface class for the pressure local space for 3D Mixed Conforming Constant degree Virtual Element ...
Definition I_VEM_MCC_3D_Pressure_LocalSpace.hpp:28
Definition VEM_MCC_3D_Pressure_LocalSpace.hpp:29
Eigen::MatrixXd ComputeBasisFunctionsValues(const Polydim::VEM::MCC::VEM_MCC_3D_Pressure_LocalSpace_Data &localSpace) const
Compute values of basis functions at default quadrature points.
Definition VEM_MCC_3D_Pressure_LocalSpace.hpp:45
Polydim::VEM::MCC::VEM_MCC_3D_Pressure_LocalSpace_Data CreateLocalSpace(const Polydim::VEM::MCC::VEM_MCC_3D_Pressure_ReferenceElement_Data &reference_element_data, const Polydim::VEM::MCC::VEM_MCC_3D_Polyhedron_Geometry &polygon) const
Compute data of pressure space on a polygon.
Definition VEM_MCC_3D_Pressure_LocalSpace.cpp:24
Eigen::MatrixXd ComputePolynomialsValues(const Polydim::VEM::MCC::VEM_MCC_3D_Pressure_ReferenceElement_Data &reference_element_data, const Polydim::VEM::MCC::VEM_MCC_3D_Pressure_LocalSpace_Data &localSpace, const Eigen::MatrixXd &points) const
Compute values of the polynomial basis at given points.
Definition VEM_MCC_3D_Pressure_LocalSpace.hpp:62
Eigen::MatrixXd ComputeBasisFunctionsValues(const Polydim::VEM::MCC::VEM_MCC_3D_Pressure_ReferenceElement_Data &reference_element_data, const Polydim::VEM::MCC::VEM_MCC_3D_Pressure_LocalSpace_Data &localSpace, const Eigen::MatrixXd &points) const
Compute values of basis functions at given points.
Definition VEM_MCC_3D_Pressure_LocalSpace.hpp:50
Eigen::MatrixXd ComputePolynomialsValues(const Polydim::VEM::MCC::VEM_MCC_3D_Pressure_LocalSpace_Data &localSpace) const
Compute values of the polynomial basis at default quadrature points.
Definition VEM_MCC_3D_Pressure_LocalSpace.hpp:57
Definition FEM_MCC_2D_LocalSpace.cpp:17
Definition VEM_MCC_3D_LocalSpace_Data.hpp:27
Definition VEM_MCC_3D_LocalSpace_Data.hpp:111
double Diameter
Definition VEM_MCC_3D_LocalSpace_Data.hpp:120
Eigen::MatrixXd VanderInternal
Definition VEM_MCC_3D_LocalSpace_Data.hpp:126
Eigen::Vector3d Centroid
Definition VEM_MCC_3D_LocalSpace_Data.hpp:121
Definition I_VEM_MCC_3D_ReferenceElement.hpp:26
Utilities::Monomials_Data Monomials
Definition I_VEM_MCC_3D_ReferenceElement.hpp:34