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 = falsebool adios_stage_escaped_ptls = falsebool adios_stage_f0 = falsebool adios_stage_f0_df = falsebool adios_stage_particle = falsebool adios_stage_restart = falsebool adios_stage_restartf0 = falseanalytic_grid_param
double axis_r = 1.5int nsurfaces = 30col_param
boolcol_accel =falseArtificial collision amplifying.
doublecol_accel_factor1 =10.0Acceleration factor of Range 1
doublecol_accel_factor2 =10.0Acceleration factor of Range 2
intcol_accel_n =2Number of psi regions to apply artifical accleration to. Maximum is 2.
doublecol_accel_pin1 =magnetic_field.inpsiInner psi value of acceleration Range 1
doublecol_accel_pin2 =magnetic_field.outpsi - 0.1*psi_rangeInner psi value of acceleration Range 2
doublecol_accel_pout1 =magnetic_field.inpsi + 0.1*psi_rangeOuter psi value of acceleration Range 1
doublecol_accel_pout2 =magnetic_field.outpsiOuter psi value of acceleration Range 2
intcol_en_col_on =1Switch for energy collision
intcol_mode =0Collision 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.
doublecol_pin =magnetic_field.inpsiMinimum of psi range where collisions are performed.
doublecol_pout =magnetic_field.outpsiMaximum of psi range where collisions are performed.
intcol_max_n_subcycles =1Enables 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.
intcol_f_start =1The time step at which collisions begin
boolcol_moving_frame =trueSwitch for moving frame for collisions
intcol_period =3Frequency of collisions
intcol_varying_bg =0Switch for background plasma update
intcol_vb_m =50Resolution of varying background
intcol_vb_mtheta =8Resolution in theta direction of varying background
intcol_vb_period =1Frequency of background update for collisions
doublecol_vb_pin =magnetic_field.inpsiInner psi boundary for varying background
doublecol_vb_pout =std::min(magnetic_field.outpsi, 1.03Outer psi boundary for varying background
diag_param
bool diag_1d_on = trueint diag_1d_period = 10bool diag_3d_more = falsebool diag_3d_on = trueint diag_3d_period = default_periodbool diag_col_convergence_stat_on = falsebool diag_current_drive_on = falseint diag_current_drive_period = 1bool diag_diff_profiles_on = falseint diag_diff_profiles_period = 1bool diag_f0_df_on = is_on_defaultint diag_f0_df_period = period_defaultbool diag_f0_g = falsebool diag_f0_n = falsebool diag_f0_on = trueint diag_f0_period = default_periodint diag_f3d_period = default_periodint diag_heat_mode = 2int diag_heat_nphi = 64int diag_heat_npsi = 1000int diag_heat_nr = 100int diag_heat_nsection = 1int diag_heat_nz = 100bool diag_heat_on = falsedouble diag_heat_rmax1 = magnetic_field.bounds.max_rdouble diag_heat_rmax2 = magnetic_field.bounds.max_rdouble diag_heat_rmax3 = magnetic_field.bounds.max_rdouble diag_heat_rmin1 = magnetic_field.bounds.min_rdouble diag_heat_rmin2 = magnetic_field.bounds.min_rdouble diag_heat_rmin3 = magnetic_field.bounds.min_rdouble diag_heat_spacing = 5.0e-3double diag_heat_zmax1 = magnetic_field.bounds.max_zdouble diag_heat_zmax2 = magnetic_field.bounds.max_zdouble diag_heat_zmax3 = magnetic_field.bounds.max_zdouble diag_heat_zmin1 = magnetic_field.bounds.min_zdouble diag_heat_zmin2 = magnetic_field.bounds.min_zdouble diag_heat_zmin3 = magnetic_field.bounds.min_zint diag_neutral_period = See Fortran description.int diag_particle_mod = 1bool diag_particle_on = falseint diag_particle_period = 1int diag_poin_isp = See Fortran description.int diag_poin_nrec = See Fortran description.double diag_ps_pin = 0.80double diag_ps_pout = 0.81int diag_ps_reset_period = 10bool diag_pseudo_inv_on = falseint diag_tracer_n = See Fortran description.int diag_tracer_period = See Fortran description.int diag_tracer_sp = See Fortran description.bool diag_weight_stats = falsediff_param
double diff_bd_in = magnetic_field.inpsidouble diff_bd_out = magnetic_field.outpsidouble 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 = falsebool 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 = 1bool diff_update_on = 0int diff_update_period = 500bool diff_use_smoothing = 0eq_param
int eq_den_rsp_index = 0int eq_den_rsp_sample_num = 1024double eq_den_rsp_xmax = 1.3std::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.1double eq_out_decay_width = 0.03std::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.05double eq_priv_flux_decay_width = 0.015bool eq_set_x2 = falsestd::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.7double eq_x2_z = 10.0std::string eq_zeff_file = "zeff.dat"int eq_zeff_shape = 0double eq_zeff_v1 = 1.0double eq_zeff_v2 = 1.0double eq_zeff_v3 = 1.0double eq_zeff_x1 = 1.0double eq_zeff_x2 = 0.1double eq_zeff_x3 = 0.0f0_param
double f0_coarse_graining_alpha = 1.0e-3bool f0_coarse_graining_on = falseint f0_nmu = 31int f0_nvp = 15double f0_smu_max = 3.0bool f0_update_analytic = falsedouble f0_update_analytic_alpha = f0_grid_alphabool f0_update_analytic_local = falsedouble f0_update_analytic_damp_width = 0.5bool 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 = 2bool f0_velocity_interp_pseudo_inv_particles_to_grid_petsc = See Fortran description.bool f0_velocity_interp_use_pseudo_inv = falsedouble f0_vp_max = 3.0field_decomp_param
int n_ghost_planes = 1int n_ghost_vertices = 3000int n_phi_domains = n_ranksint n_ranks = 6init_cond
bool ic_add_zonal = falsedouble ic_amp = 1.0e-4double ic_amp_0 = 0.0int ic_delta_n = wedge_nint ic_n_modes = (intdouble ic_phi_sign = magnetic_field.bp_sign*magnetic_field.bt_signbool ic_poloidal_gaussian = falsedouble ic_psi_0 = 0.0double ic_q_sign = magnetic_field.bp_signbool ic_radial_gaussian = falsebool ic_resonant_modes = trueint ic_resonant_nmax_real = 1int ic_resonant_nmin_real = 1double ic_sigma_psi = 0.5double ic_sigma_theta = 0.784double ic_theta_0 = 0.0load_balance_param
double max_mem_redist_gb = 10.0double threshold_to_rebalance = 0.02std::string update_method = "NoHistory"bool verbose = falsestd::string weighting_algorithm = "Fortran"mon_param
int mon_flush_count = 12int mon_flush_freq = 0mr_param
int mr_factor1 = 1int mr_factor2 = 1int mr_factor3 = 1int mr_factor4 = 1int mr_factor5 = 1double mr_psi_max5 = 0.0neu_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 = truedouble neu_ebin_max = 100.0double neu_ebin_min = 0.1int neu_ebin_num = 1bool 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 = 2double neu_temp0 = See Fortran description.double neu_theta_x = See Fortran description.performance_param
bool backup_particles_on_device = falsebool calculate_phi_ff_on_device = falsebool col_async_reassign = falsestd::string collisions_solver = "lapack"double ginkgo_residual_reduction = 1.0e-16int ginkgo_max_iterations = 300bool decompose_fields = falsestd::string gyro_comm_method = "PlaneComm"double initial_ptl_res_margin = 1.1int mesh_batch_size = default_batch_sizebool particles_resident_on_device = default_residence_option(bool stream_particles = default_streaming_option(bool use_unfused_electron_push_kernel = falseptb_3db_param
int ptb_3db_dasdt_opt = 1double ptb_3db_em_bd_width = 0.05bool ptb_3db_em_full_spec = falsedouble ptb_3db_em_inpsi = -1.0double ptb_3db_em_outpsi = 1.1int ptb_3db_es_to_em_dt_ratio = 1int ptb_3db_file_format = 1std::string ptb_3db_filename = See Fortran description.int ptb_3db_m3dc1_timeslice = See Fortran description.int ptb_3db_mode = 0int ptb_3db_mstep_em = mstepint ptb_3db_mstep_es = 0double 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 = 1int ptb_3db_nz = See Fortran description.int ptb_3db_rampup_time = 1000bool ptb_3db_rampup_vac = truedouble 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 = 1double 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 = 1int ptl_num = 0int ptl_num_per_vertex = 10000, MAIN_IONdouble ptl_special_en_ev = 7205.0double ptl_special_phi = 0.0double ptl_special_pitch = 0.276double ptl_special_r = magnetic_field.equil.axis.rdouble ptl_special_z = magnetic_field.equil.axis.zstd::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.1double rad_inpsi = magnetic_field.inpsidouble rad_outpsi = magnetic_field.outpsiint rad_species = -1int rad_start_time = 1bool rad_use_fix_charge = truebool rad_use_zeff_profile = falsedouble rad_z = 6.0resamp_param
bool resamp_discard_var_bins = falsebool resamp_distribute_evenly_subbins = falsestd::string resamp_down_choice = "weight"bool resamp_fill_empty = falsebool resamp_fullf_on = falsebool resamp_grid_ineq_on = falsedouble resamp_highv_max = 10.0double resamp_highv_max_ratio = 4.0double resamp_ineq_tol = 1.0e-4double resamp_ineq_tol_max = 1.0e-3bool resamp_keep_downsamples = falsebool resamp_keep_upsamples = falsedouble resamp_max_ratio = 1.5double resamp_max_shift = 0.1int resamp_max_target = 4double resamp_min_ratio = 0.5std::string resamp_node_file = "resample.node"int resamp_nphi_new = 1bool resamp_output_problem_bins = falseint resamp_rate = 2bool resamp_restart = falsebool resamp_restart_read = falsebool resamp_retry = falseint resamp_tile_size = 2std::string resamp_up_choice = "random"double resamp_var = 1.0e4double resamp_var_limit = 3.0sml_param
bool f0_update_analytic = falsebool f0_update_analytic_local = falsebool sml_00_efield = trueint sml_00_npsi = 150bool sml_0m_efield = truebool sml_3db_on = falseint sml_add_pot0 = 0std::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 = falsedouble sml_bd_ext_delta1 = 0.01double sml_bd_ext_delta1h = bd_ext_delta1double sml_bd_ext_delta2 = 0.02double sml_bd_ext_delta2h = bd_ext_delta2double sml_bd_ext_delta3 = bd_ext_delta1double sml_bd_ext_delta3h = bd_ext_delta3double sml_bd_ext_delta4 = bd_ext_delta2double sml_bd_ext_delta4h = bd_ext_delta4double sml_bd_ext_delta_ai = 0.0double sml_bd_ext_delta_ao = 0.0bool sml_bd_ext_delta_in_simple00 = falsedouble sml_bd_ext_delta_ji = 0.0double sml_bd_ext_delta_jo = 0.0double sml_bd_ext_near_wall = 0.0double sml_bd_max_r = 1.0e3double sml_bd_max_z = 1.0e3double sml_bd_min_r = 1.0e-4double sml_bd_min_z = -1.0e3int sml_bounce = is_core_simulation ? 2 : 1double sml_bounce_buffer = 0.0int sml_bounce_zero_weight = 0double sml_bp_sign = 1.0double sml_bt_sign = -1.0double sml_core_ptl_fac = See Fortran description.double sml_core_ptl_psi = See Fortran description.bool sml_create_analytic_equil = falsebool sml_create_analytic_grid = falsebool sml_current_drive_on = falsebool sml_dpot_bd_apply = falsedouble sml_dpot_bd_width = 0.02double sml_dpot_te_limit = 64.0double sml_dpot_te_limit_n0 = 64.0bool sml_drift_on = truedouble sml_dt = 0.001bool sml_dwdt_exb_only = falsebool sml_dwdt_fix_bg = falsestd::string sml_ele_file = "example_file.ele"bool sml_electron_on = falsebool sml_em_b_para_eff = falsebool sml_em_control_variate = falseint sml_em_control_variate_niter = 1bool sml_em_dasdt_filter_on = falsebool sml_em_dasdt_hypvis = falsebool sml_em_exclude_private = truebool sml_em_mixed_variable = truebool sml_em_n0 = falsedouble sml_em_pullback_dampfac = 1.0std::string sml_em_pullback_method = "Electrostatic"int sml_em_pullback_mode = 3bool sml_em_use_dpot_te_limit = falsedouble sml_en_order_kev = 0.2bool sml_exclude_private = falsebool sml_exclude_private_turb = truedouble sml_f0_grid_alpha = 0.0int sml_f0_grid_alpha_start = 1double 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 = 1bool sml_ff_boundary_zero_p = falseint sml_ff_order = 4int sml_ff_step = 2bool sml_field_aligned_initial = falsebool sml_field_solver = truebool sml_flat_electron_density = falsebool sml_flat_marker = truedouble sml_flat_marker_cutoff1 = 4.0double sml_flat_marker_cutoff2 = flat_marker_cutoff1double sml_flat_marker_decay_start1 = 3.5double sml_flat_marker_decay_start2 = flat_marker_decay_start1double sml_flat_marker_width1 = 0.5double sml_flat_marker_width2 = flat_marker_width1bool sml_grad_psitheta = falsedouble sml_gradpsi_limit = 1.0e-3int sml_grid_nrho = 6int sml_guess_table_size = 500bool sml_helmholtz_spectral = falsebool sml_heuristic_priv_pot = falsebool sml_ignore_f0g = falseint sml_increase_ptl_factor_int = 1double sml_increase_ptl_rand_mu = 1.0e-4double sml_increase_ptl_rand_phi = 1.0e-1double sml_increase_ptl_rand_vp = 1.0e-4double sml_increase_ptl_rand_w0 = 1.0e-4double sml_increase_ptl_rand_w1 = 1.0e-4bool sml_increase_ptl_tor = falsedouble sml_initial_deltaf_noise = 1.0e-3double sml_inpsi = 0.0std::string sml_input_file_dir = "./"bool sml_iter_solver = truedouble sml_iter_solver_atol = See Fortran description.bool sml_iter_solver_converge = falseint 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 = falsedouble sml_limit_marker_den_fac = See Fortran description.bool sml_load_single_ptl = falsebool sml_loop_voltage_fsa = truebool sml_loop_voltage_on = falsedouble sml_low_mu_fill_population = 0.0double sml_marker_min_temp = 10.0double sml_marker_temp_factor = 1.0double sml_marker_temp_factor2 = See Fortran description.double sml_max_imbalance = See Fortran description.double sml_max_loading_factor = 10.0double sml_min_loading_factor = 0.1bool 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 = falsedouble sml_mode_select_bd_width = 0.01int sml_mode_select_cutoff = 2int sml_mode_select_cutoff_mode = See Fortran description.double sml_mode_select_damp_width = See Fortran description.bool sml_mode_select_div_mix = truedouble sml_mode_select_inpsi = -0.1bool sml_mode_select_keep_axisym = See Fortran description.double sml_mode_select_max_kth_rho = 1.0int sml_mode_select_mmax = 25int sml_mode_select_mmin = 0int sml_mode_select_mode = 0int sml_mode_select_mres_q = 3int sml_mode_select_n = 1int sml_mode_select_nmax = 1int sml_mode_select_nmax_real = 999int sml_mode_select_nmin = 1int sml_mode_select_nmin_real = 0bool sml_mode_select_no_m0 = See Fortran description.int sml_mode_select_num_m_damp = See Fortran description.double sml_mode_select_outpsi = 10.0double sml_mode_select_psitol = See Fortran description.int sml_mode_select_sol_mode = 0int sml_mode_select_use_minm = See Fortran description.int sml_monte_num = monte_num_minimumint sml_mstep = 3000bool sml_multirate_timestepping = falseint sml_ncycle_half = 30bool sml_neutral = falsebool sml_no_fp_in_f = falsebool sml_no_turb = falsestd::string sml_node_file = "example_file.node"int sml_node_file_spacing = 1bool sml_node_vol_monte = node_vol_monte_defaultint sml_nphi_total = 16int sml_nsurf3 = See Fortran description.int sml_nsurf3_2 = See Fortran description.double sml_outpsi = 1.05double sml_outpsi_priv1 = 0.97double sml_outpsi_priv2 = 2.0bool sml_plane_major = See Fortran description.bool sml_poisson_0m_full_geo = falsebool sml_poisson_adia_wall = falsebool sml_poisson_bias = falsedouble sml_poisson_bias_amp = 10.0double sml_poisson_bias_amp2 = 10.0int sml_poisson_bias_freq = 10000bool sml_poisson_bias_kick = falsedouble sml_poisson_bias_psic = 0.5double sml_poisson_bias_psiw = 0.02int sml_poisson_bias_start = 1bool sml_poisson_natural_boundary = falsebool sml_poisson_use_bc = falsebool sml_pol_decomp = truebool sml_positive_phi00_sol = falsedouble sml_ptl_imbal_ion = See Fortran description.bool sml_radiation = falsebool sml_read_eq = truebool sml_read_eq_m3dc1 = falsebool sml_reduce_core_ptl = See Fortran description.bool sml_replace_pot0 = See Fortran description.bool sml_resamp_on = falsebool sml_restart = falseint sml_restart_write_period = 10000000bool sml_rgn1_pot0_only = falsedouble sml_rhomax = 1.0e-2int sml_sep2_surf_index = See Fortran description.int sml_sep_surf_index = See Fortran description.bool sml_separate_n0 = default_separate_n0double sml_sheath_adjust_factor = See Fortran description.bool sml_sheath_global_balance = falsebool sml_sheath_init_pot_auto = See Fortran description.double sml_sheath_init_pot_factor = See Fortran description.int sml_sheath_mode = 0bool sml_sheath_adjust = falsebool sml_source = falsestd::string sml_surf_file = "example_file.flx.aif"bool sml_symmetric_f = is_XGCa ? true : falsebool sml_symmetric_f0g = See Fortran description.bool sml_thermal_bath_on = falsedouble sml_tri_psi_weighting = See Fortran description.bool sml_turb_efield = truebool sml_update_ampere_solver = falseint sml_update_ampere_solver_nstep = 1double sml_update_g_alpha = 0.0bool sml_update_poisson_solver = falseint sml_update_poisson_solver_nstep = 1bool sml_update_poisson_turb = falsebool sml_use_loading_factor = falsebool sml_use_pade = falseint sml_wedge_n = 1bool sml_zero_inner_bd = falsebool sml_zero_inner_bd_turb = truesmooth_param
double smooth_fourier_filt_bd_width = 0.02double smooth_fourier_filt_inpsi = -0.1int smooth_fourier_filt_maxm = 30int smooth_fourier_filt_minm = 0bool smooth_fourier_filt_on = falsedouble smooth_fourier_filt_outpsi = 10.0bool smooth_hyp_vis_parallel_on = falsedouble smooth_hyp_vis_parallel = 1.0bool smooth_hyp_vis_rad_on = falsedouble smooth_hyp_vis_rad = 0.1double smooth_hyp_vis_rad_priv = 1.0double smooth_pol_d0 = 0.1bool smooth_pol_efield = falseint smooth_pol_width = 3double smooth_sol_filt_lp0 = See Fortran description.double smooth_sol_filt_width = See Fortran description.src_param
double src_current_drive_d = 1.0double src_current_drive_i = 0.01double src_current_drive_p = 0.4int src_current_drive_start_time = 1double 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.0double src_loop_voltage_psimax = 1.0int src_narea = See Fortran description.int src_niter = See Fortran description.int src_nsubsection = See Fortran description.double src_pellet_cloud_a = 0.1double src_pellet_cloud_angle = 0.0double src_pellet_cloud_b = 0.1double src_pellet_etemp = 5.0int src_pellet_ion_species = MAIN_IONdouble src_pellet_itemp = 5.0double src_pellet_n_atoms = 1.0e21bool src_pellet_on = falsedouble src_pellet_r = 1.0double src_pellet_rad = 1.0e-3int src_pellet_start_time = 1int src_pellet_stop_time = -1double src_pellet_z = 0.0int 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 = 1double 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.0double gamma_coarse_graining = 5000.0double inpsi = 1.05int n_diag_bins = 1int n_energy_bins = 1double outpsi = 1.05double vmax = 5.0