xref: /petsc/src/dm/dt/interface/petscdttridiagquadrules.h (revision 2ff79c18c26c94ed8cb599682f680f231dca6444)
1 #pragma once
2 
3 #include <petscsys.h>
4 
5 static const PetscReal PetscDTKMVTriQuad_2_weights[] = {PetscRealConstant(6.66666666666666666666666666666666667e-01)};
6 
7 static const PetscReal PetscDTKMVTriQuad_2_orbits[] = {PetscRealConstant(0.), PetscRealConstant(1.)};
8 
9 static const PetscReal PetscDTKMVTriQuad_3_weights[] = {PetscRealConstant(9.00000000000000000000000000000000000e-01), PetscRealConstant(1.00000000000000000000000000000000000e-01), PetscRealConstant(2.66666666666666666666666666666666667e-01)};
10 
11 static const PetscReal PetscDTKMVTriQuad_3_orbits[] = {PetscRealConstant(3.33333333333333333333333333333333333e-01), PetscRealConstant(0.), PetscRealConstant(1.), PetscRealConstant(0.5), PetscRealConstant(0.)};
12 
13 //static const PetscReal PetscDTKMVTriQuad_4_weights[] = {PetscRealConstant(2.97458260496411633861021347020041087e-02), PetscRealConstant(4.41554115680821477036048276247362094e-01), PetscRealConstant(9.76833624681020131222581278586502316e-02)};
14 static const PetscReal PetscDTKMVTriQuad_4_weights[] = {PetscRealConstant(2.97458260496411633861021347020041087e-02), PetscRealConstant(4.41554115680821477036048276247362094e-01), PetscRealConstant(9.76833624681020131222581278586502316e-02)};
15 
16 // alpha = PetscRealConstant(2.93469555909040190389804004439162530e-01)
17 // beta  = PetscRealConstant(2.07345175663590924261827821255273313e-01)
18 static const PetscReal PetscDTKMVTriQuad_4_orbits[] = {PetscRealConstant(0.), PetscRealConstant(1.), PetscRealConstant(7.92654824336409075738172178744726686e-01), PetscRealConstant(2.07345175663590924261827821255273313e-01), PetscRealConstant(7.06530444090959809610195995560837469e-01), PetscRealConstant(2.93469555909040190389804004439162530e-01), PetscRealConstant(0.)};
19 
20 static const PetscInt PetscDTKMVTriQuad_max_degree = 4;
21 
22 static const PetscInt PetscDTKMVTriQuad_num_nodes[] = {3, 3, 3, 7, 12};
23 
24 static const PetscInt PetscDTKMVTriQuad_num_orbits[] = {0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 2, 0, 0, 2, 1};
25 
26 static const PetscReal *PetscDTKMVTriQuad_weights[] = {PetscDTKMVTriQuad_2_weights, PetscDTKMVTriQuad_2_weights, PetscDTKMVTriQuad_2_weights, PetscDTKMVTriQuad_3_weights, PetscDTKMVTriQuad_4_weights};
27 
28 static const PetscReal *PetscDTKMVTriQuad_orbits[] = {PetscDTKMVTriQuad_2_orbits, PetscDTKMVTriQuad_2_orbits, PetscDTKMVTriQuad_2_orbits, PetscDTKMVTriQuad_3_orbits, PetscDTKMVTriQuad_4_orbits};
29