ASCOT5
Loading...
Searching...
No Matches
asigma_loc.h
Go to the documentation of this file.
1
5#ifndef ASIGMALOCAL_H
6#define ASIGMALOCAL_H
7
8#include "../ascot5.h"
9#include "../error.h"
10#include "../spline/interp.h"
11
26
27
28int asigma_loc_init(asigma_loc_data* data, int nreac,
29 int* z1, int* a1, int* z2, int* a2, int* reactype,
30 int* ne, real* emin, real* emax,
31 int* nn, real* nmin, real* nmax,
32 int* nT, real* Tmin, real* Tmax, real* sigma);
35#pragma omp declare target
36DECLARE_TARGET_SIMD_UNIFORM(asigma_data, reac_type, z_2, a_2,\
37 extrapolate)
39 real* sigma, int z_1, int a_1, int z_2, int a_2, real E_coll_per_amu,
40 int reac_type, int extrapolate, asigma_loc_data* asigma_data);
41DECLARE_TARGET_SIMD_UNIFORM(asigma_data, reac_type, z_2, a_2,\
42 extrapolate)
44 real* sigmav, int z_1, int a_1, real m_1, int z_2, int a_2,
45 real E, real T_e, real T_0, real n_i, int reac_type, int extrapolate,
47#pragma omp declare simd uniform(asigmadata, znum, anum, nspec, extrapolate)
49 real* ratecoeff, int z_1, int a_1, real E, real mass, int nspec,
50 const int* znum, const int* anum, real T_0, real* n_0, int extrapolate,
51 asigma_loc_data* asigmadata);
52#pragma omp declare simd uniform(asigma_data, znum, anum, nion, extrapolate)
54 real* sigmav, int z_1, int a_1, real E, real mass, int nion,
55 const int* znum, const int* anum, real T_e, real* n_i, int extrapolate,
57#pragma omp end declare target
58
59#endif
Main header file for ASCOT5.
double real
Definition ascot5.h:85
a5err asigma_loc_eval_sigma(real *sigma, int z_1, int a_1, int z_2, int a_2, real E_coll_per_amu, int reac_type, int extrapolate, asigma_loc_data *asigma_data)
Evaluate atomic reaction cross-section.
Definition asigma_loc.c:166
a5err asigma_loc_eval_sigmav(real *sigmav, int z_1, int a_1, real m_1, int z_2, int a_2, real E, real T_e, real T_0, real n_i, int reac_type, int extrapolate, asigma_loc_data *asigma_data)
Evaluate atomic reaction rate coefficient.
Definition asigma_loc.c:241
int asigma_loc_init(asigma_loc_data *data, int nreac, int *z1, int *a1, int *z2, int *a2, int *reactype, int *ne, real *emin, real *emax, int *nn, real *nmin, real *nmax, int *nT, real *Tmin, real *Tmax, real *sigma)
Initialize local file atomic data and check inputs.
Definition asigma_loc.c:29
void asigma_loc_free(asigma_loc_data *data)
Free allocated resources.
Definition asigma_loc.c:114
a5err asigma_loc_eval_cx(real *ratecoeff, int z_1, int a_1, real E, real mass, int nspec, const int *znum, const int *anum, real T_0, real *n_0, int extrapolate, asigma_loc_data *asigmadata)
Evaluate atomic reaction rate coefficient.
Definition asigma_loc.c:334
void asigma_loc_offload(asigma_loc_data *data)
Offload data to the accelerator.
Definition asigma_loc.c:141
a5err asigma_loc_eval_bms(real *sigmav, int z_1, int a_1, real E, real mass, int nion, const int *znum, const int *anum, real T_e, real *n_i, int extrapolate, asigma_loc_data *asigma_data)
Evaluate beam stopping rate coefficient.
Definition asigma_loc.c:406
Error module for ASCOT5.
unsigned long int a5err
Simulation error flag.
Definition error.h:17
Spline interpolation library.
Atomic reaction simulation data.
Definition asigma.h:53
Local-files atomic reaction simulation data.
Definition asigma_loc.h:15
interp2D_data * sigmav
Definition asigma_loc.h:23
interp1D_data * sigma
Definition asigma_loc.h:22
interp3D_data * BMSsigmav
Definition asigma_loc.h:24
Cubic interpolation struct.
Definition interp.h:56
Bicubic interpolation struct.
Definition interp.h:68
Tricubic interpolation struct.
Definition interp.h:85