ASCOT5
Loading...
Searching...
No Matches
plasma.h
Go to the documentation of this file.
1
8#ifndef PLASMA_H
9#define PLASMA_H
10
11#include "ascot5.h"
12#include "error.h"
13#include "plasma/plasma_1D.h"
14#include "plasma/plasma_2D.h"
15#include "plasma/plasma_1Dt.h"
16#include "plasma/plasma_1DS.h"
17
27
41
42void plasma_free(plasma_data* data);
43void plasma_offload(plasma_data* data);
44GPU_DECLARE_TARGET_SIMD_UNIFORM(pls_data)
45a5err plasma_eval_temp(real* temp, real rho, real r, real phi, real z, real t,
46 int species, plasma_data* pls_data);
47DECLARE_TARGET_END
48GPU_DECLARE_TARGET_SIMD_UNIFORM(pls_data)
49a5err plasma_eval_dens(real* dens, real rho, real r, real phi, real z, real t,
50 int species, plasma_data* pls_data);
51DECLARE_TARGET_END
52GPU_DECLARE_TARGET_SIMD_UNIFORM(pls_data)
54 real r, real phi, real z, real t,
55 plasma_data* pls_data);
56DECLARE_TARGET_END
57GPU_DECLARE_TARGET_SIMD_UNIFORM(pls_data)
58a5err plasma_eval_flow(real* vflow, real rho, real r, real phi, real z, real t,
59 plasma_data* pls_data);
60DECLARE_TARGET_END
61GPU_DECLARE_TARGET_SIMD_UNIFORM(pls_data)
63DECLARE_TARGET_END
64GPU_DECLARE_TARGET_SIMD_UNIFORM(pls_data)
66DECLARE_TARGET_END
67GPU_DECLARE_TARGET_SIMD_UNIFORM(pls_data)
69DECLARE_TARGET_END
70GPU_DECLARE_TARGET_SIMD_UNIFORM(pls_data)
71const int* plasma_get_species_znum(plasma_data* pls_data);
72DECLARE_TARGET_END
73GPU_DECLARE_TARGET_SIMD_UNIFORM(pls_data)
74const int* plasma_get_species_anum(plasma_data* pls_data);
75DECLARE_TARGET_END
76
77#endif
Main header file for ASCOT5.
double real
Definition ascot5.h:85
Error module for ASCOT5.
unsigned long int a5err
Simulation error flag.
Definition error.h:17
void plasma_free(plasma_data *data)
Free allocated resources.
Definition plasma.c:40
const real * plasma_get_species_mass(plasma_data *pls_data)
Get mass of all plasma species.
Definition plasma.c:345
const int * plasma_get_species_znum(plasma_data *pls_data)
Get charge number of ion species.
Definition plasma.c:411
int plasma_get_n_species(plasma_data *pls_data)
Get the number of plasma species.
Definition plasma.c:311
a5err plasma_eval_flow(real *vflow, real rho, real r, real phi, real z, real t, plasma_data *pls_data)
Evalate plasma flow along the field lines.
Definition plasma.c:258
const real * plasma_get_species_charge(plasma_data *pls_data)
Get charge of all plasma species.
Definition plasma.c:379
a5err plasma_eval_temp(real *temp, real rho, real r, real phi, real z, real t, int species, plasma_data *pls_data)
Evaluate plasma temperature.
Definition plasma.c:98
a5err plasma_eval_densandtemp(real *dens, real *temp, real rho, real r, real phi, real z, real t, plasma_data *pls_data)
Evaluate plasma density and temperature for all species.
Definition plasma.c:204
void plasma_offload(plasma_data *data)
Offload data to the accelerator.
Definition plasma.c:62
a5err plasma_eval_dens(real *dens, real rho, real r, real phi, real z, real t, int species, plasma_data *pls_data)
Evaluate plasma density.
Definition plasma.c:151
const int * plasma_get_species_anum(plasma_data *pls_data)
Get atomic mass number of ion species.
Definition plasma.c:443
plasma_type
Plasma data types.
Definition plasma.h:21
@ plasma_type_1D
Definition plasma.h:22
@ plasma_type_1Dt
Definition plasma.h:24
@ plasma_type_1DS
Definition plasma.h:25
@ plasma_type_2D
Definition plasma.h:23
Header file for plasma_1DS.c.
Header file for plasma_1D.c.
Header file for plasma_1Dt.c.
Header file for plasma_2D.c.
1D spline plasma parameters on the target
Definition plasma_1DS.h:15
1D plasma parameters on the target
Definition plasma_1D.h:14
1D plasma parameters on the target
Definition plasma_1Dt.h:14
1D plasma parameters on the target
Definition plasma_2D.h:15
Plasma simulation data.
Definition plasma.h:34
plasma_1D_data plasma_1D
Definition plasma.h:36
plasma_1Dt_data plasma_1Dt
Definition plasma.h:38
plasma_1DS_data plasma_1DS
Definition plasma.h:39
plasma_type type
Definition plasma.h:35
plasma_2D_data plasma_2D
Definition plasma.h:37