HArD::Core2D
Hybrid Arbitrary Degree::Core 2D - Library to implement 2D schemes with edge and cell polynomials as unknowns
Loading...
Searching...
No Matches
quad1d.hpp
Go to the documentation of this file.
1// Creates quadrature rule on an edge
2//
3// Author: Jerome Droniou (jerome.droniou@monash.edu)
4//
5
6/*
7*
8* This library was developed around HHO methods, although some parts of it have a more
9* general purpose. If you use this code or part of it in a scientific publication,
10* please mention the following book as a reference for the underlying principles
11* of HHO schemes:
12*
13* The Hybrid High-Order Method for Polytopal Meshes: Design, Analysis, and Applications.
14* D. A. Di Pietro and J. Droniou. Modeling, Simulation and Applications, vol. 19.
15* Springer International Publishing, 2020, xxxi + 525p. doi: 10.1007/978-3-030-37203-3.
16* url: https://hal.archives-ouvertes.fr/hal-02151813.
17*
18*/
19
20
21
22#ifndef QUAD1D_HPP
23#define QUAD1D_HPP
24#include<stddef.h>
25namespace HArDCore2D { // forward dec
26class LegendreGauss;
27}
28
35namespace HArDCore2D {
36
38 static constexpr size_t max_doe = 20;
39
40public:
41 QuadRuleEdge(size_t doe, bool warn);
43
44 size_t nq();
45 double xq(size_t i);
46 double yq(size_t i);
47 double wq(size_t i);
48 void setup(double xV[], double yV[]);
49
50private:
51 size_t _npts;
52 LegendreGauss* _rule;
53 double* _w;
54 double* _xr;
55 double* _yr;
56 double _length;
57};
58
60public:
61 LegendreGauss(size_t doe); //, double x[] double y[], double w[]);
63
64 void sub_rule_01();
65 void sub_rule_02();
66 void sub_rule_03();
67 void sub_rule_04();
68 void sub_rule_05();
69 void sub_rule_06();
70 void sub_rule_07();
71 void sub_rule_08();
72 void sub_rule_09();
73 void sub_rule_10();
74 void sub_rule_11();
75 size_t npts();
76 double wq(size_t i);
77 double tq(size_t i);
78
79private:
80 size_t _doe;
81 size_t _npts;
82 double* _t;
83 double* _w;
84};
86}
87
88#endif /* QUAD1D_HPP */
Definition quad1d.hpp:59
Definition quad1d.hpp:37
Compute max and min eigenvalues of all matrices for i
Definition compute_eigs.m:5
void sub_rule_03()
Definition quad1d.cpp:114
size_t npts()
Definition quad1d.cpp:296
double xq(size_t i)
Definition quad1d.cpp:33
double wq(size_t i)
Definition quad1d.cpp:297
void sub_rule_02()
Definition quad1d.cpp:105
double wq(size_t i)
Definition quad1d.cpp:35
~QuadRuleEdge()
Definition quad1d.cpp:23
~LegendreGauss()
Definition quad1d.cpp:94
void sub_rule_08()
Definition quad1d.cpp:192
void sub_rule_04()
Definition quad1d.cpp:125
void setup(double xV[], double yV[])
Definition quad1d.cpp:38
void sub_rule_11()
Definition quad1d.cpp:264
void sub_rule_07()
Definition quad1d.cpp:172
double tq(size_t i)
Definition quad1d.cpp:304
void sub_rule_05()
Definition quad1d.cpp:138
void sub_rule_01()
Definition quad1d.cpp:99
void sub_rule_10()
Definition quad1d.cpp:238
double yq(size_t i)
Definition quad1d.cpp:34
void sub_rule_09()
Definition quad1d.cpp:214
size_t nq()
Definition quad1d.cpp:30
void sub_rule_06()
Definition quad1d.cpp:154
Definition ddr-klplate.hpp:27