-
Notifications
You must be signed in to change notification settings - Fork 8
/
kpkt.h
31 lines (22 loc) · 843 Bytes
/
kpkt.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
#ifndef KPKT_H
#define KPKT_H
#include "globals.h"
#include "packet.h"
#include "thermalbalance.h"
constexpr double COOLING_UNDEFINED = -99;
namespace kpkt {
inline int ncoolingterms{0};
auto get_ncoolingterms() -> int;
void setup_coolinglist();
void set_kpktdiffusion(float kpktdiffusion_timescale_in, int n_kpktdiffusion_timesteps_in);
void calculate_cooling_rates(int nonemptymgi, HeatingCoolingRates *heatingcoolingrates);
void do_kpkt_blackbody(Packet &pkt);
void do_kpkt(Packet &pkt, double t2, int nts);
[[nodiscard]] inline auto get_coolinglistoffset(int element, int ion) -> int {
return globals::elements[element].ions[ion].coolingoffset;
}
[[nodiscard]] inline auto get_ncoolingterms_ion(int element, int ion) -> int {
return globals::elements[element].ions[ion].ncoolingterms;
}
} // namespace kpkt
#endif // KPKT_H