PolyDiM
C++ library for POLYtopal DIscretization Methods
Loading...
Searching...
No Matches
VEM_MCC_2D_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_2D_Presure_LocalSpace_HPP
13#define __VEM_MCC_2D_Presure_LocalSpace_HPP
14
15#include "Eigen/Eigen"
18#include "Monomials_2D.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_2D_Pressure_ReferenceElement_Data &reference_element_data,
34 const Eigen::Vector3d &polygonCentroid,
35 const double &polygonDiameter,
36 const Eigen::MatrixXd &internalQuadraturePoints,
37 const Eigen::VectorXd &internalQuadratureWeights,
39
40 public:
44
48
50 {
51 return localSpace.VanderInternal * localSpace.Qmatrix.transpose();
52 }
53
56 const Eigen::MatrixXd &points) const
57 {
58 return monomials.Vander(reference_element_data.Monomials, points, localSpace.Centroid, localSpace.Diameter) *
59 localSpace.Qmatrix.transpose();
60 }
61
63 {
64 return localSpace.VanderInternal * localSpace.Qmatrix.transpose();
65 }
66
69 const Eigen::MatrixXd &points) const
70 {
71 return monomials.Vander(reference_element_data.Monomials, points, localSpace.Centroid, localSpace.Diameter) *
72 localSpace.Qmatrix.transpose();
73 }
74};
75} // namespace MCC
76} // namespace VEM
77} // namespace Polydim
78
79#endif
Definition Monomials_2D.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_2D.hpp:55
Interface class for the pressure space of Mixed Conforming Constant degree 2D .
Definition I_VEM_MCC_2D_Pressure_LocalSpace.hpp:29
Definition VEM_MCC_2D_Pressure_LocalSpace.hpp:29
Eigen::MatrixXd ComputeBasisFunctionsValues(const Polydim::VEM::MCC::VEM_MCC_2D_Pressure_ReferenceElement_Data &reference_element_data, const Polydim::VEM::MCC::VEM_MCC_2D_Pressure_LocalSpace_Data &localSpace, const Eigen::MatrixXd &points) const
Compute values of basis functions at given points.
Definition VEM_MCC_2D_Pressure_LocalSpace.hpp:54
Eigen::MatrixXd ComputePolynomialsValues(const Polydim::VEM::MCC::VEM_MCC_2D_Pressure_ReferenceElement_Data &reference_element_data, const Polydim::VEM::MCC::VEM_MCC_2D_Pressure_LocalSpace_Data &localSpace, const Eigen::MatrixXd &points) const
Compute values of the polynomial basis at given points.
Definition VEM_MCC_2D_Pressure_LocalSpace.hpp:67
Eigen::MatrixXd ComputePolynomialsValues(const Polydim::VEM::MCC::VEM_MCC_2D_Pressure_LocalSpace_Data &localSpace) const
Compute values of the polynomial basis at default quadrature points.
Definition VEM_MCC_2D_Pressure_LocalSpace.hpp:62
Eigen::MatrixXd ComputeBasisFunctionsValues(const Polydim::VEM::MCC::VEM_MCC_2D_Pressure_LocalSpace_Data &localSpace) const
Compute values of basis functions at default quadrature points.
Definition VEM_MCC_2D_Pressure_LocalSpace.hpp:49
virtual ~VEM_MCC_2D_Pressure_LocalSpace()
Definition VEM_MCC_2D_Pressure_LocalSpace.hpp:41
Polydim::VEM::MCC::VEM_MCC_2D_Pressure_LocalSpace_Data CreateLocalSpace(const Polydim::VEM::MCC::VEM_MCC_2D_Pressure_ReferenceElement_Data &reference_element_data, const Polydim::VEM::MCC::VEM_MCC_2D_Polygon_Geometry &polygon) const
Compute data of VEM space on a polygon.
Definition VEM_MCC_2D_Pressure_LocalSpace.cpp:24
Definition FEM_MCC_2D_LocalSpace.cpp:17
Definition VEM_MCC_2D_LocalSpace_Data.hpp:26
Definition VEM_MCC_2D_LocalSpace_Data.hpp:103
Eigen::Vector3d Centroid
Definition VEM_MCC_2D_LocalSpace_Data.hpp:113
Eigen::MatrixXd Qmatrix
Definition VEM_MCC_2D_LocalSpace_Data.hpp:118
double Diameter
Definition VEM_MCC_2D_LocalSpace_Data.hpp:112
Eigen::MatrixXd VanderInternal
Definition VEM_MCC_2D_LocalSpace_Data.hpp:117
Definition I_VEM_MCC_2D_ReferenceElement.hpp:33
Utilities::Monomials_Data Monomials
Definition I_VEM_MCC_2D_ReferenceElement.hpp:40