PolyDiM
C++ library for POLYtopal DIscretization Methods
Loading...
Searching...
No Matches
VEM_MCC_2D_ReferenceElement.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_ReferenceElement_HPP
13#define __VEM_MCC_2D_ReferenceElement_HPP
14
16#include "Monomials_2D.hpp"
17#include "VEM_Quadrature_2D.hpp"
18
19namespace Polydim
20{
21namespace VEM
22{
23namespace MCC
24{
25
27{
28 public:
29 VEM_MCC_2D_Pressure_ReferenceElement_Data Create(const unsigned int order) const
30 {
33
35
36 result.Monomials = monomials.Compute(order);
37 result.Quadrature = quadrature.Compute_MCC_2D(order);
38
39 result.Dimension = 2;
40 result.Order = order;
41 result.NumDofs0D = 0;
42 result.NumDofs1D = 0;
43 result.NumDofs2D = (order + 1) * (order + 2) / 2;
44
45 return result;
46 }
47};
48
50{
51 public:
52 VEM_MCC_2D_Velocity_ReferenceElement_Data Create(const unsigned int order) const
53 {
56
58
59 result.MonomialsKp1 = monomials.Compute(order + 1);
60 result.Quadrature = quadrature.Compute_MCC_2D(order);
61
62 result.Dimension = 2;
63 result.Order = order;
64 result.NumDofs0D = 0;
65 result.NumDofs1D = order + 1;
66 result.NumDofs2D = order * (order + 2);
67
68 return result;
69 }
70};
71} // namespace MCC
72} // namespace VEM
73} // namespace Polydim
74
75#endif
Definition Monomials_2D.hpp:22
Polydim::Utilities::Monomials_Data Compute(const unsigned int polynomial_degree) const
Definition Monomials_2D.cpp:22
Definition I_VEM_MCC_2D_ReferenceElement.hpp:65
Definition I_VEM_MCC_2D_ReferenceElement.hpp:59
Definition VEM_MCC_2D_ReferenceElement.hpp:27
VEM_MCC_2D_Pressure_ReferenceElement_Data Create(const unsigned int order) const
Definition VEM_MCC_2D_ReferenceElement.hpp:29
Definition VEM_MCC_2D_ReferenceElement.hpp:50
VEM_MCC_2D_Velocity_ReferenceElement_Data Create(const unsigned int order) const
Definition VEM_MCC_2D_ReferenceElement.hpp:52
Definition VEM_Quadrature_2D.hpp:40
Polydim::VEM::Quadrature::VEM_QuadratureData_2D Compute_MCC_2D(const unsigned int order) const
Definition VEM_Quadrature_2D.cpp:115
Definition FEM_MCC_2D_LocalSpace.cpp:17
Definition I_VEM_MCC_2D_ReferenceElement.hpp:33
unsigned int Order
Definition I_VEM_MCC_2D_ReferenceElement.hpp:35
unsigned int NumDofs0D
Definition I_VEM_MCC_2D_ReferenceElement.hpp:36
unsigned int NumDofs1D
Definition I_VEM_MCC_2D_ReferenceElement.hpp:37
unsigned int Dimension
Definition I_VEM_MCC_2D_ReferenceElement.hpp:34
Quadrature::VEM_QuadratureData_2D Quadrature
Definition I_VEM_MCC_2D_ReferenceElement.hpp:41
Utilities::Monomials_Data Monomials
Definition I_VEM_MCC_2D_ReferenceElement.hpp:40
unsigned int NumDofs2D
Definition I_VEM_MCC_2D_ReferenceElement.hpp:38
Definition I_VEM_MCC_2D_ReferenceElement.hpp:45
unsigned int NumDofs2D
Definition I_VEM_MCC_2D_ReferenceElement.hpp:50
unsigned int Dimension
Definition I_VEM_MCC_2D_ReferenceElement.hpp:46
Quadrature::VEM_QuadratureData_2D Quadrature
Definition I_VEM_MCC_2D_ReferenceElement.hpp:55
Utilities::Monomials_Data MonomialsKp1
Definition I_VEM_MCC_2D_ReferenceElement.hpp:54
unsigned int NumDofs0D
Definition I_VEM_MCC_2D_ReferenceElement.hpp:48
unsigned int Order
Definition I_VEM_MCC_2D_ReferenceElement.hpp:47
unsigned int NumDofs1D
Definition I_VEM_MCC_2D_ReferenceElement.hpp:49