Nek5000
SEM for Incompressible NS
|
#include <stddef.h>
#include <stdlib.h>
#include <math.h>
#include <float.h>
#include <string.h>
#include "c99.h"
#include "name.h"
#include "fail.h"
#include "mem.h"
#include "poly_imp.h"
Go to the source code of this file.
Macros | |
#define | lagrange_size PREFIXED_NAME(lagrange_size ) |
#define | lagrange_setup PREFIXED_NAME(lagrange_setup) |
#define | gauss_nodes PREFIXED_NAME(gauss_nodes ) |
#define | gauss_quad PREFIXED_NAME(gauss_quad ) |
#define | lobatto_nodes PREFIXED_NAME(lobatto_nodes ) |
#define | lobatto_quad PREFIXED_NAME(lobatto_quad ) |
#define | gll_lag_size PREFIXED_NAME(gll_lag_size ) |
#define | gll_lag_setup PREFIXED_NAME(gll_lag_setup ) |
#define | EPS (128*DBL_EPSILON) |
#define | PI 3.1415926535897932384626433832795028841971693993751058209749445923 |
Typedefs | |
typedef void | lagrange_fun(double *restrict p, double *restrict data, unsigned n, int d, double x) |
Functions | |
static void | lagrange_eval (double *restrict p, double *restrict data, unsigned n, int der, double x) |
static void | lagrange_coef (double *restrict p, double *data, double *w, const double *z, unsigned n, lagrange_fun *lag_eval) |
unsigned | lagrange_size (unsigned n) |
lagrange_fun * | lagrange_setup (double *restrict data, const double *restrict z, unsigned n) |
static double | legendre (int n, double x) |
static double | legendre_d1 (int n, double x) |
static double | legendre_d2 (int n, double x) |
void | gauss_nodes (double *restrict z, int n) |
static void | lobatto_nodes_aux (double *restrict z, int n) |
static void | lobatto_nodes_n (double *restrict z, int n) |
static void | lobatto_nodes_fix (double *restrict z, int n) |
void | lobatto_nodes (double *restrict z, int n) |
void | gauss_quad (double *restrict z, double *restrict w, int n) |
void | lobatto_quad (double *restrict z, double *restrict w, int n) |
unsigned | gll_lag_size (unsigned n) |
lagrange_fun * | gll_lag_setup (double *restrict data, int n) |
#define EPS (128*DBL_EPSILON) |
Definition at line 74 of file poly.c.
Referenced by gauss_nodes(), and lobatto_nodes_aux().
#define gauss_nodes PREFIXED_NAME(gauss_nodes ) |
Definition at line 13 of file poly.c.
Referenced by gauss_quad(), and main().
#define gauss_quad PREFIXED_NAME(gauss_quad ) |
#define gll_lag_setup PREFIXED_NAME(gll_lag_setup ) |
Definition at line 18 of file poly.c.
Referenced by findpts_el_setup_2(), findpts_el_setup_3(), lob_bnd_setup(), and main().
#define gll_lag_size PREFIXED_NAME(gll_lag_size ) |
Definition at line 17 of file poly.c.
Referenced by findpts_el_setup_2(), findpts_el_setup_3(), lob_bnd_setup(), main(), obbox_calc_2(), and obbox_calc_3().
#define lagrange_setup PREFIXED_NAME(lagrange_setup) |
#define lagrange_size PREFIXED_NAME(lagrange_size ) |
#define lobatto_nodes PREFIXED_NAME(lobatto_nodes ) |
Definition at line 15 of file poly.c.
Referenced by findpts_el_setup_2(), findpts_el_setup_3(), gll_lag_setup(), lobatto_quad(), main(), rand_elt_2(), and rand_elt_3().
#define lobatto_quad PREFIXED_NAME(lobatto_quad ) |
Definition at line 16 of file poly.c.
Referenced by lob_bnd_setup(), and main().
#define PI 3.1415926535897932384626433832795028841971693993751058209749445923 |
Definition at line 75 of file poly.c.
Referenced by gauss_nodes(), and lobatto_nodes_aux().
void gauss_nodes | ( | double *restrict | z, |
int | n | ||
) |
Definition at line 139 of file poly.c.
References EPS, i, legendre(), legendre_d1(), n, PI, and x.
Definition at line 195 of file poly.c.
References gauss_nodes, i, legendre(), and n.
lagrange_fun* gll_lag_setup | ( | double *restrict | data, |
int | n | ||
) |
Definition at line 222 of file poly.c.
References GLL_LAG_FIX_MAX, gll_lag_table, lagrange_coef(), lagrange_eval(), lobatto_nodes, n, p, tmalloc, and z.
unsigned gll_lag_size | ( | unsigned | n | ) |
Definition at line 217 of file poly.c.
References GLL_LAG_FIX_MAX, and n.
|
static |
Definition at line 50 of file poly.c.
Referenced by gll_lag_setup(), and lagrange_setup().
|
static |
Definition at line 25 of file poly.c.
References i, n, restrict, and z.
Referenced by gll_lag_setup(), and lagrange_setup().
lagrange_fun* lagrange_setup | ( | double *restrict | data, |
const double *restrict | z, | ||
unsigned | n | ||
) |
Definition at line 64 of file poly.c.
References lagrange_coef(), lagrange_eval(), p, restrict, and tmalloc.
|
static |
Definition at line 94 of file poly.c.
Referenced by gauss_nodes(), gauss_quad(), and lobatto_quad().
|
static |
Definition at line 107 of file poly.c.
Referenced by gauss_nodes(), and lobatto_nodes_aux().
|
static |
void lobatto_nodes | ( | double *restrict | z, |
int | n | ||
) |
Definition at line 189 of file poly.c.
References GLL_LAG_FIX_MAX, lobatto_nodes_fix(), and lobatto_nodes_n().
|
static |
Definition at line 155 of file poly.c.
References EPS, i, legendre_d1(), legendre_d2(), n, np, PI, and x.
Referenced by lobatto_nodes_n().
|
static |
Definition at line 177 of file poly.c.
References gllz_table, i, and restrict.
Referenced by lobatto_nodes().
|
static |
Definition at line 171 of file poly.c.
References lobatto_nodes_aux().
Referenced by lobatto_nodes().
Definition at line 206 of file poly.c.
References i, legendre(), lobatto_nodes, and n.