-
Notifications
You must be signed in to change notification settings - Fork 8
/
artisoptions_nltenebular.h
166 lines (97 loc) · 4.28 KB
/
artisoptions_nltenebular.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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
#ifndef ARTISOPTIONS_H // NOLINT(llvm-header-guard)
#define ARTISOPTIONS_H
// NOLINTBEGIN(modernize*,misc-unused-parameters)
#include <cstdlib>
#include "constants.h"
constexpr int MPKTS = 1000000;
constexpr auto GRID_TYPE = GridType::CARTESIAN3D;
constexpr int CUBOID_NCOORDGRID_X = 50;
constexpr int CUBOID_NCOORDGRID_Y = 50;
constexpr int CUBOID_NCOORDGRID_Z = 50;
constexpr bool FORCE_SPHERICAL_ESCAPE_SURFACE = false;
constexpr int NLTEITER = 30;
constexpr bool LEVEL_IS_NLTE(int element_z, int ionstage, int level) {
if (element_z == 26 && ionstage == 2) {
return (level <= 197);
}
return (level <= 80);
}
constexpr bool LTEPOP_EXCITATION_USE_TJ = false;
constexpr bool FORCE_SAHA_ION_BALANCE(int element_z) { return false; }
constexpr bool single_level_top_ion = false;
constexpr bool single_ground_level = false;
constexpr int NLEVELS_REQUIRETRANSITIONS(int Z, int ionstage) {
return ((Z == 26 || Z == 28) && ionstage >= 1) ? 80 : 0;
}
constexpr bool UNIFORM_PELLET_ENERGIES = true;
constexpr bool DIRECT_COL_HEAT = true;
constexpr bool INITIAL_PACKETS_ON = false;
constexpr bool RECORD_LINESTAT = false;
constexpr bool USE_MODEL_INITIAL_ENERGY = true;
constexpr int TABLESIZE = 100;
constexpr double MINTEMP = 1000.;
constexpr double MAXTEMP = 30000.;
constexpr double RECOMBCALIBRATION_T_ELEC = 6000.;
constexpr bool DIPOLE = false;
constexpr bool POL_ON = false;
constexpr bool VPKT_ON = false;
constexpr bool VPKT_WRITE_CONTRIBS = false;
constexpr bool TRACK_ION_STATS = false;
constexpr double MINPOP = 1e-40;
constexpr double NU_MIN_R = 1e13;
constexpr double NU_MAX_R = 5e15;
constexpr bool PHIXS_CLASSIC_NO_INTERPOLATION = false;
constexpr bool MULTIBIN_RADFIELD_MODEL_ON = true;
constexpr int RADFIELDBINCOUNT = 256;
constexpr int FIRST_NLTE_RADFIELD_TIMESTEP = 12;
constexpr double nu_lower_first_initial = (CLIGHT / (40000e-8));
constexpr double nu_upper_last_initial = (CLIGHT / (1085e-8));
constexpr double nu_upper_superbin = (CLIGHT / (10e-8));
constexpr double T_R_min = 500;
constexpr double T_R_max = 250000;
constexpr bool DETAILED_LINE_ESTIMATORS_ON = false;
constexpr bool DETAILED_BF_ESTIMATORS_ON = true;
constexpr bool LEVEL_HAS_BFEST(int element_z, int ionstage, int level) {
// To only BF estimators for NLTE levels:
// return LEVEL_IS_NLTE(element_z, ionstage, level);
return true;
}
constexpr int DETAILED_BF_ESTIMATORS_USEFROMTIMESTEP = 13;
constexpr bool USE_LUT_PHOTOION = false;
constexpr bool USE_LUT_BFHEATING = false;
#define SEPARATE_STIMRECOMB false
constexpr bool NT_ON = true;
constexpr bool NT_SOLVE_SPENCERFANO = true;
constexpr int SFPTS = 4096;
constexpr double SF_EMAX = 16000;
constexpr double SF_EMIN = 0.1;
constexpr int SF_MAX_TIMESTEPS_BETWEEN_SOLUTIONS = 0;
constexpr double NT_MAX_FRACDIFF_NNEPERION_BETWEEN_SOLUTIONS = 0.05;
constexpr int NTEXCITATION_MAXNLEVELS_LOWER = 5;
constexpr int NTEXCITATION_MAXNLEVELS_UPPER = 250;
constexpr int MAX_NT_EXCITATIONS_STORED = 25000;
constexpr bool NT_EXCITATION_ON = true;
constexpr bool NT_USE_VALENCE_IONPOTENTIAL = false;
constexpr int NT_MAX_AUGER_ELECTRONS = 2;
constexpr bool SF_AUGER_CONTRIBUTION_ON = true;
constexpr bool SF_AUGER_CONTRIBUTION_DISTRIBUTE_EN = false;
constexpr bool NT_WORKFUNCTION_USE_SHELL_OCCUPANCY_FILE = false;
constexpr double TEMPERATURE_SOLVER_ACCURACY = 1e-3;
constexpr double CONTINUUM_NU_INTEGRAL_ACCURACY = 1e-3;
constexpr double RATECOEFF_INTEGRAL_ACCURACY = 1e-3;
constexpr double IONGAMMA_POPFRAC_LEVELS_INCLUDED = 0.999;
constexpr bool USE_RELATIVISTIC_DOPPLER_SHIFT = false;
constexpr bool USE_CALCULATED_MEANATOMICWEIGHT = false;
constexpr bool WRITE_PARTIAL_EMISSIONABSORPTIONSPEC = false;
constexpr auto TIMESTEP_SIZE_METHOD = TimeStepSizeMethod::LOGARITHMIC;
constexpr double FIXED_TIMESTEP_WIDTH = -1.;
constexpr double TIMESTEP_TRANSITION_TIME = -1.;
constexpr bool KEEP_ALL_RESTART_FILES = false;
constexpr bool BFCOOLING_USELEVELPOPNOTIONPOP = false;
constexpr bool EXPANSIONOPACITIES_ON = false;
constexpr float RPKT_BOUNDBOUND_THERMALISATION_PROBABILITY = -1.;
constexpr bool USE_XCOM_GAMMAPHOTOION = false;
constexpr auto PARTICLE_THERMALISATION_SCHEME = ThermalisationScheme::INSTANT;
constexpr auto GAMMA_THERMALISATION_SCHEME = ThermalisationScheme::DETAILED;
// NOLINTEND(modernize*,misc-unused-parameters)
#endif // ARTISOPTIONS_H