44 const int CALL_AT_F_SOURCE = 1;
45 bool sml_radiation = nlr.
get<
bool>(
"sml_radiation",
false);
46 bool sml_neutral = nlr.
get<
bool>(
"sml_neutral",
false);
47 bool sml_source = nlr.
get<
bool>(
"sml_source",
false);
48 bool sml_current_drive = nlr.
get<
bool>(
"sml_current_drive_on",
false);
49 if (sml_radiation) sml_neutral =
true;
53 int start_time = nlr.
get<
int>(
"rad_start_time",1);
59 int start_time = nlr.
get<
int>(
"neu_start_time",2);
65 int start_time = nlr.
get<
int>(
"src_start_time",1);
69 if(sml_current_drive){
71 int start_time = nlr.
get<
int>(
"src_current_drive_start_time",1);
76 bool diff_on = nlr.
get<
bool>(
"diff_on",
false);
81 int start_time = nlr.
get<
int>(
"diff_start_time", 1);
87 int col_mode_in = nlr.
get<
int>(
"col_mode", 0);
94 if(
is_rank_zero()) printf(
"\ncol_mode==2 is currently not supported. If you are reviving it, dont forget to address this potential issue: https://github.com/PrincetonUniversity/XGC-Devel/issues/266");
96 exit_XGC(
"\nInvalid col_mode specified. Acceptable options are 0, 1, 4, or 5.\n");
Source neutrals
Definition: sources.hpp:26
Definition: sources.hpp:16
bool is_rank_zero()
Definition: globals.hpp:27
T get(const string ¶m, const T default_val, int val_ind=0)
Definition: NamelistReader.hpp:373
Source collisions
Definition: sources.hpp:30
int f_source_period
Frequency of f_sources.
Definition: sources.hpp:23
Definition: velocity_grid.hpp:8
subroutine plasma(grid, itr, p, dene_out, deni_out, Te_out, Ti_out, Vparai_out)
Calculate the plasma density, temperature, and parallel velocity for a point in triangle itr using pl...
Definition: neutral_totalf.F90:1238
Definition: NamelistReader.hpp:193
Definition: magnetic_field.hpp:12
MonteCarloCollider< DeviceType > col_mc
Monte carlo collisions, only used by MonteCarloNonConserving.
Definition: sources.hpp:34
Sources(NLReader::NamelistReader &nlr, const MagneticField< DeviceType > &magnetic_field, const VelocityGrid &vgrid, const Plasma &plasma)
Definition: sources.hpp:37
Source current_drive
Definition: sources.hpp:31
Definition: diffusion.hpp:14
CollisionGrid< DeviceType > col_grid
Collision grid, only used by NonLinearFokkerPlanckLandau.
Definition: sources.hpp:35
void use_namelist(const string &namelist)
Definition: NamelistReader.hpp:355
Source heat_and_torque
Definition: sources.hpp:29
CollisionMode
Definition: sources.hpp:9
Source radiation
Definition: sources.hpp:28
int n_nonadiabatic_species
Number of nonadiabatic species.
Definition: plasma.hpp:91
bool is_triggered(int step)
Definition: step_trigger.hpp:23
Diffusion diffusion
Definition: sources.hpp:27
StepTrigger step_trigger
Definition: source.hpp:8
CollisionMode col_mode
Collision operator model.
Definition: sources.hpp:33
void exit_XGC(std::string msg)
Definition: globals.hpp:37
Definition: magnetic_field.F90:1
Definition: plasma.hpp:14
StepTrigger step_trigger
Definition: sources.hpp:19
bool is_triggered(int step)
Definition: sources.hpp:112
Definition: step_trigger.hpp:4