Nek5000
SEM for Incompressible NS
|
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include "c99.h"
#include "name.h"
#include "fail.h"
#include "types.h"
#include "mem.h"
#include "tensor.h"
#include "poly.h"
#include "lob_bnd.h"
Go to the source code of this file.
Classes | |
struct | obbox_2 |
struct | obbox_3 |
Macros | |
#define | obbox_calc_2 PREFIXED_NAME(obbox_calc_2) |
#define | obbox_calc_3 PREFIXED_NAME(obbox_calc_3) |
#define | DO_MAX(a, b) do { unsigned temp = b; if(temp>a) a=temp; } while(0) |
#define | SETUP_DIR(r) |
#define | DO_BOUND(bnd, merge, r, x, work) |
#define | DO_EDGE(merge, r, x, y, work) |
#define | GET_EDGE(off) |
#define | SETUP_DIR(r) |
#define | EVAL_AT_0(d, x) x0[d] = tensor_ig3(J+3*d, I0r,nr, I0s,ns, I0t,nt, x, work) |
#define | DO_BOUND(bnd, merge, r, s, x, work) |
#define | DO_FACE(merge, r, s, x, y, z, work) |
#define | GET_FACE(r, s, off, n1, n2, n3) |
Functions | |
static void | copy_strided (double *out, const double *in, unsigned g, unsigned s, unsigned n) |
static void | mat_inv_2 (double inv[4], const double A[4]) |
static void | mat_inv_3 (double inv[9], const double A[9]) |
static struct dbl_range | dbl_range_merge (struct dbl_range a, struct dbl_range b) |
static struct dbl_range | dbl_range_expand (struct dbl_range b, double tol) |
static void | bbox_2_tfm (double *out, const double x0[2], const double Ji[4], const double *x, const double *y, unsigned n) |
static void | bbox_3_tfm (double *out, const double x0[3], const double Ji[9], const double *x, const double *y, const double *z, unsigned n) |
void | obbox_calc_2 (struct obbox_2 *out, const double *const elx[2], const unsigned n[2], uint nel, const unsigned m[2], const double tol) |
void | obbox_calc_3 (struct obbox_3 *out, const double *const elx[3], const unsigned n[3], uint nel, const unsigned m[3], const double tol) |
Referenced by obbox_calc_2().
Referenced by obbox_calc_3().
#define DO_MAX | ( | a, | |
b | |||
) | do { unsigned temp = b; if(temp>a) a=temp; } while(0) |
Definition at line 125 of file obbox.c.
Referenced by obbox_calc_2(), and obbox_calc_3().
Referenced by obbox_calc_3().
#define GET_EDGE | ( | off | ) |
Referenced by obbox_calc_2().
#define GET_FACE | ( | r, | |
s, | |||
off, | |||
n1, | |||
n2, | |||
n3 | |||
) |
Referenced by obbox_calc_3().
#define obbox_calc_2 PREFIXED_NAME(obbox_calc_2) |
#define obbox_calc_3 PREFIXED_NAME(obbox_calc_3) |
#define SETUP_DIR | ( | r | ) |
Referenced by obbox_calc_2(), and obbox_calc_3().
#define SETUP_DIR | ( | r | ) |
|
static |
|
static |
|
static |
Definition at line 67 of file obbox.c.
References dbl_range::max, and dbl_range::min.
Referenced by obbox_calc_2(), and obbox_calc_3().
Definition at line 59 of file obbox.c.
References dbl_range::max, and dbl_range::min.
|
static |
Definition at line 33 of file obbox.c.
Referenced by obbox_calc_2().
|
static |
Definition at line 42 of file obbox.c.
Referenced by obbox_calc_3().
void obbox_calc_2 | ( | struct obbox_2 * | out, |
const double *const | elx[2], | ||
const unsigned | n[2], | ||
uint | nel, | ||
const unsigned | m[2], | ||
const double | tol | ||
) |
Definition at line 127 of file obbox.c.
References obbox_2::A, obbox_2::c0, dbl_range_expand(), DO_EDGE, DO_MAX, GET_EDGE, gll_lag_size, lob_bnd_size(), mat_inv_2(), dbl_range::max, dbl_range::min, mr, nr, ns, out, SETUP_DIR, tensor_ig2(), tmalloc, work, and obbox_2::x.
void obbox_calc_3 | ( | struct obbox_3 * | out, |
const double *const | elx[3], | ||
const unsigned | n[3], | ||
uint | nel, | ||
const unsigned | m[3], | ||
const double | tol | ||
) |
Definition at line 225 of file obbox.c.
References obbox_3::A, obbox_3::c0, dbl_range_expand(), DO_FACE, DO_MAX, EVAL_AT_0, GET_FACE, gll_lag_size, lob_bnd_size(), mat_inv_3(), dbl_range::max, dbl_range::min, mr, nr, ns, out, SETUP_DIR, tmalloc, work, obbox_3::x, and z.