PolyDiM
C++ library for POLYtopal DIscretization Methods
Loading...
Searching...
No Matches
VEM_MCC_3D_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_3D_ReferenceElement_HPP
13#define __VEM_MCC_3D_ReferenceElement_HPP
14
16#include "Monomials_2D.hpp"
17#include "Monomials_3D.hpp"
18#include "VEM_Quadrature_3D.hpp"
19
20namespace Polydim
21{
22namespace VEM
23{
24namespace MCC
25{
26
28{
29 public:
30 VEM_MCC_3D_Pressure_ReferenceElement_Data Create(const unsigned int order) const
31 {
34
36
37 result.Monomials = monomials.Compute(order);
38 result.Quadrature = quadrature.Compute_MCC_3D(order);
39
40 result.Dimension = 3;
41 result.Order = order;
42 result.NumDofs0D = 0;
43 result.NumDofs1D = 0;
44 result.NumDofs2D = 0;
45 result.NumDofs3D = (order + 1) * (order + 2) * (order + 3) / 6;
46
47 return result;
48 }
49};
50
52{
53 public:
54 VEM_MCC_3D_Velocity_ReferenceElement_Data Create(const unsigned int order) const
55 {
59
61
62 result.Monomials2D = monomials2D.Compute(order);
63 result.MonomialsKp1 = monomials3D.Compute(order + 1);
64 result.Quadrature = quadrature.Compute_MCC_3D(order);
65
66 result.Dimension = 3;
67 result.Order = order;
68 result.NumDofs0D = 0;
69 result.NumDofs1D = 0;
70 result.NumDofs2D = (order + 1) * (order + 2) / 2;
71 result.NumDofs3D = order * (order + 2) * (order + 3) / 2;
72
73 return result;
74 }
75};
76} // namespace MCC
77} // namespace VEM
78} // namespace Polydim
79
80#endif
Definition Monomials_2D.hpp:22
Polydim::Utilities::Monomials_Data Compute(const unsigned int polynomial_degree) const
Definition Monomials_2D.cpp:22
Definition Monomials_3D.hpp:22
Polydim::Utilities::Monomials_Data Compute(const unsigned int polynomial_degree) const
Definition Monomials_3D.cpp:22
Definition I_VEM_MCC_3D_ReferenceElement.hpp:59
Definition I_VEM_MCC_3D_ReferenceElement.hpp:53
Definition VEM_MCC_3D_ReferenceElement.hpp:28
VEM_MCC_3D_Pressure_ReferenceElement_Data Create(const unsigned int order) const
Definition VEM_MCC_3D_ReferenceElement.hpp:30
Definition VEM_MCC_3D_ReferenceElement.hpp:52
VEM_MCC_3D_Velocity_ReferenceElement_Data Create(const unsigned int order) const
Definition VEM_MCC_3D_ReferenceElement.hpp:54
Definition VEM_Quadrature_3D.hpp:32
Polydim::VEM::Quadrature::VEM_QuadratureData_3D Compute_MCC_3D(const unsigned int order) const
Definition VEM_Quadrature_3D.cpp:45
Definition FEM_MCC_2D_LocalSpace.cpp:17
Definition I_VEM_MCC_3D_ReferenceElement.hpp:26
unsigned int Dimension
Definition I_VEM_MCC_3D_ReferenceElement.hpp:27
Quadrature::VEM_QuadratureData_3D Quadrature
Definition I_VEM_MCC_3D_ReferenceElement.hpp:35
unsigned int NumDofs1D
Definition I_VEM_MCC_3D_ReferenceElement.hpp:30
unsigned int NumDofs3D
Definition I_VEM_MCC_3D_ReferenceElement.hpp:32
unsigned int NumDofs2D
Definition I_VEM_MCC_3D_ReferenceElement.hpp:31
unsigned int Order
Definition I_VEM_MCC_3D_ReferenceElement.hpp:28
Utilities::Monomials_Data Monomials
Definition I_VEM_MCC_3D_ReferenceElement.hpp:34
unsigned int NumDofs0D
Definition I_VEM_MCC_3D_ReferenceElement.hpp:29
Definition I_VEM_MCC_3D_ReferenceElement.hpp:39
unsigned int NumDofs1D
Definition I_VEM_MCC_3D_ReferenceElement.hpp:43
unsigned int NumDofs3D
Definition I_VEM_MCC_3D_ReferenceElement.hpp:45
unsigned int Dimension
Definition I_VEM_MCC_3D_ReferenceElement.hpp:40
Utilities::Monomials_Data MonomialsKp1
Definition I_VEM_MCC_3D_ReferenceElement.hpp:48
Quadrature::VEM_QuadratureData_3D Quadrature
Definition I_VEM_MCC_3D_ReferenceElement.hpp:49
unsigned int NumDofs0D
Definition I_VEM_MCC_3D_ReferenceElement.hpp:42
unsigned int NumDofs2D
Definition I_VEM_MCC_3D_ReferenceElement.hpp:44
unsigned int Order
Definition I_VEM_MCC_3D_ReferenceElement.hpp:41
Utilities::Monomials_Data Monomials2D
Definition I_VEM_MCC_3D_ReferenceElement.hpp:47