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/* Initialise a Neko device layer */
22
23/* Destroy a Neko device layer */
25
26/* Initialise a Neko field registry */
28
29/* Destroy a Neko field registry */
31
32/* Allocate memory for a Neko case */
33void neko_case_allocate(int **case_iptr);
34
35/* Initialise a Neko case */
36void neko_case_init(const char **case_json, int case_len, int **case_iptr);
37
38/* Destroy a Neko case */
39void neko_case_free(int **case_iptr);
40
41/* Retrive the current time of a case */
42double neko_case_time(int **case_iptr);
43
44/* Retrive the end time of a case */
45double neko_case_end_time(int **case_iptr);
46
47/* Retrive the current time-step of a case */
48int neko_case_tstep(int **case_iptr);
49
50/* Solve a Neko case */
51void neko_solve(int **case_iptr);
52
53/* Compute a time-step for a neko case */
54void neko_step(int **case_iptr);
55
56/* Retrive a pointer to a flow field */
57neko_real *neko_field(char *field_name);
58
59/* Retrive the order of a field */
60int neko_field_order(char *field_name);
61
62/* Retrive the number of elements in a field */
63int neko_field_nelements(char *field_name);
64
65/* Retrive the total number of degrees of freedom of a field */
66int neko_field_size(char *field_name);
67
68/* Retrive the dofmap associated with a field */
69void neko_field_dofmap(char *field_name, int64_t **dof, neko_real **x,
70 neko_real **y, neko_real **z);
71
72/* Retrive the dofmapassociated with a case's fluid solver */
73void neko_case_fluid_dofmap(int **case_iptr, int64_t **dof, neko_real **x,
74 neko_real **y, neko_real **z);
75
76/* Retrive the space associated with a field */
77void neko_field_space(char *field_name, int *lx, neko_real **zg,
79 neko_real **wx, neko_real **wy, neko_real **wz,
81
82/* Retrive the space associated with a field */
83void neko_case_fluid_space(int **case_iptr, int *lx, neko_real **zg,
85 neko_real **wx, neko_real **wy, neko_real **wz,
87
88/* Retrive the coefficient associated with a case's fluid solver */
89void neko_case_fluid_coef(int **case_iptr, neko_real **G11, neko_real **G22,
90 neko_real **G33, neko_real **G12, neko_real **G13,
91 neko_real **G23, neko_real **mult, neko_real **dxdr,
92 neko_real **dydr, neko_real **dzdr, neko_real **dxds,
93 neko_real **dyds, neko_real **dzds, neko_real **dxdt,
94 neko_real **dydt, neko_real **dzdt, neko_real **drdx,
98 neko_real **B, neko_real **area, neko_real **nx,
99 neko_real **ny, neko_real **nz);
100#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)
void neko_field_registry_free()
double neko_real
Definition neko.h:9
void neko_device_finalize()
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()
void neko_field_registry_init()
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)
void neko_device_init()