27 int p_n_r,
real p_r_min,
real p_r_max,
28 int p_n_z,
real p_z_min,
real p_z_max,
29 int b_n_r,
real b_r_min,
real b_r_max,
30 int b_n_phi,
real b_phi_min,
real b_phi_max,
31 int b_n_z,
real b_z_min,
real b_z_max,
36GPU_DECLARE_TARGET_SIMD_UNIFORM(Bdata)
39GPU_DECLARE_TARGET_SIMD_UNIFORM(Bdata)
43GPU_DECLARE_TARGET_SIMD_UNIFORM(Bdata)
47GPU_DECLARE_TARGET_SIMD_UNIFORM(Bdata)
50GPU_DECLARE_TARGET_SIMD_UNIFORM(Bdata)
54GPU_DECLARE_TARGET_SIMD_UNIFORM(Bdata)
DECLARE_TARGET_END a5err B_3DS_eval_B(real B[3], real r, real phi, real z, B_3DS_data *Bdata)
Evaluate magnetic field.
DECLARE_TARGET_END a5err B_3DS_eval_rho_drho(real rho_drho[4], real r, real phi, real z, B_3DS_data *Bdata)
Evaluate normalized poloidal flux rho and its derivatives.
DECLARE_TARGET_END a5err B_3DS_eval_B_dB(real B_dB[12], real r, real phi, real z, B_3DS_data *Bdata)
Evaluate magnetic field and its derivatives.
DECLARE_TARGET_END a5err B_3DS_get_axis_rz(real rz[2], B_3DS_data *Bdata)
Return magnetic axis R-coordinate.
void B_3DS_free(B_3DS_data *data)
Free allocated resources.
a5err B_3DS_eval_psi(real *psi, real r, real phi, real z, B_3DS_data *Bdata)
Evaluate poloidal flux psi.
void B_3DS_offload(B_3DS_data *data)
Offload data to the accelerator.
int B_3DS_init(B_3DS_data *data, int p_n_r, real p_r_min, real p_r_max, int p_n_z, real p_z_min, real p_z_max, int b_n_r, real b_r_min, real b_r_max, int b_n_phi, real b_phi_min, real b_phi_max, int b_n_z, real b_z_min, real b_z_max, real axis_r, real axis_z, real psi0, real psi1, real *psi, real *B_r, real *B_phi, real *B_z)
Initialize magnetic field data.
DECLARE_TARGET_END a5err B_3DS_eval_psi_dpsi(real psi_dpsi[4], real r, real phi, real z, B_3DS_data *Bdata)
Evaluate poloidal flux psi and its derivatives.
Main header file for ASCOT5.
unsigned long int a5err
Simulation error flag.
Spline interpolation library.
3D magnetic field parameters
Bicubic interpolation struct.
Tricubic interpolation struct.