Neko 1.99.1
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
neko.h
Go to the documentation of this file.
1#ifndef __NEKO_H
2
3#include <stdint.h>
4
9typedef double neko_real;
10
11/* Initialise Neko */
12void neko_init();
13
14/* Finalize Neko */
16
17/* Display job information */
19
20/* Allocate memory for a Neko case */
21void neko_case_allocate(int **case_iptr);
22
23/* Initialise a Neko case */
24void neko_case_init(const char **case_json, int case_len, int **case_iptr);
25
26/* Destroy a Neko case */
27void neko_case_free(int **case_iptr);
28
29/* Retrive the current time of a case */
30double neko_case_time(int **case_iptr);
31
32/* Retrive the end time of a case */
33double neko_case_end_time(int **case_iptr);
34
35/* Retrive the current time-step of a case */
36int neko_case_tstep(int **case_iptr);
37
38/* Solve a Neko case */
39void neko_solve(int **case_iptr);
40
41/* Compute a time-step for a neko case */
42void neko_step(int **case_iptr);
43
44/* Retrive a pointer to a flow field */
45neko_real *neko_field(char *field_name);
46
47/* Retrive the order of a field */
48int neko_field_order(char *field_name);
49
50/* Retrive the number of elements in a field */
51int neko_field_nelements(char *field_name);
52
53/* Retrive the total number of degrees of freedom of a field */
54int neko_field_size(char *field_name);
55
56/* Retrive the dofmap associated with a field */
57void neko_field_dofmap(char *field_name, int64_t **dof, neko_real **x,
58 neko_real **y, neko_real **z);
59
60/* Retrive the dofmapassociated with a case's fluid solver */
61void neko_case_fluid_dofmap(int **case_iptr, int64_t **dof, neko_real **x,
62 neko_real **y, neko_real **z);
63
64/* Retrive the space associated with a field */
65void neko_field_space(char *field_name, int *lx, neko_real **zg,
67 neko_real **wx, neko_real **wy, neko_real **wz,
69
70/* Retrive the space associated with a field */
71void neko_case_fluid_space(int **case_iptr, int *lx, neko_real **zg,
73 neko_real **wx, neko_real **wy, neko_real **wz,
75
76/* Retrive the coefficient associated with a case's fluid solver */
77void neko_case_fluid_coef(int **case_iptr, neko_real **G11, neko_real **G22,
78 neko_real **G33, neko_real **G12, neko_real **G13,
79 neko_real **G23, neko_real **mult, neko_real **dxdr,
80 neko_real **dydr, neko_real **dzdr, neko_real **dxds,
81 neko_real **dyds, neko_real **dzds, neko_real **dxdt,
82 neko_real **dydt, neko_real **dzdt, neko_real **drdx,
86 neko_real **B, neko_real **area, neko_real **nx,
87 neko_real **ny, neko_real **nz);
88#endif
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ drdy
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ drdz
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dsdz
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dsdy
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dtdy
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dx
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ drdx
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dtdz
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dsdx
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dtdx
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dz
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dy
__global__ void const T *__restrict__ const T *__restrict__ dr
__global__ void const T *__restrict__ const T *__restrict__ const T *__restrict__ ds
__global__ void const T *__restrict__ x
__global__ void const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dt
void neko_step(int **case_iptr)
int neko_field_nelements(char *field_name)
int neko_case_tstep(int **case_iptr)
double neko_real
Definition neko.h:9
void neko_finalize()
void neko_case_init(const char **case_json, int case_len, int **case_iptr)
void neko_case_fluid_dofmap(int **case_iptr, int64_t **dof, neko_real **x, neko_real **y, neko_real **z)
void neko_case_allocate(int **case_iptr)
void neko_init()
void neko_case_fluid_coef(int **case_iptr, neko_real **G11, neko_real **G22, neko_real **G33, neko_real **G12, neko_real **G13, neko_real **G23, neko_real **mult, neko_real **dxdr, neko_real **dydr, neko_real **dzdr, neko_real **dxds, neko_real **dyds, neko_real **dzds, neko_real **dxdt, neko_real **dydt, neko_real **dzdt, neko_real **drdx, neko_real **drdy, neko_real **drdz, neko_real **dsdx, neko_real **dsdy, neko_real **dsdz, neko_real **dtdx, neko_real **dtdy, neko_real **dtdz, neko_real **jac, neko_real **B, neko_real **area, neko_real **nx, neko_real **ny, neko_real **nz)
void neko_job_info()
int neko_field_size(char *field_name)
void neko_case_free(int **case_iptr)
void neko_solve(int **case_iptr)
void neko_field_space(char *field_name, int *lx, neko_real **zg, neko_real **dr, neko_real **ds, neko_real **dt, neko_real **wx, neko_real **wy, neko_real **wz, neko_real **dx, neko_real **dy, neko_real **dz)
neko_real * neko_field(char *field_name)
double neko_case_end_time(int **case_iptr)
double neko_case_time(int **case_iptr)
void neko_field_dofmap(char *field_name, int64_t **dof, neko_real **x, neko_real **y, neko_real **z)
int neko_field_order(char *field_name)
void neko_case_fluid_space(int **case_iptr, int *lx, neko_real **zg, neko_real **dr, neko_real **ds, neko_real **dt, neko_real **wx, neko_real **wy, neko_real **wz, neko_real **dx, neko_real **dy, neko_real **dz)