-
Notifications
You must be signed in to change notification settings - Fork 8
/
macroatom.h
42 lines (34 loc) · 2.12 KB
/
macroatom.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#ifndef MACROATOM_H
#define MACROATOM_H
#include "globals.h"
#include "packet.h"
void macroatom_open_file(int my_rank);
void macroatom_close_file();
void do_macroatom(Packet &pkt, const MacroAtomState &pktmastate);
#pragma omp declare simd
[[nodiscard]] auto rad_deexcitation_ratecoeff(int nonemptymgi, int element, int ion, int lower, double epsilon_trans,
float A_ul, double upperstatweight, double nnlevelupper, double t_current)
-> double;
#pragma omp declare simd
[[nodiscard]] auto rad_excitation_ratecoeff(int nonemptymgi, int element, int ion, int lower, int uptransindex,
double epsilon_trans, double nnlevel_lower, int lineindex, double t_current)
-> double;
#pragma omp declare simd
[[nodiscard]] auto rad_recombination_ratecoeff(float T_e, float nne, int element, int upperion, int upperionlevel,
int lowerionlevel, int nonemptymgi) -> double;
#pragma omp declare simd
[[nodiscard]] auto stim_recombination_ratecoeff(float nne, int element, int upperion, int upper, int lower,
int nonemptymgi) -> double;
#pragma omp declare simd
[[nodiscard]] auto col_recombination_ratecoeff(float T_e, float nne, int element, int upperion, int upper, int lower,
double epsilon_trans) -> double;
#pragma omp declare simd
[[nodiscard]] auto col_ionization_ratecoeff(float T_e, float nne, int element, int ion, int lower, int phixstargetindex,
double epsilon_trans) -> double;
#pragma omp declare simd
[[nodiscard]] auto col_deexcitation_ratecoeff(float T_e, float nne, double epsilon_trans, int element, int ion,
int upper, const LevelTransition &downtransition) -> double;
#pragma omp declare simd
[[nodiscard]] auto col_excitation_ratecoeff(float T_e, float nne, int element, int ion, int lower, int uptransindex,
double epsilon_trans, double lowerstatweight) -> double;
#endif // MACROATOM_H