ASCOT5
|
Header file for B_field.c. More...
#include "ascot5.h"
#include "offload.h"
#include "error.h"
#include "Bfield/B_GS.h"
#include "Bfield/B_2DS.h"
#include "Bfield/B_3DS.h"
#include "Bfield/B_STS.h"
#include "Bfield/B_TC.h"
Go to the source code of this file.
Data Structures | |
struct | B_field_data |
Magnetic field simulation data. More... | |
Typedefs | |
typedef enum B_field_type | B_field_type |
Magnetic field types. | |
Enumerations | |
enum | B_field_type { B_field_type_GS , B_field_type_2DS , B_field_type_3DS , B_field_type_STS , B_field_type_TC } |
Magnetic field types. More... | |
Functions | |
void | B_field_free (B_field_data *data) |
Free allocated resources. | |
void | B_field_offload (B_field_data *data) |
Offload data to the accelerator. | |
a5err | B_field_eval_psi (real *psi, real r, real phi, real z, real t, B_field_data *Bdata) |
Evaluate poloidal flux psi. | |
DECLARE_TARGET_END a5err | B_field_eval_psi_dpsi (real psi_dpsi[4], real r, real phi, real z, real t, B_field_data *Bdata) |
Evaluate poloidal flux psi and its derivatives. | |
DECLARE_TARGET_END a5err | B_field_eval_rho (real rho[2], real psi, B_field_data *Bdata) |
Evaluate normalized poloidal flux rho and its psi derivative. | |
DECLARE_TARGET_END a5err | B_field_eval_rho_drho (real rho_drho[4], real r, real phi, real z, B_field_data *Bdata) |
Evaluate normalized poloidal flux rho and its derivatives. | |
DECLARE_TARGET_END a5err | B_field_eval_B (real B[3], real r, real phi, real z, real t, B_field_data *Bdata) |
Evaluate magnetic field. | |
DECLARE_TARGET_END a5err | B_field_eval_B_dB (real B_dB[15], real r, real phi, real z, real t, B_field_data *Bdata) |
Evaluate magnetic field and its derivatives. | |
DECLARE_TARGET_END a5err | B_field_get_axis_rz (real rz[2], B_field_data *Bdata, real phi) |
Return magnetic axis Rz-coordinates. | |
Header file for B_field.c.
Contains a list declaring all B_field_types, and declaration of B_field_offload_data and B_field_data structs.
Definition in file B_field.h.
typedef enum B_field_type B_field_type |
Magnetic field types.
Magnetic field types are used in the magnetic field interface to direct function calls to correct magnetic field instances. Each magnetic field instance must have a corresponding type.
enum B_field_type |
Magnetic field types.
Magnetic field types are used in the magnetic field interface to direct function calls to correct magnetic field instances. Each magnetic field instance must have a corresponding type.
void B_field_free | ( | B_field_data * | data | ) |
void B_field_offload | ( | B_field_data * | data | ) |
Evaluate poloidal flux psi.
This function evaluates the poloidal flux psi at the given coordinates. The psi is exactly as it appears in Grad-Shafranov equation.
This is a SIMD function.
psi | pointer where psi [V*s*m^-1] value will be stored |
r | R coordinate [m] |
phi | phi coordinate [rad] |
z | z coordinate [m] |
t | time coordinate [s] |
Bdata | pointer to magnetic field data struct |
DECLARE_TARGET_END a5err B_field_eval_psi_dpsi | ( | real | psi_dpsi[4], |
real | r, | ||
real | phi, | ||
real | z, | ||
real | t, | ||
B_field_data * | Bdata ) |
Evaluate poloidal flux psi and its derivatives.
This function evaluates the poloidal flux psi and its derivatives at the given coordinates. The psi is exactly as it appears in Grad-Shafranov equation.
The values are stored in the given array as:
This is a SIMD function.
psi_dpsi | pointer for storing psi [V*s*m^-1] and its derivatives |
r | R coordinate [m] |
phi | phi coordinate [rad] |
z | z coordinate [m] |
t | time coordinate [s] |
Bdata | pointer to magnetic field data struct |
DECLARE_TARGET_END a5err B_field_eval_rho | ( | real | rho[2], |
real | psi, | ||
B_field_data * | Bdata ) |
Evaluate normalized poloidal flux rho and its psi derivative.
This function evaluates the normalized poloidal flux rho at the given coordinates. The rho is evaluated from psi as:
where is psi at magnetic axis and is psi at separatrix.
This is a SIMD function.
rho | pointer where rho value will be stored |
psi | poloidal flux from which rho is evaluated |
Bdata | pointer to magnetic field data struct |
DECLARE_TARGET_END a5err B_field_eval_rho_drho | ( | real | rho_drho[4], |
real | r, | ||
real | phi, | ||
real | z, | ||
B_field_data * | Bdata ) |
Evaluate normalized poloidal flux rho and its derivatives.
This function evaluates the normalized poloidal flux rho at the given coordinates. The rho is evaluated from psi as:
where is psi at magnetic axis and is psi at separatrix.
The values are stored in the given array as:
This is a SIMD function.
rho_drho | pointer where rho and its derivatives will be stored |
r | R coordinate [m] |
phi | phi coordinate [rad] |
z | z coordinate [m] |
Bdata | pointer to magnetic field data struct |
DECLARE_TARGET_END a5err B_field_eval_B | ( | real | B[3], |
real | r, | ||
real | phi, | ||
real | z, | ||
real | t, | ||
B_field_data * | Bdata ) |
Evaluate magnetic field.
This function evaluates the magnetic field at the given coordinates.
The values are stored in the given array as:
This is a SIMD function.
B | pointer to array where magnetic field values are stored |
r | R coordinate [m] |
phi | phi coordinate [deg] |
z | z coordinate [m] |
t | time coordinate [s] |
Bdata | pointer to magnetic field data struct |
DECLARE_TARGET_END a5err B_field_eval_B_dB | ( | real | B_dB[15], |
real | r, | ||
real | phi, | ||
real | z, | ||
real | t, | ||
B_field_data * | Bdata ) |
Evaluate magnetic field and its derivatives.
This function evaluates the magnetic field and its derivatives at the given coordinates.
The values are stored in the given array as:
This is a SIMD function.
B_dB | pointer to array where the field and its derivatives are stored |
r | R coordinate [m] |
phi | phi coordinate [deg] |
z | z coordinate [m] |
t | time coordinate [s] |
Bdata | pointer to magnetic field data struct |
DECLARE_TARGET_END a5err B_field_get_axis_rz | ( | real | rz[2], |
B_field_data * | Bdata, | ||
real | phi ) |
Return magnetic axis Rz-coordinates.
Returns magnetic axis Rz-coordinates at given toroidal angle.
rz | pointer where axis R and z [m] values will be stored |
Bdata | pointer to magnetic field data struct |
phi | phi coordinate [rad] |