ASCOT5
|
1D spline plasma evaluation functions More...
#include <stdlib.h>
#include <math.h>
#include <float.h>
#include "../ascot5.h"
#include "../print.h"
#include "../error.h"
#include "../consts.h"
#include "../spline/interp.h"
#include "plasma_1DS.h"
Go to the source code of this file.
Macros | |
#define | PLASMA_1DS_NONEG 1 |
Flag to determine method to prevent negative values in interpolation. | |
#define | PLASMA_1DS_LOG 1 |
#define | PLASMA_1DS_SQRT 2 |
Functions | |
int | plasma_1DS_init (plasma_1DS_data *data, int nrho, real rhomin, real rhomax, int nion, int *anum, int *znum, real *mass, real *charge, real *Te, real *Ti, real *ne, real *ni) |
Initialize 1DS plasma data and check inputs. | |
void | plasma_1DS_free (plasma_1DS_data *data) |
Free allocated resources. | |
void | plasma_1DS_offload (plasma_1DS_data *data) |
Offload data to the accelerator. | |
a5err | plasma_1DS_eval_temp (real *temp, real rho, int species, plasma_1DS_data *plasma_data) |
Evaluate plasma temperature. | |
a5err | plasma_1DS_eval_dens (real *dens, real rho, int species, plasma_1DS_data *plasma_data) |
Evaluate plasma density. | |
a5err | plasma_1DS_eval_densandtemp (real *dens, real *temp, real rho, plasma_1DS_data *plasma_data) |
Evaluate plasma density and temperature for all species. | |
1D spline plasma evaluation functions
Definition in file plasma_1DS.c.
#define PLASMA_1DS_NONEG 1 |
Flag to determine method to prevent negative values in interpolation.
It is possible that interpolating function f(x) with splines yield negative values which would be unphysical if f is density or temperature. To prevent this, one can either interpolate sqrt(f(x)) or log(f(x)) instead because inverse of these functions are always positive.
Set this parameter to
Definition at line 28 of file plasma_1DS.c.
#define PLASMA_1DS_LOG 1 |
Logarithm flag
Definition at line 31 of file plasma_1DS.c.
#define PLASMA_1DS_SQRT 2 |
Square root flag
Definition at line 34 of file plasma_1DS.c.
int plasma_1DS_init | ( | plasma_1DS_data * | data, |
int | nrho, | ||
real | rhomin, | ||
real | rhomax, | ||
int | nion, | ||
int * | anum, | ||
int * | znum, | ||
real * | mass, | ||
real * | charge, | ||
real * | Te, | ||
real * | Ti, | ||
real * | ne, | ||
real * | ni ) |
Initialize 1DS plasma data and check inputs.
data | pointer to the data struct |
Definition at line 43 of file plasma_1DS.c.
void plasma_1DS_free | ( | plasma_1DS_data * | data | ) |
Free allocated resources.
data | pointer to the data struct |
Definition at line 189 of file plasma_1DS.c.
void plasma_1DS_offload | ( | plasma_1DS_data * | data | ) |
Offload data to the accelerator.
data | pointer to the data struct |
Definition at line 205 of file plasma_1DS.c.
a5err plasma_1DS_eval_temp | ( | real * | temp, |
real | rho, | ||
int | species, | ||
plasma_1DS_data * | plasma_data ) |
Evaluate plasma temperature.
temp | temperature value will be stored in temp[0] |
rho | radial coordinate |
species | index of plasma species |
plasma_data | pointer to plasma data struct |
Definition at line 228 of file plasma_1DS.c.
a5err plasma_1DS_eval_dens | ( | real * | dens, |
real | rho, | ||
int | species, | ||
plasma_1DS_data * | plasma_data ) |
Evaluate plasma density.
dens | density value will be stored in dens[0] |
rho | radial coordinate |
species | index of plasma species |
plasma_data | pointer to plasma data struct |
Definition at line 259 of file plasma_1DS.c.
a5err plasma_1DS_eval_densandtemp | ( | real * | dens, |
real * | temp, | ||
real | rho, | ||
plasma_1DS_data * | plasma_data ) |
Evaluate plasma density and temperature for all species.
This function evaluates the density and temperature of all plasma species at the given radial coordinate using spline interpolation.
dens | pointer to where interpolated densities [m^-3] are stored |
temp | pointer to where interpolated temperatures [J] are stored |
rho | radial coordinate |
plasma_data | pointer to plasma data struct |
Definition at line 294 of file plasma_1DS.c.