ASCOT5
Toggle main menu visibility
Loading...
Searching...
No Matches
plasma
plasma_2D.h
Go to the documentation of this file.
1
5
#ifndef PLASMA_2D_H
6
#define PLASMA_2D_H
7
#include "
../ascot5.h
"
8
#include "../offload.h"
9
#include "
../error.h
"
10
#include "
../linint/linint.h
"
11
15
typedef
struct
{
16
int
n_species
;
17
real
*
mass
;
18
real
*
charge
;
19
int
*
anum
;
20
int
*
znum
;
21
linint2D_data
*
temp
;
22
linint2D_data
*
dens
;
23
linint2D_data
*
vtor
;
24
}
plasma_2D_data
;
25
26
int
plasma_2D_init
(
plasma_2D_data
* data,
int
nr,
int
nz,
int
nion,
27
real
r_min,
real
r_max,
real
z_min,
real
z_max,
28
int
* anum,
int
* znum,
real
* mass,
real
* charge,
29
real
* Te,
real
* Ti,
real
* ne,
real
* ni,
real
* vtor);
30
void
plasma_2D_free
(
plasma_2D_data
* data);
31
void
plasma_2D_offload
(
plasma_2D_data
* data);
32
GPU_DECLARE_TARGET_SIMD_UNIFORM(pls_data)
33
a5err
plasma_2D_eval_temp
(
real
* dens,
real
r,
real
z,
int
species,
34
plasma_2D_data
* pls_data);
35
DECLARE_TARGET_END
36
GPU_DECLARE_TARGET_SIMD_UNIFORM(pls_data)
37
a5err
plasma_2D_eval_dens
(
real
* temp,
real
r,
real
z,
int
species,
38
plasma_2D_data
* pls_data);
39
DECLARE_TARGET_END
40
GPU_DECLARE_TARGET_SIMD_UNIFORM(pls_data)
41
a5err
plasma_2D_eval_densandtemp
(
real
* dens,
real
* temp,
real
r,
real
z,
42
plasma_2D_data
* pls_data);
43
DECLARE_TARGET_END
44
GPU_DECLARE_TARGET_SIMD_UNIFORM(pls_data)
45
a5err
plasma_2D_eval_flow
(
real
* vflow,
real
r,
real
z,
46
plasma_2D_data
* pls_data);
47
DECLARE_TARGET_END
48
49
#endif
ascot5.h
Main header file for ASCOT5.
real
double real
Definition
ascot5.h:85
error.h
Error module for ASCOT5.
a5err
unsigned long int a5err
Simulation error flag.
Definition
error.h:17
linint.h
Linear interpolation library.
plasma_2D_free
void plasma_2D_free(plasma_2D_data *data)
Free allocated resources.
Definition
plasma_2D.c:98
plasma_2D_eval_densandtemp
a5err plasma_2D_eval_densandtemp(real *dens, real *temp, real r, real z, plasma_2D_data *pls_data)
Evaluate plasma density and temperature for all species.
Definition
plasma_2D.c:186
plasma_2D_eval_temp
a5err plasma_2D_eval_temp(real *temp, real r, real z, int species, plasma_2D_data *pls_data)
Evaluate plasma temperature.
Definition
plasma_2D.c:137
plasma_2D_offload
void plasma_2D_offload(plasma_2D_data *data)
Offload data to the accelerator.
Definition
plasma_2D.c:119
plasma_2D_init
int plasma_2D_init(plasma_2D_data *data, int nr, int nz, int nion, real r_min, real r_max, real z_min, real z_max, int *anum, int *znum, real *mass, real *charge, real *Te, real *Ti, real *ne, real *ni, real *vtor)
Initialize 2D plasma data and check inputs.
Definition
plasma_2D.c:25
plasma_2D_eval_dens
a5err plasma_2D_eval_dens(real *dens, real r, real z, int species, plasma_2D_data *pls_data)
Evaluate plasma density.
Definition
plasma_2D.c:162
plasma_2D_eval_flow
a5err plasma_2D_eval_flow(real *vflow, real r, real z, plasma_2D_data *pls_data)
Evalate plasma flow along the field lines.
Definition
plasma_2D.c:209
linint2D_data
2D interpolation struct.
Definition
linint.h:33
plasma_2D_data
1D plasma parameters on the target
Definition
plasma_2D.h:15
plasma_2D_data::n_species
int n_species
Definition
plasma_2D.h:16
plasma_2D_data::temp
linint2D_data * temp
Definition
plasma_2D.h:21
plasma_2D_data::znum
int * znum
Definition
plasma_2D.h:20
plasma_2D_data::vtor
linint2D_data * vtor
Definition
plasma_2D.h:23
plasma_2D_data::anum
int * anum
Definition
plasma_2D.h:19
plasma_2D_data::charge
real * charge
Definition
plasma_2D.h:18
plasma_2D_data::dens
linint2D_data * dens
Definition
plasma_2D.h:22
plasma_2D_data::mass
real * mass
Definition
plasma_2D.h:17
Generated on
for ASCOT5 by
1.18.0