5#ifndef __BASE_FUNCTIONS_H__
6#define __BASE_FUNCTIONS_H__
31 double *diff_x,
double *diff_t,
double *L,
32 double *diffL,
const int dim);
51 double t,
double *diff_x,
52 double *diff_t,
double *L,
53 double *diffL,
const int dim);
75 double *L,
double *diffL,
81#define LOBATTO_PHI0(x) (-2.0 * 1.22474487139158904909864203735)
82#define LOBATTO_PHI1(x) (-2.0 * 1.58113883008418966599944677222 * (x))
83#define LOBATTO_PHI2(x) \
84 (-1.0 / 2.0 * 1.87082869338697069279187436616 * (5 * (x) * (x)-1))
85#define LOBATTO_PHI3(x) \
86 (-1.0 / 2.0 * 2.12132034355964257320253308631 * (7 * (x) * (x)-3) * (x))
87#define LOBATTO_PHI4(x) \
88 (-1.0 / 4.0 * 2.34520787991171477728281505677 * \
89 (21 * (x) * (x) * (x) * (x)-14 * (x) * (x) + 1))
90#define LOBATTO_PHI5(x) \
91 (-1.0 / 4.0 * 2.54950975679639241501411205451 * \
92 ((33 * (x) * (x)-30) * (x) * (x) + 5) * (x))
93#define LOBATTO_PHI6(x) \
94 (-1.0 / 32.0 * 2.73861278752583056728484891400 * \
95 (((429 * (x) * (x)-495) * (x) * (x) + 135) * (x) * (x)-5))
96#define LOBATTO_PHI7(x) \
97 (-1.0 / 32.0 * 2.91547594742265023543707643877 * \
98 (((715 * (x) * (x)-1001) * (x) * (x) + 385) * (x) * (x)-35) * (x))
99#define LOBATTO_PHI8(x) \
100 (-1.0 / 64.0 * 3.08220700148448822512509619073 * \
101 ((((2431 * (x) * (x)-4004) * (x) * (x) + 2002) * (x) * (x)-308) * (x) * \
104#define LOBATTO_PHI9(x) \
105 (-1.0 / 128.0 * 6.4807406984078603784382721642 * \
106 ((((4199 * (x) * (x)-7956) * (x) * (x) + 4914) * (x) * (x)-1092) * (x) * \
112#define LOBATTO_PHI0X(x) (0)
113#define LOBATTO_PHI1X(x) (-2.0 * 1.58113883008418966599944677222)
114#define LOBATTO_PHI2X(x) \
115 (-1.0 / 2.0 * 1.87082869338697069279187436616 * (10 * (x)))
116#define LOBATTO_PHI3X(x) \
117 (-1.0 / 2.0 * 2.12132034355964257320253308631 * (21.0 * (x) * (x)-3.0))
118#define LOBATTO_PHI4X(x) \
119 (-1.0 / 4.0 * 2.34520787991171477728281505677 * \
120 ((84.0 * (x) * (x)-28.0) * (x)))
121#define LOBATTO_PHI5X(x) \
122 (-1.0 / 4.0 * 2.54950975679639241501411205451 * \
123 ((165.0 * (x) * (x)-90.0) * (x) * (x) + 5.0))
124#define LOBATTO_PHI6X(x) \
125 (-1.0 / 32.0 * 2.73861278752583056728484891400 * \
126 (((2574.0 * (x) * (x)-1980.0) * (x) * (x) + 270.0) * (x)))
127#define LOBATTO_PHI7X(x) \
128 (-1.0 / 32.0 * 2.91547594742265023543707643877 * \
129 (((5005.0 * (x) * (x)-5005.0) * (x) * (x) + 1155.0) * (x) * (x)-35.0))
130#define LOBATTO_PHI8X(x) \
131 (-1.0 / 64.0 * 3.08220700148448822512509619073 * \
132 ((((19448.0 * (x) * (x)-24024.0) * (x) * (x) + 8008.0) * (x) * (x)-616.0) * \
134#define LOBATTO_PHI9X(x) \
135 (-1.0 / 128.0 * 6.4807406984078603784382721642 * \
136 ((((37791.0 * (x) * (x)-55692.0) * (x) * (x) + 24570.0) * (x) * \
PetscErrorCode IntegratedJacobi_polynomials(int p, double alpha, double x, double t, double *diff_x, double *diff_t, double *L, double *diffL, const int dim)
Calculate integrated Jacobi approximation basis.
PetscErrorCode Jacobi_polynomials(int p, double alpha, double x, double t, double *diff_x, double *diff_t, double *L, double *diffL, const int dim)
Calculate Jacobi approximation basis.
PetscErrorCode LobattoKernel_polynomials(int p, double s, double *diff_s, double *L, double *diffL, const int dim)
Calculate Kernel Lobatto base functions.
constexpr double t
plate stiffness