Input Parameters
The following is a complete list of input parameters available in XGC. This list is generated with the Python script utils/document_inputs.py
. Please help us improve the documentation for completeness, consistency and clarity. In the meantime, parameters labeled ‘See Fortran description’ may have more useful documentation here.
adios_param
bool
adios_stage_3d = false
bool
adios_stage_escaped_ptls = false
bool
adios_stage_f0 = false
bool
adios_stage_f0_df = false
bool
adios_stage_particle = false
bool
adios_stage_restart = false
bool
adios_stage_restartf0 = false
analytic_grid_param
double
axis_r = 1.5
int
nsurfaces = 30
col_param
bool
col_accel =false
Artificial collision amplifying.
double
col_accel_factor1 =10.0
Acceleration factor of Range 1
double
col_accel_factor2 =10.0
Acceleration factor of Range 2
int
col_accel_n =2
Number of psi regions to apply artifical accleration to. Maximum is 2.
double
col_accel_pin1 =magnetic_field.inpsi
Inner psi value of acceleration Range 1
double
col_accel_pin2 =magnetic_field.outpsi - 0.1*psi_range
Inner psi value of acceleration Range 2
double
col_accel_pout1 =magnetic_field.inpsi + 0.1*psi_range
Outer psi value of acceleration Range 1
double
col_accel_pout2 =magnetic_field.outpsi
Outer psi value of acceleration Range 2
int
col_en_col_on =1
Switch for energy collision
int
col_mode =0
Collision method. 0: No collisions. 1: uses the monte carlo non-conserving collisions. 4: uses the non-linear Fokker Planck Landau collision operator. 5: PETSc Landau AMR collisions.
double
col_pin =magnetic_field.inpsi
Minimum of psi range where collisions are performed.
double
col_pout =magnetic_field.outpsi
Maximum of psi range where collisions are performed.
int
col_max_n_subcycles =1
Enables collision subcycling. Collision time step of an unconverged vertex will be reduced, increasing the number of cycles of that vertex up to a maximum of col_max_n_subcycles. If it still does not converge, the vertex will not be attempted again.
int
col_f_start =1
The time step at which collisions begin
bool
col_moving_frame =true
Switch for moving frame for collisions
int
col_period =3
Frequency of collisions
int
col_varying_bg =0
Switch for background plasma update
int
col_vb_m =50
Resolution of varying background
int
col_vb_mtheta =8
Resolution in theta direction of varying background
int
col_vb_period =1
Frequency of background update for collisions
double
col_vb_pin =magnetic_field.inpsi
Inner psi boundary for varying background
double
col_vb_pout =std::min(magnetic_field.outpsi, 1.03
Outer psi boundary for varying background
diag_param
bool
diag_1d_on = true
int
diag_1d_period = 10
bool
diag_3d_more = false
bool
diag_3d_on = true
int
diag_3d_period = default_period
bool
diag_col_convergence_stat_on = false
bool
diag_current_drive_on = false
int
diag_current_drive_period = 1
bool
diag_diff_profiles_on = false
int
diag_diff_profiles_period = 1
bool
diag_f0_df_on = is_on_default
int
diag_f0_df_period = period_default
bool
diag_f0_g = false
bool
diag_f0_n = false
bool
diag_f0_on = true
int
diag_f0_period = default_period
int
diag_f3d_period = default_period
int
diag_heat_mode = 2
int
diag_heat_nphi = 64
int
diag_heat_npsi = 1000
int
diag_heat_nr = 100
int
diag_heat_nsection = 1
int
diag_heat_nz = 100
bool
diag_heat_on = false
double
diag_heat_rmax1 = magnetic_field.bounds.max_r
double
diag_heat_rmax2 = magnetic_field.bounds.max_r
double
diag_heat_rmax3 = magnetic_field.bounds.max_r
double
diag_heat_rmin1 = magnetic_field.bounds.min_r
double
diag_heat_rmin2 = magnetic_field.bounds.min_r
double
diag_heat_rmin3 = magnetic_field.bounds.min_r
double
diag_heat_spacing = 5.0e-3
double
diag_heat_zmax1 = magnetic_field.bounds.max_z
double
diag_heat_zmax2 = magnetic_field.bounds.max_z
double
diag_heat_zmax3 = magnetic_field.bounds.max_z
double
diag_heat_zmin1 = magnetic_field.bounds.min_z
double
diag_heat_zmin2 = magnetic_field.bounds.min_z
double
diag_heat_zmin3 = magnetic_field.bounds.min_z
int
diag_neutral_period = See Fortran description.
int
diag_particle_mod = 1
bool
diag_particle_on = false
int
diag_particle_period = 1
int
diag_poin_isp = See Fortran description.
int
diag_poin_nrec = See Fortran description.
double
diag_ps_pin = 0.80
double
diag_ps_pout = 0.81
int
diag_ps_reset_period = 10
bool
diag_pseudo_inv_on = false
int
diag_tracer_n = See Fortran description.
int
diag_tracer_period = See Fortran description.
int
diag_tracer_sp = See Fortran description.
bool
diag_weight_stats = false
diff_param
double
diff_bd_in = magnetic_field.inpsi
double
diff_bd_out = magnetic_field.outpsi
double
diff_bd_shift_in = See Fortran description.
double
diff_bd_shift_out = See Fortran description.
double
diff_bd_width_in = See Fortran description.
double
diff_bd_width_out = See Fortran description.
double
diff_bd_width_priv = See Fortran description.
bool
diff_nonlinear = See Fortran description.
bool
diff_on = false
bool
diff_pol_peak = See Fortran description.
double
diff_pol_peak_amp = See Fortran description.
double
diff_pol_peak_angle = See Fortran description.
double
diff_pol_peak_width = See Fortran description.
int
diff_start_time = 1
bool
diff_update_on = 0
int
diff_update_period = 500
bool
diff_use_smoothing = 0
eq_param
int
eq_den_rsp_index = 0
int
eq_den_rsp_sample_num = 1024
double
eq_den_rsp_xmax = 1.3
std::string
eq_dens_diff_file = See Fortran description.
int
eq_dens_diff_shape = See Fortran description.
double
eq_dens_diff_v1 = See Fortran description.
double
eq_dens_diff_v2 = See Fortran description.
double
eq_dens_diff_v3 = See Fortran description.
double
eq_dens_diff_v4 = See Fortran description.
double
eq_dens_diff_x1 = See Fortran description.
double
eq_dens_diff_x2 = See Fortran description.
double
eq_dens_diff_x3 = See Fortran description.
double
eq_dens_diff_x4 = See Fortran description.
double
eq_dens_diff_x5 = See Fortran description.
std::string
eq_dens_file = "example.dat", ... [per species] ...
int
eq_dens_shape = 0, ... [per species] ...
double
eq_dens_v1 = 1.0e20, ... [per species] ...
double
eq_dens_v2 = 0.0, ... [per species] ...
double
eq_dens_v3 = 0.0, ... [per species] ...
double
eq_dens_x1 = 0.0, ... [per species] ...
double
eq_dens_x2 = 0.0, ... [per species] ...
double
eq_dens_x3 = 0.0, ... [per species] ...
std::string
eq_fg_flow_file = See Fortran description.
int
eq_fg_flow_shape = See Fortran description.
int
eq_fg_flow_type = See Fortran description.
double
eq_fg_flow_v1 = See Fortran description.
double
eq_fg_flow_v2 = See Fortran description.
double
eq_fg_flow_v3 = See Fortran description.
double
eq_fg_flow_x1 = See Fortran description.
double
eq_fg_flow_x2 = See Fortran description.
double
eq_fg_flow_x3 = See Fortran description.
std::string
eq_fg_temp_file = See Fortran description.
int
eq_fg_temp_shape = See Fortran description.
double
eq_fg_temp_v1 = See Fortran description.
double
eq_fg_temp_v2 = See Fortran description.
double
eq_fg_temp_v3 = See Fortran description.
double
eq_fg_temp_x1 = See Fortran description.
double
eq_fg_temp_x2 = See Fortran description.
double
eq_fg_temp_x3 = See Fortran description.
std::string
eq_filename = "example_base.dat"
std::string
eq_flow_diff_file = See Fortran description.
int
eq_flow_diff_shape = See Fortran description.
double
eq_flow_diff_v1 = See Fortran description.
double
eq_flow_diff_v2 = See Fortran description.
double
eq_flow_diff_v3 = See Fortran description.
double
eq_flow_diff_v4 = See Fortran description.
double
eq_flow_diff_x1 = See Fortran description.
double
eq_flow_diff_x2 = See Fortran description.
double
eq_flow_diff_x3 = See Fortran description.
double
eq_flow_diff_x4 = See Fortran description.
double
eq_flow_diff_x5 = See Fortran description.
std::string
eq_flow_file = "example.dat", ... [per species] ...
int
eq_flow_shape = 0, ... [per species] ...
int
eq_flow_type = 2, ... [per species] ...
double
eq_flow_v1 = 0.0, ... [per species] ...
double
eq_flow_v2 = 0.0, ... [per species] ...
double
eq_flow_v3 = 0.0, ... [per species] ...
double
eq_flow_x1 = 0.0, ... [per species] ...
double
eq_flow_x2 = 0.0, ... [per species] ...
double
eq_flow_x3 = 0.0, ... [per species] ...
std::string
eq_g_filename = See Fortran description.
std::string
eq_m3dc1_filename = See Fortran description.
std::string
eq_mk_flow_file = See Fortran description.
int
eq_mk_flow_shape = See Fortran description.
int
eq_mk_flow_type = See Fortran description.
double
eq_mk_flow_v1 = See Fortran description.
double
eq_mk_flow_v2 = See Fortran description.
double
eq_mk_flow_v3 = See Fortran description.
double
eq_mk_flow_x1 = See Fortran description.
double
eq_mk_flow_x2 = See Fortran description.
double
eq_mk_flow_x3 = See Fortran description.
std::string
eq_mk_temp_file = See Fortran description.
int
eq_mk_temp_shape = See Fortran description.
double
eq_mk_temp_v1 = See Fortran description.
double
eq_mk_temp_v2 = See Fortran description.
double
eq_mk_temp_v3 = See Fortran description.
double
eq_mk_temp_x1 = See Fortran description.
double
eq_mk_temp_x2 = See Fortran description.
double
eq_mk_temp_x3 = See Fortran description.
double
eq_out_decay_factor = 0.1
double
eq_out_decay_width = 0.03
std::string
eq_pinch_v_file = See Fortran description.
int
eq_pinch_v_shape = See Fortran description.
double
eq_pinch_v_v1 = See Fortran description.
double
eq_pinch_v_v2 = See Fortran description.
double
eq_pinch_v_v3 = See Fortran description.
double
eq_pinch_v_v4 = See Fortran description.
double
eq_pinch_v_x1 = See Fortran description.
double
eq_pinch_v_x2 = See Fortran description.
double
eq_pinch_v_x3 = See Fortran description.
double
eq_pinch_v_x4 = See Fortran description.
double
eq_pinch_v_x5 = See Fortran description.
double
eq_priv_flux_decay_factor = 0.05
double
eq_priv_flux_decay_width = 0.015
bool
eq_set_x2 = false
std::string
eq_t_diff_file = See Fortran description.
int
eq_t_diff_shape = See Fortran description.
double
eq_t_diff_v1 = See Fortran description.
double
eq_t_diff_v2 = See Fortran description.
double
eq_t_diff_v3 = See Fortran description.
double
eq_t_diff_v4 = See Fortran description.
double
eq_t_diff_x1 = See Fortran description.
double
eq_t_diff_x2 = See Fortran description.
double
eq_t_diff_x3 = See Fortran description.
double
eq_t_diff_x4 = See Fortran description.
double
eq_t_diff_x5 = See Fortran description.
std::string
eq_temp_file = "example.dat", ... [per species] ...
int
eq_temp_shape = 0, ... [per species] ...
double
eq_temp_v1 = 1.0e3, ... [per species] ...
double
eq_temp_v2 = 0.0, ... [per species] ...
double
eq_temp_v3 = 0.0, ... [per species] ...
double
eq_temp_x1 = 0.0, ... [per species] ...
double
eq_temp_x2 = 0.0, ... [per species] ...
double
eq_temp_x3 = 0.0, ... [per species] ...
double
eq_x2_r = 1.7
double
eq_x2_z = 10.0
std::string
eq_zeff_file = "zeff.dat"
int
eq_zeff_shape = 0
double
eq_zeff_v1 = 1.0
double
eq_zeff_v2 = 1.0
double
eq_zeff_v3 = 1.0
double
eq_zeff_x1 = 1.0
double
eq_zeff_x2 = 0.1
double
eq_zeff_x3 = 0.0
f0_param
double
f0_coarse_graining_alpha = 1.0e-3
bool
f0_coarse_graining_on = false
int
f0_nmu = 31
int
f0_nvp = 15
double
f0_smu_max = 3.0
bool
f0_update_analytic = false
double
f0_update_analytic_alpha = f0_grid_alpha
bool
f0_update_analytic_local = false
double
f0_update_analytic_damp_width = 0.5
bool
f0_upsample = See Fortran description.
int
f0_upsample_cell_target = See Fortran description.
int
f0_upsample_corner_cell_target = See Fortran description.
int
f0_upsample_rate = See Fortran description.
bool
f0_upsample_skip_full_bins = See Fortran description.
int
f0_upsample_tile_size = See Fortran description.
bool
f0_velocity_interp_force_pseudo_inv = See Fortran description.
bool
f0_velocity_interp_pseudo_inv_delta_grid = See Fortran description.
int
f0_velocity_interp_pseudo_inv_order = 2
bool
f0_velocity_interp_pseudo_inv_particles_to_grid_petsc = See Fortran description.
bool
f0_velocity_interp_use_pseudo_inv = false
double
f0_vp_max = 3.0
field_decomp_param
int
n_ghost_planes = 1
int
n_ghost_vertices = 3000
int
n_phi_domains = n_ranks
int
n_ranks = 6
init_cond
bool
ic_add_zonal = false
double
ic_amp = 1.0e-4
double
ic_amp_0 = 0.0
int
ic_delta_n = wedge_n
int
ic_n_modes = (int
double
ic_phi_sign = magnetic_field.bp_sign*magnetic_field.bt_sign
bool
ic_poloidal_gaussian = false
double
ic_psi_0 = 0.0
double
ic_q_sign = magnetic_field.bp_sign
bool
ic_radial_gaussian = false
bool
ic_resonant_modes = true
int
ic_resonant_nmax_real = 1
int
ic_resonant_nmin_real = 1
double
ic_sigma_psi = 0.5
double
ic_sigma_theta = 0.784
double
ic_theta_0 = 0.0
load_balance_param
double
max_mem_redist_gb = 10.0
double
threshold_to_rebalance = 0.02
std::string
update_method = "NoHistory"
bool
verbose = false
std::string
weighting_algorithm = "Fortran"
mon_param
int
mon_flush_count = 12
int
mon_flush_freq = 0
mr_param
int
mr_factor1 = 1
int
mr_factor2 = 1
int
mr_factor3 = 1
int
mr_factor4 = 1
int
mr_factor5 = 1
double
mr_psi_max5 = 0.0
neu_param
bool
neu_adjust_n0 = See Fortran description.
int
neu_background_period = See Fortran description.
double
neu_delta_n = See Fortran description.
double
neu_delta_theta = See Fortran description.
double
neu_dt = See Fortran description.
bool
neu_ebin_log = true
double
neu_ebin_max = 100.0
double
neu_ebin_min = 0.1
int
neu_ebin_num = 1
bool
neu_exclude_private = See Fortran description.
double
neu_inpsi = See Fortran description.
int
neu_istep_max = See Fortran description.
double
neu_lost_rate_max = See Fortran description.
double
neu_n0 = See Fortran description.
int
neu_num = See Fortran description.
double
neu_peak_theta = See Fortran description.
double
neu_recycle_rate = See Fortran description.
bool
neu_source_match_flux = See Fortran description.
int
neu_start_time = 2
double
neu_temp0 = See Fortran description.
double
neu_theta_x = See Fortran description.
performance_param
bool
backup_particles_on_device = false
bool
calculate_phi_ff_on_device = false
bool
col_async_reassign = false
std::string
collisions_solver = "lapack"
double
ginkgo_residual_reduction = 1.0e-16
int
ginkgo_max_iterations = 300
bool
decompose_fields = false
std::string
gyro_comm_method = "PlaneComm"
double
initial_ptl_res_margin = 1.1
int
mesh_batch_size = default_batch_size
bool
particles_resident_on_device = default_residence_option(
bool
stream_particles = default_streaming_option(
bool
use_unfused_electron_push_kernel = false
ptb_3db_param
int
ptb_3db_dasdt_opt = 1
double
ptb_3db_em_bd_width = 0.05
bool
ptb_3db_em_full_spec = false
double
ptb_3db_em_inpsi = -1.0
double
ptb_3db_em_outpsi = 1.1
int
ptb_3db_es_to_em_dt_ratio = 1
int
ptb_3db_file_format = 1
std::string
ptb_3db_filename = See Fortran description.
int
ptb_3db_m3dc1_timeslice = See Fortran description.
int
ptb_3db_mode = 0
int
ptb_3db_mstep_em = mstep
int
ptb_3db_mstep_es = 0
double
ptb_3db_mult_factor = See Fortran description.
int
ptb_3db_nr = See Fortran description.
int
ptb_3db_ntor_min = See Fortran description.
int
ptb_3db_num_mpol = See Fortran description.
int
ptb_3db_num_ntor = 1
int
ptb_3db_nz = See Fortran description.
int
ptb_3db_rampup_time = 1000
bool
ptb_3db_rampup_vac = true
double
ptb_3db_screening_fac1 = See Fortran description.
double
ptb_3db_screening_fac2 = See Fortran description.
bool
ptb_3db_screening_on = See Fortran description.
double
ptb_3db_screening_psi1 = See Fortran description.
double
ptb_3db_screening_width1 = See Fortran description.
double
ptb_3db_screening_width2 = See Fortran description.
bool
ptb_3db_single_mode_input = See Fortran description.
int
ptb_3db_single_mode_ntor = See Fortran description.
int
ptb_3db_start_time = 1
double
ptb_3db_update_alpha = See Fortran description.
ptl_param
double
ptl_charge_eu = -1.0, ... [per species] ...
int
ptl_collision_grid_index = nonadiabatic_idx, ... [per species] ...
bool
ptl_dynamic_f0 = default_dynamic_f0, ... [per species] ...
std::string
ptl_f_analytic_shape = default_f_analytic_shape, ... [per species] ...
std::string
ptl_f_init_file = "i_initial_f.bp", ... [per species] ...
std::string
ptl_input_file_dir = "./"
bool
ptl_is_gyrokinetic = !species_is_electron, ... [per species] ...
std::string
ptl_marker_type = "TotalF", ... [per species] ...
double
ptl_mass_au = 2.0e-2, ... [per species] ...
bool
ptl_maxwellian_init = true, ... [per species] ...
int
ptl_nsp = 1
int
ptl_num = 0
int
ptl_num_per_vertex = 10000, MAIN_ION
double
ptl_special_en_ev = 7205.0
double
ptl_special_phi = 0.0
double
ptl_special_pitch = 0.276
double
ptl_special_r = magnetic_field.equil.axis.r
double
ptl_special_z = magnetic_field.equil.axis.z
std::string
ptl_weight_evo_eq = default_weight_evo_eq, ... [per species] ...
rad_param
std::string
rad_filename = "mist_adas_xgc1.dat"
double
rad_impurity_fraction = 0.1
double
rad_inpsi = magnetic_field.inpsi
double
rad_outpsi = magnetic_field.outpsi
int
rad_species = -1
int
rad_start_time = 1
bool
rad_use_fix_charge = true
bool
rad_use_zeff_profile = false
double
rad_z = 6.0
resamp_param
bool
resamp_discard_var_bins = false
bool
resamp_distribute_evenly_subbins = false
std::string
resamp_down_choice = "weight"
bool
resamp_fill_empty = false
bool
resamp_fullf_on = false
bool
resamp_grid_ineq_on = false
double
resamp_highv_max = 10.0
double
resamp_highv_max_ratio = 4.0
double
resamp_ineq_tol = 1.0e-4
double
resamp_ineq_tol_max = 1.0e-3
bool
resamp_keep_downsamples = false
bool
resamp_keep_upsamples = false
double
resamp_max_ratio = 1.5
double
resamp_max_shift = 0.1
int
resamp_max_target = 4
double
resamp_min_ratio = 0.5
std::string
resamp_node_file = "resample.node"
int
resamp_nphi_new = 1
bool
resamp_output_problem_bins = false
int
resamp_rate = 2
bool
resamp_restart = false
bool
resamp_restart_read = false
bool
resamp_retry = false
int
resamp_tile_size = 2
std::string
resamp_up_choice = "random"
double
resamp_var = 1.0e4
double
resamp_var_limit = 3.0
sml_param
bool
f0_update_analytic = false
bool
f0_update_analytic_local = false
bool
sml_00_efield = true
int
sml_00_npsi = 150
bool
sml_0m_efield = true
bool
sml_3db_on = false
int
sml_add_pot0 = 0
std::string
sml_add_pot0_file = See Fortran description.
int
sml_add_pot0_mixing_time = See Fortran description.
bool
sml_adiabatic_from_poisson = See Fortran description.
bool
sml_ampere_natural_boundary = false
double
sml_bd_ext_delta1 = 0.01
double
sml_bd_ext_delta1h = bd_ext_delta1
double
sml_bd_ext_delta2 = 0.02
double
sml_bd_ext_delta2h = bd_ext_delta2
double
sml_bd_ext_delta3 = bd_ext_delta1
double
sml_bd_ext_delta3h = bd_ext_delta3
double
sml_bd_ext_delta4 = bd_ext_delta2
double
sml_bd_ext_delta4h = bd_ext_delta4
double
sml_bd_ext_delta_ai = 0.0
double
sml_bd_ext_delta_ao = 0.0
bool
sml_bd_ext_delta_in_simple00 = false
double
sml_bd_ext_delta_ji = 0.0
double
sml_bd_ext_delta_jo = 0.0
double
sml_bd_ext_near_wall = 0.0
double
sml_bd_max_r = 1.0e3
double
sml_bd_max_z = 1.0e3
double
sml_bd_min_r = 1.0e-4
double
sml_bd_min_z = -1.0e3
int
sml_bounce = is_core_simulation ? 2 : 1
double
sml_bounce_buffer = 0.0
int
sml_bounce_zero_weight = 0
double
sml_bp_sign = 1.0
double
sml_bt_sign = -1.0
double
sml_core_ptl_fac = See Fortran description.
double
sml_core_ptl_psi = See Fortran description.
bool
sml_create_analytic_equil = false
bool
sml_create_analytic_grid = false
bool
sml_current_drive_on = false
bool
sml_dpot_bd_apply = false
double
sml_dpot_bd_width = 0.02
double
sml_dpot_te_limit = 64.0
double
sml_dpot_te_limit_n0 = 64.0
bool
sml_drift_on = true
double
sml_dt = 0.001
bool
sml_dwdt_exb_only = false
bool
sml_dwdt_fix_bg = false
std::string
sml_ele_file = "example_file.ele"
bool
sml_electron_on = false
bool
sml_em_b_para_eff = false
bool
sml_em_control_variate = false
int
sml_em_control_variate_niter = 1
bool
sml_em_dasdt_filter_on = false
bool
sml_em_dasdt_hypvis = false
bool
sml_em_exclude_private = true
bool
sml_em_mixed_variable = true
bool
sml_em_n0 = false
double
sml_em_pullback_dampfac = 1.0
std::string
sml_em_pullback_method = "Electrostatic"
int
sml_em_pullback_mode = 3
bool
sml_em_use_dpot_te_limit = false
double
sml_en_order_kev = 0.2
bool
sml_exclude_private = false
bool
sml_exclude_private_turb = true
double
sml_f0_grid_alpha = 0.0
int
sml_f0_grid_alpha_start = 1
double
sml_f0_grid_init_ptl_imbal = See Fortran description.
int
sml_f0_grid_lbal_period = See Fortran description.
double
sml_f0_grid_max_ptl_imbal = See Fortran description.
double
sml_f0_grid_min_ptl_imbal = See Fortran description.
int
sml_f_source_period = 1
bool
sml_ff_boundary_zero_p = false
int
sml_ff_order = 4
int
sml_ff_step = 2
bool
sml_field_aligned_initial = false
bool
sml_field_solver = true
bool
sml_flat_electron_density = false
bool
sml_flat_marker = true
double
sml_flat_marker_cutoff1 = 4.0
double
sml_flat_marker_cutoff2 = flat_marker_cutoff1
double
sml_flat_marker_decay_start1 = 3.5
double
sml_flat_marker_decay_start2 = flat_marker_decay_start1
double
sml_flat_marker_width1 = 0.5
double
sml_flat_marker_width2 = flat_marker_width1
bool
sml_grad_psitheta = false
double
sml_gradpsi_limit = 1.0e-3
int
sml_grid_nrho = 6
int
sml_guess_table_size = 500
bool
sml_helmholtz_spectral = false
bool
sml_heuristic_priv_pot = false
bool
sml_ignore_f0g = false
int
sml_increase_ptl_factor_int = 1
double
sml_increase_ptl_rand_mu = 1.0e-4
double
sml_increase_ptl_rand_phi = 1.0e-1
double
sml_increase_ptl_rand_vp = 1.0e-4
double
sml_increase_ptl_rand_w0 = 1.0e-4
double
sml_increase_ptl_rand_w1 = 1.0e-4
bool
sml_increase_ptl_tor = false
double
sml_initial_deltaf_noise = 1.0e-3
double
sml_inpsi = 0.0
std::string
sml_input_file_dir = "./"
bool
sml_iter_solver = true
double
sml_iter_solver_atol = See Fortran description.
bool
sml_iter_solver_converge = false
int
sml_iter_solver_max_it = See Fortran description.
int
sml_iter_solver_niter = See Fortran description.
int
sml_iter_solver_precond_type = See Fortran description.
double
sml_iter_solver_rtol = See Fortran description.
bool
sml_limit_marker_den = false
double
sml_limit_marker_den_fac = See Fortran description.
bool
sml_load_single_ptl = false
bool
sml_loop_voltage_fsa = true
bool
sml_loop_voltage_on = false
double
sml_low_mu_fill_population = 0.0
double
sml_marker_min_temp = 10.0
double
sml_marker_temp_factor = 1.0
double
sml_marker_temp_factor2 = See Fortran description.
double
sml_max_imbalance = See Fortran description.
double
sml_max_loading_factor = 10.0
double
sml_min_loading_factor = 0.1
bool
sml_mms = See Fortran description.
double
sml_mms_alpha = See Fortran description.
double
sml_mms_beta = See Fortran description.
double
sml_mms_gamma = See Fortran description.
bool
sml_mod_adiabatic = See Fortran description.
double
sml_mod_adiabatic_psi_in = See Fortran description.
double
sml_mod_adiabatic_psi_out = See Fortran description.
bool
sml_mode_select_bands_on = false
double
sml_mode_select_bd_width = 0.01
int
sml_mode_select_cutoff = 2
int
sml_mode_select_cutoff_mode = See Fortran description.
double
sml_mode_select_damp_width = See Fortran description.
bool
sml_mode_select_div_mix = true
double
sml_mode_select_inpsi = -0.1
bool
sml_mode_select_keep_axisym = See Fortran description.
double
sml_mode_select_max_kth_rho = 1.0
int
sml_mode_select_mmax = 25
int
sml_mode_select_mmin = 0
int
sml_mode_select_mode = 0
int
sml_mode_select_mres_q = 3
int
sml_mode_select_n = 1
int
sml_mode_select_nmax = 1
int
sml_mode_select_nmax_real = 999
int
sml_mode_select_nmin = 1
int
sml_mode_select_nmin_real = 0
bool
sml_mode_select_no_m0 = See Fortran description.
int
sml_mode_select_num_m_damp = See Fortran description.
double
sml_mode_select_outpsi = 10.0
double
sml_mode_select_psitol = See Fortran description.
int
sml_mode_select_sol_mode = 0
int
sml_mode_select_use_minm = See Fortran description.
int
sml_monte_num = monte_num_minimum
int
sml_mstep = 3000
bool
sml_multirate_timestepping = false
int
sml_ncycle_half = 30
bool
sml_neutral = false
bool
sml_no_fp_in_f = false
bool
sml_no_turb = false
std::string
sml_node_file = "example_file.node"
int
sml_node_file_spacing = 1
bool
sml_node_vol_monte = node_vol_monte_default
int
sml_nphi_total = 16
int
sml_nsurf3 = See Fortran description.
int
sml_nsurf3_2 = See Fortran description.
double
sml_outpsi = 1.05
double
sml_outpsi_priv1 = 0.97
double
sml_outpsi_priv2 = 2.0
bool
sml_plane_major = See Fortran description.
bool
sml_poisson_0m_full_geo = false
bool
sml_poisson_adia_wall = false
bool
sml_poisson_bias = false
double
sml_poisson_bias_amp = 10.0
double
sml_poisson_bias_amp2 = 10.0
int
sml_poisson_bias_freq = 10000
bool
sml_poisson_bias_kick = false
double
sml_poisson_bias_psic = 0.5
double
sml_poisson_bias_psiw = 0.02
int
sml_poisson_bias_start = 1
bool
sml_poisson_natural_boundary = false
bool
sml_poisson_use_bc = false
bool
sml_pol_decomp = true
bool
sml_positive_phi00_sol = false
double
sml_ptl_imbal_ion = See Fortran description.
bool
sml_radiation = false
bool
sml_read_eq = true
bool
sml_read_eq_m3dc1 = false
bool
sml_reduce_core_ptl = See Fortran description.
bool
sml_replace_pot0 = See Fortran description.
bool
sml_resamp_on = false
bool
sml_restart = false
int
sml_restart_write_period = 10000000
bool
sml_rgn1_pot0_only = false
double
sml_rhomax = 1.0e-2
int
sml_sep2_surf_index = See Fortran description.
int
sml_sep_surf_index = See Fortran description.
bool
sml_separate_n0 = default_separate_n0
double
sml_sheath_adjust_factor = See Fortran description.
bool
sml_sheath_global_balance = false
bool
sml_sheath_init_pot_auto = See Fortran description.
double
sml_sheath_init_pot_factor = See Fortran description.
int
sml_sheath_mode = 0
bool
sml_sheath_adjust = false
bool
sml_source = false
std::string
sml_surf_file = "example_file.flx.aif"
bool
sml_symmetric_f = is_XGCa ? true : false
bool
sml_symmetric_f0g = See Fortran description.
bool
sml_thermal_bath_on = false
double
sml_tri_psi_weighting = See Fortran description.
bool
sml_turb_efield = true
bool
sml_update_ampere_solver = false
int
sml_update_ampere_solver_nstep = 1
double
sml_update_g_alpha = 0.0
bool
sml_update_poisson_solver = false
int
sml_update_poisson_solver_nstep = 1
bool
sml_update_poisson_turb = false
bool
sml_use_loading_factor = false
bool
sml_use_pade = false
int
sml_wedge_n = 1
bool
sml_zero_inner_bd = false
bool
sml_zero_inner_bd_turb = true
smooth_param
double
smooth_fourier_filt_bd_width = 0.02
double
smooth_fourier_filt_inpsi = -0.1
int
smooth_fourier_filt_maxm = 30
int
smooth_fourier_filt_minm = 0
bool
smooth_fourier_filt_on = false
double
smooth_fourier_filt_outpsi = 10.0
bool
smooth_hyp_vis_parallel_on = false
double
smooth_hyp_vis_parallel = 1.0
bool
smooth_hyp_vis_rad_on = false
double
smooth_hyp_vis_rad = 0.1
double
smooth_hyp_vis_rad_priv = 1.0
double
smooth_pol_d0 = 0.1
bool
smooth_pol_efield = false
int
smooth_pol_width = 3
double
smooth_sol_filt_lp0 = See Fortran description.
double
smooth_sol_filt_width = See Fortran description.
src_param
double
src_current_drive_d = 1.0
double
src_current_drive_i = 0.01
double
src_current_drive_p = 0.4
int
src_current_drive_start_time = 1
double
src_decay_width1 = See Fortran description.
double
src_decay_width2 = See Fortran description.
double
src_decay_width3 = See Fortran description.
double
src_decay_width4 = See Fortran description.
double
src_heat_power1 = See Fortran description.
double
src_heat_power2 = See Fortran description.
double
src_heat_power3 = See Fortran description.
double
src_heat_power4 = See Fortran description.
int
src_ishape1 = See Fortran description.
int
src_ishape2 = See Fortran description.
int
src_ishape3 = See Fortran description.
int
src_ishape4 = See Fortran description.
double
src_loop_voltage = 0.0
double
src_loop_voltage_psimax = 1.0
int
src_narea = See Fortran description.
int
src_niter = See Fortran description.
int
src_nsubsection = See Fortran description.
double
src_pellet_cloud_a = 0.1
double
src_pellet_cloud_angle = 0.0
double
src_pellet_cloud_b = 0.1
double
src_pellet_etemp = 5.0
int
src_pellet_ion_species = MAIN_ION
double
src_pellet_itemp = 5.0
double
src_pellet_n_atoms = 1.0e21
bool
src_pellet_on = false
double
src_pellet_r = 1.0
double
src_pellet_rad = 1.0e-3
int
src_pellet_start_time = 1
int
src_pellet_stop_time = -1
double
src_pellet_z = 0.0
int
src_period = See Fortran description.
double
src_pin1 = See Fortran description.
double
src_pin2 = See Fortran description.
double
src_pin3 = See Fortran description.
double
src_pin4 = See Fortran description.
double
src_pout1 = See Fortran description.
double
src_pout2 = See Fortran description.
double
src_pout3 = See Fortran description.
double
src_pout4 = See Fortran description.
double
src_r_begin1 = See Fortran description.
double
src_r_begin2 = See Fortran description.
double
src_r_begin3 = See Fortran description.
double
src_r_begin4 = See Fortran description.
double
src_radius1 = See Fortran description.
double
src_radius2 = See Fortran description.
double
src_radius3 = See Fortran description.
double
src_radius4 = See Fortran description.
int
src_special_mode1 = See Fortran description.
int
src_special_mode2 = See Fortran description.
int
src_special_mode3 = See Fortran description.
int
src_special_mode4 = See Fortran description.
int
src_start_time = 1
double
src_torque1 = See Fortran description.
double
src_torque2 = See Fortran description.
double
src_torque3 = See Fortran description.
double
src_torque4 = See Fortran description.
double
src_z_begin1 = See Fortran description.
double
src_z_begin2 = See Fortran description.
double
src_z_begin3 = See Fortran description.
double
src_z_begin4 = See Fortran description.
thermal_bath_param
double
gamma = 5000.0
double
gamma_coarse_graining = 5000.0
double
inpsi = 1.05
int
n_diag_bins = 1
int
n_energy_bins = 1
double
outpsi = 1.05
double
vmax = 5.0