Neko 1.99.7
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
neko.h File Reference
#include <stdint.h>
Include dependency graph for neko.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef double neko_real
 
typedef void(* neko_initial_condition_cb) (const char *scheme_name, int scheme_name_len)
 
typedef void(* neko_preprocess_cb) (neko_real t, int tstep)
 
typedef void(* neko_compute_cb) (neko_real t, int tstep)
 
typedef void(* neko_dirichlet_condition_cb) (int *msk, int msk_size, neko_real t, int tstep)
 
typedef void(* neko_material_properties_cb) (const char *scheme_name, int scheme_name_len, neko_real t, int tstep)
 
typedef void(* neko_source_term_cb) (const char *scheme_name, int scheme_name_len, neko_real t, int tstep)
 

Functions

void neko_init ()
 
void neko_finalize ()
 
void neko_job_info ()
 
void neko_device_init ()
 
void neko_device_finalize ()
 
void neko_registry_init ()
 
void neko_registry_free ()
 
void neko_scratch_registry_init ()
 
void neko_scratch_registry_free ()
 
void neko_case_allocate (int **case_iptr)
 
void neko_case_init (const char **case_json, int case_len, int **case_iptr)
 
void neko_case_free (int **case_iptr)
 
double neko_case_time (int **case_iptr)
 
double neko_case_end_time (int **case_iptr)
 
int neko_case_tstep (int **case_iptr)
 
void neko_solve (int **case_iptr)
 
void neko_step (int **case_iptr)
 
void neko_output_ctrl_execute (int **case_iptr, int force_output)
 
neko_realneko_field (char *field_name)
 
int neko_field_order (char *field_name)
 
int neko_field_nelements (char *field_name)
 
int neko_field_size (char *field_name)
 
void neko_field_dofmap (char *field_name, int64_t **dof, neko_real **x, neko_real **y, neko_real **z)
 
void neko_case_fluid_dofmap (int **case_iptr, int64_t **dof, neko_real **x, neko_real **y, neko_real **z, int *size)
 
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)
 
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_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_user_setup (int **case_iptr, neko_initial_condition_cb initial_cb, neko_preprocess_cb preprocess_cb, neko_compute_cb compute_cb, neko_dirichlet_condition_cb dirichlet_cb, neko_material_properties_cb material_cb, neko_source_term_cb source_cb)
 
neko_realneko_cb_field_by_name (char *field_name)
 
neko_realneko_cb_field_by_index (int *field_idx)
 
int neko_cb_field_name_at_index (int *field_idx, char *field_name)
 

Typedef Documentation

◆ neko_compute_cb

typedef void(* neko_compute_cb) (neko_real t, int tstep)

Definition at line 23 of file neko.h.

◆ neko_dirichlet_condition_cb

typedef void(* neko_dirichlet_condition_cb) (int *msk, int msk_size, neko_real t, int tstep)

Definition at line 26 of file neko.h.

◆ neko_initial_condition_cb

typedef void(* neko_initial_condition_cb) (const char *scheme_name, int scheme_name_len)

Initial condition callback

Note
scheme_name is not null-terminated, use scheme_name_len

Definition at line 16 of file neko.h.

◆ neko_material_properties_cb

typedef void(* neko_material_properties_cb) (const char *scheme_name, int scheme_name_len, neko_real t, int tstep)

Material properties callback

Note
scheme_name is not null-terminated, use scheme_name_len

Definition at line 33 of file neko.h.

◆ neko_preprocess_cb

typedef void(* neko_preprocess_cb) (neko_real t, int tstep)

Definition at line 20 of file neko.h.

◆ neko_real

Floating point precision in the Neko API

Note
Set to the same C/C++ equivalent type as rp

Definition at line 10 of file neko.h.

◆ neko_source_term_cb

typedef void(* neko_source_term_cb) (const char *scheme_name, int scheme_name_len, neko_real t, int tstep)

Source term callback

Note
scheme_name is not null-terminated, use scheme_name_len

Definition at line 41 of file neko.h.

Function Documentation

◆ neko_case_allocate()

void neko_case_allocate ( int **  case_iptr)
Here is the caller graph for this function:

◆ neko_case_end_time()

double neko_case_end_time ( int **  case_iptr)
Here is the caller graph for this function:

◆ neko_case_fluid_coef()

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 
)

◆ neko_case_fluid_dofmap()

void neko_case_fluid_dofmap ( int **  case_iptr,
int64_t **  dof,
neko_real **  x,
neko_real **  y,
neko_real **  z,
int size 
)

◆ neko_case_fluid_space()

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 
)

◆ neko_case_free()

void neko_case_free ( int **  case_iptr)
Here is the caller graph for this function:

◆ neko_case_init()

void neko_case_init ( const char **  case_json,
int  case_len,
int **  case_iptr 
)
Here is the caller graph for this function:

◆ neko_case_time()

double neko_case_time ( int **  case_iptr)
Here is the caller graph for this function:

◆ neko_case_tstep()

int neko_case_tstep ( int **  case_iptr)

◆ neko_cb_field_by_index()

neko_real * neko_cb_field_by_index ( int field_idx)

◆ neko_cb_field_by_name()

neko_real * neko_cb_field_by_name ( char field_name)
Here is the caller graph for this function:

◆ neko_cb_field_name_at_index()

int neko_cb_field_name_at_index ( int field_idx,
char field_name 
)
Here is the caller graph for this function:

◆ neko_device_finalize()

void neko_device_finalize ( )

◆ neko_device_init()

void neko_device_init ( )

◆ neko_field()

neko_real * neko_field ( char field_name)
Here is the caller graph for this function:

◆ neko_field_dofmap()

void neko_field_dofmap ( char field_name,
int64_t **  dof,
neko_real **  x,
neko_real **  y,
neko_real **  z 
)

◆ neko_field_nelements()

int neko_field_nelements ( char field_name)

◆ neko_field_order()

int neko_field_order ( char field_name)

◆ neko_field_size()

int neko_field_size ( char field_name)
Here is the caller graph for this function:

◆ neko_field_space()

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_finalize()

void neko_finalize ( )
Here is the caller graph for this function:

◆ neko_init()

void neko_init ( )
Here is the caller graph for this function:

◆ neko_job_info()

void neko_job_info ( )
Here is the caller graph for this function:

◆ neko_output_ctrl_execute()

void neko_output_ctrl_execute ( int **  case_iptr,
int  force_output 
)

◆ neko_registry_free()

void neko_registry_free ( )

◆ neko_registry_init()

void neko_registry_init ( )

◆ neko_scratch_registry_free()

void neko_scratch_registry_free ( )

◆ neko_scratch_registry_init()

void neko_scratch_registry_init ( )

◆ neko_solve()

void neko_solve ( int **  case_iptr)
Here is the caller graph for this function:

◆ neko_step()

void neko_step ( int **  case_iptr)
Here is the caller graph for this function:

◆ neko_user_setup()

void neko_user_setup ( int **  case_iptr,
neko_initial_condition_cb  initial_cb,
neko_preprocess_cb  preprocess_cb,
neko_compute_cb  compute_cb,
neko_dirichlet_condition_cb  dirichlet_cb,
neko_material_properties_cb  material_cb,
neko_source_term_cb  source_cb 
)
Here is the caller graph for this function: