|
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 

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 

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] |