ASCOT5
|
Neutral interface. More...
#include <stdio.h>
#include "ascot5.h"
#include "error.h"
#include "print.h"
#include "neutral.h"
#include "neutral/N0_1D.h"
#include "neutral/N0_3D.h"
Go to the source code of this file.
Functions | |
void | neutral_free (neutral_data *data) |
Free allocated resources. | |
void | neutral_offload (neutral_data *data) |
Offload data to the accelerator. | |
a5err | neutral_eval_n0 (real *n0, real rho, real r, real phi, real z, real t, neutral_data *ndata) |
Evaluate neutral density. | |
a5err | neutral_eval_t0 (real *t0, real rho, real r, real phi, real z, real t, neutral_data *ndata) |
Evaluate neutral temperature. | |
int | neutral_get_n_species (neutral_data *ndata) |
Get the number of neutral species. | |
Neutral interface.
This is an interface through which neutral data is initialized and accessed. Reading e.g. from disk is done elsewhere.
To add a new neutral data instance, make sure these functions are implemented and called from this interface, and that neutral.h contains enum type for the new instance.
The interface checks which instance given data corresponds to from the "type"-field in neutral_offload_data or neutral_data that is given as an argument, and calls the relevant function for that instance.
Definition in file neutral.c.
void neutral_free | ( | neutral_data * | data | ) |
void neutral_offload | ( | neutral_data * | data | ) |
a5err neutral_eval_n0 | ( | real * | n0, |
real | rho, | ||
real | r, | ||
real | phi, | ||
real | z, | ||
real | t, | ||
neutral_data * | ndata ) |
Evaluate neutral density.
This function evaluates the neutral density n0 at the given coordinates.
This is a SIMD function.
n0 | pointer where neutral density is stored [m^-3] |
rho | normalized poloidal flux coordinate |
r | R coordinate [m] |
phi | phi coordinate [deg] |
z | z coordinate [m] |
t | time coordinate [s] |
ndata | pointer to neutral density data struct |
a5err neutral_eval_t0 | ( | real * | t0, |
real | rho, | ||
real | r, | ||
real | phi, | ||
real | z, | ||
real | t, | ||
neutral_data * | ndata ) |
Evaluate neutral temperature.
This function evaluates the neutral temperature t0 at the given coordinates.
This is a SIMD function.
t0 | pointer where neutral temperature is stored [J] |
rho | normalized poloidal flux coordinate |
r | R coordinate [m] |
phi | phi coordinate [deg] |
z | z coordinate [m] |
t | time coordinate [s] |
ndata | pointer to neutral temperature data struct |
int neutral_get_n_species | ( | neutral_data * | ndata | ) |