Line data Source code
1 : ! ***********************************************************************
2 : !
3 : ! Copyright (C) 2010 The MESA Team
4 : !
5 : ! This program is free software: you can redistribute it and/or modify
6 : ! it under the terms of the GNU Lesser General Public License
7 : ! as published by the Free Software Foundation,
8 : ! either version 3 of the License, or (at your option) any later version.
9 : !
10 : ! This program is distributed in the hope that it will be useful,
11 : ! but WITHOUT ANY WARRANTY; without even the implied warranty of
12 : ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13 : ! See the GNU Lesser General Public License for more details.
14 : !
15 : ! You should have received a copy of the GNU Lesser General Public License
16 : ! along with this program. If not, see <https://www.gnu.org/licenses/>.
17 : !
18 : ! ***********************************************************************
19 :
20 : module ctrls_io
21 :
22 : use const_def, only: dp
23 : use star_private_def
24 :
25 : implicit none
26 :
27 : include 'star_controls.inc'
28 : include 'star_controls_dev.inc'
29 :
30 : logical, dimension(max_extra_inlists) :: read_extra_controls_inlist
31 : character (len=strlen), dimension(max_extra_inlists) :: extra_controls_inlist_name
32 : logical :: save_controls_namelist
33 : character (len=strlen) :: controls_namelist_name
34 :
35 : namelist /controls/ &
36 :
37 : ! where to start
38 : initial_mass, initial_z, initial_y, initial_he3, &
39 :
40 : ! definition of core boundaries
41 : he_core_boundary_h1_fraction, co_core_boundary_he4_fraction, one_core_boundary_he4_c12_fraction, &
42 : fe_core_boundary_si28_fraction, neutron_rich_core_boundary_Ye_max, min_boundary_fraction, &
43 :
44 : ! when to stop
45 : max_model_number, relax_max_number_retries, max_number_retries, max_age, max_age_in_seconds, max_age_in_days, &
46 : num_adjusted_dt_steps_before_max_age, dt_years_for_steps_before_max_age, max_abs_rel_run_E_err, &
47 : reduction_factor_for_max_timestep, when_to_stop_rtol, when_to_stop_atol, &
48 : gamma_center_limit, eta_center_limit, log_center_temp_upper_limit, log_max_temp_upper_limit, &
49 : log_max_temp_lower_limit , log_center_temp_lower_limit, log_center_density_upper_limit, &
50 : log_center_density_lower_limit, center_entropy_upper_limit, center_entropy_lower_limit, &
51 : max_entropy_upper_limit, max_entropy_lower_limit, min_timestep_limit, non_fe_core_rebound_limit, &
52 : fe_core_infall_limit, center_Ye_lower_limit, center_R_lower_limit, non_fe_core_infall_limit, &
53 : fe_core_infall_mass, non_fe_core_infall_mass, &
54 : v_div_csound_surf_limit, v_div_csound_max_limit, Lnuc_div_L_upper_limit, Lnuc_div_L_lower_limit,&
55 : v_surf_div_v_kh_upper_limit, v_surf_div_v_kh_lower_limit, v_surf_div_v_esc_limit, v_surf_kms_limit, &
56 : stop_near_zams, Lnuc_div_L_zams_limit, Pgas_div_P_limit, Pgas_div_P_limit_max_q, gamma1_limit, gamma1_limit_max_q, &
57 : stop_at_phase_PreMS, stop_at_phase_ZAMS, stop_at_phase_IAMS, stop_at_phase_TAMS, gamma1_limit_max_v_div_vesc, &
58 : stop_at_phase_He_Burn, stop_at_phase_ZACHeB, stop_at_phase_TACHeB, &
59 : stop_at_phase_TP_AGB, stop_at_phase_C_Burn, stop_at_phase_Ne_Burn, &
60 : stop_at_phase_O_Burn, stop_at_phase_Si_Burn, stop_at_phase_WDCS, &
61 : peak_burn_vconv_div_cs_limit, omega_div_omega_crit_limit, delta_nu_lower_limit, &
62 : delta_nu_upper_limit, delta_Pg_lower_limit, delta_Pg_upper_limit, shock_mass_upper_limit, &
63 : mach1_mass_upper_limit, stop_when_reach_this_cumulative_extra_heating, &
64 : xa_central_lower_limit_species, xa_central_lower_limit, xa_central_upper_limit_species, xa_central_upper_limit, &
65 : xa_surface_lower_limit_species, xa_surface_lower_limit, xa_surface_upper_limit_species, xa_surface_upper_limit, &
66 : xa_average_lower_limit_species, xa_average_lower_limit, xa_average_upper_limit_species, xa_average_upper_limit, &
67 : star_species_mass_min_limit, star_species_mass_min_limit_iso, star_species_mass_max_limit, star_species_mass_max_limit_iso, &
68 : xmstar_min_limit, xmstar_max_limit, envelope_mass_limit, envelope_fraction_left_limit, &
69 : he_core_mass_limit, co_core_mass_limit, one_core_mass_limit, &
70 : fe_core_mass_limit, neutron_rich_core_mass_limit, HB_limit, star_mass_min_limit, star_mass_max_limit, &
71 : he_layer_mass_lower_limit, abs_diff_lg_LH_lg_Ls_limit, Teff_upper_limit, Teff_lower_limit, &
72 : photosphere_m_upper_limit, photosphere_m_lower_limit, photosphere_m_sub_M_center_limit, &
73 : photosphere_r_upper_limit, photosphere_r_lower_limit, log_Teff_upper_limit, log_Teff_lower_limit, &
74 : log_Tsurf_upper_limit, log_Tsurf_lower_limit, log_Rsurf_upper_limit, log_Rsurf_lower_limit, &
75 : log_Psurf_upper_limit, log_Psurf_lower_limit, remnant_mass_min_limit, ejecta_mass_max_limit, &
76 : log_Dsurf_upper_limit, log_Dsurf_lower_limit, log_L_upper_limit, log_L_lower_limit, &
77 : log_g_upper_limit, log_g_lower_limit, power_nuc_burn_upper_limit, power_h_burn_upper_limit, &
78 : power_he_burn_upper_limit, power_z_burn_upper_limit, power_nuc_burn_lower_limit, &
79 : power_h_burn_lower_limit, power_he_burn_lower_limit, power_z_burn_lower_limit, &
80 :
81 : ! max timesteps
82 : max_timestep, max_years_for_timestep, &
83 : hi_T_max_years_for_timestep, max_timestep_hi_T_limit, &
84 :
85 : ! output of "snapshots" for restarts
86 : photo_interval, photo_digits, photo_directory, &
87 :
88 : ! output of logs and profiles
89 : do_history_file, history_interval, write_header_frequency, terminal_interval, &
90 : terminal_show_age_units, terminal_show_timestep_units, terminal_show_log_dt, terminal_show_log_age, &
91 : num_trace_history_values, trace_history_value_name, write_profiles_flag, profile_interval, &
92 : priority_profile_interval, log_directory, star_history_name, star_history_header_name, &
93 : star_history_dbl_format, star_history_int_format, star_history_txt_format, extra_terminal_output_file, &
94 : profiles_index_name, profile_data_prefix, profile_data_suffix, profile_data_header_suffix, &
95 : profile_int_format, profile_txt_format, profile_dbl_format, profile_header_include_sys_details, &
96 : profile_model, max_num_profile_models, max_num_profile_zones, &
97 : write_controls_info_with_profile, controls_data_prefix, controls_data_suffix, &
98 : write_pulse_data_with_profile, pulse_data_format, add_atmosphere_to_pulse_data, &
99 : add_center_point_to_pulse_data, keep_surface_point_for_pulse_data, add_double_points_to_pulse_data, &
100 : interpolate_rho_for_pulse_data, threshold_grad_mu_for_double_point, max_number_of_double_points,&
101 : gyre_data_schema, fgong_header, fgong_ivers, &
102 : max_num_gyre_points, format_for_OSC_data, &
103 : fgong_zero_A_inside_r, use_other_export_pulse_data, use_other_get_pulse_data, use_other_edit_pulse_data, &
104 : write_model_with_profile, model_data_prefix, model_data_suffix, &
105 : mixing_D_limit_for_log, trace_mass_location, min_tau_for_max_abs_v_location, &
106 : min_q_for_inner_mach1_location, max_q_for_outer_mach1_location, &
107 : conv_core_gap_dq_limit, &
108 : alpha_TDC_DAMP, alpha_TDC_DAMPR, alpha_TDC_PtdVdt, &
109 :
110 : ! burn zone eps definitions for use in logs and profiles
111 : burn_min1, burn_min2, &
112 : max_conv_vel_div_csound_maxq, width_for_limit_conv_vel, max_q_for_limit_conv_vel, &
113 : max_mass_in_gm_for_limit_conv_vel, max_r_in_cm_for_limit_conv_vel, &
114 :
115 : ! for reported surface/center abundances
116 : surface_avg_abundance_dq, center_avg_value_dq, &
117 :
118 : ! mixing parameters
119 : min_convective_gap, min_thermohaline_gap, min_semiconvection_gap, min_thermohaline_dropout, &
120 : max_dropout_gradL_sub_grada, remove_embedded_semiconvection, recalc_mix_info_after_evolve, remove_mixing_glitches, &
121 : okay_to_remove_mixing_singleton, prune_bad_cz_min_Hp_height, prune_bad_cz_min_log_eps_nuc, &
122 : redo_conv_for_dr_lt_mixing_length, alpha_semiconvection, okay_to_reduce_gradT_excess, &
123 : semiconvection_option, use_Ledoux_criterion, D_mix_zero_region_bottom_q, &
124 : num_cells_for_smooth_gradL_composition_term, threshold_for_smooth_gradL_composition_term, clip_D_limit, &
125 : gradT_excess_f1, gradT_excess_f2, gradT_excess_age_fraction, gradT_excess_max_change, gradT_excess_lambda1, &
126 : gradT_excess_beta1, gradT_excess_lambda2, gradT_excess_beta2, &
127 : gradT_excess_dlambda, gradT_excess_dbeta, gradT_excess_max_center_h1, &
128 : gradT_excess_min_center_he4, gradT_excess_max_logT, gradT_excess_min_log_tau_full_on, gradT_excess_max_log_tau_full_off, &
129 : use_superad_reduction, superad_reduction_gamma_limit, superad_reduction_gamma_limit_scale, D_mix_zero_region_top_q, &
130 : superad_reduction_gamma_inv_scale, superad_reduction_diff_grads_limit, superad_reduction_limit, &
131 : make_gradr_sticky_in_solver_iters, min_logT_for_make_gradr_sticky_in_solver_iters, &
132 : max_logT_for_mlt, thermohaline_coeff, thermohaline_option, mixing_length_alpha, remove_small_D_limit, &
133 : alt_scale_height_flag, Henyey_MLT_y_param, Henyey_MLT_nu_param, no_MLT_below_shock, mlt_make_surface_no_mixing, &
134 : MLT_option, mlt_use_rotation_correction, mlt_Pturb_factor, do_normalize_dqs_as_part_of_set_qs, &
135 : max_Y_for_burn_z_mix_region, max_X_for_burn_he_mix_region, &
136 : limit_overshoot_Hp_using_size_of_convection_zone, RSP_min_tau_for_turbulent_flux, &
137 : predictive_mix, predictive_superad_thresh, predictive_avoid_reversal, predictive_limit_ingestion,&
138 : predictive_ingestion_factor, predictive_zone_type, predictive_zone_loc, predictive_bdy_loc, &
139 : predictive_bdy_q_min, predictive_bdy_q_max, T_mix_limit, RSP_report_undercorrections, &
140 : do_conv_premix, conv_premix_avoid_increase, conv_premix_time_factor, &
141 : conv_premix_fix_pgas, conv_premix_dump_snapshots, do_premix_heating, &
142 : overshoot_f, overshoot_f0, overshoot_D0, RSP_Qvisc_linear, dq_D_mix_zero_at_H_He_crossover, &
143 : overshoot_Delta0, overshoot_mass_full_on, overshoot_mass_full_off, dq_D_mix_zero_at_H_C_crossover, &
144 : overshoot_scheme, overshoot_zone_type, overshoot_zone_loc, RSP_Qvisc_quadratic, &
145 : overshoot_bdy_loc, overshoot_D_min, overshoot_brunt_B_max, mlt_gradT_fraction, max_conv_vel_div_csound, &
146 : max_v_for_convection, max_q_for_convection_with_hydro_on, alpha_RTI_src_max_q, &
147 : max_v_div_cs_for_convection, max_abs_du_div_cs_for_convection, RSP_max_dt, RSP_relax_dm_tolerance, &
148 : calculate_Brunt_B, calculate_Brunt_N2, brunt_N2_coefficient, num_cells_for_smooth_brunt_B, &
149 : threshold_for_smooth_brunt_B, min_magnitude_brunt_B, RSP_max_dt_times_min_rad_diff_time, &
150 : min_overshoot_q, overshoot_alpha, RSP_target_steps_per_cycle, &
151 : RSP_max_num_periods, RSP_min_max_R_for_periods, RSP_min_deltaR_for_periods, &
152 : RSP_min_PERIOD_div_PERIODLIN, RSP_report_limit_dt, RSP_mode_for_setting_PERIODLIN, RSP_initial_dt_factor, &
153 : RSP_v_div_cs_threshold_for_dt_limit, RSP_max_dt_times_min_dr_div_cs, RSP_thetae, &
154 : RSP_alfa, RSP_thetaq, RSP_default_PERIODLIN, &
155 : RSP_theta, RSP_thetat, RSP_thetau, RSP_wtr, RSP_wtc, RSP_wtt, RSP_gam, RSP_max_retries_per_step, RSP_Qvisc_linear_static, &
156 : RSP_alfa, RSP_alfap, RSP_alfam, RSP_alfat, RSP_alfas, RSP_alfac, RSP_alfad, RSP_gammar, RSP_nz_div_IBOTOM, &
157 : RSP_efl0, RSP_cq, RSP_zsh, RSP_tol_max_corr, RSP_tol_max_resid, RSP_max_iters_per_try, &
158 : RTI_smooth_mass, RTI_smooth_iterations, RTI_smooth_fraction, RSP_dq_1_factor, &
159 : alpha_RTI_diffusion_factor, dudt_RTI_diffusion_factor, dedt_RTI_diffusion_factor, alpha_RTI_src_min_v_div_cs, &
160 : dlnddt_RTI_diffusion_factor, composition_RTI_diffusion_factor, max_M_RTI_factors_full_on, min_M_RTI_factors_full_off, &
161 : alpha_RTI_src_min_v_div_cs, alpha_RTI_src_max_q, alpha_RTI_src_min_q, RSP_kick_vsurf_km_per_sec, &
162 : RSP_nz_outer, RSP_nz, RSP_T_anchor, RSP_T_inner, RSP_Teff, RSP_mass, RSP_L, RSP_X, RSP_Z, RSP_T_inner_tolerance, &
163 : RSP_relax_max_tries, RSP_hydro_only, &
164 : RSP_tau_surf_for_atm_grey_with_kap, RSP_fixed_Psurf, RSP_Avel, RSP_Arnd, RSP_relax_adjust_inner_mass_distribution, &
165 : use_other_RSP_linear_analysis, RSP_use_atm_grey_with_kap_for_Psurf, &
166 : RSP_fraction_1st_overtone,RSP_fraction_2nd_overtone, RSP_testing, RSP_use_Prad_for_Psurf, RSP_map_zone_interval, &
167 : RSP_write_map, RSP_map_filename, RSP_map_history_filename, RSP_map_first_period, RSP_map_last_period, &
168 : use_other_RSP_build_model, RSP_Psurf, RSP_work_period, RSP_work_filename, RSP_nmodes, RSP_surface_tau, &
169 : set_RSP_Psurf_to_multiple_of_initial_P1, use_RSP_new_start_scheme, RSP_do_check_omega, RSP_report_check_omega_changes, &
170 : RSP_relax_initial_model, RSP_trace_RSP_build_model, &
171 : RSP_GREKM_avg_abs_limit, RSP_GREKM_avg_abs_frac_new, RSP_kap_density_factor, RSP_map_columns_filename, &
172 : RSP_relax_alfap_before_alfat, RSP_max_outer_dm_tries, RSP_max_inner_scale_tries, RSP_T_anchor_tolerance, &
173 : ! mass gain or loss
174 : mass_change, mass_change_full_on_dt, mass_change_full_off_dt, trace_dt_control_mass_change, &
175 : min_wind, max_wind, use_accreted_material_j, accreted_material_j, D_omega_mixing_rate, &
176 : D_omega_mixing_across_convection_boundary, max_q_for_D_omega_zero_in_convection_region, nu_omega_mixing_rate, &
177 : nu_omega_mixing_across_convection_boundary, max_q_for_nu_omega_zero_in_convection_region, &
178 : mdot_omega_power, max_rotational_mdot_boost, max_mdot_jump_for_rotation, &
179 : lim_trace_rotational_mdot_boost, rotational_mdot_boost_fac, rotational_mdot_kh_fac, surf_avg_tau, surf_avg_tau_min, &
180 : max_tries_for_implicit_wind, iwind_tolerance, iwind_lambda, super_eddington_scaling_factor, &
181 : super_eddington_wind_Ledd_factor, wind_boost_full_off_L_div_Ledd, wind_boost_full_on_L_div_Ledd, &
182 : super_eddington_wind_max_boost, trace_super_eddington_wind_boost, &
183 : rlo_scaling_factor, rlo_wind_min_L, rlo_wind_max_Teff, rlo_wind_roche_lobe_radius, &
184 : roche_lobe_xfer_full_on, roche_lobe_xfer_full_off, rlo_wind_base_mdot, rlo_wind_scale_height, &
185 : hot_wind_scheme, cool_wind_RGB_scheme, cool_wind_AGB_scheme, RGB_to_AGB_wind_switch, &
186 : Reimers_scaling_factor, Blocker_scaling_factor, de_Jager_scaling_factor, van_Loon_scaling_factor, &
187 : Nieuwenhuijzen_scaling_factor, Vink_scaling_factor, &
188 : Dutch_scaling_factor, Bjorklund_scaling_factor, Dutch_wind_lowT_scheme, wind_He_layer_limit, &
189 : wind_H_envelope_limit, wind_H_He_envelope_limit, hot_wind_full_on_T, cool_wind_full_on_T, &
190 :
191 : ! composition of added mass
192 : accrete_same_as_surface, &
193 : accrete_given_mass_fractions, num_accretion_species, accretion_species_id, accretion_species_xa, &
194 : accretion_h1, accretion_h2, accretion_he3, accretion_he4, accretion_zfracs, accretion_dump_missing_metals_into_heaviest, &
195 :
196 : ! special list of z fractions
197 : z_fraction_li, z_fraction_be, z_fraction_b, z_fraction_c, z_fraction_n,&
198 : z_fraction_o, z_fraction_f, z_fraction_ne, z_fraction_na, z_fraction_mg, z_fraction_al, &
199 : z_fraction_si, z_fraction_p, z_fraction_s, z_fraction_cl, z_fraction_ar, z_fraction_k, &
200 : z_fraction_ca, z_fraction_sc, z_fraction_ti, z_fraction_v, z_fraction_cr, z_fraction_mn, &
201 : z_fraction_fe, z_fraction_co, z_fraction_ni, z_fraction_cu, z_fraction_zn, &
202 : lgT_lo_for_set_new_abundances, lgT_hi_for_set_new_abundances, &
203 :
204 : ! automatic stops for mass loss/gain
205 : max_star_mass_for_gain, min_star_mass_for_loss, max_T_center_for_any_mass_loss, max_T_center_for_full_mass_loss, &
206 :
207 : ! extra power source
208 : extra_power_source, &
209 :
210 : ! relaxation parameters
211 : relax_dlnZ, relax_dY, &
212 :
213 : ! mesh adjustment
214 : show_mesh_changes, okay_to_remesh, restore_mesh_on_retry, num_steps_to_hold_mesh_after_retry, &
215 : max_rel_delta_IE_for_mesh_total_energy_balance, &
216 : trace_mesh_adjust_error_in_conservation, max_allowed_nz, mesh_max_allowed_ratio, &
217 : remesh_max_allowed_logT, max_delta_x_for_merge, &
218 : mesh_ok_to_merge, mesh_max_k_old_for_split, mesh_min_k_old_for_split, &
219 : mesh_adjust_get_T_from_E, &
220 : max_dq, min_dq, min_dq_for_split, min_dq_for_xa, min_dq_for_xa_convective, &
221 : mesh_min_dlnR, merge_if_dlnR_too_small, min_dq_for_logT, &
222 : mesh_min_dr_div_dRstar, merge_if_dr_div_dRstar_too_small, &
223 : mesh_min_dr_div_cs, merge_if_dr_div_cs_too_small, &
224 : max_center_cell_dq, max_surface_cell_dq, max_num_subcells, max_num_merge_cells, &
225 : mesh_delta_coeff, mesh_delta_coeff_for_highT, &
226 : logT_max_for_standard_mesh_delta_coeff, logT_min_for_highT_mesh_delta_coeff, remesh_dt_limit, &
227 : mesh_Pgas_div_P_exponent, &
228 : E_function_weight, E_function_param, P_function_weight, &
229 : mesh_logX_species, &
230 : mesh_logX_min_for_extra, mesh_dlogX_dlogP_extra, mesh_dlogX_dlogP_full_on, mesh_dlogX_dlogP_full_off, &
231 : convective_bdy_min_dt_yrs, convective_bdy_dq_limit, convective_bdy_weight, &
232 :
233 : mesh_dlog_eps_min_for_extra, mesh_dlog_eps_dlogP_full_on, mesh_dlog_eps_dlogP_full_off, &
234 : mesh_dlog_pp_dlogP_extra, mesh_dlog_cno_dlogP_extra, mesh_dlog_3alf_dlogP_extra, &
235 : mesh_dlog_burn_c_dlogP_extra, mesh_dlog_burn_n_dlogP_extra, mesh_dlog_burn_o_dlogP_extra, &
236 : mesh_dlog_burn_ne_dlogP_extra, mesh_dlog_burn_na_dlogP_extra, mesh_dlog_burn_mg_dlogP_extra, &
237 : mesh_dlog_burn_si_dlogP_extra, mesh_dlog_burn_s_dlogP_extra, mesh_dlog_burn_ar_dlogP_extra, &
238 : mesh_dlog_burn_ca_dlogP_extra, mesh_dlog_burn_ti_dlogP_extra, mesh_dlog_burn_cr_dlogP_extra, &
239 : mesh_dlog_burn_fe_dlogP_extra, mesh_dlog_cc_dlogP_extra, mesh_dlog_co_dlogP_extra, mesh_dlog_oo_dlogP_extra, &
240 : mesh_dlog_pnhe4_dlogP_extra, mesh_dlog_photo_dlogP_extra, mesh_dlog_other_dlogP_extra, &
241 : T_function1_weight, T_function2_weight, T_function2_param, mesh_delta_coeff_factor_smooth_iters, &
242 : R_function_weight, R_function_param, &
243 : R_function2_weight, R_function2_param1, R_function2_param2, &
244 : R_function3_weight, M_function_weight, M_function_param, &
245 : gradT_function_weight, log_tau_function_weight, log_kap_function_weight, omega_function_weight, &
246 : gam_function_weight, gam_function_param1, gam_function_param2, &
247 : xa_function_species, xa_function_weight, xa_function_param, xa_mesh_delta_coeff, split_merge_amr_mesh_delta_coeff, &
248 : use_split_merge_amr, split_merge_amr_nz_baseline, split_merge_amr_log_zoning, split_merge_amr_hybrid_zoning, &
249 : split_merge_amr_flipped_hybrid_zoning, split_merge_amr_logtau_zoning, &
250 : split_merge_amr_okay_to_split_nz, split_merge_amr_nz_r_core, &
251 : split_merge_amr_okay_to_split_1, merge_amr_inhibit_at_jumps, split_merge_amr_MaxLong, split_merge_amr_nz_r_core_fraction, &
252 : split_merge_amr_MaxShort, merge_amr_max_abs_du_div_cs, &
253 : merge_amr_ignore_surface_cells, merge_amr_k_for_ignore_surface_cells, &
254 : merge_amr_du_div_cs_limit_only_for_compression, split_merge_amr_avoid_repeated_remesh, split_merge_amr_r_core_cm, &
255 : split_merge_amr_dq_min, split_merge_amr_dq_max, split_merge_amr_max_iters, trace_split_merge_amr, equal_split_density_amr, &
256 :
257 : ! nuclear reaction parameters
258 : screening_mode, default_net_name, net_logTcut_lo, net_logTcut_lim, &
259 : eps_nuc_factor, op_split_burn_eps_nuc_infall_limit, eps_WD_sedimentation_factor, &
260 : max_abs_eps_nuc, dxdt_nuc_factor, max_abar_for_burning, mix_factor, &
261 : fe56ec_fake_factor, min_T_for_fe56ec_fake_factor, weak_rate_factor, &
262 : sig_term_limit, sig_min_factor_for_high_Tcenter, Tcenter_min_for_sig_min_factor_full_on,&
263 : Tcenter_max_for_sig_min_factor_full_off, max_delta_m_to_bdy_for_sig_min_factor, &
264 : delta_m_lower_for_sig_min_factor, delta_m_upper_for_sig_min_factor, &
265 : am_sig_term_limit, am_D_mix_factor, am_gradmu_factor, am_nu_factor, &
266 : D_visc_factor, D_DSI_factor, D_SH_factor, D_SSI_factor, D_ES_factor, D_GSF_factor, D_ST_factor, &
267 : am_nu_non_rotation_factor, skip_rotation_in_convection_zones, am_nu_DSI_factor, am_nu_SH_factor,&
268 : am_nu_SSI_factor, am_nu_ES_factor, am_nu_GSF_factor, am_nu_ST_factor, am_nu_visc_factor, smooth_am_nu_rot, &
269 : ST_angsml, ST_angsmt, am_nu_omega_rot_factor, am_nu_omega_non_rot_factor, am_nu_j_rot_factor, am_nu_j_non_rot_factor, &
270 : smooth_nu_ST, smooth_D_ST, smooth_D_SH, smooth_D_DSI, smooth_D_ES, smooth_D_SSI, smooth_D_GSF, smooth_D_omega, &
271 : do_adjust_J_lost, premix_omega, angular_momentum_error_warn, angular_momentum_error_retry, &
272 : simple_i_rot_flag, recalc_mixing_info_each_substep, adjust_J_fraction, &
273 : min_q_for_adjust_J_lost, min_J_div_delta_J, max_mdot_redo_cnt, mdot_revise_factor, &
274 : implicit_mdot_boost, min_years_dt_for_redo_mdot, surf_omega_div_omega_crit_limit, surf_omega_div_omega_crit_tol, &
275 : w_div_wcrit_max, w_div_wcrit_max2, &
276 : D_mix_rotation_max_logT_full_on, D_mix_rotation_min_logT_full_off, &
277 : D_mix_rotation_min_tau_full_off, D_mix_rotation_min_tau_full_on, &
278 : set_uniform_am_nu_non_rot, uniform_am_nu_non_rot, &
279 : set_min_am_nu_non_rot, min_am_nu_non_rot, min_center_Ye_for_min_am_nu_non_rot, &
280 : set_min_D_mix_below_Tmax, min_D_mix_below_Tmax, set_min_D_mix_in_H_He, min_D_mix_in_H_He, &
281 : set_min_D_mix, mass_lower_limit_for_min_D_mix, mass_upper_limit_for_min_D_mix, &
282 : min_D_mix, min_center_Ye_for_min_D_mix, &
283 : smooth_outer_xa_big, smooth_outer_xa_small, nonlocal_NiCo_kap_gamma, nonlocal_NiCo_decay_heat, &
284 : dtau_gamma_NiCo_decay_heat, max_logT_for_net, reaction_neuQs_factor, &
285 :
286 : ! element diffusion parameters
287 : diffusion_use_iben_macdonald, diffusion_use_paquette, diffusion_use_caplan, diffusion_use_cgs_solver, &
288 : diffusion_use_full_net, do_WD_sedimentation_heating, min_xa_for_WD_sedimentation_heating, &
289 : do_diffusion_heating, do_element_diffusion, &
290 : cgs_thermal_diffusion_eta_full_on, cgs_thermal_diffusion_eta_full_off, diffusion_min_dq_at_surface, &
291 : diffusion_min_T_at_surface, diffusion_min_dq_ratio_at_surface, diffusion_dt_limit, &
292 : diffusion_min_X_hard_limit, diffusion_X_total_atol, diffusion_X_total_rtol, &
293 : diffusion_upwind_abs_v_limit, diffusion_dt_div_timescale, diffusion_min_num_substeps, &
294 : diffusion_max_iters_per_substep, diffusion_max_retries_per_substep, diffusion_v_max, &
295 : diffusion_gamma_full_off, diffusion_gamma_full_on, diffusion_T_full_on, diffusion_T_full_off, &
296 : D_mix_ignore_diffusion, diffusion_calculates_ionization, diffusion_nsmooth_typical_charge, &
297 : diffusion_tol_correction_max, diffusion_tol_correction_norm, &
298 : diffusion_AD_dm_full_on, diffusion_AD_dm_full_off, diffusion_AD_boost_factor, &
299 : diffusion_SIG_factor, diffusion_GT_factor, &
300 : diffusion_Vlimit_dm_full_on, diffusion_Vlimit_dm_full_off, diffusion_Vlimit, &
301 : diffusion_max_T_for_radaccel, diffusion_min_T_for_radaccel, diffusion_max_Z_for_radaccel, &
302 : diffusion_min_Z_for_radaccel, diffusion_screening_for_radaccel, &
303 : op_mono_data_path, op_mono_data_cache_filename, &
304 : emesh_data_for_op_mono_path, op_mono_method, &
305 : show_diffusion_info, show_diffusion_substep_info, show_diffusion_timing, &
306 : diffusion_num_classes, diffusion_class_representative, diffusion_class_A_max, &
307 : diffusion_class_typical_charge, diffusion_class_factor, &
308 : diffusion_use_isolve, diffusion_rtol_for_isolve, diffusion_atol_for_isolve, &
309 : diffusion_maxsteps_for_isolve, diffusion_isolve_solver, &
310 :
311 : ! WD phase separation
312 : do_phase_separation, &
313 : phase_separation_option, &
314 : do_phase_separation_heating, &
315 : phase_separation_mixing_use_brunt, &
316 : phase_separation_no_diffusion, &
317 :
318 : ! eos controls
319 : fix_d_eos_dxa_partials, &
320 :
321 : ! opacity controls
322 : use_simple_es_for_kap, use_starting_composition_for_kap, &
323 : min_kap_for_dPrad_dm_eqn, low_logT_op_mono_full_off, low_logT_op_mono_full_on, high_logT_op_mono_full_off, &
324 : high_logT_op_mono_full_on, op_mono_min_X_to_include, use_op_mono_alt_get_kap, &
325 :
326 :
327 : include_L_in_correction_limits, include_v_in_correction_limits, &
328 : include_u_in_correction_limits, include_w_in_correction_limits, &
329 :
330 : ! asteroseismology controls
331 : get_delta_nu_from_scaled_solar, nu_max_sun, delta_nu_sun, astero_Teff_sun, &
332 : delta_Pg_mode_freq, delta_Pg_traditional, &
333 :
334 : ! hydro parameters
335 : energy_eqn_option, &
336 : opacity_factor, opacity_min, opacity_max, min_logT_for_opacity_factor_off, min_logT_for_opacity_factor_on, &
337 : max_logT_for_opacity_factor_on, max_logT_for_opacity_factor_off, &
338 : non_nuc_neu_factor, &
339 : use_time_centered_eps_grav, &
340 : use_mass_corrections, use_gravity_rotation_correction, eps_grav_factor, eps_mdot_factor, &
341 : include_composition_in_eps_grav, no_dedt_form_during_relax, &
342 : max_abs_rel_change_surf_lnS, &
343 : max_num_surf_revisions, Gamma_lnS_eps_grav_full_off, Gamma_lnS_eps_grav_full_on, &
344 : use_dPrad_dm_form_of_T_gradient_eqn, use_flux_limiting_with_dPrad_dm_form, &
345 : use_gradT_actual_vs_gradT_MLT_for_T_gradient_eqn, dedt_eqn_r_scale, &
346 : RTI_A, RTI_B, RTI_C, RTI_D, RTI_max_alpha, RTI_C_X_factor, RTI_C_X0_frac, steps_before_use_velocity_time_centering, &
347 : RTI_dm_for_center_eta_nondecreasing, RTI_min_dm_behind_shock_for_full_on, RTI_energy_floor, &
348 : RTI_D_mix_floor, RTI_min_m_for_D_mix_floor, RTI_log_max_boost, RTI_m_full_boost, RTI_m_no_boost, &
349 : include_P_in_velocity_time_centering, include_L_in_velocity_time_centering, &
350 : P_theta_for_velocity_time_centering, L_theta_for_velocity_time_centering, &
351 : steps_before_use_TDC, use_P_d_1_div_rho_form_of_work_when_time_centering_velocity, compare_TDC_to_MLT, &
352 : velocity_logT_lower_bound, max_dt_yrs_for_velocity_logT_lower_bound, velocity_tau_lower_bound, velocity_q_upper_bound, &
353 : report_max_infall_inside_fe_core, use_drag_energy, drag_coefficient, min_q_for_drag, &
354 : v_drag_factor, v_drag, q_for_v_drag_full_off, q_for_v_drag_full_on, &
355 : retry_for_v_above_clight, &
356 :
357 : ! hydro solver
358 : use_gold2_tolerances, gold2_solver_iters_timestep_limit, steps_before_use_gold2_tolerances, &
359 : gold2_iter_for_resid_tol2, gold2_iter_for_resid_tol3, gold2_tol_residual_norm1, gold2_tol_max_residual1, &
360 : gold2_tol_residual_norm2, gold2_tol_max_residual2, gold2_tol_residual_norm3, gold2_tol_max_residual3, &
361 : tol_correction_norm, tol_max_correction, correction_xa_limit, &
362 : tol_correction_high_T_limit, tol_correction_norm_high_T, tol_max_correction_high_T, &
363 : tol_correction_extreme_T_limit, tol_correction_norm_extreme_T, tol_max_correction_extreme_T, &
364 : tol_bad_max_correction, bad_max_correction_series_limit, &
365 : tol_max_residual1, tol_residual_norm1, tol_max_residual2, &
366 : tol_residual_norm2, tol_max_residual3, tol_residual_norm3, &
367 : warning_limit_for_max_residual, trace_solver_damping, &
368 : relax_use_gold_tolerances, relax_tol_correction_norm, relax_tol_max_correction, &
369 : relax_solver_iters_timestep_limit, &
370 : relax_iter_for_resid_tol2, relax_tol_residual_norm1, relax_tol_max_residual1, &
371 : relax_iter_for_resid_tol3, relax_tol_residual_norm2, relax_tol_max_residual2, &
372 : relax_tol_residual_norm3, relax_tol_max_residual3, relax_maxT_for_gold_tolerances, &
373 : use_gold_tolerances, gold_solver_iters_timestep_limit, maxT_for_gold_tolerances, &
374 : gold_tol_residual_norm1, gold_tol_max_residual1, gold_iter_for_resid_tol2, &
375 : gold_tol_residual_norm2, gold_tol_max_residual2, gold_iter_for_resid_tol3, &
376 : gold_tol_residual_norm3, gold_tol_max_residual3 , steps_before_use_gold_tolerances, &
377 : include_rotation_in_total_energy, convergence_ignore_equL_residuals, convergence_ignore_alpha_RTI_residuals, &
378 : iter_for_resid_tol2, iter_for_resid_tol3, &
379 : solver_itermin, solver_itermin_until_reduce_min_corr_coeff, &
380 : solver_reduced_min_corr_coeff, do_solver_damping_for_neg_xa, &
381 : scale_max_correction_for_negative_surf_lum, max_frac_for_negative_surf_lum, &
382 : hydro_mtx_max_allowed_abs_dlogT, hydro_mtx_max_allowed_abs_dlogRho, &
383 : min_logT_for_hydro_mtx_max_allowed, hydro_mtx_max_allowed_logT, &
384 : hydro_mtx_max_allowed_logRho, report_min_rcond_from_DGESXV, &
385 : hydro_mtx_min_allowed_logT, hydro_mtx_min_allowed_logRho, use_DGESVX_in_bcyclic, use_equilibration_in_DGESVX, &
386 : op_split_burn, op_split_burn_min_T, op_split_burn_eps, op_split_burn_odescal, &
387 : op_split_burn_min_T_for_variable_T_solver, solver_test_partials_show_dx_var_name, &
388 : tiny_corr_coeff_limit, scale_correction_norm, corr_param_factor, num_times_solver_reuse_mtx, &
389 : scale_max_correction, ignore_min_corr_coeff_for_scale_max_correction, &
390 : ignore_too_large_correction, ignore_species_in_max_correction, &
391 : corr_norm_jump_limit, max_corr_jump_limit, resid_norm_jump_limit, max_resid_jump_limit, RSP2_use_mass_interp_face_values, &
392 : corr_coeff_limit, tiny_corr_factor, solver_test_partials_call_number, solver_test_partials_iter_number, &
393 : max_tries1, solver_max_tries_before_reject, max_tries_for_retry, max_tries_after_5_retries, solver_test_partials_sink_name, &
394 : max_tries_after_10_retries, max_tries_after_20_retries, retry_limit, redo_limit, use_Pvsc_art_visc, Pvsc_cq, Pvsc_zsh, &
395 : min_xa_hard_limit, min_xa_hard_limit_for_highT, logT_max_for_min_xa_hard_limit, logT_min_for_min_xa_hard_limit_for_highT, &
396 : sum_xa_hard_limit, sum_xa_hard_limit_for_highT, logT_max_for_sum_xa_hard_limit, logT_min_for_sum_xa_hard_limit_for_highT, &
397 : xa_clip_limit, report_solver_progress, solver_test_partials_k_high, RSP2_use_L_eqn_at_surface, RSP2_use_RSP_eqn_for_Y_face, &
398 : solver_epsder_chem, solver_epsder_struct, solver_numerical_jacobian, energy_conservation_dump_model_number, &
399 : solver_jacobian_nzlo, solver_jacobian_nzhi, solver_check_everything, solver_inspect_soln_flag, RSP2_assume_HSE, &
400 : solver_test_partials_dx_0, solver_test_partials_k, solver_show_correction_info, eps_mdot_leak_frac_factor, &
401 : solver_test_partials_write_eos_call_info, solver_save_photo_call_number, RSP2_min_Lc_div_L_for_convective_mixing_type, &
402 : solver_test_partials_var_name, solver_test_partials_equ_name, RSP2_min_Lt_div_L_for_overshooting_mixing_type, &
403 : solver_test_eos_partials, solver_test_kap_partials, solver_test_net_partials, solver_test_atm_partials, &
404 : fill_arrays_with_NaNs, zero_when_allocate, warn_when_large_rel_run_E_err, &
405 : absolute_cumulative_energy_err, solver_test_partials_k_low, &
406 : warn_when_large_virial_thm_rel_err, warn_when_get_a_bad_eos_result, warn_rates_for_high_temp, max_safe_logT_for_rates, &
407 : RSP2_alfap, RSP2_alfat, RSP2_alfam, RSP2_alfar, RSP2_Lsurf_factor, RSP2_use_Stellingwerf_Lr, RSP2_remesh_when_load, &
408 : RSP2_alfad, RSP2_num_outermost_cells_forced_nonturbulent, RSP2_num_innermost_cells_forced_nonturbulent, &
409 : RSP2_target_steps_per_cycle, RSP2_max_num_periods, RSP2_work_period, RSP2_map_first_period, RSP2_map_last_period, &
410 : RSP2_min_max_R_for_periods, RSP2_GREKM_avg_abs_frac_new, RSP2_GREKM_avg_abs_limit, RSP2_map_zone_interval, &
411 : RSP2_work_filename, RSP2_map_columns_filename, RSP2_map_filename, RSP2_map_history_filename, RSP2_write_map, &
412 : RSP2_T_anchor, RSP2_dq_1_factor, RSP2_nz, RSP2_nz_outer, RSP2_nz_div_IBOTOM, RSP2_report_adjust_w, &
413 : RSP2_w_min_for_damping, RSP2_source_seed, RSP2_w_fix_if_neg, max_X_for_conv_timescale, min_X_for_conv_timescale, &
414 : max_q_for_conv_timescale, min_q_for_conv_timescale, max_q_for_QHSE_timescale, min_q_for_QHSE_timescale, &
415 :
416 :
417 : ! timestep
418 : time_delta_coeff, min_timestep_factor, max_timestep_factor, &
419 : max_timestep_factor_at_high_T, min_logT_for_max_timestep_factor_at_high_T, &
420 : timestep_factor_for_retries, retry_hold, &
421 : neg_mass_fraction_hold, timestep_dt_factor, use_dt_low_pass_controller, &
422 : force_timestep_min, force_timestep_min_years, force_timestep_min_factor, force_timestep, force_timestep_years, &
423 : varcontrol_target, min_allowed_varcontrol_target, varcontrol_dt_limit_ratio_hard_max, xa_scale, &
424 : solver_iters_timestep_limit, burn_steps_limit, burn_steps_hard_limit, &
425 : diffusion_steps_limit, diffusion_steps_hard_limit, diffusion_iters_limit, diffusion_iters_hard_limit, &
426 : dt_div_dt_cell_collapse_limit, dt_div_dt_cell_collapse_hard_limit, &
427 : dt_div_min_dr_div_cs_limit, dt_div_min_dr_div_cs_hard_limit, min_abs_u_div_cs_for_dt_div_min_dr_div_cs_limit, &
428 : min_abs_du_div_cs_for_dt_div_min_dr_div_cs_limit, min_k_for_dt_div_min_dr_div_cs_limit, &
429 : min_q_for_dt_div_min_dr_div_cs_limit, max_q_for_dt_div_min_dr_div_cs_limit, check_remnant_only_for_dt_div_min_dr_div_cs_limit, &
430 : dX_mix_dist_limit, dX_div_X_at_high_T_limit_lgT_min, dX_limit_species, &
431 : dX_limit_min_X, dX_limit, dX_hard_limit, dX_div_X_limit_min_X, dX_div_X_at_high_T_hard_limit, &
432 : dX_div_X_limit, dX_div_X_hard_limit, dX_decreases_only, dX_div_X_at_high_T_limit, &
433 : dX_nuc_drop_min_X_limit, dX_nuc_drop_max_A_limit, dX_nuc_drop_limit, &
434 : dX_nuc_drop_limit_at_high_T, dX_nuc_drop_hard_limit, dX_nuc_drop_min_yrs_for_dt, &
435 : dL_div_L_limit_min_L, dL_div_L_limit, dL_div_L_hard_limit, &
436 : delta_lgP_limit, delta_lgP_hard_limit, delta_lgP_limit_min_lgP, &
437 : delta_lgRho_limit, delta_lgRho_hard_limit, delta_lgRho_limit_min_lgRho, &
438 : delta_lgT_limit, delta_lgT_hard_limit, delta_lgT_limit_min_lgT, &
439 : delta_lgE_limit, delta_lgE_hard_limit, delta_lgE_limit_min_lgE, &
440 : delta_lgR_limit, delta_lgR_hard_limit, delta_lgR_limit_min_lgR, &
441 : delta_Ye_highT_limit, delta_Ye_highT_hard_limit, minT_for_highT_Ye_limit, &
442 : delta_lgL_nuc_cat_limit, delta_lgL_nuc_cat_hard_limit, lgL_nuc_cat_burn_min, lgL_nuc_mix_dist_limit, &
443 : delta_lgT_max_limit_only_after_near_zams, &
444 : delta_lgL_H_limit, delta_lgL_H_hard_limit, lgL_H_burn_min, lgL_H_drop_factor, lgL_H_burn_relative_limit, &
445 : delta_lgL_He_limit, delta_lgL_He_hard_limit, lgL_He_burn_min, lgL_He_drop_factor, lgL_He_burn_relative_limit, &
446 : delta_lgL_z_limit, delta_lgL_z_hard_limit, lgL_z_burn_min, lgL_z_drop_factor, lgL_z_burn_relative_limit, &
447 : delta_lgL_power_photo_limit, delta_lgL_power_photo_hard_limit, lgL_power_photo_burn_min, lgL_power_photo_drop_factor, &
448 : delta_lgL_nuc_limit, delta_lgL_nuc_hard_limit, lgL_nuc_burn_min, lgL_nuc_drop_factor, min_lgT_for_lgL_power_photo_limit, &
449 : delta_lgL_nuc_at_high_T_limit, delta_lgL_nuc_at_high_T_hard_limit, delta_lgL_nuc_at_high_T_limit_lgT_min, &
450 : delta_lgRho_cntr_limit, delta_lgRho_cntr_hard_limit, delta_lgP_cntr_limit, delta_lgP_cntr_hard_limit, &
451 : delta_lgT_cntr_limit, delta_lgT_cntr_hard_limit, delta_lgT_cntr_limit_only_after_near_zams, &
452 : delta_lgT_max_limit, delta_lgT_max_hard_limit, max_lgT_for_lgL_nuc_limit, &
453 : delta_log_eps_nuc_limit, delta_log_eps_nuc_hard_limit, delta_lgT_max_limit_lgT_min, &
454 : delta_lgT_max_at_high_T_limit, delta_lgT_max_at_high_T_hard_limit, delta_lgT_max_at_high_T_limit_lgT_min, &
455 : delta_dX_div_X_cntr_min, delta_dX_div_X_cntr_max, delta_dX_div_X_cntr_limit, delta_dX_div_X_cntr_hard_limit, &
456 : delta_dX_div_X_drop_only, delta_lg_XH_drop_only, &
457 : delta_lg_XHe_drop_only, delta_lg_XC_drop_only, delta_lg_XNe_drop_only, delta_lg_XO_drop_only, delta_lg_XSi_drop_only, &
458 : delta_XH_drop_only, delta_XHe_drop_only, delta_XC_drop_only, delta_XNe_drop_only, delta_XO_drop_only, delta_XSi_drop_only, &
459 : delta_lg_XH_cntr_min, delta_lg_XH_cntr_max, delta_lg_XH_cntr_limit, delta_lg_XH_cntr_hard_limit, &
460 : delta_lg_XHe_cntr_min, delta_lg_XHe_cntr_max, delta_lg_XHe_cntr_limit, delta_lg_XHe_cntr_hard_limit, &
461 : delta_lg_XC_cntr_min, delta_lg_XC_cntr_max, delta_lg_XC_cntr_limit, delta_lg_XC_cntr_hard_limit, &
462 : delta_lg_XNe_cntr_limit, delta_lg_XNe_cntr_hard_limit, delta_lg_XNe_cntr_min, delta_lg_XNe_cntr_max, &
463 : delta_lg_XO_cntr_limit, delta_lg_XO_cntr_hard_limit, delta_lg_XO_cntr_min, delta_lg_XO_cntr_max, &
464 : delta_lg_XSi_cntr_limit, delta_lg_XSi_cntr_hard_limit, delta_lg_XSi_cntr_min, delta_lg_XSi_cntr_max, &
465 : delta_XH_cntr_limit, delta_XH_cntr_hard_limit, delta_XHe_cntr_limit, delta_XHe_cntr_hard_limit, &
466 : delta_XC_cntr_limit, delta_XC_cntr_hard_limit, delta_XNe_cntr_limit, delta_XNe_cntr_hard_limit, &
467 : delta_XO_cntr_limit, delta_XO_cntr_hard_limit, delta_XSi_cntr_limit, delta_XSi_cntr_hard_limit, &
468 : delta_lgTeff_limit, delta_lgTeff_hard_limit, delta_lgL_limit, delta_lgL_limit_L_min, delta_lgL_hard_limit, &
469 : delta_HR_ds_L, delta_HR_ds_Teff, delta_HR_limit, delta_HR_hard_limit, &
470 : delta_lg_star_mass_limit, delta_lg_star_mass_hard_limit, &
471 : delta_mdot_atol, delta_mdot_rtol, delta_mdot_limit, delta_mdot_hard_limit, &
472 : adjust_J_q_limit, adjust_J_q_hard_limit, &
473 : never_skip_hard_limits, relax_hard_limits_after_retry, &
474 : report_dt_hard_limit_retries, report_min_dr_div_cs, report_solver_dt_info, &
475 : limit_for_rel_error_in_energy_conservation, hard_limit_for_rel_error_in_energy_conservation, &
476 :
477 : ! atmosphere -- surface boundary conditions
478 :
479 : atm_option, atm_off_table_option, Pextra_factor, &
480 : atm_fixed_Teff, atm_fixed_Psurf, atm_fixed_Tsurf, &
481 :
482 : atm_T_tau_relation, atm_T_tau_opacity, atm_T_tau_errtol, atm_T_tau_max_iters, &
483 : atm_T_tau_max_steps, &
484 :
485 : atm_table, &
486 :
487 : atm_irradiated_opacity, atm_irradiated_errtol, atm_irradiated_T_eq, &
488 : atm_irradiated_kap_v, atm_irradiated_kap_v_div_kap_th, atm_irradiated_P_surf, &
489 : atm_irradiated_max_iters, &
490 :
491 : use_compression_outer_BC, use_momentum_outer_BC, Tsurf_factor, use_zero_Pgas_outer_BC, &
492 : fixed_Psurf, use_fixed_Psurf_outer_BC, fixed_vsurf, use_fixed_vsurf_outer_BC, &
493 :
494 : atm_build_tau_outer, atm_build_dlogtau, atm_build_errtol, &
495 :
496 : use_T_tau_gradr_factor, &
497 :
498 : ! starspots
499 : do_starspots, fspot, xspot, &
500 :
501 : ! extra heat near surface to model irradiation
502 : irradiation_flux, column_depth_for_irradiation, &
503 :
504 : ! uniform extra heat
505 : inject_uniform_extra_heat, min_q_for_uniform_extra_heat, max_q_for_uniform_extra_heat, &
506 : inject_extra_ergs_sec, base_of_inject_extra_ergs_sec, total_mass_for_inject_extra_ergs_sec, &
507 : start_time_for_inject_extra_ergs_sec, duration_for_inject_extra_ergs_sec, &
508 : inject_until_reach_model_with_total_energy, &
509 :
510 : ! mass gain or loss
511 : no_wind_if_no_rotation, max_logT_for_k_below_const_q, &
512 : max_q_for_k_below_const_q, min_q_for_k_below_const_q, max_logT_for_k_const_mass, &
513 : min_q_for_k_const_mass, max_q_for_k_const_mass, &
514 :
515 : ! info for debugging
516 : stop_for_bad_nums, report_ierr, report_bad_negative_xa, diffusion_dump_call_number, &
517 :
518 : ! controls for the evolve routine
519 : trace_evolve, &
520 :
521 : ! misc
522 : min_chem_eqn_scale, zams_filename, set_rho_to_dm_div_dV, use_other_momentum_implicit, &
523 : use_other_surface_PT, use_other_mlt_results, use_other_kap, use_other_diffusion, use_other_diffusion_factor, &
524 : use_other_adjust_mdot, use_other_j_for_adjust_J_lost, use_other_alpha_mlt, use_other_remove_surface, &
525 : use_other_am_mixing, use_other_brunt, use_other_brunt_smoothing, use_other_solver_monitor, &
526 : use_other_build_initial_model, use_other_cgrav, use_other_energy_implicit, use_other_momentum, &
527 : use_other_energy, use_other_mesh_functions, use_other_eps_grav, use_other_gradr_factor, &
528 : use_other_D_mix, use_other_neu, use_other_net_get, use_other_opacity_factor, use_other_pressure, &
529 : use_other_diffusion_coefficients, use_other_pgstar_plots, use_other_eval_fp_ft, use_other_eval_i_rot, use_other_torque, &
530 : use_other_torque_implicit, use_other_wind, use_other_accreting_state, &
531 : use_other_after_struct_burn_mix, use_other_mesh_delta_coeff_factor, &
532 : use_other_before_struct_burn_mix, use_other_astero_freq_corr, use_other_timestep_limit, use_other_set_pgstar_controls, &
533 : use_other_screening, use_other_rate_get, use_other_net_derivs, use_other_split_burn, use_other_close_gaps, &
534 : x_ctrl, x_integer_ctrl, x_logical_ctrl, x_character_ctrl, &
535 :
536 : ! extra files
537 : read_extra_controls_inlist, extra_controls_inlist_name, &
538 : save_controls_namelist, controls_namelist_name
539 :
540 :
541 : contains
542 :
543 :
544 0 : subroutine write_controls(s, fname, ierr)
545 : type (star_info), pointer :: s
546 : character (len=*), intent(in) :: fname
547 : integer, intent(out) :: ierr
548 : integer :: iounit
549 : character (len=256) :: filename
550 :
551 0 : ierr = 0
552 0 : filename = fname
553 :
554 0 : if (len_trim(filename) == 0) filename = 'dump_controls.txt'
555 :
556 : open(newunit=iounit, file=trim(filename), &
557 0 : action='write', status='replace', iostat=ierr)
558 0 : if (ierr /= 0) then
559 0 : write(*,*) 'failed to open ' // trim(filename)
560 0 : return
561 : end if
562 :
563 0 : call set_controls_for_writing(s, ierr)
564 0 : if (ierr /= 0) then
565 0 : close(iounit)
566 0 : return
567 : end if
568 :
569 0 : write(iounit, nml=controls, iostat=ierr)
570 :
571 0 : write(*,*) 'write controls namelist values to "' // trim(filename)//'"'
572 :
573 0 : close(iounit)
574 :
575 0 : end subroutine write_controls
576 :
577 :
578 2 : subroutine do_one_setup(id, inlist, ierr)
579 : use utils_lib
580 : character (len=*), intent(in) :: inlist
581 : integer, intent(in) :: id
582 : integer, intent(out) :: ierr
583 : type (star_info), pointer :: s
584 : include 'formats'
585 1 : call get_star_ptr(id, s, ierr)
586 1 : if (ierr /= 0) return
587 1 : call set_default_controls
588 1 : call read_controls(id, inlist, ierr)
589 1 : if (ierr /= 0) return
590 :
591 1 : if (save_controls_namelist) then
592 0 : call write_controls(s, controls_namelist_name, ierr)
593 0 : if (ierr /= 0) then
594 : write(*,*) 'ierr from write_controls ' // &
595 0 : trim(controls_namelist_name)
596 0 : return
597 : end if
598 : end if
599 :
600 : end subroutine do_one_setup
601 :
602 :
603 1 : subroutine read_controls(id, filename, ierr)
604 : use star_private_def
605 : use utils_lib
606 : character(*), intent(in) :: filename
607 : integer, intent(in) :: id
608 : integer, intent(out) :: ierr
609 :
610 : type (star_info), pointer :: s
611 : ierr = 0
612 1 : call get_star_ptr(id, s, ierr)
613 1 : if (ierr /= 0) return
614 :
615 1 : call read_controls_file(s, filename, 1, ierr)
616 1 : call check_controls(s, ierr)
617 :
618 1 : end subroutine read_controls
619 :
620 :
621 1 : subroutine check_controls(s, ierr)
622 : type (star_info), pointer :: s
623 : integer, intent(out) :: ierr
624 :
625 1 : ierr = 0
626 :
627 1 : if (.not. (trim(s% energy_eqn_option) == 'dedt' .or. trim(s% energy_eqn_option) == 'eps_grav')) then
628 0 : write(*,'(A)')
629 0 : write(*,*) "Invalid choice for energy_eqn_option"
630 0 : write(*,*) "Available options are 'dedt' or 'eps_grav'"
631 0 : write(*,'(A)')
632 0 : ierr = -1
633 0 : return
634 : end if
635 :
636 1 : end subroutine check_controls
637 :
638 :
639 1 : recursive subroutine read_controls_file(s, filename, level, ierr)
640 : use star_private_def
641 : use utils_lib
642 : character(*), intent(in) :: filename
643 : type (star_info), pointer :: s
644 : integer, intent(in) :: level
645 : integer, intent(out) :: ierr
646 : logical, dimension(max_extra_inlists) :: read_extra
647 : character (len=strlen), dimension(max_extra_inlists) :: extra
648 : integer :: unit, i
649 :
650 1 : ierr = 0
651 :
652 1 : if (level >= 10) then
653 0 : write(*,*) 'ERROR: too many levels of nested extra controls inlist files'
654 0 : ierr = -1
655 0 : return
656 : end if
657 :
658 1 : if (len_trim(filename) > 0) then
659 1 : open(newunit=unit, file=trim(filename), action='read', delim='quote', status='old', iostat=ierr)
660 1 : if (ierr /= 0) then
661 0 : write(*, *) 'Failed to open control namelist file ', trim(filename)
662 0 : return
663 : end if
664 1 : read(unit, nml=controls, iostat=ierr)
665 1 : close(unit)
666 1 : if (ierr /= 0) then
667 0 : write(*, *)
668 0 : write(*, *)
669 0 : write(*, *)
670 0 : write(*, *)
671 0 : write(*, '(a)') 'Failed while trying to read control namelist file: ' // trim(filename)
672 0 : write(*, '(a)') 'Perhaps the following runtime error message will help you find the problem.'
673 0 : write(*, *)
674 0 : open(newunit=unit, file=trim(filename), action='read', delim='quote', status='old', iostat=ierr)
675 0 : read(unit, nml=controls)
676 0 : close(unit)
677 0 : return
678 : end if
679 : end if
680 :
681 1 : call store_controls(s, ierr)
682 :
683 : ! recursive calls to read other inlists
684 6 : do i=1, max_extra_inlists
685 5 : read_extra(i) = read_extra_controls_inlist(i)
686 5 : read_extra_controls_inlist(i) = .false.
687 5 : extra(i) = extra_controls_inlist_name(i)
688 5 : extra_controls_inlist_name(i) = 'undefined'
689 :
690 6 : if (read_extra(i)) then
691 0 : write(*,*) 'read ' // trim(extra(i))
692 0 : call read_controls_file(s, extra(i), level+1, ierr)
693 0 : if (ierr /= 0) return
694 : end if
695 : end do
696 :
697 :
698 1 : end subroutine read_controls_file
699 :
700 :
701 1 : subroutine set_default_controls
702 :
703 10 : xa_central_lower_limit_species(:) = ''
704 1 : xa_central_lower_limit(:) = 0
705 10 : xa_central_upper_limit_species(:) = ''
706 1 : xa_central_upper_limit(:) = 0
707 10 : xa_surface_lower_limit_species(:) = ''
708 1 : xa_surface_lower_limit(:) = 0
709 10 : xa_surface_upper_limit_species(:) = ''
710 1 : xa_surface_upper_limit(:) = 0
711 10 : xa_average_lower_limit_species(:) = ''
712 1 : xa_average_lower_limit(:) = 0
713 10 : xa_average_upper_limit_species(:) = ''
714 1 : xa_average_upper_limit(:) = 0
715 :
716 51 : trace_history_value_name(:) = ''
717 251 : accretion_species_id(:) = ''
718 1 : accretion_species_xa(:) = 0
719 10 : mesh_logX_species(:) = ''
720 1 : mesh_logX_min_for_extra(:) = 0
721 1 : mesh_dlogX_dlogP_extra(:) = 0
722 1 : mesh_dlogX_dlogP_full_on(:) = 0
723 1 : mesh_dlogX_dlogP_full_off(:) = 0
724 :
725 10 : xa_function_species(:) = ''
726 1 : xa_function_weight(:) = 0
727 1 : xa_function_param(:) = 0
728 1 : xa_mesh_delta_coeff(:) = 0
729 :
730 101 : diffusion_class_representative(:) = ''
731 1 : diffusion_class_A_max(:) = 0
732 1 : diffusion_class_typical_charge(:) = 0
733 1 : diffusion_class_factor(:) = 0
734 :
735 101 : x_character_ctrl(:) = ''
736 :
737 1 : predictive_mix(:) = .FALSE.
738 17 : predictive_zone_type(:) = ''
739 17 : predictive_zone_loc(:) = ''
740 17 : predictive_bdy_loc(:) = ''
741 1 : predictive_bdy_q_min(:) = 0d0
742 17 : predictive_bdy_q_max(:) = 1d0
743 1 : predictive_superad_thresh(:) = 0d0
744 17 : predictive_avoid_reversal(:) = ''
745 17 : predictive_limit_ingestion(:) = ''
746 1 : predictive_ingestion_factor(:) = 0d0
747 :
748 : include 'controls.defaults'
749 : include 'controls_dev.defaults'
750 :
751 1 : end subroutine set_default_controls
752 :
753 :
754 1 : subroutine store_controls(s, ierr)
755 : use star_private_def
756 : use chem_def ! categories
757 : use utils_lib, only: mkdir
758 : type (star_info), pointer :: s
759 : integer, intent(out) :: ierr
760 :
761 1 : ierr = 0
762 :
763 : ! where to start
764 1 : s% initial_mass = initial_mass
765 1 : s% initial_z = initial_z
766 1 : s% initial_y = initial_y
767 1 : s% initial_he3 = initial_he3
768 :
769 : ! definition of core boundaries
770 1 : s% he_core_boundary_h1_fraction = he_core_boundary_h1_fraction
771 1 : s% co_core_boundary_he4_fraction = co_core_boundary_he4_fraction
772 1 : s% one_core_boundary_he4_c12_fraction = one_core_boundary_he4_c12_fraction
773 1 : s% fe_core_boundary_si28_fraction = fe_core_boundary_si28_fraction
774 1 : s% neutron_rich_core_boundary_Ye_max = neutron_rich_core_boundary_Ye_max
775 1 : s% min_boundary_fraction = min_boundary_fraction
776 :
777 : ! when to stop
778 1 : s% max_model_number = max_model_number
779 1 : s% max_number_retries = max_number_retries
780 1 : s% max_abs_rel_run_E_err = max_abs_rel_run_E_err
781 1 : s% relax_max_number_retries = relax_max_number_retries
782 1 : s% max_age = max_age
783 1 : s% max_age_in_days = max_age_in_days
784 1 : s% max_age_in_seconds = max_age_in_seconds
785 1 : s% num_adjusted_dt_steps_before_max_age = num_adjusted_dt_steps_before_max_age
786 1 : s% dt_years_for_steps_before_max_age = dt_years_for_steps_before_max_age
787 1 : s% reduction_factor_for_max_timestep = reduction_factor_for_max_timestep
788 1 : s% when_to_stop_rtol = when_to_stop_rtol
789 1 : s% when_to_stop_atol = when_to_stop_atol
790 1 : s% gamma_center_limit = gamma_center_limit
791 1 : s% eta_center_limit = eta_center_limit
792 1 : s% log_center_temp_upper_limit = log_center_temp_upper_limit
793 1 : s% log_max_temp_upper_limit = log_max_temp_upper_limit
794 1 : s% log_max_temp_lower_limit = log_max_temp_lower_limit
795 1 : s% log_center_temp_lower_limit = log_center_temp_lower_limit
796 1 : s% log_center_density_upper_limit = log_center_density_upper_limit
797 1 : s% log_center_density_lower_limit = log_center_density_lower_limit
798 1 : s% min_timestep_limit = min_timestep_limit
799 :
800 1 : s% center_entropy_upper_limit = center_entropy_upper_limit
801 1 : s% center_entropy_lower_limit = center_entropy_lower_limit
802 1 : s% max_entropy_upper_limit = max_entropy_upper_limit
803 1 : s% max_entropy_lower_limit = max_entropy_lower_limit
804 :
805 1 : s% fe_core_infall_limit = fe_core_infall_limit
806 1 : s% fe_core_infall_mass = fe_core_infall_mass
807 1 : s% center_Ye_lower_limit = center_Ye_lower_limit
808 1 : s% center_R_lower_limit = center_R_lower_limit
809 1 : s% non_fe_core_infall_limit = non_fe_core_infall_limit
810 1 : s% non_fe_core_infall_mass = non_fe_core_infall_mass
811 1 : s% non_fe_core_rebound_limit = non_fe_core_rebound_limit
812 1 : s% v_div_csound_surf_limit = v_div_csound_surf_limit
813 1 : s% v_div_csound_max_limit = v_div_csound_max_limit
814 1 : s% Lnuc_div_L_upper_limit = Lnuc_div_L_upper_limit
815 1 : s% Lnuc_div_L_lower_limit = Lnuc_div_L_lower_limit
816 1 : s% v_surf_div_v_kh_upper_limit = v_surf_div_v_kh_upper_limit
817 1 : s% v_surf_div_v_kh_lower_limit = v_surf_div_v_kh_lower_limit
818 1 : s% v_surf_div_v_esc_limit = v_surf_div_v_esc_limit
819 1 : s% v_surf_kms_limit = v_surf_kms_limit
820 :
821 1 : s% stop_near_zams = stop_near_zams
822 1 : s% stop_at_phase_PreMS = stop_at_phase_PreMS
823 1 : s% stop_at_phase_ZAMS = stop_at_phase_ZAMS
824 1 : s% stop_at_phase_IAMS = stop_at_phase_IAMS
825 1 : s% stop_at_phase_TAMS = stop_at_phase_TAMS
826 1 : s% stop_at_phase_He_Burn = stop_at_phase_He_Burn
827 1 : s% stop_at_phase_ZACHeB = stop_at_phase_ZACHeB
828 1 : s% stop_at_phase_TACHeB = stop_at_phase_TACHeB
829 1 : s% stop_at_phase_TP_AGB = stop_at_phase_TP_AGB
830 1 : s% stop_at_phase_C_Burn = stop_at_phase_C_Burn
831 1 : s% stop_at_phase_Ne_Burn = stop_at_phase_Ne_Burn
832 1 : s% stop_at_phase_O_Burn = stop_at_phase_O_Burn
833 1 : s% stop_at_phase_Si_Burn = stop_at_phase_Si_Burn
834 1 : s% stop_at_phase_WDCS = stop_at_phase_WDCS
835 1 : s% Lnuc_div_L_zams_limit = Lnuc_div_L_zams_limit
836 1 : s% gamma1_limit = gamma1_limit
837 1 : s% gamma1_limit_max_q = gamma1_limit_max_q
838 1 : s% gamma1_limit_max_v_div_vesc = gamma1_limit_max_v_div_vesc
839 1 : s% Pgas_div_P_limit = Pgas_div_P_limit
840 1 : s% Pgas_div_P_limit_max_q = Pgas_div_P_limit_max_q
841 1 : s% peak_burn_vconv_div_cs_limit = peak_burn_vconv_div_cs_limit
842 1 : s% omega_div_omega_crit_limit = omega_div_omega_crit_limit
843 1 : s% delta_nu_lower_limit = delta_nu_lower_limit
844 1 : s% delta_nu_upper_limit = delta_nu_upper_limit
845 1 : s% delta_Pg_lower_limit = delta_Pg_lower_limit
846 1 : s% delta_Pg_upper_limit = delta_Pg_upper_limit
847 1 : s% shock_mass_upper_limit = shock_mass_upper_limit
848 1 : s% mach1_mass_upper_limit = mach1_mass_upper_limit
849 1 : s% stop_when_reach_this_cumulative_extra_heating = stop_when_reach_this_cumulative_extra_heating
850 :
851 10 : s% xa_central_lower_limit_species = xa_central_lower_limit_species
852 10 : s% xa_central_lower_limit = xa_central_lower_limit
853 :
854 10 : s% xa_central_upper_limit_species = xa_central_upper_limit_species
855 10 : s% xa_central_upper_limit = xa_central_upper_limit
856 :
857 10 : s% xa_surface_lower_limit_species = xa_surface_lower_limit_species
858 10 : s% xa_surface_lower_limit = xa_surface_lower_limit
859 :
860 10 : s% xa_surface_upper_limit_species = xa_surface_upper_limit_species
861 10 : s% xa_surface_upper_limit = xa_surface_upper_limit
862 :
863 10 : s% xa_average_lower_limit_species = xa_average_lower_limit_species
864 10 : s% xa_average_lower_limit = xa_average_lower_limit
865 :
866 10 : s% xa_average_upper_limit_species = xa_average_upper_limit_species
867 10 : s% xa_average_upper_limit = xa_average_upper_limit
868 :
869 1 : s% HB_limit = HB_limit
870 :
871 1 : s% star_mass_max_limit = star_mass_max_limit
872 1 : s% star_mass_min_limit = star_mass_min_limit
873 1 : s% ejecta_mass_max_limit = ejecta_mass_max_limit
874 1 : s% remnant_mass_min_limit = remnant_mass_min_limit
875 :
876 1 : s% star_species_mass_min_limit = star_species_mass_min_limit
877 1 : s% star_species_mass_min_limit_iso = star_species_mass_min_limit_iso
878 1 : s% star_species_mass_max_limit = star_species_mass_max_limit
879 1 : s% star_species_mass_max_limit_iso = star_species_mass_max_limit_iso
880 :
881 1 : s% xmstar_min_limit = xmstar_min_limit
882 1 : s% xmstar_max_limit = xmstar_max_limit
883 1 : s% envelope_mass_limit = envelope_mass_limit
884 1 : s% envelope_fraction_left_limit = envelope_fraction_left_limit
885 :
886 1 : s% he_core_mass_limit = he_core_mass_limit
887 1 : s% co_core_mass_limit = co_core_mass_limit
888 1 : s% one_core_mass_limit = one_core_mass_limit
889 1 : s% fe_core_mass_limit = fe_core_mass_limit
890 1 : s% neutron_rich_core_mass_limit = neutron_rich_core_mass_limit
891 :
892 1 : s% he_layer_mass_lower_limit = he_layer_mass_lower_limit
893 1 : s% abs_diff_lg_LH_lg_Ls_limit = abs_diff_lg_LH_lg_Ls_limit
894 1 : s% Teff_upper_limit = Teff_upper_limit
895 1 : s% Teff_lower_limit = Teff_lower_limit
896 1 : s% photosphere_m_upper_limit = photosphere_m_upper_limit
897 1 : s% photosphere_m_lower_limit = photosphere_m_lower_limit
898 1 : s% photosphere_m_sub_M_center_limit = photosphere_m_sub_M_center_limit
899 1 : s% photosphere_r_upper_limit = photosphere_r_upper_limit
900 1 : s% photosphere_r_lower_limit = photosphere_r_lower_limit
901 1 : s% log_Teff_upper_limit = log_Teff_upper_limit
902 1 : s% log_Teff_lower_limit = log_Teff_lower_limit
903 1 : s% log_Tsurf_upper_limit = log_Tsurf_upper_limit
904 1 : s% log_Tsurf_lower_limit = log_Tsurf_lower_limit
905 1 : s% log_Rsurf_upper_limit = log_Rsurf_upper_limit
906 1 : s% log_Rsurf_lower_limit = log_Rsurf_lower_limit
907 1 : s% log_Psurf_upper_limit = log_Psurf_upper_limit
908 1 : s% log_Psurf_lower_limit = log_Psurf_lower_limit
909 1 : s% log_Dsurf_upper_limit = log_Dsurf_upper_limit
910 1 : s% log_Dsurf_lower_limit = log_Dsurf_lower_limit
911 1 : s% log_L_upper_limit = log_L_upper_limit
912 1 : s% log_L_lower_limit = log_L_lower_limit
913 1 : s% log_g_upper_limit = log_g_upper_limit
914 1 : s% log_g_lower_limit = log_g_lower_limit
915 :
916 1 : s% power_nuc_burn_upper_limit = power_nuc_burn_upper_limit
917 1 : s% power_h_burn_upper_limit = power_h_burn_upper_limit
918 1 : s% power_he_burn_upper_limit = power_he_burn_upper_limit
919 1 : s% power_z_burn_upper_limit = power_z_burn_upper_limit
920 1 : s% power_nuc_burn_lower_limit = power_nuc_burn_lower_limit
921 1 : s% power_h_burn_lower_limit = power_h_burn_lower_limit
922 1 : s% power_he_burn_lower_limit = power_he_burn_lower_limit
923 1 : s% power_z_burn_lower_limit = power_z_burn_lower_limit
924 :
925 : ! output of "snapshots" for restarts
926 1 : s% photo_interval = photo_interval
927 1 : s% photo_digits = photo_digits
928 1 : s% photo_directory = photo_directory
929 : ! output of history and profiles.
930 1 : s% do_history_file = do_history_file
931 1 : s% history_interval = history_interval
932 :
933 1 : s% write_header_frequency = write_header_frequency
934 1 : s% terminal_interval = terminal_interval
935 1 : s% terminal_show_age_units = terminal_show_age_units
936 1 : s% terminal_show_timestep_units = terminal_show_timestep_units
937 1 : s% terminal_show_log_dt = terminal_show_log_dt
938 1 : s% terminal_show_log_age = terminal_show_log_age
939 1 : s% extra_terminal_output_file = extra_terminal_output_file
940 1 : s% num_trace_history_values = num_trace_history_values
941 51 : s% trace_history_value_name = trace_history_value_name
942 :
943 1 : s% log_directory = log_directory
944 1 : s% star_history_name = star_history_name
945 1 : s% star_history_header_name = star_history_header_name
946 1 : s% star_history_dbl_format = star_history_dbl_format
947 1 : s% star_history_int_format = star_history_int_format
948 1 : s% star_history_txt_format = star_history_txt_format
949 :
950 1 : s% profiles_index_name = profiles_index_name
951 1 : s% profile_data_prefix = profile_data_prefix
952 1 : s% profile_data_suffix = profile_data_suffix
953 1 : s% profile_data_header_suffix = profile_data_header_suffix
954 1 : s% profile_int_format = profile_int_format
955 1 : s% profile_txt_format = profile_txt_format
956 1 : s% profile_dbl_format = profile_dbl_format
957 1 : s% profile_header_include_sys_details = profile_header_include_sys_details
958 1 : s% write_profiles_flag = write_profiles_flag
959 1 : s% profile_interval = profile_interval
960 1 : s% priority_profile_interval = priority_profile_interval
961 1 : s% profile_model = profile_model
962 1 : s% max_num_profile_models = max_num_profile_models
963 1 : s% max_num_profile_zones = max_num_profile_zones
964 :
965 1 : s% write_controls_info_with_profile = write_controls_info_with_profile
966 1 : s% controls_data_prefix = controls_data_prefix
967 1 : s% controls_data_suffix = controls_data_suffix
968 :
969 1 : s% write_pulse_data_with_profile = write_pulse_data_with_profile
970 1 : s% pulse_data_format = pulse_data_format
971 1 : s% add_atmosphere_to_pulse_data = add_atmosphere_to_pulse_data
972 1 : s% add_center_point_to_pulse_data = add_center_point_to_pulse_data
973 1 : s% keep_surface_point_for_pulse_data = keep_surface_point_for_pulse_data
974 1 : s% add_double_points_to_pulse_data = add_double_points_to_pulse_data
975 1 : s% interpolate_rho_for_pulse_data = interpolate_rho_for_pulse_data
976 1 : s% threshold_grad_mu_for_double_point = threshold_grad_mu_for_double_point
977 1 : s% max_number_of_double_points = max_number_of_double_points
978 :
979 1 : s% gyre_data_schema = gyre_data_schema
980 :
981 5 : s% fgong_header = fgong_header
982 1 : s% fgong_ivers = fgong_ivers
983 :
984 1 : s% max_num_gyre_points = max_num_gyre_points
985 1 : s% format_for_OSC_data = format_for_OSC_data
986 1 : s% fgong_zero_A_inside_r = fgong_zero_A_inside_r
987 1 : s% use_other_export_pulse_data = use_other_export_pulse_data
988 1 : s% use_other_get_pulse_data = use_other_get_pulse_data
989 1 : s% use_other_edit_pulse_data = use_other_edit_pulse_data
990 :
991 1 : s% write_model_with_profile = write_model_with_profile
992 1 : s% model_data_prefix = model_data_prefix
993 1 : s% model_data_suffix = model_data_suffix
994 :
995 1 : s% mixing_D_limit_for_log = mixing_D_limit_for_log
996 1 : s% trace_mass_location = trace_mass_location
997 1 : s% min_tau_for_max_abs_v_location = min_tau_for_max_abs_v_location
998 1 : s% min_q_for_inner_mach1_location = min_q_for_inner_mach1_location
999 1 : s% max_q_for_outer_mach1_location = max_q_for_outer_mach1_location
1000 :
1001 1 : s% conv_core_gap_dq_limit = conv_core_gap_dq_limit
1002 :
1003 : ! burn zone eps definitions for use in logs and profiles
1004 1 : s% burn_min1 = burn_min1
1005 1 : s% burn_min2 = burn_min2
1006 :
1007 1 : s% max_conv_vel_div_csound_maxq = max_conv_vel_div_csound_maxq
1008 1 : s% width_for_limit_conv_vel = width_for_limit_conv_vel
1009 1 : s% max_q_for_limit_conv_vel = max_q_for_limit_conv_vel
1010 1 : s% max_mass_in_gm_for_limit_conv_vel = max_mass_in_gm_for_limit_conv_vel
1011 1 : s% max_r_in_cm_for_limit_conv_vel = max_r_in_cm_for_limit_conv_vel
1012 :
1013 : ! for reported average values
1014 1 : s% surface_avg_abundance_dq = surface_avg_abundance_dq
1015 1 : s% center_avg_value_dq = center_avg_value_dq
1016 :
1017 : ! mixing parameters
1018 1 : s% min_convective_gap = min_convective_gap
1019 1 : s% min_thermohaline_gap = min_thermohaline_gap
1020 1 : s% min_semiconvection_gap = min_semiconvection_gap
1021 1 : s% min_thermohaline_dropout = min_thermohaline_dropout
1022 1 : s% max_dropout_gradL_sub_grada = max_dropout_gradL_sub_grada
1023 1 : s% remove_embedded_semiconvection = remove_embedded_semiconvection
1024 1 : s% recalc_mix_info_after_evolve = recalc_mix_info_after_evolve
1025 1 : s% remove_mixing_glitches = remove_mixing_glitches
1026 1 : s% okay_to_remove_mixing_singleton = okay_to_remove_mixing_singleton
1027 1 : s% prune_bad_cz_min_Hp_height = prune_bad_cz_min_Hp_height
1028 1 : s% prune_bad_cz_min_log_eps_nuc = prune_bad_cz_min_log_eps_nuc
1029 1 : s% redo_conv_for_dr_lt_mixing_length = redo_conv_for_dr_lt_mixing_length
1030 :
1031 1 : s% alpha_semiconvection = alpha_semiconvection
1032 1 : s% semiconvection_option = semiconvection_option
1033 1 : s% use_Ledoux_criterion = use_Ledoux_criterion
1034 1 : s% num_cells_for_smooth_gradL_composition_term = num_cells_for_smooth_gradL_composition_term
1035 1 : s% threshold_for_smooth_gradL_composition_term = threshold_for_smooth_gradL_composition_term
1036 1 : s% clip_D_limit = clip_D_limit
1037 :
1038 1 : s% okay_to_reduce_gradT_excess = okay_to_reduce_gradT_excess
1039 1 : s% gradT_excess_f1 = gradT_excess_f1
1040 1 : s% gradT_excess_f2 = gradT_excess_f2
1041 1 : s% gradT_excess_age_fraction = gradT_excess_age_fraction
1042 1 : s% gradT_excess_max_change = gradT_excess_max_change
1043 1 : s% gradT_excess_lambda1 = gradT_excess_lambda1
1044 1 : s% gradT_excess_beta1 = gradT_excess_beta1
1045 1 : s% gradT_excess_lambda2 = gradT_excess_lambda2
1046 1 : s% gradT_excess_beta2 = gradT_excess_beta2
1047 1 : s% gradT_excess_dlambda = gradT_excess_dlambda
1048 1 : s% gradT_excess_dbeta = gradT_excess_dbeta
1049 1 : s% gradT_excess_max_center_h1 = gradT_excess_max_center_h1
1050 1 : s% gradT_excess_min_center_he4 = gradT_excess_min_center_he4
1051 1 : s% gradT_excess_max_logT = gradT_excess_max_logT
1052 1 : s% gradT_excess_min_log_tau_full_on = gradT_excess_min_log_tau_full_on
1053 1 : s% gradT_excess_max_log_tau_full_off = gradT_excess_max_log_tau_full_off
1054 :
1055 1 : s% D_mix_zero_region_bottom_q = D_mix_zero_region_bottom_q
1056 1 : s% D_mix_zero_region_top_q = D_mix_zero_region_top_q
1057 1 : s% dq_D_mix_zero_at_H_He_crossover = dq_D_mix_zero_at_H_He_crossover
1058 1 : s% dq_D_mix_zero_at_H_C_crossover = dq_D_mix_zero_at_H_C_crossover
1059 :
1060 1 : s% use_superad_reduction = use_superad_reduction
1061 1 : s% superad_reduction_gamma_limit = superad_reduction_gamma_limit
1062 1 : s% superad_reduction_gamma_limit_scale = superad_reduction_gamma_limit_scale
1063 1 : s% superad_reduction_gamma_inv_scale = superad_reduction_gamma_inv_scale
1064 1 : s% superad_reduction_diff_grads_limit = superad_reduction_diff_grads_limit
1065 1 : s% superad_reduction_limit = superad_reduction_limit
1066 :
1067 1 : s% max_logT_for_mlt = max_logT_for_mlt
1068 1 : s% mlt_make_surface_no_mixing = mlt_make_surface_no_mixing
1069 1 : s% do_normalize_dqs_as_part_of_set_qs = do_normalize_dqs_as_part_of_set_qs
1070 :
1071 1 : s% thermohaline_coeff = thermohaline_coeff
1072 1 : s% thermohaline_option = thermohaline_option
1073 1 : s% mixing_length_alpha = mixing_length_alpha
1074 1 : s% remove_small_D_limit = remove_small_D_limit
1075 1 : s% alt_scale_height_flag = alt_scale_height_flag
1076 1 : s% Henyey_MLT_y_param = Henyey_MLT_y_param
1077 1 : s% Henyey_MLT_nu_param = Henyey_MLT_nu_param
1078 1 : s% make_gradr_sticky_in_solver_iters = make_gradr_sticky_in_solver_iters
1079 1 : s% min_logT_for_make_gradr_sticky_in_solver_iters = min_logT_for_make_gradr_sticky_in_solver_iters
1080 1 : s% no_MLT_below_shock = no_MLT_below_shock
1081 1 : s% MLT_option = MLT_option
1082 1 : s% steps_before_use_TDC = steps_before_use_TDC
1083 1 : s% mlt_use_rotation_correction = mlt_use_rotation_correction
1084 1 : s% mlt_Pturb_factor = mlt_Pturb_factor
1085 :
1086 1 : s% burn_z_mix_region_logT = burn_z_mix_region_logT
1087 1 : s% burn_he_mix_region_logT = burn_he_mix_region_logT
1088 1 : s% burn_h_mix_region_logT = burn_h_mix_region_logT
1089 1 : s% max_Y_for_burn_z_mix_region = max_Y_for_burn_z_mix_region
1090 1 : s% max_X_for_burn_he_mix_region = max_X_for_burn_he_mix_region
1091 :
1092 1 : s% limit_overshoot_Hp_using_size_of_convection_zone = limit_overshoot_Hp_using_size_of_convection_zone
1093 :
1094 17 : s% predictive_mix = predictive_mix
1095 17 : s% predictive_superad_thresh = predictive_superad_thresh
1096 17 : s% predictive_avoid_reversal = predictive_avoid_reversal
1097 17 : s% predictive_limit_ingestion = predictive_limit_ingestion
1098 17 : s% predictive_ingestion_factor = predictive_ingestion_factor
1099 17 : s% predictive_zone_type = predictive_zone_type
1100 17 : s% predictive_zone_loc = predictive_zone_loc
1101 17 : s% predictive_bdy_loc = predictive_bdy_loc
1102 17 : s% predictive_bdy_q_min = predictive_bdy_q_min
1103 17 : s% predictive_bdy_q_max = predictive_bdy_q_max
1104 :
1105 1 : s% do_conv_premix = do_conv_premix
1106 1 : s% conv_premix_avoid_increase = conv_premix_avoid_increase
1107 1 : s% conv_premix_time_factor = conv_premix_time_factor
1108 1 : s% conv_premix_fix_pgas = conv_premix_fix_pgas
1109 1 : s% conv_premix_dump_snapshots = conv_premix_dump_snapshots
1110 1 : s% do_premix_heating = do_premix_heating
1111 :
1112 17 : s% overshoot_f = overshoot_f
1113 17 : s% overshoot_f0 = overshoot_f0
1114 17 : s% overshoot_D0 = overshoot_D0
1115 17 : s% overshoot_Delta0 = overshoot_Delta0
1116 17 : s% overshoot_mass_full_on = overshoot_mass_full_on
1117 17 : s% overshoot_mass_full_off = overshoot_mass_full_off
1118 17 : s% overshoot_scheme = overshoot_scheme
1119 17 : s% overshoot_zone_type = overshoot_zone_type
1120 17 : s% overshoot_zone_loc = overshoot_zone_loc
1121 17 : s% overshoot_bdy_loc = overshoot_bdy_loc
1122 1 : s% overshoot_D_min = overshoot_D_min
1123 1 : s% overshoot_brunt_B_max = overshoot_brunt_B_max
1124 :
1125 1 : s% max_conv_vel_div_csound = max_conv_vel_div_csound
1126 1 : s% max_v_for_convection = max_v_for_convection
1127 1 : s% max_q_for_convection_with_hydro_on = max_q_for_convection_with_hydro_on
1128 1 : s% max_v_div_cs_for_convection = max_v_div_cs_for_convection
1129 1 : s% max_abs_du_div_cs_for_convection = max_abs_du_div_cs_for_convection
1130 :
1131 1 : s% calculate_Brunt_B = calculate_Brunt_B
1132 1 : s% calculate_Brunt_N2 = calculate_Brunt_N2
1133 1 : s% brunt_N2_coefficient = brunt_N2_coefficient
1134 1 : s% num_cells_for_smooth_brunt_B = num_cells_for_smooth_brunt_B
1135 1 : s% threshold_for_smooth_brunt_B = threshold_for_smooth_brunt_B
1136 1 : s% min_magnitude_brunt_B = min_magnitude_brunt_B
1137 :
1138 1 : s% min_overshoot_q = min_overshoot_q
1139 1 : s% overshoot_alpha = overshoot_alpha
1140 :
1141 1 : s% RSP_max_num_periods = RSP_max_num_periods
1142 1 : s% RSP_target_steps_per_cycle = RSP_target_steps_per_cycle
1143 1 : s% RSP_min_max_R_for_periods = RSP_min_max_R_for_periods
1144 1 : s% RSP_min_deltaR_for_periods = RSP_min_deltaR_for_periods
1145 1 : s% RSP_default_PERIODLIN = RSP_default_PERIODLIN
1146 1 : s% RSP_min_PERIOD_div_PERIODLIN = RSP_min_PERIOD_div_PERIODLIN
1147 1 : s% RSP_GREKM_avg_abs_frac_new = RSP_GREKM_avg_abs_frac_new
1148 1 : s% RSP_GREKM_avg_abs_limit = RSP_GREKM_avg_abs_limit
1149 1 : s% RSP_theta = RSP_theta
1150 1 : s% RSP_thetat = RSP_thetat
1151 1 : s% RSP_thetau = RSP_thetau
1152 1 : s% RSP_thetae = RSP_thetae
1153 1 : s% RSP_thetaq = RSP_thetaq
1154 1 : s% RSP_wtr = RSP_wtr
1155 1 : s% RSP_wtc = RSP_wtc
1156 1 : s% RSP_wtt = RSP_wtt
1157 1 : s% RSP_gam = RSP_gam
1158 1 : s% RSP_alfa = RSP_alfa
1159 1 : s% RSP_alfap = RSP_alfap
1160 1 : s% RSP_alfam = RSP_alfam
1161 1 : s% RSP_alfat = RSP_alfat
1162 1 : s% RSP_alfas = RSP_alfas
1163 1 : s% RSP_alfac = RSP_alfac
1164 1 : s% RSP_alfad = RSP_alfad
1165 1 : s% RSP_gammar = RSP_gammar
1166 1 : s% RSP_efl0 = RSP_efl0
1167 1 : s% RSP_min_tau_for_turbulent_flux = RSP_min_tau_for_turbulent_flux
1168 1 : s% RSP_cq = RSP_cq
1169 1 : s% RSP_zsh = RSP_zsh
1170 1 : s% RSP_Qvisc_quadratic = RSP_Qvisc_quadratic
1171 1 : s% RSP_Qvisc_linear = RSP_Qvisc_linear
1172 1 : s% RSP_Qvisc_linear_static = RSP_Qvisc_linear_static
1173 1 : s% RSP_tol_max_corr = RSP_tol_max_corr
1174 1 : s% RSP_tol_max_resid = RSP_tol_max_resid
1175 1 : s% RSP_max_iters_per_try = RSP_max_iters_per_try
1176 1 : s% RSP_max_retries_per_step = RSP_max_retries_per_step
1177 1 : s% RSP_nz_div_IBOTOM = RSP_nz_div_IBOTOM
1178 1 : s% RSP_kick_vsurf_km_per_sec = RSP_kick_vsurf_km_per_sec
1179 1 : s% RSP_fraction_1st_overtone = RSP_fraction_1st_overtone
1180 1 : s% RSP_fraction_2nd_overtone = RSP_fraction_2nd_overtone
1181 1 : s% RSP_Avel = RSP_Avel
1182 1 : s% RSP_Arnd = RSP_Arnd
1183 1 : s% RSP_mode_for_setting_PERIODLIN = RSP_mode_for_setting_PERIODLIN
1184 1 : s% RSP_initial_dt_factor = RSP_initial_dt_factor
1185 1 : s% RSP_v_div_cs_threshold_for_dt_limit = RSP_v_div_cs_threshold_for_dt_limit
1186 1 : s% RSP_max_dt_times_min_dr_div_cs = RSP_max_dt_times_min_dr_div_cs
1187 1 : s% RSP_max_dt_times_min_rad_diff_time = RSP_max_dt_times_min_rad_diff_time
1188 1 : s% RSP_max_dt = RSP_max_dt
1189 1 : s% RSP_testing = RSP_testing
1190 1 : s% RSP_report_limit_dt = RSP_report_limit_dt
1191 1 : s% RSP_use_Prad_for_Psurf = RSP_use_Prad_for_Psurf
1192 1 : s% RSP_report_undercorrections = RSP_report_undercorrections
1193 1 : s% RSP_use_atm_grey_with_kap_for_Psurf = RSP_use_atm_grey_with_kap_for_Psurf
1194 1 : s% use_other_RSP_linear_analysis = use_other_RSP_linear_analysis
1195 1 : s% use_other_RSP_build_model = use_other_RSP_build_model
1196 1 : s% RSP_kap_density_factor = RSP_kap_density_factor
1197 1 : s% RSP_fixed_Psurf = RSP_fixed_Psurf
1198 1 : s% RSP_hydro_only = RSP_hydro_only
1199 1 : s% RSP_tau_surf_for_atm_grey_with_kap = RSP_tau_surf_for_atm_grey_with_kap
1200 1 : s% RSP_Psurf = RSP_Psurf
1201 1 : s% set_RSP_Psurf_to_multiple_of_initial_P1 = set_RSP_Psurf_to_multiple_of_initial_P1
1202 1 : s% RSP_surface_tau = RSP_surface_tau
1203 1 : s% RSP_write_map = RSP_write_map
1204 1 : s% RSP_trace_RSP_build_model = RSP_trace_RSP_build_model
1205 1 : s% RSP_map_filename = RSP_map_filename
1206 1 : s% RSP_map_columns_filename = RSP_map_columns_filename
1207 1 : s% RSP_map_history_filename = RSP_map_history_filename
1208 1 : s% RSP_map_first_period = RSP_map_first_period
1209 1 : s% RSP_map_last_period = RSP_map_last_period
1210 1 : s% RSP_map_zone_interval = RSP_map_zone_interval
1211 1 : s% RSP_nmodes = RSP_nmodes
1212 1 : s% RSP_work_period = RSP_work_period
1213 1 : s% RSP_work_filename = RSP_work_filename
1214 1 : s% RSP_nz_outer = RSP_nz_outer
1215 1 : s% RSP_max_outer_dm_tries = RSP_max_outer_dm_tries
1216 1 : s% RSP_max_inner_scale_tries = RSP_max_inner_scale_tries
1217 1 : s% RSP_relax_max_tries = RSP_relax_max_tries
1218 1 : s% RSP_T_anchor_tolerance = RSP_T_anchor_tolerance
1219 1 : s% RSP_T_inner_tolerance = RSP_T_inner_tolerance
1220 1 : s% RSP_relax_dm_tolerance = RSP_relax_dm_tolerance
1221 1 : s% RSP_dq_1_factor = RSP_dq_1_factor
1222 1 : s% use_RSP_new_start_scheme = use_RSP_new_start_scheme
1223 1 : s% RSP_do_check_omega = RSP_do_check_omega
1224 1 : s% RSP_report_check_omega_changes = RSP_report_check_omega_changes
1225 1 : s% RSP_nz = RSP_nz
1226 1 : s% RSP_T_anchor = RSP_T_anchor
1227 1 : s% RSP_T_inner = RSP_T_inner
1228 1 : s% RSP_relax_initial_model = RSP_relax_initial_model
1229 1 : s% RSP_relax_alfap_before_alfat = RSP_relax_alfap_before_alfat
1230 1 : s% RSP_relax_adjust_inner_mass_distribution = RSP_relax_adjust_inner_mass_distribution
1231 1 : s% RSP_Teff = RSP_Teff
1232 1 : s% RSP_mass = RSP_mass
1233 1 : s% RSP_L = RSP_L
1234 1 : s% RSP_X = RSP_X
1235 1 : s% RSP_Z = RSP_Z
1236 :
1237 1 : s% RTI_smooth_mass = RTI_smooth_mass
1238 1 : s% RTI_smooth_iterations = RTI_smooth_iterations
1239 1 : s% RTI_smooth_fraction = RTI_smooth_fraction
1240 :
1241 1 : s% alpha_RTI_diffusion_factor = alpha_RTI_diffusion_factor
1242 1 : s% dudt_RTI_diffusion_factor = dudt_RTI_diffusion_factor
1243 1 : s% dedt_RTI_diffusion_factor = dedt_RTI_diffusion_factor
1244 1 : s% dlnddt_RTI_diffusion_factor = dlnddt_RTI_diffusion_factor
1245 1 : s% composition_RTI_diffusion_factor = composition_RTI_diffusion_factor
1246 1 : s% max_M_RTI_factors_full_on = max_M_RTI_factors_full_on
1247 1 : s% min_M_RTI_factors_full_off = min_M_RTI_factors_full_off
1248 :
1249 1 : s% alpha_RTI_src_min_v_div_cs = alpha_RTI_src_min_v_div_cs
1250 1 : s% alpha_RTI_src_max_q = alpha_RTI_src_max_q
1251 1 : s% alpha_RTI_src_min_q = alpha_RTI_src_min_q
1252 :
1253 1 : s% T_mix_limit = T_mix_limit
1254 1 : s% mlt_gradT_fraction = mlt_gradT_fraction
1255 :
1256 : ! atmosphere -- surface boundary conditions
1257 1 : s% atm_option = atm_option
1258 1 : s% atm_off_table_option = atm_off_table_option
1259 1 : s% Pextra_factor = Pextra_factor
1260 1 : s% atm_fixed_Teff = atm_fixed_Teff
1261 1 : s% atm_fixed_Psurf = atm_fixed_Psurf
1262 1 : s% atm_fixed_Tsurf = atm_fixed_Tsurf
1263 :
1264 1 : s% atm_T_tau_relation = atm_T_tau_relation
1265 1 : s% atm_T_tau_opacity = atm_T_tau_opacity
1266 1 : s% atm_T_tau_errtol = atm_T_tau_errtol
1267 1 : s% atm_T_tau_max_iters = atm_T_tau_max_iters
1268 1 : s% atm_T_tau_max_steps = atm_T_tau_max_steps
1269 :
1270 1 : s% atm_table = atm_table
1271 :
1272 1 : s% atm_irradiated_opacity = atm_irradiated_opacity
1273 1 : s% atm_irradiated_errtol = atm_irradiated_errtol
1274 1 : s% atm_irradiated_T_eq = atm_irradiated_T_eq
1275 1 : s% atm_irradiated_kap_v = atm_irradiated_kap_v
1276 1 : s% atm_irradiated_kap_v_div_kap_th = atm_irradiated_kap_v_div_kap_th
1277 1 : s% atm_irradiated_P_surf = atm_irradiated_P_surf
1278 1 : s% atm_irradiated_max_iters = atm_irradiated_max_iters
1279 :
1280 1 : s% use_compression_outer_BC = use_compression_outer_BC
1281 1 : s% use_momentum_outer_BC = use_momentum_outer_BC
1282 1 : s% Tsurf_factor = Tsurf_factor
1283 1 : s% use_zero_Pgas_outer_BC = use_zero_Pgas_outer_BC
1284 1 : s% fixed_vsurf = fixed_vsurf
1285 1 : s% use_fixed_vsurf_outer_BC = use_fixed_vsurf_outer_BC
1286 1 : s% fixed_Psurf = fixed_Psurf
1287 1 : s% use_fixed_Psurf_outer_BC = use_fixed_Psurf_outer_BC
1288 :
1289 1 : s% atm_build_tau_outer = atm_build_tau_outer
1290 1 : s% atm_build_dlogtau = atm_build_dlogtau
1291 1 : s% atm_build_errtol = atm_build_errtol
1292 :
1293 1 : s% use_T_tau_gradr_factor = use_T_tau_gradr_factor
1294 :
1295 : ! starspots
1296 1 : s% do_starspots = do_starspots
1297 1 : s% fspot = fspot
1298 1 : s% xspot = xspot
1299 :
1300 : ! extra heat near surface to model irradiation
1301 1 : s% irradiation_flux = irradiation_flux
1302 1 : s% column_depth_for_irradiation = column_depth_for_irradiation
1303 :
1304 : ! extra heat
1305 1 : s% inject_uniform_extra_heat = inject_uniform_extra_heat
1306 1 : s% min_q_for_uniform_extra_heat = min_q_for_uniform_extra_heat
1307 1 : s% max_q_for_uniform_extra_heat = max_q_for_uniform_extra_heat
1308 1 : s% inject_extra_ergs_sec = inject_extra_ergs_sec
1309 1 : s% base_of_inject_extra_ergs_sec = base_of_inject_extra_ergs_sec
1310 1 : s% total_mass_for_inject_extra_ergs_sec = total_mass_for_inject_extra_ergs_sec
1311 1 : s% start_time_for_inject_extra_ergs_sec = start_time_for_inject_extra_ergs_sec
1312 1 : s% duration_for_inject_extra_ergs_sec = duration_for_inject_extra_ergs_sec
1313 1 : s% inject_until_reach_model_with_total_energy = inject_until_reach_model_with_total_energy
1314 :
1315 : ! mass gain or loss
1316 1 : s% mass_change = mass_change
1317 1 : s% mass_change_full_off_dt = mass_change_full_off_dt
1318 1 : s% mass_change_full_on_dt = mass_change_full_on_dt
1319 1 : s% trace_dt_control_mass_change = trace_dt_control_mass_change
1320 1 : s% no_wind_if_no_rotation = no_wind_if_no_rotation
1321 :
1322 1 : s% min_wind = min_wind
1323 1 : s% max_wind = max_wind
1324 1 : s% use_accreted_material_j = use_accreted_material_j
1325 1 : s% accreted_material_j = accreted_material_j
1326 1 : s% D_omega_mixing_rate = D_omega_mixing_rate
1327 1 : s% D_omega_mixing_across_convection_boundary = D_omega_mixing_across_convection_boundary
1328 1 : s% max_q_for_D_omega_zero_in_convection_region = max_q_for_D_omega_zero_in_convection_region
1329 1 : s% nu_omega_mixing_rate = nu_omega_mixing_rate
1330 1 : s% nu_omega_mixing_across_convection_boundary = nu_omega_mixing_across_convection_boundary
1331 1 : s% max_q_for_nu_omega_zero_in_convection_region = max_q_for_nu_omega_zero_in_convection_region
1332 :
1333 1 : s% mdot_omega_power = mdot_omega_power
1334 1 : s% max_rotational_mdot_boost = max_rotational_mdot_boost
1335 1 : s% max_mdot_jump_for_rotation = max_mdot_jump_for_rotation
1336 1 : s% lim_trace_rotational_mdot_boost = lim_trace_rotational_mdot_boost
1337 1 : s% rotational_mdot_boost_fac = rotational_mdot_boost_fac
1338 1 : s% rotational_mdot_kh_fac = rotational_mdot_kh_fac
1339 1 : s% surf_avg_tau = surf_avg_tau
1340 1 : s% surf_avg_tau_min = surf_avg_tau_min
1341 :
1342 1 : s% super_eddington_scaling_factor = super_eddington_scaling_factor
1343 1 : s% super_eddington_wind_Ledd_factor = super_eddington_wind_Ledd_factor
1344 1 : s% wind_boost_full_off_L_div_Ledd = wind_boost_full_off_L_div_Ledd
1345 1 : s% wind_boost_full_on_L_div_Ledd = wind_boost_full_on_L_div_Ledd
1346 1 : s% super_eddington_wind_max_boost = super_eddington_wind_max_boost
1347 1 : s% trace_super_eddington_wind_boost = trace_super_eddington_wind_boost
1348 :
1349 1 : s% max_tries_for_implicit_wind = max_tries_for_implicit_wind
1350 1 : s% iwind_tolerance = iwind_tolerance
1351 1 : s% iwind_lambda = iwind_lambda
1352 :
1353 1 : s% cool_wind_full_on_T = cool_wind_full_on_T
1354 1 : s% hot_wind_full_on_T = hot_wind_full_on_T
1355 :
1356 1 : s% rlo_scaling_factor = rlo_scaling_factor
1357 1 : s% rlo_wind_min_L = rlo_wind_min_L
1358 1 : s% rlo_wind_max_Teff = rlo_wind_max_Teff
1359 1 : s% rlo_wind_roche_lobe_radius = rlo_wind_roche_lobe_radius
1360 1 : s% roche_lobe_xfer_full_on = roche_lobe_xfer_full_on
1361 1 : s% roche_lobe_xfer_full_off = roche_lobe_xfer_full_off
1362 1 : s% rlo_wind_base_mdot = rlo_wind_base_mdot
1363 1 : s% rlo_wind_scale_height = rlo_wind_scale_height
1364 :
1365 1 : s% hot_wind_scheme = hot_wind_scheme
1366 1 : s% cool_wind_RGB_scheme = cool_wind_RGB_scheme
1367 1 : s% cool_wind_AGB_scheme = cool_wind_AGB_scheme
1368 1 : s% RGB_to_AGB_wind_switch = RGB_to_AGB_wind_switch
1369 1 : s% Reimers_scaling_factor = Reimers_scaling_factor
1370 1 : s% Blocker_scaling_factor = Blocker_scaling_factor
1371 1 : s% de_Jager_scaling_factor = de_Jager_scaling_factor
1372 1 : s% van_Loon_scaling_factor = van_Loon_scaling_factor
1373 1 : s% Nieuwenhuijzen_scaling_factor = Nieuwenhuijzen_scaling_factor
1374 1 : s% Vink_scaling_factor = Vink_scaling_factor
1375 1 : s% Dutch_scaling_factor = Dutch_scaling_factor
1376 1 : s% Bjorklund_scaling_factor = Bjorklund_scaling_factor
1377 1 : s% Dutch_wind_lowT_scheme = Dutch_wind_lowT_scheme
1378 :
1379 1 : s% wind_H_envelope_limit = wind_H_envelope_limit
1380 1 : s% wind_H_He_envelope_limit = wind_H_He_envelope_limit
1381 1 : s% wind_He_layer_limit = wind_He_layer_limit
1382 :
1383 1 : s% max_logT_for_k_below_const_q = max_logT_for_k_below_const_q
1384 1 : s% max_q_for_k_below_const_q = max_q_for_k_below_const_q
1385 1 : s% min_q_for_k_below_const_q = min_q_for_k_below_const_q
1386 1 : s% max_logT_for_k_const_mass = max_logT_for_k_const_mass
1387 1 : s% min_q_for_k_const_mass = min_q_for_k_const_mass
1388 1 : s% max_q_for_k_const_mass = max_q_for_k_const_mass
1389 :
1390 : ! composition of added mass
1391 1 : s% accrete_same_as_surface = accrete_same_as_surface
1392 :
1393 1 : s% accrete_given_mass_fractions = accrete_given_mass_fractions
1394 1 : s% num_accretion_species = num_accretion_species
1395 251 : s% accretion_species_id = accretion_species_id
1396 251 : s% accretion_species_xa = accretion_species_xa
1397 :
1398 1 : s% accretion_h1 = accretion_h1
1399 1 : s% accretion_h2 = accretion_h2
1400 1 : s% accretion_he3 = accretion_he3
1401 1 : s% accretion_he4 = accretion_he4
1402 1 : s% accretion_zfracs = accretion_zfracs
1403 1 : s% accretion_dump_missing_metals_into_heaviest = accretion_dump_missing_metals_into_heaviest
1404 :
1405 : ! special list of z fractions
1406 1 : s% z_fraction_li = z_fraction_li
1407 1 : s% z_fraction_be = z_fraction_be
1408 1 : s% z_fraction_b = z_fraction_b
1409 1 : s% z_fraction_c = z_fraction_c
1410 1 : s% z_fraction_n = z_fraction_n
1411 1 : s% z_fraction_o = z_fraction_o
1412 1 : s% z_fraction_f = z_fraction_f
1413 1 : s% z_fraction_ne = z_fraction_ne
1414 1 : s% z_fraction_na = z_fraction_na
1415 1 : s% z_fraction_mg = z_fraction_mg
1416 1 : s% z_fraction_al = z_fraction_al
1417 1 : s% z_fraction_si = z_fraction_si
1418 1 : s% z_fraction_p = z_fraction_p
1419 1 : s% z_fraction_s = z_fraction_s
1420 1 : s% z_fraction_cl = z_fraction_cl
1421 1 : s% z_fraction_ar = z_fraction_ar
1422 1 : s% z_fraction_k = z_fraction_k
1423 1 : s% z_fraction_ca = z_fraction_ca
1424 1 : s% z_fraction_sc = z_fraction_sc
1425 1 : s% z_fraction_ti = z_fraction_ti
1426 1 : s% z_fraction_v = z_fraction_v
1427 1 : s% z_fraction_cr = z_fraction_cr
1428 1 : s% z_fraction_mn = z_fraction_mn
1429 1 : s% z_fraction_fe = z_fraction_fe
1430 1 : s% z_fraction_co = z_fraction_co
1431 1 : s% z_fraction_ni = z_fraction_ni
1432 1 : s% z_fraction_cu = z_fraction_cu
1433 1 : s% z_fraction_zn = z_fraction_zn
1434 :
1435 1 : s% lgT_lo_for_set_new_abundances = lgT_lo_for_set_new_abundances
1436 1 : s% lgT_hi_for_set_new_abundances = lgT_hi_for_set_new_abundances
1437 :
1438 : ! automatic stops for mass loss/gain
1439 1 : s% max_star_mass_for_gain = max_star_mass_for_gain
1440 1 : s% min_star_mass_for_loss = min_star_mass_for_loss
1441 1 : s% max_T_center_for_any_mass_loss = max_T_center_for_any_mass_loss
1442 1 : s% max_T_center_for_full_mass_loss = max_T_center_for_full_mass_loss
1443 :
1444 : ! extra power source
1445 1 : s% extra_power_source = extra_power_source
1446 :
1447 : ! relaxation parameters
1448 1 : s% relax_dlnZ = relax_dlnZ
1449 1 : s% relax_dY = relax_dY
1450 :
1451 : ! mesh adjustment
1452 1 : s% show_mesh_changes = show_mesh_changes
1453 1 : s% okay_to_remesh = okay_to_remesh
1454 1 : s% restore_mesh_on_retry = restore_mesh_on_retry
1455 1 : s% num_steps_to_hold_mesh_after_retry = num_steps_to_hold_mesh_after_retry
1456 1 : s% trace_mesh_adjust_error_in_conservation = trace_mesh_adjust_error_in_conservation
1457 1 : s% max_rel_delta_IE_for_mesh_total_energy_balance = max_rel_delta_IE_for_mesh_total_energy_balance
1458 1 : s% max_allowed_nz = max_allowed_nz
1459 1 : s% mesh_max_allowed_ratio = mesh_max_allowed_ratio
1460 1 : s% remesh_max_allowed_logT = remesh_max_allowed_logT
1461 1 : s% max_delta_x_for_merge = max_delta_x_for_merge
1462 :
1463 1 : s% mesh_ok_to_merge = mesh_ok_to_merge
1464 1 : s% mesh_max_k_old_for_split = mesh_max_k_old_for_split
1465 1 : s% mesh_min_k_old_for_split = mesh_min_k_old_for_split
1466 1 : s% mesh_adjust_get_T_from_E = mesh_adjust_get_T_from_E
1467 :
1468 1 : s% max_dq = max_dq
1469 1 : s% min_dq = min_dq
1470 1 : s% min_dq_for_split = min_dq_for_split
1471 1 : s% min_dq_for_xa = min_dq_for_xa
1472 1 : s% min_dq_for_xa_convective = min_dq_for_xa_convective
1473 1 : s% min_dq_for_logT = min_dq_for_logT
1474 :
1475 1 : s% mesh_min_dlnR = mesh_min_dlnR
1476 1 : s% merge_if_dlnR_too_small = merge_if_dlnR_too_small
1477 :
1478 1 : s% mesh_min_dr_div_dRstar = mesh_min_dr_div_dRstar
1479 1 : s% merge_if_dr_div_dRstar_too_small = merge_if_dr_div_dRstar_too_small
1480 :
1481 1 : s% mesh_min_dr_div_cs = mesh_min_dr_div_cs
1482 1 : s% merge_if_dr_div_cs_too_small = merge_if_dr_div_cs_too_small
1483 :
1484 1 : s% max_center_cell_dq = max_center_cell_dq
1485 1 : s% max_surface_cell_dq = max_surface_cell_dq
1486 1 : s% max_num_subcells = max_num_subcells
1487 1 : s% max_num_merge_cells = max_num_merge_cells
1488 :
1489 1 : s% mesh_delta_coeff = mesh_delta_coeff
1490 1 : s% mesh_delta_coeff_for_highT = mesh_delta_coeff_for_highT
1491 1 : s% logT_max_for_standard_mesh_delta_coeff = logT_max_for_standard_mesh_delta_coeff
1492 1 : s% logT_min_for_highT_mesh_delta_coeff = logT_min_for_highT_mesh_delta_coeff
1493 1 : s% mesh_Pgas_div_P_exponent = mesh_Pgas_div_P_exponent
1494 :
1495 1 : s% remesh_dt_limit = remesh_dt_limit
1496 :
1497 1 : s% E_function_weight = E_function_weight
1498 1 : s% E_function_param = E_function_param
1499 1 : s% P_function_weight = P_function_weight
1500 :
1501 10 : s% mesh_logX_species = mesh_logX_species
1502 10 : s% mesh_logX_min_for_extra = mesh_logX_min_for_extra
1503 10 : s% mesh_dlogX_dlogP_extra = mesh_dlogX_dlogP_extra
1504 10 : s% mesh_dlogX_dlogP_full_on = mesh_dlogX_dlogP_full_on
1505 10 : s% mesh_dlogX_dlogP_full_off = mesh_dlogX_dlogP_full_off
1506 :
1507 1 : s% convective_bdy_min_dt_yrs = convective_bdy_min_dt_yrs
1508 1 : s% convective_bdy_weight = convective_bdy_weight
1509 1 : s% convective_bdy_dq_limit = convective_bdy_dq_limit
1510 :
1511 1 : s% mesh_dlog_eps_min_for_extra = mesh_dlog_eps_min_for_extra
1512 1 : s% mesh_dlog_eps_dlogP_full_on = mesh_dlog_eps_dlogP_full_on
1513 1 : s% mesh_dlog_eps_dlogP_full_off = mesh_dlog_eps_dlogP_full_off
1514 :
1515 1 : s% mesh_dlog_pp_dlogP_extra = mesh_dlog_pp_dlogP_extra
1516 1 : s% mesh_dlog_cno_dlogP_extra = mesh_dlog_cno_dlogP_extra
1517 1 : s% mesh_dlog_3alf_dlogP_extra = mesh_dlog_3alf_dlogP_extra
1518 :
1519 1 : s% mesh_dlog_burn_c_dlogP_extra = mesh_dlog_burn_c_dlogP_extra
1520 1 : s% mesh_dlog_burn_n_dlogP_extra = mesh_dlog_burn_n_dlogP_extra
1521 1 : s% mesh_dlog_burn_o_dlogP_extra = mesh_dlog_burn_o_dlogP_extra
1522 1 : s% mesh_dlog_burn_ne_dlogP_extra = mesh_dlog_burn_ne_dlogP_extra
1523 1 : s% mesh_dlog_burn_na_dlogP_extra = mesh_dlog_burn_na_dlogP_extra
1524 1 : s% mesh_dlog_burn_mg_dlogP_extra = mesh_dlog_burn_mg_dlogP_extra
1525 1 : s% mesh_dlog_burn_si_dlogP_extra = mesh_dlog_burn_si_dlogP_extra
1526 1 : s% mesh_dlog_burn_s_dlogP_extra = mesh_dlog_burn_s_dlogP_extra
1527 1 : s% mesh_dlog_burn_ar_dlogP_extra = mesh_dlog_burn_ar_dlogP_extra
1528 1 : s% mesh_dlog_burn_ca_dlogP_extra = mesh_dlog_burn_ca_dlogP_extra
1529 1 : s% mesh_dlog_burn_ti_dlogP_extra = mesh_dlog_burn_ti_dlogP_extra
1530 1 : s% mesh_dlog_burn_cr_dlogP_extra = mesh_dlog_burn_cr_dlogP_extra
1531 1 : s% mesh_dlog_burn_fe_dlogP_extra = mesh_dlog_burn_fe_dlogP_extra
1532 :
1533 1 : s% mesh_dlog_cc_dlogP_extra = mesh_dlog_cc_dlogP_extra
1534 1 : s% mesh_dlog_co_dlogP_extra = mesh_dlog_co_dlogP_extra
1535 1 : s% mesh_dlog_oo_dlogP_extra = mesh_dlog_oo_dlogP_extra
1536 :
1537 1 : s% mesh_dlog_pnhe4_dlogP_extra = mesh_dlog_pnhe4_dlogP_extra
1538 1 : s% mesh_dlog_photo_dlogP_extra = mesh_dlog_photo_dlogP_extra
1539 1 : s% mesh_dlog_other_dlogP_extra = mesh_dlog_other_dlogP_extra
1540 :
1541 1 : s% mesh_delta_coeff_factor_smooth_iters = mesh_delta_coeff_factor_smooth_iters
1542 :
1543 1 : s% T_function1_weight = T_function1_weight
1544 1 : s% T_function2_weight = T_function2_weight
1545 1 : s% T_function2_param = T_function2_param
1546 :
1547 1 : s% R_function_weight = R_function_weight
1548 1 : s% R_function_param = R_function_param
1549 :
1550 1 : s% R_function2_weight = R_function2_weight
1551 1 : s% R_function2_param1 = R_function2_param1
1552 1 : s% R_function2_param2 = R_function2_param2
1553 :
1554 1 : s% R_function3_weight = R_function3_weight
1555 :
1556 1 : s% M_function_weight = M_function_weight
1557 1 : s% M_function_param = M_function_param
1558 :
1559 1 : s% gradT_function_weight = gradT_function_weight
1560 1 : s% log_tau_function_weight = log_tau_function_weight
1561 1 : s% log_kap_function_weight = log_kap_function_weight
1562 1 : s% omega_function_weight = omega_function_weight
1563 :
1564 1 : s% gam_function_weight = gam_function_weight
1565 1 : s% gam_function_param1 = gam_function_param1
1566 1 : s% gam_function_param2 = gam_function_param2
1567 :
1568 10 : s% xa_function_species = xa_function_species
1569 10 : s% xa_function_weight = xa_function_weight
1570 10 : s% xa_function_param = xa_function_param
1571 10 : s% xa_mesh_delta_coeff = xa_mesh_delta_coeff
1572 :
1573 1 : s% use_split_merge_amr = use_split_merge_amr
1574 1 : s% split_merge_amr_nz_baseline = split_merge_amr_nz_baseline
1575 1 : s% split_merge_amr_nz_r_core = split_merge_amr_nz_r_core
1576 1 : s% split_merge_amr_nz_r_core_fraction = split_merge_amr_nz_r_core_fraction
1577 1 : s% split_merge_amr_mesh_delta_coeff = split_merge_amr_mesh_delta_coeff
1578 1 : s% split_merge_amr_log_zoning = split_merge_amr_log_zoning
1579 1 : s% split_merge_amr_hybrid_zoning = split_merge_amr_hybrid_zoning
1580 1 : s% split_merge_amr_flipped_hybrid_zoning = split_merge_amr_flipped_hybrid_zoning
1581 1 : s% split_merge_amr_logtau_zoning = split_merge_amr_logtau_zoning
1582 1 : s% split_merge_amr_okay_to_split_nz = split_merge_amr_okay_to_split_nz
1583 1 : s% split_merge_amr_okay_to_split_1 = split_merge_amr_okay_to_split_1
1584 1 : s% merge_amr_inhibit_at_jumps = merge_amr_inhibit_at_jumps
1585 1 : s% split_merge_amr_MaxLong = split_merge_amr_MaxLong
1586 1 : s% split_merge_amr_MaxShort = split_merge_amr_MaxShort
1587 1 : s% merge_amr_max_abs_du_div_cs = merge_amr_max_abs_du_div_cs
1588 1 : s% merge_amr_ignore_surface_cells = merge_amr_ignore_surface_cells
1589 1 : s% merge_amr_du_div_cs_limit_only_for_compression = merge_amr_du_div_cs_limit_only_for_compression
1590 1 : s% split_merge_amr_avoid_repeated_remesh = split_merge_amr_avoid_repeated_remesh
1591 1 : s% merge_amr_k_for_ignore_surface_cells = merge_amr_k_for_ignore_surface_cells
1592 1 : s% split_merge_amr_dq_min = split_merge_amr_dq_min
1593 1 : s% split_merge_amr_dq_max = split_merge_amr_dq_max
1594 1 : s% split_merge_amr_r_core_cm = split_merge_amr_r_core_cm
1595 1 : s% split_merge_amr_max_iters = split_merge_amr_max_iters
1596 1 : s% trace_split_merge_amr = trace_split_merge_amr
1597 1 : s% equal_split_density_amr = equal_split_density_amr
1598 :
1599 : ! nuclear reaction parameters
1600 1 : s% screening_mode = screening_mode
1601 1 : s% default_net_name = default_net_name
1602 :
1603 1 : s% net_logTcut_lo = net_logTcut_lo
1604 1 : s% net_logTcut_lim = net_logTcut_lim
1605 :
1606 1 : s% eps_nuc_factor = eps_nuc_factor
1607 1 : s% op_split_burn_eps_nuc_infall_limit = op_split_burn_eps_nuc_infall_limit
1608 1 : s% eps_WD_sedimentation_factor = eps_WD_sedimentation_factor
1609 1 : s% max_abs_eps_nuc = max_abs_eps_nuc
1610 1 : s% dxdt_nuc_factor = dxdt_nuc_factor
1611 1 : s% max_abar_for_burning = max_abar_for_burning
1612 1 : s% fe56ec_fake_factor = fe56ec_fake_factor
1613 1 : s% min_T_for_fe56ec_fake_factor = min_T_for_fe56ec_fake_factor
1614 1 : s% weak_rate_factor = weak_rate_factor
1615 :
1616 : ! mixing
1617 1 : s% mix_factor = mix_factor
1618 :
1619 1 : s% sig_term_limit = sig_term_limit
1620 :
1621 1 : s% sig_min_factor_for_high_Tcenter = sig_min_factor_for_high_Tcenter
1622 1 : s% Tcenter_min_for_sig_min_factor_full_on = Tcenter_min_for_sig_min_factor_full_on
1623 1 : s% Tcenter_max_for_sig_min_factor_full_off = Tcenter_max_for_sig_min_factor_full_off
1624 1 : s% max_delta_m_to_bdy_for_sig_min_factor = max_delta_m_to_bdy_for_sig_min_factor
1625 1 : s% delta_m_lower_for_sig_min_factor = delta_m_lower_for_sig_min_factor
1626 1 : s% delta_m_upper_for_sig_min_factor = delta_m_upper_for_sig_min_factor
1627 :
1628 1 : s% am_sig_term_limit = am_sig_term_limit
1629 1 : s% am_D_mix_factor = am_D_mix_factor
1630 1 : s% am_gradmu_factor = am_gradmu_factor
1631 1 : s% am_nu_factor = am_nu_factor
1632 :
1633 1 : s% D_visc_factor = D_visc_factor
1634 1 : s% D_DSI_factor = D_DSI_factor
1635 1 : s% D_SH_factor = D_SH_factor
1636 1 : s% D_SSI_factor = D_SSI_factor
1637 1 : s% D_ES_factor = D_ES_factor
1638 1 : s% D_GSF_factor = D_GSF_factor
1639 1 : s% D_ST_factor = D_ST_factor
1640 :
1641 1 : s% am_nu_non_rotation_factor = am_nu_non_rotation_factor
1642 1 : s% skip_rotation_in_convection_zones = skip_rotation_in_convection_zones
1643 1 : s% am_nu_DSI_factor = am_nu_DSI_factor
1644 1 : s% am_nu_SH_factor = am_nu_SH_factor
1645 1 : s% am_nu_SSI_factor = am_nu_SSI_factor
1646 1 : s% am_nu_ES_factor = am_nu_ES_factor
1647 1 : s% am_nu_GSF_factor = am_nu_GSF_factor
1648 1 : s% am_nu_ST_factor = am_nu_ST_factor
1649 1 : s% am_nu_visc_factor = am_nu_visc_factor
1650 :
1651 1 : s% am_nu_omega_rot_factor = am_nu_omega_rot_factor
1652 1 : s% am_nu_omega_non_rot_factor = am_nu_omega_non_rot_factor
1653 1 : s% am_nu_j_rot_factor = am_nu_j_rot_factor
1654 1 : s% am_nu_j_non_rot_factor = am_nu_j_non_rot_factor
1655 :
1656 1 : s% smooth_nu_ST = smooth_nu_ST
1657 1 : s% smooth_D_ST = smooth_D_ST
1658 1 : s% smooth_D_DSI = smooth_D_DSI
1659 1 : s% smooth_D_SSI = smooth_D_SSI
1660 1 : s% smooth_D_SH = smooth_D_SH
1661 1 : s% smooth_D_GSF = smooth_D_GSF
1662 1 : s% smooth_D_ES = smooth_D_ES
1663 1 : s% smooth_D_omega = smooth_D_omega
1664 1 : s% smooth_am_nu_rot = smooth_am_nu_rot
1665 1 : s% ST_angsmt = ST_angsmt
1666 1 : s% ST_angsml = ST_angsml
1667 :
1668 1 : s% simple_i_rot_flag = simple_i_rot_flag
1669 1 : s% do_adjust_J_lost = do_adjust_J_lost
1670 1 : s% premix_omega = premix_omega
1671 1 : s% angular_momentum_error_warn = angular_momentum_error_warn
1672 1 : s% angular_momentum_error_retry = angular_momentum_error_retry
1673 1 : s% recalc_mixing_info_each_substep = recalc_mixing_info_each_substep
1674 1 : s% adjust_J_fraction = adjust_J_fraction
1675 1 : s% min_q_for_adjust_J_lost = min_q_for_adjust_J_lost
1676 1 : s% min_J_div_delta_J = min_J_div_delta_J
1677 1 : s% max_mdot_redo_cnt = max_mdot_redo_cnt
1678 1 : s% mdot_revise_factor = mdot_revise_factor
1679 1 : s% implicit_mdot_boost = implicit_mdot_boost
1680 1 : s% min_years_dt_for_redo_mdot = min_years_dt_for_redo_mdot
1681 1 : s% surf_omega_div_omega_crit_limit = surf_omega_div_omega_crit_limit
1682 1 : s% surf_omega_div_omega_crit_tol = surf_omega_div_omega_crit_tol
1683 1 : s% w_div_wcrit_max = w_div_wcrit_max
1684 1 : s% w_div_wcrit_max2 = w_div_wcrit_max2
1685 :
1686 1 : s% D_mix_rotation_max_logT_full_on = D_mix_rotation_max_logT_full_on
1687 1 : s% D_mix_rotation_min_logT_full_off = D_mix_rotation_min_logT_full_off
1688 1 : s% D_mix_rotation_min_tau_full_off = D_mix_rotation_min_tau_full_off
1689 1 : s% D_mix_rotation_min_tau_full_on = D_mix_rotation_min_tau_full_on
1690 :
1691 1 : s% set_uniform_am_nu_non_rot = set_uniform_am_nu_non_rot
1692 1 : s% uniform_am_nu_non_rot = uniform_am_nu_non_rot
1693 :
1694 1 : s% set_min_am_nu_non_rot = set_min_am_nu_non_rot
1695 1 : s% min_am_nu_non_rot = min_am_nu_non_rot
1696 1 : s% min_center_Ye_for_min_am_nu_non_rot = min_center_Ye_for_min_am_nu_non_rot
1697 :
1698 1 : s% set_min_D_mix = set_min_D_mix
1699 1 : s% mass_lower_limit_for_min_D_mix = mass_lower_limit_for_min_D_mix
1700 1 : s% mass_upper_limit_for_min_D_mix = mass_upper_limit_for_min_D_mix
1701 1 : s% min_D_mix = min_D_mix
1702 1 : s% set_min_D_mix_below_Tmax = set_min_D_mix_below_Tmax
1703 1 : s% min_D_mix_below_Tmax = min_D_mix_below_Tmax
1704 1 : s% set_min_D_mix_in_H_He = set_min_D_mix_in_H_He
1705 1 : s% min_D_mix_in_H_He = min_D_mix_in_H_He
1706 1 : s% min_center_Ye_for_min_D_mix = min_center_Ye_for_min_D_mix
1707 1 : s% reaction_neuQs_factor = reaction_neuQs_factor
1708 1 : s% nonlocal_NiCo_kap_gamma = nonlocal_NiCo_kap_gamma
1709 1 : s% nonlocal_NiCo_decay_heat = nonlocal_NiCo_decay_heat
1710 1 : s% dtau_gamma_NiCo_decay_heat = dtau_gamma_NiCo_decay_heat
1711 1 : s% max_logT_for_net = max_logT_for_net
1712 1 : s% smooth_outer_xa_big = smooth_outer_xa_big
1713 1 : s% smooth_outer_xa_small = smooth_outer_xa_small
1714 :
1715 : ! element diffusion parameters
1716 1 : s% diffusion_use_iben_macdonald = diffusion_use_iben_macdonald
1717 1 : s% diffusion_use_paquette = diffusion_use_paquette
1718 1 : s% diffusion_use_caplan = diffusion_use_caplan
1719 1 : s% diffusion_use_cgs_solver = diffusion_use_cgs_solver
1720 1 : s% diffusion_use_full_net = diffusion_use_full_net
1721 1 : s% do_WD_sedimentation_heating = do_WD_sedimentation_heating
1722 1 : s% min_xa_for_WD_sedimentation_heating = min_xa_for_WD_sedimentation_heating
1723 1 : s% do_diffusion_heating = do_diffusion_heating
1724 1 : s% do_element_diffusion = do_element_diffusion
1725 1 : s% cgs_thermal_diffusion_eta_full_on = cgs_thermal_diffusion_eta_full_on
1726 1 : s% cgs_thermal_diffusion_eta_full_off = cgs_thermal_diffusion_eta_full_off
1727 1 : s% diffusion_min_dq_at_surface = diffusion_min_dq_at_surface
1728 1 : s% diffusion_min_T_at_surface = diffusion_min_T_at_surface
1729 1 : s% diffusion_min_dq_ratio_at_surface = diffusion_min_dq_ratio_at_surface
1730 1 : s% diffusion_dt_limit = diffusion_dt_limit
1731 :
1732 1 : s% diffusion_min_X_hard_limit = diffusion_min_X_hard_limit
1733 1 : s% diffusion_X_total_atol = diffusion_X_total_atol
1734 1 : s% diffusion_X_total_rtol = diffusion_X_total_rtol
1735 1 : s% diffusion_upwind_abs_v_limit = diffusion_upwind_abs_v_limit
1736 1 : s% diffusion_dt_div_timescale = diffusion_dt_div_timescale
1737 1 : s% diffusion_min_num_substeps = diffusion_min_num_substeps
1738 1 : s% diffusion_max_iters_per_substep = diffusion_max_iters_per_substep
1739 1 : s% diffusion_max_retries_per_substep = diffusion_max_retries_per_substep
1740 1 : s% diffusion_v_max = diffusion_v_max
1741 1 : s% diffusion_gamma_full_off = diffusion_gamma_full_off
1742 1 : s% diffusion_gamma_full_on = diffusion_gamma_full_on
1743 1 : s% diffusion_T_full_off = diffusion_T_full_off
1744 1 : s% D_mix_ignore_diffusion = D_mix_ignore_diffusion
1745 1 : s% diffusion_T_full_on = diffusion_T_full_on
1746 1 : s% diffusion_calculates_ionization = diffusion_calculates_ionization
1747 1 : s% diffusion_nsmooth_typical_charge = diffusion_nsmooth_typical_charge
1748 1 : s% diffusion_tol_correction_max = diffusion_tol_correction_max
1749 1 : s% diffusion_tol_correction_norm = diffusion_tol_correction_norm
1750 :
1751 1 : s% diffusion_AD_dm_full_on = diffusion_AD_dm_full_on
1752 1 : s% diffusion_AD_dm_full_off = diffusion_AD_dm_full_off
1753 1 : s% diffusion_AD_boost_factor = diffusion_AD_boost_factor
1754 :
1755 1 : s% diffusion_SIG_factor = diffusion_SIG_factor
1756 1 : s% diffusion_GT_factor = diffusion_GT_factor
1757 :
1758 1 : s% diffusion_Vlimit_dm_full_on = diffusion_Vlimit_dm_full_on
1759 1 : s% diffusion_Vlimit_dm_full_off = diffusion_Vlimit_dm_full_off
1760 1 : s% diffusion_Vlimit = diffusion_Vlimit
1761 :
1762 1 : s% diffusion_max_T_for_radaccel = diffusion_max_T_for_radaccel
1763 1 : s% diffusion_min_T_for_radaccel = diffusion_min_T_for_radaccel
1764 1 : s% diffusion_max_Z_for_radaccel = diffusion_max_Z_for_radaccel
1765 1 : s% diffusion_min_Z_for_radaccel = diffusion_min_Z_for_radaccel
1766 1 : s% diffusion_screening_for_radaccel = diffusion_screening_for_radaccel
1767 1 : s% op_mono_data_path = op_mono_data_path
1768 1 : s% op_mono_data_cache_filename = op_mono_data_cache_filename
1769 1 : s% emesh_data_for_op_mono_path = emesh_data_for_op_mono_path
1770 1 : s% op_mono_method = op_mono_method
1771 :
1772 1 : s% show_diffusion_info = show_diffusion_info
1773 1 : s% show_diffusion_substep_info = show_diffusion_substep_info
1774 1 : s% show_diffusion_timing = show_diffusion_timing
1775 :
1776 1 : s% diffusion_num_classes = diffusion_num_classes
1777 101 : s% diffusion_class_representative = diffusion_class_representative
1778 101 : s% diffusion_class_A_max = diffusion_class_A_max
1779 101 : s% diffusion_class_typical_charge = diffusion_class_typical_charge
1780 101 : s% diffusion_class_factor = diffusion_class_factor
1781 :
1782 1 : s% diffusion_use_isolve = diffusion_use_isolve
1783 1 : s% diffusion_rtol_for_isolve = diffusion_rtol_for_isolve
1784 1 : s% diffusion_atol_for_isolve = diffusion_atol_for_isolve
1785 1 : s% diffusion_maxsteps_for_isolve = diffusion_maxsteps_for_isolve
1786 1 : s% diffusion_isolve_solver = diffusion_isolve_solver
1787 :
1788 : ! WD phase separation
1789 1 : s% do_phase_separation = do_phase_separation
1790 1 : s% phase_separation_option = phase_separation_option
1791 1 : s% do_phase_separation_heating = do_phase_separation_heating
1792 1 : s% phase_separation_mixing_use_brunt = phase_separation_mixing_use_brunt
1793 1 : s% phase_separation_no_diffusion = phase_separation_no_diffusion
1794 :
1795 : ! eos controls
1796 1 : s% fix_d_eos_dxa_partials = fix_d_eos_dxa_partials
1797 :
1798 : ! opacity controls
1799 1 : s% use_simple_es_for_kap = use_simple_es_for_kap
1800 1 : s% use_starting_composition_for_kap = use_starting_composition_for_kap
1801 :
1802 1 : s% min_kap_for_dPrad_dm_eqn = min_kap_for_dPrad_dm_eqn
1803 1 : s% low_logT_op_mono_full_off = low_logT_op_mono_full_off
1804 1 : s% low_logT_op_mono_full_on = low_logT_op_mono_full_on
1805 1 : s% high_logT_op_mono_full_off = high_logT_op_mono_full_off
1806 1 : s% high_logT_op_mono_full_on = high_logT_op_mono_full_on
1807 1 : s% op_mono_min_X_to_include = op_mono_min_X_to_include
1808 1 : s% use_op_mono_alt_get_kap = use_op_mono_alt_get_kap
1809 :
1810 1 : s% include_L_in_correction_limits = include_L_in_correction_limits
1811 1 : s% include_v_in_correction_limits = include_v_in_correction_limits
1812 1 : s% include_u_in_correction_limits = include_u_in_correction_limits
1813 1 : s% include_w_in_correction_limits = include_w_in_correction_limits
1814 :
1815 : ! asteroseismology controls
1816 :
1817 1 : s% get_delta_nu_from_scaled_solar = get_delta_nu_from_scaled_solar
1818 1 : s% nu_max_sun = nu_max_sun
1819 1 : s% delta_nu_sun = delta_nu_sun
1820 1 : s% astero_Teff_sun = astero_Teff_sun
1821 1 : s% delta_Pg_mode_freq = delta_Pg_mode_freq
1822 1 : s% delta_Pg_traditional = delta_Pg_traditional
1823 :
1824 : ! hydro parameters
1825 1 : s% energy_eqn_option = energy_eqn_option
1826 1 : s% opacity_factor = opacity_factor
1827 1 : s% opacity_min = opacity_min
1828 1 : s% opacity_max = opacity_max
1829 1 : s% min_logT_for_opacity_factor_off = min_logT_for_opacity_factor_off
1830 1 : s% min_logT_for_opacity_factor_on = min_logT_for_opacity_factor_on
1831 1 : s% max_logT_for_opacity_factor_on = max_logT_for_opacity_factor_on
1832 1 : s% max_logT_for_opacity_factor_off = max_logT_for_opacity_factor_off
1833 :
1834 1 : s% dxdt_nuc_factor = dxdt_nuc_factor
1835 1 : s% non_nuc_neu_factor = non_nuc_neu_factor
1836 1 : s% use_time_centered_eps_grav = use_time_centered_eps_grav
1837 1 : s% no_dedt_form_during_relax = no_dedt_form_during_relax
1838 1 : s% dedt_eqn_r_scale = dedt_eqn_r_scale
1839 1 : s% use_mass_corrections = use_mass_corrections
1840 1 : s% use_gravity_rotation_correction = use_gravity_rotation_correction
1841 1 : s% eps_grav_factor = eps_grav_factor
1842 1 : s% eps_mdot_factor = eps_mdot_factor
1843 1 : s% include_composition_in_eps_grav = include_composition_in_eps_grav
1844 1 : s% max_abs_rel_change_surf_lnS = max_abs_rel_change_surf_lnS
1845 1 : s% max_num_surf_revisions = max_num_surf_revisions
1846 1 : s% Gamma_lnS_eps_grav_full_off = Gamma_lnS_eps_grav_full_off
1847 1 : s% Gamma_lnS_eps_grav_full_on = Gamma_lnS_eps_grav_full_on
1848 :
1849 1 : s% use_dPrad_dm_form_of_T_gradient_eqn = use_dPrad_dm_form_of_T_gradient_eqn
1850 1 : s% use_flux_limiting_with_dPrad_dm_form = use_flux_limiting_with_dPrad_dm_form
1851 1 : s% use_gradT_actual_vs_gradT_MLT_for_T_gradient_eqn = use_gradT_actual_vs_gradT_MLT_for_T_gradient_eqn
1852 1 : s% include_P_in_velocity_time_centering = include_P_in_velocity_time_centering
1853 1 : s% include_L_in_velocity_time_centering = include_L_in_velocity_time_centering
1854 1 : s% use_P_d_1_div_rho_form_of_work_when_time_centering_velocity = use_P_d_1_div_rho_form_of_work_when_time_centering_velocity
1855 1 : s% steps_before_use_velocity_time_centering = steps_before_use_velocity_time_centering
1856 1 : s% P_theta_for_velocity_time_centering = P_theta_for_velocity_time_centering
1857 1 : s% L_theta_for_velocity_time_centering = L_theta_for_velocity_time_centering
1858 :
1859 1 : s% RTI_A = RTI_A
1860 1 : s% RTI_B = RTI_B
1861 1 : s% RTI_C = RTI_C
1862 1 : s% RTI_D = RTI_D
1863 1 : s% RTI_max_alpha = RTI_max_alpha
1864 1 : s% RTI_C_X_factor = RTI_C_X_factor
1865 1 : s% RTI_C_X0_frac = RTI_C_X0_frac
1866 1 : s% RTI_dm_for_center_eta_nondecreasing = RTI_dm_for_center_eta_nondecreasing
1867 1 : s% RTI_min_dm_behind_shock_for_full_on = RTI_min_dm_behind_shock_for_full_on
1868 1 : s% RTI_energy_floor = RTI_energy_floor
1869 1 : s% RTI_D_mix_floor = RTI_D_mix_floor
1870 1 : s% RTI_min_m_for_D_mix_floor = RTI_min_m_for_D_mix_floor
1871 1 : s% RTI_log_max_boost = RTI_log_max_boost
1872 1 : s% RTI_m_full_boost = RTI_m_full_boost
1873 1 : s% RTI_m_no_boost = RTI_m_no_boost
1874 :
1875 1 : s% use_drag_energy = use_drag_energy
1876 1 : s% drag_coefficient = drag_coefficient
1877 1 : s% min_q_for_drag = min_q_for_drag
1878 1 : s% v_drag_factor = v_drag_factor
1879 1 : s% v_drag = v_drag
1880 1 : s% q_for_v_drag_full_off = q_for_v_drag_full_off
1881 1 : s% q_for_v_drag_full_on = q_for_v_drag_full_on
1882 :
1883 :
1884 1 : s% velocity_logT_lower_bound = velocity_logT_lower_bound
1885 1 : s% max_dt_yrs_for_velocity_logT_lower_bound = max_dt_yrs_for_velocity_logT_lower_bound
1886 1 : s% velocity_tau_lower_bound = velocity_tau_lower_bound
1887 1 : s% velocity_q_upper_bound = velocity_q_upper_bound
1888 1 : s% report_max_infall_inside_fe_core = report_max_infall_inside_fe_core
1889 1 : s% retry_for_v_above_clight = retry_for_v_above_clight
1890 :
1891 : ! solvers
1892 :
1893 1 : s% tol_correction_norm = tol_correction_norm
1894 1 : s% tol_max_correction = tol_max_correction
1895 1 : s% correction_xa_limit = correction_xa_limit
1896 :
1897 1 : s% tol_correction_high_T_limit = tol_correction_high_T_limit
1898 1 : s% tol_correction_norm_high_T = tol_correction_norm_high_T
1899 1 : s% tol_max_correction_high_T = tol_max_correction_high_T
1900 :
1901 1 : s% tol_correction_extreme_T_limit = tol_correction_extreme_T_limit
1902 1 : s% tol_correction_norm_extreme_T = tol_correction_norm_extreme_T
1903 1 : s% tol_max_correction_extreme_T = tol_max_correction_extreme_T
1904 :
1905 1 : s% tol_bad_max_correction = tol_bad_max_correction
1906 1 : s% bad_max_correction_series_limit = bad_max_correction_series_limit
1907 :
1908 1 : s% tol_residual_norm1 = tol_residual_norm1
1909 1 : s% tol_max_residual1 = tol_max_residual1
1910 1 : s% tol_residual_norm2 = tol_residual_norm2
1911 1 : s% tol_max_residual2 = tol_max_residual2
1912 1 : s% tol_residual_norm3 = tol_residual_norm3
1913 1 : s% tol_max_residual3 = tol_max_residual3
1914 1 : s% warning_limit_for_max_residual = warning_limit_for_max_residual
1915 1 : s% trace_solver_damping = trace_solver_damping
1916 :
1917 1 : s% relax_use_gold_tolerances = relax_use_gold_tolerances
1918 1 : s% relax_tol_correction_norm = relax_tol_correction_norm
1919 1 : s% relax_tol_max_correction = relax_tol_max_correction
1920 1 : s% relax_solver_iters_timestep_limit = relax_solver_iters_timestep_limit
1921 1 : s% relax_iter_for_resid_tol2 = relax_iter_for_resid_tol2
1922 1 : s% relax_tol_residual_norm1 = relax_tol_residual_norm1
1923 1 : s% relax_tol_max_residual1 = relax_tol_max_residual1
1924 1 : s% relax_iter_for_resid_tol3 = relax_iter_for_resid_tol3
1925 1 : s% relax_tol_residual_norm2 = relax_tol_residual_norm2
1926 1 : s% relax_tol_max_residual2 = relax_tol_max_residual2
1927 1 : s% relax_tol_residual_norm3 = relax_tol_residual_norm3
1928 1 : s% relax_tol_max_residual3 = relax_tol_max_residual3
1929 1 : s% relax_maxT_for_gold_tolerances = relax_maxT_for_gold_tolerances
1930 :
1931 1 : s% use_gold_tolerances = use_gold_tolerances
1932 1 : s% gold_solver_iters_timestep_limit = gold_solver_iters_timestep_limit
1933 1 : s% maxT_for_gold_tolerances = maxT_for_gold_tolerances
1934 1 : s% gold_tol_residual_norm1 = gold_tol_residual_norm1
1935 1 : s% gold_tol_max_residual1 = gold_tol_max_residual1
1936 1 : s% gold_iter_for_resid_tol2 = gold_iter_for_resid_tol2
1937 1 : s% gold_tol_residual_norm2 = gold_tol_residual_norm2
1938 1 : s% gold_tol_max_residual2 = gold_tol_max_residual2
1939 1 : s% gold_iter_for_resid_tol3 = gold_iter_for_resid_tol3
1940 1 : s% gold_tol_residual_norm3 = gold_tol_residual_norm3
1941 1 : s% gold_tol_max_residual3 = gold_tol_max_residual3
1942 1 : s% steps_before_use_gold_tolerances = steps_before_use_gold_tolerances
1943 :
1944 1 : s% use_gold2_tolerances = use_gold2_tolerances
1945 1 : s% gold2_solver_iters_timestep_limit = gold2_solver_iters_timestep_limit
1946 1 : s% gold2_tol_residual_norm1 = gold2_tol_residual_norm1
1947 1 : s% gold2_tol_max_residual1 = gold2_tol_max_residual1
1948 1 : s% gold2_iter_for_resid_tol2 = gold2_iter_for_resid_tol2
1949 1 : s% gold2_tol_residual_norm2 = gold2_tol_residual_norm2
1950 1 : s% gold2_tol_max_residual2 = gold2_tol_max_residual2
1951 1 : s% gold2_iter_for_resid_tol3 = gold2_iter_for_resid_tol3
1952 1 : s% gold2_tol_residual_norm3 = gold2_tol_residual_norm3
1953 1 : s% gold2_tol_max_residual3 = gold2_tol_max_residual3
1954 1 : s% steps_before_use_gold2_tolerances = steps_before_use_gold2_tolerances
1955 :
1956 1 : s% include_rotation_in_total_energy = include_rotation_in_total_energy
1957 :
1958 1 : s% convergence_ignore_equL_residuals = convergence_ignore_equL_residuals
1959 1 : s% convergence_ignore_alpha_RTI_residuals = convergence_ignore_alpha_RTI_residuals
1960 :
1961 1 : s% iter_for_resid_tol2 = iter_for_resid_tol2
1962 1 : s% iter_for_resid_tol3 = iter_for_resid_tol3
1963 :
1964 1 : s% solver_itermin = solver_itermin
1965 1 : s% solver_itermin_until_reduce_min_corr_coeff = solver_itermin_until_reduce_min_corr_coeff
1966 1 : s% solver_reduced_min_corr_coeff = solver_reduced_min_corr_coeff
1967 1 : s% do_solver_damping_for_neg_xa = do_solver_damping_for_neg_xa
1968 1 : s% scale_max_correction_for_negative_surf_lum = scale_max_correction_for_negative_surf_lum
1969 1 : s% max_frac_for_negative_surf_lum = max_frac_for_negative_surf_lum
1970 1 : s% hydro_mtx_max_allowed_abs_dlogT = hydro_mtx_max_allowed_abs_dlogT
1971 1 : s% hydro_mtx_max_allowed_abs_dlogRho = hydro_mtx_max_allowed_abs_dlogRho
1972 1 : s% min_logT_for_hydro_mtx_max_allowed = min_logT_for_hydro_mtx_max_allowed
1973 1 : s% hydro_mtx_max_allowed_logT = hydro_mtx_max_allowed_logT
1974 1 : s% hydro_mtx_max_allowed_logRho = hydro_mtx_max_allowed_logRho
1975 1 : s% hydro_mtx_min_allowed_logT = hydro_mtx_min_allowed_logT
1976 1 : s% hydro_mtx_min_allowed_logRho = hydro_mtx_min_allowed_logRho
1977 :
1978 1 : s% use_DGESVX_in_bcyclic = use_DGESVX_in_bcyclic
1979 1 : s% use_equilibration_in_DGESVX = use_equilibration_in_DGESVX
1980 1 : s% report_min_rcond_from_DGESXV = report_min_rcond_from_DGESXV
1981 :
1982 1 : s% op_split_burn = op_split_burn
1983 1 : s% op_split_burn_min_T = op_split_burn_min_T
1984 1 : s% op_split_burn_eps = op_split_burn_eps
1985 1 : s% op_split_burn_odescal = op_split_burn_odescal
1986 1 : s% op_split_burn_min_T_for_variable_T_solver = op_split_burn_min_T_for_variable_T_solver
1987 :
1988 1 : s% tiny_corr_coeff_limit = tiny_corr_coeff_limit
1989 1 : s% scale_correction_norm = scale_correction_norm
1990 1 : s% num_times_solver_reuse_mtx = num_times_solver_reuse_mtx
1991 1 : s% corr_param_factor = corr_param_factor
1992 1 : s% scale_max_correction = scale_max_correction
1993 1 : s% ignore_min_corr_coeff_for_scale_max_correction = ignore_min_corr_coeff_for_scale_max_correction
1994 1 : s% ignore_too_large_correction = ignore_too_large_correction
1995 1 : s% ignore_species_in_max_correction = ignore_species_in_max_correction
1996 :
1997 1 : s% corr_norm_jump_limit = corr_norm_jump_limit
1998 1 : s% max_corr_jump_limit = max_corr_jump_limit
1999 1 : s% resid_norm_jump_limit = resid_norm_jump_limit
2000 1 : s% max_resid_jump_limit = max_resid_jump_limit
2001 :
2002 1 : s% corr_coeff_limit = corr_coeff_limit
2003 1 : s% tiny_corr_factor = tiny_corr_factor
2004 :
2005 1 : s% solver_max_tries_before_reject = solver_max_tries_before_reject
2006 1 : s% max_tries1 = max_tries1
2007 1 : s% max_tries_for_retry = max_tries_for_retry
2008 1 : s% max_tries_after_5_retries = max_tries_after_5_retries
2009 1 : s% max_tries_after_10_retries = max_tries_after_10_retries
2010 1 : s% max_tries_after_20_retries = max_tries_after_20_retries
2011 1 : s% retry_limit = retry_limit
2012 1 : s% redo_limit = redo_limit
2013 :
2014 1 : s% use_Pvsc_art_visc = use_Pvsc_art_visc
2015 1 : s% Pvsc_cq = Pvsc_cq
2016 1 : s% Pvsc_zsh = Pvsc_zsh
2017 :
2018 1 : s% min_xa_hard_limit = min_xa_hard_limit
2019 1 : s% min_xa_hard_limit_for_highT = min_xa_hard_limit_for_highT
2020 1 : s% logT_max_for_min_xa_hard_limit = logT_max_for_min_xa_hard_limit
2021 1 : s% logT_min_for_min_xa_hard_limit_for_highT = logT_min_for_min_xa_hard_limit_for_highT
2022 :
2023 1 : s% sum_xa_hard_limit = sum_xa_hard_limit
2024 1 : s% sum_xa_hard_limit_for_highT = sum_xa_hard_limit_for_highT
2025 1 : s% logT_max_for_sum_xa_hard_limit = logT_max_for_sum_xa_hard_limit
2026 1 : s% logT_min_for_sum_xa_hard_limit_for_highT = logT_min_for_sum_xa_hard_limit_for_highT
2027 :
2028 1 : s% xa_clip_limit = xa_clip_limit
2029 1 : s% report_solver_progress = report_solver_progress
2030 1 : s% solver_test_partials_call_number = solver_test_partials_call_number
2031 1 : s% solver_test_partials_iter_number = solver_test_partials_iter_number
2032 1 : s% solver_epsder_chem = solver_epsder_chem
2033 1 : s% solver_epsder_struct = solver_epsder_struct
2034 1 : s% solver_numerical_jacobian = solver_numerical_jacobian
2035 1 : s% solver_jacobian_nzlo = solver_jacobian_nzlo
2036 1 : s% solver_jacobian_nzhi = solver_jacobian_nzhi
2037 1 : s% solver_check_everything = solver_check_everything
2038 1 : s% energy_conservation_dump_model_number = energy_conservation_dump_model_number
2039 1 : s% solver_inspect_soln_flag = solver_inspect_soln_flag
2040 1 : s% solver_test_partials_dx_0 = solver_test_partials_dx_0
2041 1 : s% solver_test_partials_k = solver_test_partials_k
2042 1 : s% solver_test_partials_k_low = solver_test_partials_k_low
2043 1 : s% solver_test_partials_k_high = solver_test_partials_k_high
2044 1 : s% solver_show_correction_info = solver_show_correction_info
2045 1 : s% solver_test_partials_write_eos_call_info = solver_test_partials_write_eos_call_info
2046 1 : s% solver_test_eos_partials = solver_test_eos_partials
2047 1 : s% solver_test_kap_partials = solver_test_kap_partials
2048 1 : s% solver_test_net_partials = solver_test_net_partials
2049 1 : s% solver_test_atm_partials = solver_test_atm_partials
2050 1 : s% solver_test_partials_var_name = solver_test_partials_var_name
2051 1 : s% solver_test_partials_sink_name = solver_test_partials_sink_name
2052 1 : s% solver_test_partials_equ_name = solver_test_partials_equ_name
2053 1 : s% solver_test_partials_show_dx_var_name = solver_test_partials_show_dx_var_name
2054 1 : s% solver_save_photo_call_number = solver_save_photo_call_number
2055 1 : s% fill_arrays_with_NaNs = fill_arrays_with_NaNs
2056 1 : s% zero_when_allocate = zero_when_allocate
2057 1 : s% warn_when_large_rel_run_E_err = warn_when_large_rel_run_E_err
2058 1 : s% absolute_cumulative_energy_err = absolute_cumulative_energy_err
2059 1 : s% warn_when_large_virial_thm_rel_err = warn_when_large_virial_thm_rel_err
2060 1 : s% warn_when_get_a_bad_eos_result = warn_when_get_a_bad_eos_result
2061 1 : s% warn_rates_for_high_temp = warn_rates_for_high_temp
2062 1 : s% max_safe_logT_for_rates = max_safe_logT_for_rates
2063 1 : s% eps_mdot_leak_frac_factor = eps_mdot_leak_frac_factor
2064 :
2065 1 : s% alpha_TDC_DAMP = alpha_TDC_DAMP
2066 1 : s% alpha_TDC_DAMPR = alpha_TDC_DAMPR
2067 1 : s% alpha_TDC_PtdVdt = alpha_TDC_PtdVdt
2068 1 : s% compare_TDC_to_MLT = compare_TDC_to_MLT
2069 :
2070 1 : s% RSP2_alfap = RSP2_alfap
2071 1 : s% RSP2_alfad = RSP2_alfad
2072 1 : s% RSP2_alfat = RSP2_alfat
2073 1 : s% RSP2_alfam = RSP2_alfam
2074 1 : s% RSP2_alfar = RSP2_alfar
2075 1 : s% RSP2_min_Lt_div_L_for_overshooting_mixing_type = RSP2_min_Lt_div_L_for_overshooting_mixing_type
2076 1 : s% RSP2_min_Lc_div_L_for_convective_mixing_type = RSP2_min_Lc_div_L_for_convective_mixing_type
2077 1 : s% RSP2_Lsurf_factor = RSP2_Lsurf_factor
2078 1 : s% RSP2_use_Stellingwerf_Lr = RSP2_use_Stellingwerf_Lr
2079 1 : s% RSP2_remesh_when_load = RSP2_remesh_when_load
2080 1 : s% RSP2_use_L_eqn_at_surface = RSP2_use_L_eqn_at_surface
2081 1 : s% RSP2_report_adjust_w = RSP2_report_adjust_w
2082 1 : s% RSP2_assume_HSE = RSP2_assume_HSE
2083 1 : s% RSP2_use_RSP_eqn_for_Y_face = RSP2_use_RSP_eqn_for_Y_face
2084 1 : s% RSP2_use_mass_interp_face_values = RSP2_use_mass_interp_face_values
2085 1 : s% RSP2_num_outermost_cells_forced_nonturbulent = RSP2_num_outermost_cells_forced_nonturbulent
2086 1 : s% RSP2_num_innermost_cells_forced_nonturbulent = RSP2_num_innermost_cells_forced_nonturbulent
2087 1 : s% RSP2_T_anchor = RSP2_T_anchor
2088 1 : s% RSP2_dq_1_factor = RSP2_dq_1_factor
2089 1 : s% RSP2_nz = RSP2_nz
2090 1 : s% RSP2_nz_outer = RSP2_nz_outer
2091 1 : s% RSP2_nz_div_IBOTOM = RSP2_nz_div_IBOTOM
2092 1 : s% RSP2_target_steps_per_cycle = RSP2_target_steps_per_cycle
2093 1 : s% RSP2_max_num_periods = RSP2_max_num_periods
2094 1 : s% RSP2_work_period = RSP2_work_period
2095 1 : s% RSP2_map_first_period = RSP2_map_first_period
2096 1 : s% RSP2_map_last_period = RSP2_map_last_period
2097 1 : s% RSP2_min_max_R_for_periods = RSP2_min_max_R_for_periods
2098 1 : s% RSP2_GREKM_avg_abs_frac_new = RSP2_GREKM_avg_abs_frac_new
2099 1 : s% RSP2_GREKM_avg_abs_limit = RSP2_GREKM_avg_abs_limit
2100 1 : s% RSP2_map_zone_interval = RSP2_map_zone_interval
2101 1 : s% RSP2_work_filename = RSP2_work_filename
2102 1 : s% RSP2_map_columns_filename = RSP2_map_columns_filename
2103 1 : s% RSP2_map_filename = RSP2_map_filename
2104 1 : s% RSP2_map_history_filename = RSP2_map_history_filename
2105 1 : s% RSP2_write_map = RSP2_write_map
2106 1 : s% RSP2_w_min_for_damping = RSP2_w_min_for_damping
2107 1 : s% RSP2_source_seed = RSP2_source_seed
2108 1 : s% RSP2_w_fix_if_neg = RSP2_w_fix_if_neg
2109 :
2110 1 : s% max_X_for_conv_timescale = max_X_for_conv_timescale
2111 1 : s% min_X_for_conv_timescale = min_X_for_conv_timescale
2112 1 : s% max_q_for_conv_timescale = max_q_for_conv_timescale
2113 1 : s% min_q_for_conv_timescale = min_q_for_conv_timescale
2114 1 : s% max_q_for_QHSE_timescale = max_q_for_QHSE_timescale
2115 1 : s% min_q_for_QHSE_timescale = min_q_for_QHSE_timescale
2116 :
2117 : ! timestep
2118 1 : s% max_timestep = max_timestep
2119 1 : s% max_years_for_timestep = max_years_for_timestep
2120 :
2121 1 : s% hi_T_max_years_for_timestep = hi_T_max_years_for_timestep
2122 1 : s% max_timestep_hi_T_limit = max_timestep_hi_T_limit
2123 :
2124 1 : s% min_timestep_factor = min_timestep_factor
2125 1 : s% max_timestep_factor = max_timestep_factor
2126 1 : s% max_timestep_factor_at_high_T = max_timestep_factor_at_high_T
2127 1 : s% min_logT_for_max_timestep_factor_at_high_T = min_logT_for_max_timestep_factor_at_high_T
2128 1 : s% time_delta_coeff = time_delta_coeff
2129 1 : s% timestep_factor_for_retries = timestep_factor_for_retries
2130 1 : s% retry_hold = retry_hold
2131 1 : s% neg_mass_fraction_hold = neg_mass_fraction_hold
2132 1 : s% timestep_dt_factor = timestep_dt_factor
2133 1 : s% use_dt_low_pass_controller = use_dt_low_pass_controller
2134 :
2135 1 : s% force_timestep_min = force_timestep_min
2136 1 : s% force_timestep_min_years = force_timestep_min_years
2137 1 : s% force_timestep_min_factor = force_timestep_min_factor
2138 1 : s% force_timestep = force_timestep
2139 1 : s% force_timestep_years = force_timestep_years
2140 :
2141 1 : s% varcontrol_target = varcontrol_target
2142 1 : s% min_allowed_varcontrol_target = min_allowed_varcontrol_target
2143 1 : s% varcontrol_dt_limit_ratio_hard_max = varcontrol_dt_limit_ratio_hard_max
2144 1 : s% xa_scale = xa_scale
2145 :
2146 1 : s% solver_iters_timestep_limit = solver_iters_timestep_limit
2147 :
2148 1 : s% burn_steps_limit = burn_steps_limit
2149 1 : s% burn_steps_hard_limit = burn_steps_hard_limit
2150 :
2151 1 : s% diffusion_steps_limit = diffusion_steps_limit
2152 1 : s% diffusion_steps_hard_limit = diffusion_steps_hard_limit
2153 1 : s% diffusion_iters_limit = diffusion_iters_limit
2154 1 : s% diffusion_iters_hard_limit = diffusion_iters_hard_limit
2155 :
2156 1 : s% dt_div_dt_cell_collapse_limit = dt_div_dt_cell_collapse_limit
2157 1 : s% dt_div_dt_cell_collapse_hard_limit = dt_div_dt_cell_collapse_hard_limit
2158 1 : s% dt_div_min_dr_div_cs_limit = dt_div_min_dr_div_cs_limit
2159 1 : s% dt_div_min_dr_div_cs_hard_limit = dt_div_min_dr_div_cs_hard_limit
2160 :
2161 1 : s% min_abs_du_div_cs_for_dt_div_min_dr_div_cs_limit = min_abs_du_div_cs_for_dt_div_min_dr_div_cs_limit
2162 1 : s% min_abs_u_div_cs_for_dt_div_min_dr_div_cs_limit = min_abs_u_div_cs_for_dt_div_min_dr_div_cs_limit
2163 1 : s% min_k_for_dt_div_min_dr_div_cs_limit = min_k_for_dt_div_min_dr_div_cs_limit
2164 1 : s% min_q_for_dt_div_min_dr_div_cs_limit = min_q_for_dt_div_min_dr_div_cs_limit
2165 1 : s% max_q_for_dt_div_min_dr_div_cs_limit = max_q_for_dt_div_min_dr_div_cs_limit
2166 1 : s% check_remnant_only_for_dt_div_min_dr_div_cs_limit = check_remnant_only_for_dt_div_min_dr_div_cs_limit
2167 :
2168 1 : s% dX_mix_dist_limit = dX_mix_dist_limit
2169 :
2170 101 : s% dX_limit_species = dX_limit_species
2171 101 : s% dX_limit_min_X = dX_limit_min_X
2172 101 : s% dX_limit = dX_limit
2173 101 : s% dX_hard_limit = dX_hard_limit
2174 101 : s% dX_div_X_limit_min_X = dX_div_X_limit_min_X
2175 101 : s% dX_div_X_limit = dX_div_X_limit
2176 101 : s% dX_div_X_hard_limit = dX_div_X_hard_limit
2177 101 : s% dX_div_X_at_high_T_limit = dX_div_X_at_high_T_limit
2178 101 : s% dX_div_X_at_high_T_hard_limit = dX_div_X_at_high_T_hard_limit
2179 101 : s% dX_div_X_at_high_T_limit_lgT_min = dX_div_X_at_high_T_limit_lgT_min
2180 :
2181 101 : s% dX_decreases_only = dX_decreases_only
2182 :
2183 1 : s% dX_nuc_drop_min_X_limit = dX_nuc_drop_min_X_limit
2184 1 : s% dX_nuc_drop_max_A_limit = dX_nuc_drop_max_A_limit
2185 1 : s% dX_nuc_drop_limit = dX_nuc_drop_limit
2186 1 : s% dX_nuc_drop_limit_at_high_T = dX_nuc_drop_limit_at_high_T
2187 1 : s% dX_nuc_drop_hard_limit = dX_nuc_drop_hard_limit
2188 1 : s% dX_nuc_drop_min_yrs_for_dt = dX_nuc_drop_min_yrs_for_dt
2189 :
2190 1 : s% dL_div_L_limit_min_L = dL_div_L_limit_min_L
2191 1 : s% dL_div_L_limit = dL_div_L_limit
2192 1 : s% dL_div_L_hard_limit = dL_div_L_hard_limit
2193 :
2194 1 : s% delta_lgP_limit = delta_lgP_limit
2195 1 : s% delta_lgP_hard_limit = delta_lgP_hard_limit
2196 1 : s% delta_lgP_limit_min_lgP = delta_lgP_limit_min_lgP
2197 :
2198 1 : s% delta_lgRho_limit = delta_lgRho_limit
2199 1 : s% delta_lgRho_hard_limit = delta_lgRho_hard_limit
2200 1 : s% delta_lgRho_limit_min_lgRho = delta_lgRho_limit_min_lgRho
2201 :
2202 1 : s% delta_lgT_limit = delta_lgT_limit
2203 1 : s% delta_lgT_hard_limit = delta_lgT_hard_limit
2204 1 : s% delta_lgT_limit_min_lgT = delta_lgT_limit_min_lgT
2205 :
2206 1 : s% delta_lgE_limit = delta_lgE_limit
2207 1 : s% delta_lgE_hard_limit = delta_lgE_hard_limit
2208 1 : s% delta_lgE_limit_min_lgE = delta_lgE_limit_min_lgE
2209 :
2210 1 : s% delta_lgR_limit = delta_lgR_limit
2211 1 : s% delta_lgR_hard_limit = delta_lgR_hard_limit
2212 1 : s% delta_lgR_limit_min_lgR = delta_lgR_limit_min_lgR
2213 :
2214 1 : s% delta_Ye_highT_limit = delta_Ye_highT_limit
2215 1 : s% delta_Ye_highT_hard_limit = delta_Ye_highT_hard_limit
2216 1 : s% minT_for_highT_Ye_limit = minT_for_highT_Ye_limit
2217 :
2218 1 : s% delta_lgL_nuc_cat_limit = delta_lgL_nuc_cat_limit
2219 1 : s% delta_lgL_nuc_cat_hard_limit = delta_lgL_nuc_cat_hard_limit
2220 1 : s% lgL_nuc_cat_burn_min = lgL_nuc_cat_burn_min
2221 1 : s% lgL_nuc_mix_dist_limit = lgL_nuc_mix_dist_limit
2222 :
2223 1 : s% delta_lgL_H_limit = delta_lgL_H_limit
2224 1 : s% delta_lgL_H_hard_limit = delta_lgL_H_hard_limit
2225 1 : s% lgL_H_burn_min = lgL_H_burn_min
2226 1 : s% lgL_H_drop_factor = lgL_H_drop_factor
2227 1 : s% lgL_H_burn_relative_limit = lgL_H_burn_relative_limit
2228 :
2229 1 : s% delta_lgL_He_limit = delta_lgL_He_limit
2230 1 : s% delta_lgL_He_hard_limit = delta_lgL_He_hard_limit
2231 1 : s% lgL_He_burn_min = lgL_He_burn_min
2232 1 : s% lgL_He_drop_factor = lgL_He_drop_factor
2233 1 : s% lgL_He_burn_relative_limit = lgL_He_burn_relative_limit
2234 :
2235 1 : s% delta_lgL_z_limit = delta_lgL_z_limit
2236 1 : s% delta_lgL_z_hard_limit = delta_lgL_z_hard_limit
2237 1 : s% lgL_z_burn_min = lgL_z_burn_min
2238 1 : s% lgL_z_drop_factor = lgL_z_drop_factor
2239 1 : s% lgL_z_burn_relative_limit = lgL_z_burn_relative_limit
2240 :
2241 1 : s% delta_lgL_power_photo_limit = delta_lgL_power_photo_limit
2242 1 : s% delta_lgL_power_photo_hard_limit = delta_lgL_power_photo_hard_limit
2243 1 : s% lgL_power_photo_burn_min = lgL_power_photo_burn_min
2244 1 : s% lgL_power_photo_drop_factor = lgL_power_photo_drop_factor
2245 1 : s% min_lgT_for_lgL_power_photo_limit = min_lgT_for_lgL_power_photo_limit
2246 :
2247 1 : s% delta_lgL_nuc_limit = delta_lgL_nuc_limit
2248 1 : s% delta_lgL_nuc_hard_limit = delta_lgL_nuc_hard_limit
2249 1 : s% delta_lgL_nuc_at_high_T_limit = delta_lgL_nuc_at_high_T_limit
2250 1 : s% delta_lgL_nuc_at_high_T_hard_limit = delta_lgL_nuc_at_high_T_hard_limit
2251 1 : s% delta_lgL_nuc_at_high_T_limit_lgT_min = delta_lgL_nuc_at_high_T_limit_lgT_min
2252 :
2253 1 : s% max_lgT_for_lgL_nuc_limit = max_lgT_for_lgL_nuc_limit
2254 1 : s% lgL_nuc_burn_min = lgL_nuc_burn_min
2255 1 : s% lgL_nuc_drop_factor = lgL_nuc_drop_factor
2256 :
2257 1 : s% delta_lgRho_cntr_limit = delta_lgRho_cntr_limit
2258 1 : s% delta_lgRho_cntr_hard_limit = delta_lgRho_cntr_hard_limit
2259 :
2260 1 : s% delta_lgP_cntr_limit = delta_lgP_cntr_limit
2261 1 : s% delta_lgP_cntr_hard_limit = delta_lgP_cntr_hard_limit
2262 :
2263 1 : s% delta_lgT_cntr_limit = delta_lgT_cntr_limit
2264 1 : s% delta_lgT_cntr_hard_limit = delta_lgT_cntr_hard_limit
2265 1 : s% delta_lgT_cntr_limit_only_after_near_zams = delta_lgT_cntr_limit_only_after_near_zams
2266 :
2267 1 : s% delta_lgT_max_limit = delta_lgT_max_limit
2268 1 : s% delta_lgT_max_hard_limit = delta_lgT_max_hard_limit
2269 1 : s% delta_lgT_max_limit_lgT_min = delta_lgT_max_limit_lgT_min
2270 1 : s% delta_lgT_max_limit_only_after_near_zams = delta_lgT_max_limit_only_after_near_zams
2271 :
2272 1 : s% delta_lgT_max_at_high_T_limit = delta_lgT_max_at_high_T_limit
2273 1 : s% delta_lgT_max_at_high_T_hard_limit = delta_lgT_max_at_high_T_hard_limit
2274 1 : s% delta_lgT_max_at_high_T_limit_lgT_min = delta_lgT_max_at_high_T_limit_lgT_min
2275 :
2276 1 : s% delta_log_eps_nuc_limit = delta_log_eps_nuc_limit
2277 1 : s% delta_log_eps_nuc_hard_limit = delta_log_eps_nuc_hard_limit
2278 :
2279 1 : s% delta_dX_div_X_cntr_min = delta_dX_div_X_cntr_min
2280 1 : s% delta_dX_div_X_cntr_max = delta_dX_div_X_cntr_max
2281 1 : s% delta_dX_div_X_cntr_limit = delta_dX_div_X_cntr_limit
2282 1 : s% delta_dX_div_X_cntr_hard_limit = delta_dX_div_X_cntr_hard_limit
2283 :
2284 1 : s% delta_dX_div_X_drop_only = delta_dX_div_X_drop_only
2285 1 : s% delta_lg_XH_drop_only = delta_lg_XH_drop_only
2286 1 : s% delta_lg_XHe_drop_only = delta_lg_XHe_drop_only
2287 1 : s% delta_lg_XC_drop_only = delta_lg_XC_drop_only
2288 1 : s% delta_lg_XNe_drop_only = delta_lg_XNe_drop_only
2289 1 : s% delta_lg_XO_drop_only = delta_lg_XO_drop_only
2290 1 : s% delta_lg_XSi_drop_only = delta_lg_XSi_drop_only
2291 1 : s% delta_XH_drop_only = delta_XH_drop_only
2292 1 : s% delta_XHe_drop_only = delta_XHe_drop_only
2293 1 : s% delta_XC_drop_only = delta_XC_drop_only
2294 1 : s% delta_XNe_drop_only = delta_XNe_drop_only
2295 1 : s% delta_XO_drop_only = delta_XO_drop_only
2296 1 : s% delta_XSi_drop_only = delta_XSi_drop_only
2297 :
2298 1 : s% delta_lg_XH_cntr_min = delta_lg_XH_cntr_min
2299 1 : s% delta_lg_XH_cntr_max = delta_lg_XH_cntr_max
2300 1 : s% delta_lg_XH_cntr_limit = delta_lg_XH_cntr_limit
2301 1 : s% delta_lg_XH_cntr_hard_limit = delta_lg_XH_cntr_hard_limit
2302 :
2303 1 : s% delta_lg_XHe_cntr_min = delta_lg_XHe_cntr_min
2304 1 : s% delta_lg_XHe_cntr_max = delta_lg_XHe_cntr_max
2305 1 : s% delta_lg_XHe_cntr_limit = delta_lg_XHe_cntr_limit
2306 1 : s% delta_lg_XHe_cntr_hard_limit = delta_lg_XHe_cntr_hard_limit
2307 :
2308 1 : s% delta_lg_XC_cntr_min = delta_lg_XC_cntr_min
2309 1 : s% delta_lg_XC_cntr_max = delta_lg_XC_cntr_max
2310 1 : s% delta_lg_XC_cntr_limit = delta_lg_XC_cntr_limit
2311 1 : s% delta_lg_XC_cntr_hard_limit = delta_lg_XC_cntr_hard_limit
2312 :
2313 1 : s% delta_lg_XNe_cntr_limit = delta_lg_XNe_cntr_limit
2314 1 : s% delta_lg_XNe_cntr_hard_limit = delta_lg_XNe_cntr_hard_limit
2315 1 : s% delta_lg_XNe_cntr_min = delta_lg_XNe_cntr_min
2316 1 : s% delta_lg_XNe_cntr_max = delta_lg_XNe_cntr_max
2317 :
2318 1 : s% delta_lg_XO_cntr_limit = delta_lg_XO_cntr_limit
2319 1 : s% delta_lg_XO_cntr_hard_limit = delta_lg_XO_cntr_hard_limit
2320 1 : s% delta_lg_XO_cntr_min = delta_lg_XO_cntr_min
2321 1 : s% delta_lg_XO_cntr_max = delta_lg_XO_cntr_max
2322 :
2323 1 : s% delta_lg_XSi_cntr_limit = delta_lg_XSi_cntr_limit
2324 1 : s% delta_lg_XSi_cntr_hard_limit = delta_lg_XSi_cntr_hard_limit
2325 1 : s% delta_lg_XSi_cntr_min = delta_lg_XSi_cntr_min
2326 1 : s% delta_lg_XSi_cntr_max = delta_lg_XSi_cntr_max
2327 :
2328 1 : s% delta_XH_cntr_limit = delta_XH_cntr_limit
2329 1 : s% delta_XH_cntr_hard_limit = delta_XH_cntr_hard_limit
2330 1 : s% delta_XHe_cntr_limit = delta_XHe_cntr_limit
2331 1 : s% delta_XHe_cntr_hard_limit = delta_XHe_cntr_hard_limit
2332 1 : s% delta_XC_cntr_limit = delta_XC_cntr_limit
2333 1 : s% delta_XC_cntr_hard_limit = delta_XC_cntr_hard_limit
2334 1 : s% delta_XNe_cntr_limit = delta_XNe_cntr_limit
2335 1 : s% delta_XNe_cntr_hard_limit = delta_XNe_cntr_hard_limit
2336 1 : s% delta_XO_cntr_limit = delta_XO_cntr_limit
2337 1 : s% delta_XO_cntr_hard_limit = delta_XO_cntr_hard_limit
2338 1 : s% delta_XSi_cntr_limit = delta_XSi_cntr_limit
2339 1 : s% delta_XSi_cntr_hard_limit = delta_XSi_cntr_hard_limit
2340 :
2341 1 : s% delta_lgTeff_limit = delta_lgTeff_limit
2342 1 : s% delta_lgTeff_hard_limit = delta_lgTeff_hard_limit
2343 :
2344 1 : s% delta_lgL_limit = delta_lgL_limit
2345 1 : s% delta_lgL_limit_L_min = delta_lgL_limit_L_min
2346 1 : s% delta_lgL_hard_limit = delta_lgL_hard_limit
2347 :
2348 1 : s% delta_HR_ds_L = delta_HR_ds_L
2349 1 : s% delta_HR_ds_Teff = delta_HR_ds_Teff
2350 1 : s% delta_HR_limit = delta_HR_limit
2351 1 : s% delta_HR_hard_limit = delta_HR_hard_limit
2352 :
2353 1 : s% delta_lg_star_mass_limit = delta_lg_star_mass_limit
2354 1 : s% delta_lg_star_mass_hard_limit = delta_lg_star_mass_hard_limit
2355 :
2356 1 : s% delta_mdot_atol = delta_mdot_atol
2357 1 : s% delta_mdot_rtol = delta_mdot_rtol
2358 1 : s% delta_mdot_limit = delta_mdot_limit
2359 1 : s% delta_mdot_hard_limit = delta_mdot_hard_limit
2360 :
2361 1 : s% adjust_J_q_limit = adjust_J_q_limit
2362 1 : s% adjust_J_q_hard_limit = adjust_J_q_hard_limit
2363 1 : s% never_skip_hard_limits = never_skip_hard_limits
2364 1 : s% relax_hard_limits_after_retry = relax_hard_limits_after_retry
2365 1 : s% report_dt_hard_limit_retries = report_dt_hard_limit_retries
2366 1 : s% report_min_dr_div_cs = report_min_dr_div_cs
2367 1 : s% report_solver_dt_info = report_solver_dt_info
2368 :
2369 1 : s% limit_for_rel_error_in_energy_conservation = limit_for_rel_error_in_energy_conservation
2370 1 : s% hard_limit_for_rel_error_in_energy_conservation = hard_limit_for_rel_error_in_energy_conservation
2371 :
2372 1 : s% min_chem_eqn_scale = min_chem_eqn_scale
2373 :
2374 1 : s% trace_evolve = trace_evolve
2375 :
2376 :
2377 : ! misc
2378 1 : s% zams_filename = zams_filename
2379 1 : s% set_rho_to_dm_div_dV = set_rho_to_dm_div_dV
2380 :
2381 1 : s% use_other_mlt_results = use_other_mlt_results
2382 1 : s% use_other_surface_PT = use_other_surface_PT
2383 1 : s% use_other_kap = use_other_kap
2384 1 : s% use_other_diffusion = use_other_diffusion
2385 1 : s% use_other_diffusion_factor = use_other_diffusion_factor
2386 1 : s% use_other_adjust_mdot = use_other_adjust_mdot
2387 1 : s% use_other_j_for_adjust_J_lost = use_other_j_for_adjust_J_lost
2388 1 : s% use_other_alpha_mlt = use_other_alpha_mlt
2389 1 : s% use_other_am_mixing = use_other_am_mixing
2390 1 : s% use_other_brunt = use_other_brunt
2391 1 : s% use_other_brunt_smoothing = use_other_brunt_smoothing
2392 1 : s% use_other_solver_monitor = use_other_solver_monitor
2393 1 : s% use_other_build_initial_model = use_other_build_initial_model
2394 1 : s% use_other_cgrav = use_other_cgrav
2395 1 : s% use_other_mesh_delta_coeff_factor = use_other_mesh_delta_coeff_factor
2396 1 : s% use_other_energy_implicit = use_other_energy_implicit
2397 1 : s% use_other_remove_surface = use_other_remove_surface
2398 1 : s% use_other_momentum = use_other_momentum
2399 1 : s% use_other_momentum_implicit = use_other_momentum_implicit
2400 1 : s% use_other_pressure = use_other_pressure
2401 1 : s% use_other_energy = use_other_energy
2402 1 : s% use_other_mesh_functions = use_other_mesh_functions
2403 1 : s% use_other_eps_grav = use_other_eps_grav
2404 1 : s% use_other_gradr_factor = use_other_gradr_factor
2405 1 : s% use_other_D_mix = use_other_D_mix
2406 1 : s% use_other_neu = use_other_neu
2407 1 : s% use_other_net_get = use_other_net_get
2408 1 : s% use_other_opacity_factor = use_other_opacity_factor
2409 1 : s% use_other_diffusion_coefficients = use_other_diffusion_coefficients
2410 1 : s% use_other_pgstar_plots = use_other_pgstar_plots
2411 1 : s% use_other_eval_fp_ft = use_other_eval_fp_ft
2412 1 : s% use_other_eval_i_rot = use_other_eval_i_rot
2413 1 : s% use_other_torque = use_other_torque
2414 1 : s% use_other_torque_implicit = use_other_torque_implicit
2415 1 : s% use_other_wind = use_other_wind
2416 1 : s% use_other_accreting_state = use_other_accreting_state
2417 1 : s% use_other_after_struct_burn_mix = use_other_after_struct_burn_mix
2418 1 : s% use_other_before_struct_burn_mix = use_other_before_struct_burn_mix
2419 1 : s% use_other_astero_freq_corr = use_other_astero_freq_corr
2420 1 : s% use_other_timestep_limit = use_other_timestep_limit
2421 1 : s% use_other_set_pgstar_controls = use_other_set_pgstar_controls
2422 1 : s% use_other_screening = use_other_screening
2423 1 : s% use_other_rate_get = use_other_rate_get
2424 1 : s% use_other_net_derivs = use_other_net_derivs
2425 1 : s% use_other_split_burn = use_other_split_burn
2426 1 : s% use_other_close_gaps = use_other_close_gaps
2427 :
2428 101 : s% x_ctrl = x_ctrl
2429 101 : s% x_integer_ctrl = x_integer_ctrl
2430 101 : s% x_logical_ctrl = x_logical_ctrl
2431 101 : s% x_character_ctrl = x_character_ctrl
2432 :
2433 : ! info for debugging
2434 1 : s% stop_for_bad_nums = stop_for_bad_nums
2435 1 : s% report_ierr = report_ierr
2436 1 : s% report_bad_negative_xa = report_bad_negative_xa
2437 :
2438 1 : s% diffusion_dump_call_number = diffusion_dump_call_number
2439 :
2440 1 : s% surface_accel_div_grav_limit = surface_accel_div_grav_limit
2441 1 : s% steps_before_start_stress_test = steps_before_start_stress_test
2442 1 : s% stress_test_relax = stress_test_relax
2443 :
2444 1 : end subroutine store_controls
2445 :
2446 :
2447 0 : subroutine set_controls_for_writing(s, ierr)
2448 1 : use star_private_def
2449 : use chem_def ! categories
2450 : type (star_info), pointer :: s
2451 : integer, intent(out) :: ierr
2452 :
2453 0 : ierr = 0
2454 :
2455 : ! where to start
2456 0 : initial_mass = s% initial_mass
2457 0 : initial_z = s% initial_z
2458 0 : initial_y = s% initial_y
2459 0 : initial_he3 = s% initial_he3
2460 :
2461 : ! definition of core boundaries
2462 0 : he_core_boundary_h1_fraction = s% he_core_boundary_h1_fraction
2463 0 : co_core_boundary_he4_fraction = s% co_core_boundary_he4_fraction
2464 0 : one_core_boundary_he4_c12_fraction = s% one_core_boundary_he4_c12_fraction
2465 0 : fe_core_boundary_si28_fraction = s% fe_core_boundary_si28_fraction
2466 0 : neutron_rich_core_boundary_Ye_max = s% neutron_rich_core_boundary_Ye_max
2467 0 : min_boundary_fraction = s% min_boundary_fraction
2468 :
2469 : ! when to stop
2470 0 : max_model_number = s% max_model_number
2471 0 : max_abs_rel_run_E_err = s% max_abs_rel_run_E_err
2472 0 : max_number_retries = s% max_number_retries
2473 0 : relax_max_number_retries = s% relax_max_number_retries
2474 0 : max_age = s% max_age
2475 0 : max_age_in_days = s% max_age_in_days
2476 0 : max_age_in_seconds = s% max_age_in_seconds
2477 0 : num_adjusted_dt_steps_before_max_age = s% num_adjusted_dt_steps_before_max_age
2478 0 : dt_years_for_steps_before_max_age = s% dt_years_for_steps_before_max_age
2479 0 : reduction_factor_for_max_timestep = s% reduction_factor_for_max_timestep
2480 0 : when_to_stop_rtol = s% when_to_stop_rtol
2481 0 : when_to_stop_atol = s% when_to_stop_atol
2482 0 : gamma_center_limit = s% gamma_center_limit
2483 0 : eta_center_limit = s% eta_center_limit
2484 0 : log_center_temp_upper_limit = s% log_center_temp_upper_limit
2485 0 : log_max_temp_upper_limit = s% log_max_temp_upper_limit
2486 0 : log_max_temp_lower_limit = s% log_max_temp_lower_limit
2487 0 : log_center_temp_lower_limit = s% log_center_temp_lower_limit
2488 0 : log_center_density_upper_limit = s% log_center_density_upper_limit
2489 0 : log_center_density_lower_limit = s% log_center_density_lower_limit
2490 0 : min_timestep_limit = s% min_timestep_limit
2491 :
2492 0 : center_entropy_upper_limit = s% center_entropy_upper_limit
2493 0 : center_entropy_lower_limit = s% center_entropy_lower_limit
2494 0 : max_entropy_upper_limit = s% max_entropy_upper_limit
2495 0 : max_entropy_lower_limit = s% max_entropy_lower_limit
2496 :
2497 0 : fe_core_infall_limit = s% fe_core_infall_limit
2498 0 : fe_core_infall_mass = s% fe_core_infall_mass
2499 0 : center_Ye_lower_limit = s% center_Ye_lower_limit
2500 0 : center_R_lower_limit = s% center_R_lower_limit
2501 0 : non_fe_core_infall_limit = s% non_fe_core_infall_limit
2502 0 : non_fe_core_infall_mass = s% non_fe_core_infall_mass
2503 0 : non_fe_core_rebound_limit = s% non_fe_core_rebound_limit
2504 0 : v_div_csound_surf_limit = s% v_div_csound_surf_limit
2505 0 : v_div_csound_max_limit = s% v_div_csound_max_limit
2506 0 : Lnuc_div_L_upper_limit = s% Lnuc_div_L_upper_limit
2507 0 : Lnuc_div_L_lower_limit = s% Lnuc_div_L_lower_limit
2508 0 : v_surf_div_v_kh_upper_limit = s% v_surf_div_v_kh_upper_limit
2509 0 : v_surf_div_v_kh_lower_limit = s% v_surf_div_v_kh_lower_limit
2510 0 : v_surf_div_v_esc_limit = s% v_surf_div_v_esc_limit
2511 0 : v_surf_kms_limit = s% v_surf_kms_limit
2512 :
2513 0 : stop_near_zams = s% stop_near_zams
2514 0 : stop_at_phase_PreMS = s% stop_at_phase_PreMS
2515 0 : stop_at_phase_ZAMS = s% stop_at_phase_ZAMS
2516 0 : stop_at_phase_IAMS = s% stop_at_phase_IAMS
2517 0 : stop_at_phase_TAMS = s% stop_at_phase_TAMS
2518 0 : stop_at_phase_He_Burn = s% stop_at_phase_He_Burn
2519 0 : stop_at_phase_ZACHeB = s% stop_at_phase_ZACHeB
2520 0 : stop_at_phase_TACHeB = s% stop_at_phase_TACHeB
2521 0 : stop_at_phase_TP_AGB = s% stop_at_phase_TP_AGB
2522 0 : stop_at_phase_C_Burn = s% stop_at_phase_C_Burn
2523 0 : stop_at_phase_Ne_Burn = s% stop_at_phase_Ne_Burn
2524 0 : stop_at_phase_O_Burn = s% stop_at_phase_O_Burn
2525 0 : stop_at_phase_Si_Burn = s% stop_at_phase_Si_Burn
2526 0 : stop_at_phase_WDCS = s% stop_at_phase_WDCS
2527 0 : Lnuc_div_L_zams_limit = s% Lnuc_div_L_zams_limit
2528 0 : Pgas_div_P_limit = s% Pgas_div_P_limit
2529 0 : Pgas_div_P_limit_max_q = s% Pgas_div_P_limit_max_q
2530 0 : gamma1_limit = s% gamma1_limit
2531 0 : gamma1_limit_max_q = s% gamma1_limit_max_q
2532 0 : gamma1_limit_max_v_div_vesc = s% gamma1_limit_max_v_div_vesc
2533 0 : peak_burn_vconv_div_cs_limit = s% peak_burn_vconv_div_cs_limit
2534 0 : omega_div_omega_crit_limit = s% omega_div_omega_crit_limit
2535 0 : delta_nu_lower_limit = s% delta_nu_lower_limit
2536 0 : delta_nu_upper_limit = s% delta_nu_upper_limit
2537 0 : delta_Pg_lower_limit = s% delta_Pg_lower_limit
2538 0 : delta_Pg_upper_limit = s% delta_Pg_upper_limit
2539 0 : shock_mass_upper_limit = s% shock_mass_upper_limit
2540 0 : mach1_mass_upper_limit = s% mach1_mass_upper_limit
2541 0 : stop_when_reach_this_cumulative_extra_heating = s% stop_when_reach_this_cumulative_extra_heating
2542 :
2543 0 : xa_central_lower_limit_species = s% xa_central_lower_limit_species
2544 0 : xa_central_lower_limit = s% xa_central_lower_limit
2545 :
2546 0 : xa_central_upper_limit_species = s% xa_central_upper_limit_species
2547 0 : xa_central_upper_limit = s% xa_central_upper_limit
2548 :
2549 0 : xa_surface_lower_limit_species = s% xa_surface_lower_limit_species
2550 0 : xa_surface_lower_limit = s% xa_surface_lower_limit
2551 :
2552 0 : xa_surface_upper_limit_species = s% xa_surface_upper_limit_species
2553 0 : xa_surface_upper_limit = s% xa_surface_upper_limit
2554 :
2555 0 : xa_average_lower_limit_species = s% xa_average_lower_limit_species
2556 0 : xa_average_lower_limit = s% xa_average_lower_limit
2557 :
2558 0 : xa_average_upper_limit_species = s% xa_average_upper_limit_species
2559 0 : xa_average_upper_limit = s% xa_average_upper_limit
2560 :
2561 0 : HB_limit = s% HB_limit
2562 :
2563 0 : star_mass_max_limit = s% star_mass_max_limit
2564 0 : star_mass_min_limit = s% star_mass_min_limit
2565 0 : ejecta_mass_max_limit = s% ejecta_mass_max_limit
2566 0 : remnant_mass_min_limit = s% remnant_mass_min_limit
2567 :
2568 0 : star_species_mass_min_limit = s% star_species_mass_min_limit
2569 0 : star_species_mass_min_limit_iso = s% star_species_mass_min_limit_iso
2570 0 : star_species_mass_max_limit = s% star_species_mass_max_limit
2571 0 : star_species_mass_max_limit_iso = s% star_species_mass_max_limit_iso
2572 :
2573 0 : xmstar_min_limit = s% xmstar_min_limit
2574 0 : xmstar_max_limit = s% xmstar_max_limit
2575 0 : envelope_mass_limit = s% envelope_mass_limit
2576 0 : envelope_fraction_left_limit = s% envelope_fraction_left_limit
2577 :
2578 0 : he_core_mass_limit = s% he_core_mass_limit
2579 0 : co_core_mass_limit = s% co_core_mass_limit
2580 0 : one_core_mass_limit = s% one_core_mass_limit
2581 0 : fe_core_mass_limit = s% fe_core_mass_limit
2582 0 : neutron_rich_core_mass_limit = s% neutron_rich_core_mass_limit
2583 :
2584 0 : he_layer_mass_lower_limit = s% he_layer_mass_lower_limit
2585 0 : abs_diff_lg_LH_lg_Ls_limit = s% abs_diff_lg_LH_lg_Ls_limit
2586 0 : Teff_upper_limit = s% Teff_upper_limit
2587 0 : Teff_lower_limit = s% Teff_lower_limit
2588 0 : photosphere_m_upper_limit = s% photosphere_m_upper_limit
2589 0 : photosphere_m_lower_limit = s% photosphere_m_lower_limit
2590 0 : photosphere_m_sub_M_center_limit = s% photosphere_m_sub_M_center_limit
2591 0 : photosphere_r_upper_limit = s% photosphere_r_upper_limit
2592 0 : photosphere_r_lower_limit = s% photosphere_r_lower_limit
2593 0 : log_Teff_upper_limit = s% log_Teff_upper_limit
2594 0 : log_Teff_lower_limit = s% log_Teff_lower_limit
2595 0 : log_Tsurf_upper_limit = s% log_Tsurf_upper_limit
2596 0 : log_Tsurf_lower_limit = s% log_Tsurf_lower_limit
2597 0 : log_Rsurf_upper_limit = s% log_Rsurf_upper_limit
2598 0 : log_Rsurf_lower_limit = s% log_Rsurf_lower_limit
2599 0 : log_Psurf_upper_limit = s% log_Psurf_upper_limit
2600 0 : log_Psurf_lower_limit = s% log_Psurf_lower_limit
2601 0 : log_Dsurf_upper_limit = s% log_Dsurf_upper_limit
2602 0 : log_Dsurf_lower_limit = s% log_Dsurf_lower_limit
2603 0 : log_L_upper_limit = s% log_L_upper_limit
2604 0 : log_L_lower_limit = s% log_L_lower_limit
2605 0 : log_g_upper_limit = s% log_g_upper_limit
2606 0 : log_g_lower_limit = s% log_g_lower_limit
2607 :
2608 0 : power_nuc_burn_upper_limit = s% power_nuc_burn_upper_limit
2609 0 : power_h_burn_upper_limit = s% power_h_burn_upper_limit
2610 0 : power_he_burn_upper_limit = s% power_he_burn_upper_limit
2611 0 : power_z_burn_upper_limit = s% power_z_burn_upper_limit
2612 0 : power_nuc_burn_lower_limit = s% power_nuc_burn_lower_limit
2613 0 : power_h_burn_lower_limit = s% power_h_burn_lower_limit
2614 0 : power_he_burn_lower_limit = s% power_he_burn_lower_limit
2615 0 : power_z_burn_lower_limit = s% power_z_burn_lower_limit
2616 :
2617 :
2618 : ! output of "snapshots" for restarts
2619 0 : photo_interval = s% photo_interval
2620 0 : photo_digits = s% photo_digits
2621 0 : photo_directory = s% photo_directory
2622 : ! output of history and profiles.
2623 0 : do_history_file = s% do_history_file
2624 0 : history_interval = s% history_interval
2625 :
2626 0 : write_header_frequency = s% write_header_frequency
2627 0 : terminal_interval = s% terminal_interval
2628 0 : terminal_show_age_units = s% terminal_show_age_units
2629 0 : terminal_show_timestep_units = s% terminal_show_timestep_units
2630 0 : terminal_show_log_dt = s% terminal_show_log_dt
2631 0 : terminal_show_log_age = s% terminal_show_log_age
2632 0 : extra_terminal_output_file = s% extra_terminal_output_file
2633 0 : num_trace_history_values = s% num_trace_history_values
2634 0 : trace_history_value_name = s% trace_history_value_name
2635 :
2636 0 : log_directory = s% log_directory
2637 :
2638 0 : star_history_name = s% star_history_name
2639 0 : star_history_header_name = s% star_history_header_name
2640 0 : star_history_dbl_format = s% star_history_dbl_format
2641 0 : star_history_int_format = s% star_history_int_format
2642 0 : star_history_txt_format = s% star_history_txt_format
2643 :
2644 0 : profiles_index_name = s% profiles_index_name
2645 0 : profile_data_prefix = s% profile_data_prefix
2646 0 : profile_data_suffix = s% profile_data_suffix
2647 0 : profile_data_header_suffix = s% profile_data_header_suffix
2648 0 : profile_int_format = s% profile_int_format
2649 0 : profile_txt_format = s% profile_txt_format
2650 0 : profile_dbl_format = s% profile_dbl_format
2651 0 : profile_header_include_sys_details = s% profile_header_include_sys_details
2652 0 : write_profiles_flag = s% write_profiles_flag
2653 0 : profile_interval = s% profile_interval
2654 0 : priority_profile_interval = s% priority_profile_interval
2655 0 : profile_model = s% profile_model
2656 0 : max_num_profile_models = s% max_num_profile_models
2657 0 : max_num_profile_zones = s% max_num_profile_zones
2658 :
2659 0 : write_controls_info_with_profile = s% write_controls_info_with_profile
2660 0 : controls_data_prefix = s% controls_data_prefix
2661 0 : controls_data_suffix = s% controls_data_suffix
2662 :
2663 0 : write_pulse_data_with_profile = s% write_pulse_data_with_profile
2664 0 : pulse_data_format = s% pulse_data_format
2665 0 : add_atmosphere_to_pulse_data = s% add_atmosphere_to_pulse_data
2666 0 : add_center_point_to_pulse_data = s% add_center_point_to_pulse_data
2667 0 : keep_surface_point_for_pulse_data = s% keep_surface_point_for_pulse_data
2668 0 : add_double_points_to_pulse_data = s% add_double_points_to_pulse_data
2669 0 : interpolate_rho_for_pulse_data = s% interpolate_rho_for_pulse_data
2670 0 : threshold_grad_mu_for_double_point = s% threshold_grad_mu_for_double_point
2671 0 : max_number_of_double_points = s% max_number_of_double_points
2672 :
2673 0 : gyre_data_schema = s% gyre_data_schema
2674 :
2675 0 : fgong_header = s% fgong_header
2676 0 : fgong_ivers = s% fgong_ivers
2677 :
2678 0 : max_num_gyre_points = s% max_num_gyre_points
2679 0 : format_for_OSC_data = s% format_for_OSC_data
2680 0 : fgong_zero_A_inside_r = s% fgong_zero_A_inside_r
2681 0 : use_other_export_pulse_data = s% use_other_export_pulse_data
2682 0 : use_other_get_pulse_data = s% use_other_get_pulse_data
2683 0 : use_other_edit_pulse_data = s% use_other_edit_pulse_data
2684 :
2685 0 : write_model_with_profile = s% write_model_with_profile
2686 0 : model_data_prefix = s% model_data_prefix
2687 0 : model_data_suffix = s% model_data_suffix
2688 :
2689 0 : mixing_D_limit_for_log = s% mixing_D_limit_for_log
2690 0 : trace_mass_location = s% trace_mass_location
2691 0 : min_tau_for_max_abs_v_location = s% min_tau_for_max_abs_v_location
2692 0 : min_q_for_inner_mach1_location = s% min_q_for_inner_mach1_location
2693 0 : max_q_for_outer_mach1_location = s% max_q_for_outer_mach1_location
2694 :
2695 0 : conv_core_gap_dq_limit = s% conv_core_gap_dq_limit
2696 :
2697 : ! burn zone eps definitions for use in logs and profiles
2698 0 : burn_min1 = s% burn_min1
2699 0 : burn_min2 = s% burn_min2
2700 :
2701 0 : max_conv_vel_div_csound_maxq = s% max_conv_vel_div_csound_maxq
2702 0 : width_for_limit_conv_vel = s% width_for_limit_conv_vel
2703 0 : max_q_for_limit_conv_vel = s% max_q_for_limit_conv_vel
2704 0 : max_mass_in_gm_for_limit_conv_vel = s% max_mass_in_gm_for_limit_conv_vel
2705 0 : max_r_in_cm_for_limit_conv_vel = s% max_r_in_cm_for_limit_conv_vel
2706 :
2707 : ! for reported average values
2708 0 : surface_avg_abundance_dq = s% surface_avg_abundance_dq
2709 0 : center_avg_value_dq = s% center_avg_value_dq
2710 :
2711 : ! mixing parameters
2712 0 : min_convective_gap = s% min_convective_gap
2713 0 : min_thermohaline_gap = s% min_thermohaline_gap
2714 0 : min_semiconvection_gap = s% min_semiconvection_gap
2715 0 : min_thermohaline_dropout = s% min_thermohaline_dropout
2716 0 : max_dropout_gradL_sub_grada = s% max_dropout_gradL_sub_grada
2717 0 : remove_embedded_semiconvection = s% remove_embedded_semiconvection
2718 0 : recalc_mix_info_after_evolve = s% recalc_mix_info_after_evolve
2719 0 : remove_mixing_glitches = s% remove_mixing_glitches
2720 0 : okay_to_remove_mixing_singleton = s% okay_to_remove_mixing_singleton
2721 0 : prune_bad_cz_min_Hp_height = s% prune_bad_cz_min_Hp_height
2722 0 : prune_bad_cz_min_log_eps_nuc = s% prune_bad_cz_min_log_eps_nuc
2723 0 : redo_conv_for_dr_lt_mixing_length = s% redo_conv_for_dr_lt_mixing_length
2724 :
2725 0 : alpha_semiconvection = s% alpha_semiconvection
2726 0 : semiconvection_option = s% semiconvection_option
2727 0 : use_Ledoux_criterion = s% use_Ledoux_criterion
2728 0 : num_cells_for_smooth_gradL_composition_term = s% num_cells_for_smooth_gradL_composition_term
2729 0 : threshold_for_smooth_gradL_composition_term = s% threshold_for_smooth_gradL_composition_term
2730 0 : clip_D_limit = s% clip_D_limit
2731 :
2732 0 : okay_to_reduce_gradT_excess = s% okay_to_reduce_gradT_excess
2733 0 : gradT_excess_f1 = s% gradT_excess_f1
2734 0 : gradT_excess_f2 = s% gradT_excess_f2
2735 0 : gradT_excess_max_center_h1 = s% gradT_excess_max_center_h1
2736 0 : gradT_excess_min_center_he4 = s% gradT_excess_min_center_he4
2737 0 : gradT_excess_max_logT = s% gradT_excess_max_logT
2738 0 : gradT_excess_min_log_tau_full_on = s% gradT_excess_min_log_tau_full_on
2739 0 : gradT_excess_max_log_tau_full_off = s% gradT_excess_max_log_tau_full_off
2740 0 : gradT_excess_lambda1 = s% gradT_excess_lambda1
2741 0 : gradT_excess_beta1 = s% gradT_excess_beta1
2742 0 : gradT_excess_lambda2 = s% gradT_excess_lambda2
2743 0 : gradT_excess_beta2 = s% gradT_excess_beta2
2744 0 : gradT_excess_dlambda = s% gradT_excess_dlambda
2745 0 : gradT_excess_dbeta = s% gradT_excess_dbeta
2746 :
2747 0 : D_mix_zero_region_bottom_q = s% D_mix_zero_region_bottom_q
2748 0 : D_mix_zero_region_top_q = s% D_mix_zero_region_top_q
2749 0 : dq_D_mix_zero_at_H_He_crossover = s% dq_D_mix_zero_at_H_He_crossover
2750 0 : dq_D_mix_zero_at_H_C_crossover = s% dq_D_mix_zero_at_H_C_crossover
2751 :
2752 0 : use_superad_reduction = s% use_superad_reduction
2753 0 : superad_reduction_gamma_limit = s% superad_reduction_gamma_limit
2754 0 : superad_reduction_gamma_limit_scale = s% superad_reduction_gamma_limit_scale
2755 0 : superad_reduction_gamma_inv_scale = s% superad_reduction_gamma_inv_scale
2756 0 : superad_reduction_diff_grads_limit = s% superad_reduction_diff_grads_limit
2757 0 : superad_reduction_limit = s% superad_reduction_limit
2758 :
2759 0 : max_logT_for_mlt = s% max_logT_for_mlt
2760 0 : mlt_make_surface_no_mixing = s% mlt_make_surface_no_mixing
2761 0 : do_normalize_dqs_as_part_of_set_qs = s% do_normalize_dqs_as_part_of_set_qs
2762 :
2763 0 : thermohaline_coeff = s% thermohaline_coeff
2764 0 : thermohaline_option = s% thermohaline_option
2765 0 : mixing_length_alpha = s% mixing_length_alpha
2766 0 : remove_small_D_limit = s% remove_small_D_limit
2767 0 : alt_scale_height_flag = s% alt_scale_height_flag
2768 0 : Henyey_MLT_y_param = s% Henyey_MLT_y_param
2769 0 : Henyey_MLT_nu_param = s% Henyey_MLT_nu_param
2770 0 : make_gradr_sticky_in_solver_iters = s% make_gradr_sticky_in_solver_iters
2771 0 : min_logT_for_make_gradr_sticky_in_solver_iters = s% min_logT_for_make_gradr_sticky_in_solver_iters
2772 0 : no_MLT_below_shock = s% no_MLT_below_shock
2773 0 : MLT_option = s% MLT_option
2774 0 : steps_before_use_TDC = s% steps_before_use_TDC
2775 0 : mlt_use_rotation_correction = s% mlt_use_rotation_correction
2776 0 : mlt_Pturb_factor = s% mlt_Pturb_factor
2777 :
2778 0 : burn_z_mix_region_logT = s% burn_z_mix_region_logT
2779 0 : burn_he_mix_region_logT = s% burn_he_mix_region_logT
2780 0 : burn_h_mix_region_logT = s% burn_h_mix_region_logT
2781 0 : max_Y_for_burn_z_mix_region = s% max_Y_for_burn_z_mix_region
2782 0 : max_X_for_burn_he_mix_region = s% max_X_for_burn_he_mix_region
2783 :
2784 0 : limit_overshoot_Hp_using_size_of_convection_zone = s% limit_overshoot_Hp_using_size_of_convection_zone
2785 :
2786 0 : predictive_mix = s% predictive_mix
2787 0 : predictive_superad_thresh = s% predictive_superad_thresh
2788 0 : predictive_avoid_reversal = s% predictive_avoid_reversal
2789 0 : predictive_limit_ingestion = s% predictive_limit_ingestion
2790 0 : predictive_ingestion_factor = s% predictive_ingestion_factor
2791 0 : predictive_zone_type = s% predictive_zone_type
2792 0 : predictive_zone_loc = s% predictive_zone_loc
2793 0 : predictive_bdy_loc = s% predictive_bdy_loc
2794 0 : predictive_bdy_q_min = s% predictive_bdy_q_min
2795 0 : predictive_bdy_q_max = s% predictive_bdy_q_max
2796 :
2797 0 : do_conv_premix = s% do_conv_premix
2798 0 : conv_premix_avoid_increase = s% conv_premix_avoid_increase
2799 0 : conv_premix_time_factor = s% conv_premix_time_factor
2800 0 : conv_premix_fix_pgas = s% conv_premix_fix_pgas
2801 0 : conv_premix_dump_snapshots = s% conv_premix_dump_snapshots
2802 0 : do_premix_heating = s% do_premix_heating
2803 :
2804 0 : overshoot_f = s% overshoot_f
2805 0 : overshoot_f0 = s% overshoot_f0
2806 0 : overshoot_D0 = s% overshoot_D0
2807 0 : overshoot_Delta0 = s% overshoot_Delta0
2808 0 : overshoot_mass_full_on = s% overshoot_mass_full_on
2809 0 : overshoot_mass_full_off = s% overshoot_mass_full_off
2810 0 : overshoot_scheme = s% overshoot_scheme
2811 0 : overshoot_zone_type = s% overshoot_zone_type
2812 0 : overshoot_zone_loc = s% overshoot_zone_loc
2813 0 : overshoot_bdy_loc = s% overshoot_bdy_loc
2814 0 : overshoot_D_min = s% overshoot_D_min
2815 0 : overshoot_brunt_B_max = s% overshoot_brunt_B_max
2816 :
2817 0 : max_conv_vel_div_csound = s% max_conv_vel_div_csound
2818 0 : max_v_for_convection = s% max_v_for_convection
2819 0 : max_q_for_convection_with_hydro_on = s% max_q_for_convection_with_hydro_on
2820 0 : max_v_div_cs_for_convection = s% max_v_div_cs_for_convection
2821 0 : max_abs_du_div_cs_for_convection = s% max_abs_du_div_cs_for_convection
2822 :
2823 0 : calculate_Brunt_B = s% calculate_Brunt_B
2824 0 : calculate_Brunt_N2 = s% calculate_Brunt_N2
2825 0 : brunt_N2_coefficient = s% brunt_N2_coefficient
2826 0 : threshold_for_smooth_brunt_B = s% threshold_for_smooth_brunt_B
2827 0 : min_magnitude_brunt_B = s% min_magnitude_brunt_B
2828 :
2829 0 : min_overshoot_q = s% min_overshoot_q
2830 0 : overshoot_alpha = s% overshoot_alpha
2831 :
2832 0 : RSP_max_num_periods = s% RSP_max_num_periods
2833 0 : RSP_target_steps_per_cycle = s% RSP_target_steps_per_cycle
2834 0 : RSP_min_max_R_for_periods = s% RSP_min_max_R_for_periods
2835 0 : RSP_min_deltaR_for_periods = s% RSP_min_deltaR_for_periods
2836 0 : RSP_default_PERIODLIN = s% RSP_default_PERIODLIN
2837 0 : RSP_min_PERIOD_div_PERIODLIN = s% RSP_min_PERIOD_div_PERIODLIN
2838 0 : RSP_GREKM_avg_abs_frac_new = s% RSP_GREKM_avg_abs_frac_new
2839 0 : RSP_GREKM_avg_abs_limit = s% RSP_GREKM_avg_abs_limit
2840 0 : RSP_theta = s% RSP_theta
2841 0 : RSP_thetat = s% RSP_thetat
2842 0 : RSP_thetau = s% RSP_thetau
2843 0 : RSP_thetae = s% RSP_thetae
2844 0 : RSP_thetaq = s% RSP_thetaq
2845 0 : RSP_wtr = s% RSP_wtr
2846 0 : RSP_wtc = s% RSP_wtc
2847 0 : RSP_wtt = s% RSP_wtt
2848 0 : RSP_gam = s% RSP_gam
2849 0 : RSP_alfa = s% RSP_alfa
2850 0 : RSP_alfap = s% RSP_alfap
2851 0 : RSP_alfam = s% RSP_alfam
2852 0 : RSP_alfat = s% RSP_alfat
2853 0 : RSP_alfas = s% RSP_alfas
2854 0 : RSP_alfac = s% RSP_alfac
2855 0 : RSP_alfad = s% RSP_alfad
2856 0 : RSP_gammar = s% RSP_gammar
2857 0 : RSP_efl0 = s% RSP_efl0
2858 0 : RSP_min_tau_for_turbulent_flux = s% RSP_min_tau_for_turbulent_flux
2859 0 : RSP_cq = s% RSP_cq
2860 0 : RSP_zsh = s% RSP_zsh
2861 0 : RSP_Qvisc_quadratic = s% RSP_Qvisc_quadratic
2862 0 : RSP_Qvisc_linear = s% RSP_Qvisc_linear
2863 0 : RSP_Qvisc_linear_static = s% RSP_Qvisc_linear_static
2864 0 : RSP_tol_max_corr = s% RSP_tol_max_corr
2865 0 : RSP_tol_max_resid = s% RSP_tol_max_resid
2866 0 : RSP_max_iters_per_try = s% RSP_max_iters_per_try
2867 0 : RSP_max_retries_per_step = s% RSP_max_retries_per_step
2868 0 : RSP_nz_div_IBOTOM = s% RSP_nz_div_IBOTOM
2869 0 : RSP_kick_vsurf_km_per_sec = s% RSP_kick_vsurf_km_per_sec
2870 0 : RSP_fraction_1st_overtone = s% RSP_fraction_1st_overtone
2871 0 : RSP_fraction_2nd_overtone = s% RSP_fraction_2nd_overtone
2872 0 : RSP_Avel = s% RSP_Avel
2873 0 : RSP_Arnd = s% RSP_Arnd
2874 0 : RSP_mode_for_setting_PERIODLIN = s% RSP_mode_for_setting_PERIODLIN
2875 0 : RSP_initial_dt_factor = s% RSP_initial_dt_factor
2876 0 : RSP_v_div_cs_threshold_for_dt_limit = s% RSP_v_div_cs_threshold_for_dt_limit
2877 0 : RSP_max_dt_times_min_dr_div_cs = s% RSP_max_dt_times_min_dr_div_cs
2878 0 : RSP_max_dt_times_min_rad_diff_time = s% RSP_max_dt_times_min_rad_diff_time
2879 0 : RSP_max_dt = s% RSP_max_dt
2880 0 : RSP_testing = s% RSP_testing
2881 0 : RSP_report_limit_dt = s% RSP_report_limit_dt
2882 0 : RSP_use_Prad_for_Psurf = s% RSP_use_Prad_for_Psurf
2883 0 : RSP_report_undercorrections = s% RSP_report_undercorrections
2884 0 : RSP_use_atm_grey_with_kap_for_Psurf = s% RSP_use_atm_grey_with_kap_for_Psurf
2885 0 : use_other_RSP_linear_analysis = s% use_other_RSP_linear_analysis
2886 0 : use_other_RSP_build_model = s% use_other_RSP_build_model
2887 0 : RSP_kap_density_factor = s% RSP_kap_density_factor
2888 0 : RSP_fixed_Psurf = s% RSP_fixed_Psurf
2889 0 : RSP_hydro_only = s% RSP_hydro_only
2890 0 : RSP_tau_surf_for_atm_grey_with_kap = s% RSP_tau_surf_for_atm_grey_with_kap
2891 0 : RSP_Psurf = s% RSP_Psurf
2892 0 : set_RSP_Psurf_to_multiple_of_initial_P1 = s% set_RSP_Psurf_to_multiple_of_initial_P1
2893 0 : RSP_surface_tau = s% RSP_surface_tau
2894 0 : RSP_write_map = s% RSP_write_map
2895 0 : RSP_trace_RSP_build_model = s% RSP_trace_RSP_build_model
2896 0 : RSP_map_filename = s% RSP_map_filename
2897 0 : RSP_map_columns_filename = s% RSP_map_columns_filename
2898 0 : RSP_map_history_filename = s% RSP_map_history_filename
2899 0 : RSP_map_first_period = s% RSP_map_first_period
2900 0 : RSP_map_last_period = s% RSP_map_last_period
2901 0 : RSP_map_zone_interval = s% RSP_map_zone_interval
2902 0 : RSP_nmodes = s% RSP_nmodes
2903 0 : RSP_work_period = s% RSP_work_period
2904 0 : RSP_work_filename = s% RSP_work_filename
2905 0 : RSP_nz_outer = s% RSP_nz_outer
2906 0 : RSP_max_outer_dm_tries = s% RSP_max_outer_dm_tries
2907 0 : RSP_max_inner_scale_tries = s% RSP_max_inner_scale_tries
2908 0 : RSP_relax_max_tries = s% RSP_relax_max_tries
2909 0 : RSP_T_anchor_tolerance = s% RSP_T_anchor_tolerance
2910 0 : RSP_T_inner_tolerance = s% RSP_T_inner_tolerance
2911 0 : RSP_relax_dm_tolerance = s% RSP_relax_dm_tolerance
2912 0 : RSP_dq_1_factor = s% RSP_dq_1_factor
2913 0 : use_RSP_new_start_scheme = s% use_RSP_new_start_scheme
2914 0 : RSP_do_check_omega = s% RSP_do_check_omega
2915 0 : RSP_report_check_omega_changes = s% RSP_report_check_omega_changes
2916 0 : RSP_nz = s% RSP_nz
2917 0 : RSP_T_anchor = s% RSP_T_anchor
2918 0 : RSP_T_inner = s% RSP_T_inner
2919 0 : RSP_relax_initial_model = s% RSP_relax_initial_model
2920 0 : RSP_relax_alfap_before_alfat = s% RSP_relax_alfap_before_alfat
2921 0 : RSP_relax_adjust_inner_mass_distribution = s% RSP_relax_adjust_inner_mass_distribution
2922 0 : RSP_Teff = s% RSP_Teff
2923 0 : RSP_mass = s% RSP_mass
2924 0 : RSP_L = s% RSP_L
2925 0 : RSP_X = s% RSP_X
2926 0 : RSP_Z = s% RSP_Z
2927 :
2928 0 : RTI_smooth_mass = s% RTI_smooth_mass
2929 0 : RTI_smooth_iterations = s% RTI_smooth_iterations
2930 0 : RTI_smooth_fraction = s% RTI_smooth_fraction
2931 :
2932 0 : alpha_RTI_diffusion_factor = s% alpha_RTI_diffusion_factor
2933 0 : dudt_RTI_diffusion_factor = s% dudt_RTI_diffusion_factor
2934 0 : dedt_RTI_diffusion_factor = s% dedt_RTI_diffusion_factor
2935 0 : dlnddt_RTI_diffusion_factor = s% dlnddt_RTI_diffusion_factor
2936 0 : composition_RTI_diffusion_factor = s% composition_RTI_diffusion_factor
2937 0 : max_M_RTI_factors_full_on = s% max_M_RTI_factors_full_on
2938 0 : min_M_RTI_factors_full_off = s% min_M_RTI_factors_full_off
2939 :
2940 0 : alpha_RTI_src_min_v_div_cs = s% alpha_RTI_src_min_v_div_cs
2941 0 : alpha_RTI_src_max_q = s% alpha_RTI_src_max_q
2942 0 : alpha_RTI_src_min_q = s% alpha_RTI_src_min_q
2943 :
2944 0 : T_mix_limit = s% T_mix_limit
2945 0 : mlt_gradT_fraction = s% mlt_gradT_fraction
2946 :
2947 : ! atmosphere -- surface boundary conditions
2948 0 : atm_option = s% atm_option
2949 0 : atm_off_table_option = s% atm_off_table_option
2950 0 : Pextra_factor = s% Pextra_factor
2951 0 : atm_fixed_Teff = s% atm_fixed_Teff
2952 0 : atm_fixed_Psurf = s% atm_fixed_Psurf
2953 0 : atm_fixed_Tsurf = s% atm_fixed_Tsurf
2954 :
2955 0 : atm_T_tau_relation = s% atm_T_tau_relation
2956 0 : atm_T_tau_opacity = s% atm_T_tau_opacity
2957 0 : atm_T_tau_errtol = s% atm_T_tau_errtol
2958 0 : atm_T_tau_max_iters = s% atm_T_tau_max_iters
2959 0 : atm_T_tau_max_steps = s% atm_T_tau_max_steps
2960 :
2961 0 : atm_table = s% atm_table
2962 :
2963 0 : atm_irradiated_opacity = s% atm_irradiated_opacity
2964 0 : atm_irradiated_errtol = s% atm_irradiated_errtol
2965 0 : atm_irradiated_T_eq = s% atm_irradiated_T_eq
2966 0 : atm_irradiated_kap_v = s% atm_irradiated_kap_v
2967 0 : atm_irradiated_kap_v_div_kap_th = s% atm_irradiated_kap_v_div_kap_th
2968 0 : atm_irradiated_P_surf = s% atm_irradiated_P_surf
2969 0 : atm_irradiated_max_iters = s% atm_irradiated_max_iters
2970 :
2971 0 : use_compression_outer_BC = s% use_compression_outer_BC
2972 0 : use_momentum_outer_BC = s% use_momentum_outer_BC
2973 0 : Tsurf_factor = s% Tsurf_factor
2974 0 : use_zero_Pgas_outer_BC = s% use_zero_Pgas_outer_BC
2975 0 : fixed_vsurf = s% fixed_vsurf
2976 0 : use_fixed_vsurf_outer_BC = s% use_fixed_vsurf_outer_BC
2977 0 : fixed_Psurf = s% fixed_Psurf
2978 0 : use_fixed_Psurf_outer_BC = s% use_fixed_Psurf_outer_BC
2979 :
2980 0 : atm_build_tau_outer = s% atm_build_tau_outer
2981 0 : atm_build_dlogtau = s% atm_build_dlogtau
2982 0 : atm_build_errtol = s% atm_build_errtol
2983 :
2984 0 : use_T_tau_gradr_factor = s% use_T_tau_gradr_factor
2985 :
2986 : ! starspots
2987 0 : do_starspots = s% do_starspots
2988 0 : fspot = s% fspot
2989 0 : xspot = s% xspot
2990 :
2991 : ! extra heat near surface to model irradiation
2992 0 : irradiation_flux = s% irradiation_flux
2993 0 : column_depth_for_irradiation = s% column_depth_for_irradiation
2994 :
2995 : ! extra heat
2996 0 : inject_uniform_extra_heat = s% inject_uniform_extra_heat
2997 0 : min_q_for_uniform_extra_heat = s% min_q_for_uniform_extra_heat
2998 0 : max_q_for_uniform_extra_heat = s% max_q_for_uniform_extra_heat
2999 0 : inject_extra_ergs_sec = s% inject_extra_ergs_sec
3000 0 : base_of_inject_extra_ergs_sec = s% base_of_inject_extra_ergs_sec
3001 0 : total_mass_for_inject_extra_ergs_sec = s% total_mass_for_inject_extra_ergs_sec
3002 0 : start_time_for_inject_extra_ergs_sec = s% start_time_for_inject_extra_ergs_sec
3003 0 : duration_for_inject_extra_ergs_sec = s% duration_for_inject_extra_ergs_sec
3004 0 : inject_until_reach_model_with_total_energy = s% inject_until_reach_model_with_total_energy
3005 :
3006 : ! mass gain or loss
3007 0 : mass_change = s% mass_change
3008 0 : mass_change_full_off_dt = s% mass_change_full_off_dt
3009 0 : mass_change_full_on_dt = s% mass_change_full_on_dt
3010 0 : trace_dt_control_mass_change = s% trace_dt_control_mass_change
3011 0 : no_wind_if_no_rotation = s% no_wind_if_no_rotation
3012 :
3013 0 : min_wind = s% min_wind
3014 0 : max_wind = s% max_wind
3015 0 : use_accreted_material_j = s% use_accreted_material_j
3016 0 : accreted_material_j = s% accreted_material_j
3017 0 : D_omega_mixing_rate = s% D_omega_mixing_rate
3018 0 : D_omega_mixing_across_convection_boundary = s% D_omega_mixing_across_convection_boundary
3019 0 : max_q_for_D_omega_zero_in_convection_region = s% max_q_for_D_omega_zero_in_convection_region
3020 0 : nu_omega_mixing_rate = s% nu_omega_mixing_rate
3021 0 : nu_omega_mixing_across_convection_boundary = s% nu_omega_mixing_across_convection_boundary
3022 0 : max_q_for_nu_omega_zero_in_convection_region = s% max_q_for_nu_omega_zero_in_convection_region
3023 :
3024 0 : mdot_omega_power = s% mdot_omega_power
3025 0 : max_rotational_mdot_boost = s% max_rotational_mdot_boost
3026 0 : max_mdot_jump_for_rotation = s% max_mdot_jump_for_rotation
3027 0 : lim_trace_rotational_mdot_boost = s% lim_trace_rotational_mdot_boost
3028 0 : rotational_mdot_boost_fac = s% rotational_mdot_boost_fac
3029 0 : rotational_mdot_kh_fac = s% rotational_mdot_kh_fac
3030 0 : surf_avg_tau = s% surf_avg_tau
3031 0 : surf_avg_tau_min = s% surf_avg_tau_min
3032 :
3033 0 : super_eddington_scaling_factor = s% super_eddington_scaling_factor
3034 0 : super_eddington_wind_Ledd_factor = s% super_eddington_wind_Ledd_factor
3035 0 : wind_boost_full_off_L_div_Ledd = s% wind_boost_full_off_L_div_Ledd
3036 0 : wind_boost_full_on_L_div_Ledd = s% wind_boost_full_on_L_div_Ledd
3037 0 : super_eddington_wind_max_boost = s% super_eddington_wind_max_boost
3038 0 : trace_super_eddington_wind_boost = s% trace_super_eddington_wind_boost
3039 :
3040 0 : max_tries_for_implicit_wind = s% max_tries_for_implicit_wind
3041 0 : iwind_tolerance = s% iwind_tolerance
3042 0 : iwind_lambda = s% iwind_lambda
3043 :
3044 0 : rlo_scaling_factor = s% rlo_scaling_factor
3045 0 : rlo_wind_min_L = s% rlo_wind_min_L
3046 0 : rlo_wind_max_Teff = s% rlo_wind_max_Teff
3047 0 : rlo_wind_roche_lobe_radius = s% rlo_wind_roche_lobe_radius
3048 0 : roche_lobe_xfer_full_on = s% roche_lobe_xfer_full_on
3049 0 : roche_lobe_xfer_full_off = s% roche_lobe_xfer_full_off
3050 0 : rlo_wind_base_mdot = s% rlo_wind_base_mdot
3051 0 : rlo_wind_scale_height = s% rlo_wind_scale_height
3052 :
3053 0 : cool_wind_RGB_scheme = s% cool_wind_RGB_scheme
3054 0 : cool_wind_AGB_scheme = s% cool_wind_AGB_scheme
3055 0 : RGB_to_AGB_wind_switch = s% RGB_to_AGB_wind_switch
3056 0 : Reimers_scaling_factor = s% Reimers_scaling_factor
3057 0 : Blocker_scaling_factor = s% Blocker_scaling_factor
3058 0 : de_Jager_scaling_factor = s% de_Jager_scaling_factor
3059 0 : van_Loon_scaling_factor = s% van_Loon_scaling_factor
3060 0 : Nieuwenhuijzen_scaling_factor = s% Nieuwenhuijzen_scaling_factor
3061 0 : Vink_scaling_factor = s% Vink_scaling_factor
3062 0 : Dutch_scaling_factor = s% Dutch_scaling_factor
3063 0 : Bjorklund_scaling_factor = s% Bjorklund_scaling_factor
3064 0 : Dutch_wind_lowT_scheme = s% Dutch_wind_lowT_scheme
3065 :
3066 0 : wind_H_envelope_limit = s% wind_H_envelope_limit
3067 0 : wind_H_He_envelope_limit = s% wind_H_He_envelope_limit
3068 0 : wind_He_layer_limit = s% wind_He_layer_limit
3069 :
3070 0 : max_logT_for_k_below_const_q = s% max_logT_for_k_below_const_q
3071 0 : max_q_for_k_below_const_q = s% max_q_for_k_below_const_q
3072 0 : min_q_for_k_below_const_q = s% min_q_for_k_below_const_q
3073 0 : max_logT_for_k_const_mass = s% max_logT_for_k_const_mass
3074 0 : min_q_for_k_const_mass = s% min_q_for_k_const_mass
3075 0 : max_q_for_k_const_mass = s% max_q_for_k_const_mass
3076 :
3077 : ! composition of added mass
3078 0 : accrete_same_as_surface = s% accrete_same_as_surface
3079 :
3080 0 : accrete_given_mass_fractions = s% accrete_given_mass_fractions
3081 0 : num_accretion_species = s% num_accretion_species
3082 0 : accretion_species_id = s% accretion_species_id
3083 0 : accretion_species_xa = s% accretion_species_xa
3084 :
3085 0 : accretion_h1 = s% accretion_h1
3086 0 : accretion_h2 = s% accretion_h2
3087 0 : accretion_he3 = s% accretion_he3
3088 0 : accretion_he4 = s% accretion_he4
3089 0 : accretion_zfracs = s% accretion_zfracs
3090 0 : accretion_dump_missing_metals_into_heaviest = s% accretion_dump_missing_metals_into_heaviest
3091 :
3092 : ! special list of z fractions
3093 0 : z_fraction_li = s% z_fraction_li
3094 0 : z_fraction_be = s% z_fraction_be
3095 0 : z_fraction_b = s% z_fraction_b
3096 0 : z_fraction_c = s% z_fraction_c
3097 0 : z_fraction_n = s% z_fraction_n
3098 0 : z_fraction_o = s% z_fraction_o
3099 0 : z_fraction_f = s% z_fraction_f
3100 0 : z_fraction_ne = s% z_fraction_ne
3101 0 : z_fraction_na = s% z_fraction_na
3102 0 : z_fraction_mg = s% z_fraction_mg
3103 0 : z_fraction_al = s% z_fraction_al
3104 0 : z_fraction_si = s% z_fraction_si
3105 0 : z_fraction_p = s% z_fraction_p
3106 0 : z_fraction_s = s% z_fraction_s
3107 0 : z_fraction_cl = s% z_fraction_cl
3108 0 : z_fraction_ar = s% z_fraction_ar
3109 0 : z_fraction_k = s% z_fraction_k
3110 0 : z_fraction_ca = s% z_fraction_ca
3111 0 : z_fraction_sc = s% z_fraction_sc
3112 0 : z_fraction_ti = s% z_fraction_ti
3113 0 : z_fraction_v = s% z_fraction_v
3114 0 : z_fraction_cr = s% z_fraction_cr
3115 0 : z_fraction_mn = s% z_fraction_mn
3116 0 : z_fraction_fe = s% z_fraction_fe
3117 0 : z_fraction_co = s% z_fraction_co
3118 0 : z_fraction_ni = s% z_fraction_ni
3119 0 : z_fraction_cu = s% z_fraction_cu
3120 0 : z_fraction_zn = s% z_fraction_zn
3121 :
3122 0 : lgT_lo_for_set_new_abundances = s% lgT_lo_for_set_new_abundances
3123 0 : lgT_hi_for_set_new_abundances = s% lgT_hi_for_set_new_abundances
3124 :
3125 : ! automatic stops for mass loss/gain
3126 0 : max_star_mass_for_gain = s% max_star_mass_for_gain
3127 0 : min_star_mass_for_loss = s% min_star_mass_for_loss
3128 0 : max_T_center_for_any_mass_loss = s% max_T_center_for_any_mass_loss
3129 0 : max_T_center_for_full_mass_loss = s% max_T_center_for_full_mass_loss
3130 :
3131 : ! relaxation parameters
3132 0 : extra_power_source = s% extra_power_source
3133 0 : relax_dlnZ = s% relax_dlnZ
3134 0 : relax_dY = s% relax_dY
3135 :
3136 : ! mesh adjustment
3137 0 : show_mesh_changes = s% show_mesh_changes
3138 0 : okay_to_remesh = s% okay_to_remesh
3139 0 : restore_mesh_on_retry = s% restore_mesh_on_retry
3140 0 : num_steps_to_hold_mesh_after_retry = s% num_steps_to_hold_mesh_after_retry
3141 0 : trace_mesh_adjust_error_in_conservation = s% trace_mesh_adjust_error_in_conservation
3142 0 : max_rel_delta_IE_for_mesh_total_energy_balance = s% max_rel_delta_IE_for_mesh_total_energy_balance
3143 0 : max_allowed_nz = s% max_allowed_nz
3144 0 : mesh_max_allowed_ratio = s% mesh_max_allowed_ratio
3145 0 : remesh_max_allowed_logT = s% remesh_max_allowed_logT
3146 0 : max_delta_x_for_merge = s% max_delta_x_for_merge
3147 :
3148 0 : mesh_ok_to_merge = s% mesh_ok_to_merge
3149 0 : mesh_max_k_old_for_split = s% mesh_max_k_old_for_split
3150 0 : mesh_min_k_old_for_split = s% mesh_min_k_old_for_split
3151 0 : mesh_adjust_get_T_from_E = s% mesh_adjust_get_T_from_E
3152 :
3153 0 : max_dq = s% max_dq
3154 0 : min_dq = s% min_dq
3155 0 : min_dq_for_split = s% min_dq_for_split
3156 0 : min_dq_for_xa = s% min_dq_for_xa
3157 0 : min_dq_for_xa_convective = s% min_dq_for_xa_convective
3158 0 : min_dq_for_logT = s% min_dq_for_logT
3159 :
3160 0 : mesh_min_dlnR = s% mesh_min_dlnR
3161 0 : merge_if_dlnR_too_small = s% merge_if_dlnR_too_small
3162 :
3163 0 : mesh_min_dr_div_dRstar = s% mesh_min_dr_div_dRstar
3164 0 : merge_if_dr_div_dRstar_too_small = s% merge_if_dr_div_dRstar_too_small
3165 :
3166 0 : mesh_min_dr_div_cs = s% mesh_min_dr_div_cs
3167 0 : merge_if_dr_div_cs_too_small = s% merge_if_dr_div_cs_too_small
3168 :
3169 0 : max_center_cell_dq = s% max_center_cell_dq
3170 0 : max_surface_cell_dq = s% max_surface_cell_dq
3171 0 : max_num_subcells = s% max_num_subcells
3172 0 : max_num_merge_cells = s% max_num_merge_cells
3173 :
3174 0 : mesh_delta_coeff = s% mesh_delta_coeff
3175 0 : mesh_delta_coeff_for_highT = s% mesh_delta_coeff_for_highT
3176 0 : logT_max_for_standard_mesh_delta_coeff = s% logT_max_for_standard_mesh_delta_coeff
3177 0 : logT_min_for_highT_mesh_delta_coeff = s% logT_min_for_highT_mesh_delta_coeff
3178 0 : mesh_Pgas_div_P_exponent = s% mesh_Pgas_div_P_exponent
3179 :
3180 0 : remesh_dt_limit = s% remesh_dt_limit
3181 :
3182 0 : E_function_weight = s% E_function_weight
3183 0 : E_function_param = s% E_function_param
3184 0 : P_function_weight = s% P_function_weight
3185 :
3186 0 : mesh_logX_species = s% mesh_logX_species
3187 0 : mesh_logX_min_for_extra = s% mesh_logX_min_for_extra
3188 0 : mesh_dlogX_dlogP_extra = s% mesh_dlogX_dlogP_extra
3189 0 : mesh_dlogX_dlogP_full_on = s% mesh_dlogX_dlogP_full_on
3190 0 : mesh_dlogX_dlogP_full_off = s% mesh_dlogX_dlogP_full_off
3191 :
3192 0 : convective_bdy_min_dt_yrs = s% convective_bdy_min_dt_yrs
3193 0 : convective_bdy_weight = s% convective_bdy_weight
3194 0 : convective_bdy_dq_limit = s% convective_bdy_dq_limit
3195 :
3196 0 : mesh_dlog_eps_min_for_extra = s% mesh_dlog_eps_min_for_extra
3197 0 : mesh_dlog_eps_dlogP_full_on = s% mesh_dlog_eps_dlogP_full_on
3198 0 : mesh_dlog_eps_dlogP_full_off = s% mesh_dlog_eps_dlogP_full_off
3199 :
3200 0 : mesh_dlog_pp_dlogP_extra = s% mesh_dlog_pp_dlogP_extra
3201 0 : mesh_dlog_cno_dlogP_extra = s% mesh_dlog_cno_dlogP_extra
3202 0 : mesh_dlog_3alf_dlogP_extra = s% mesh_dlog_3alf_dlogP_extra
3203 :
3204 0 : mesh_dlog_burn_c_dlogP_extra = s% mesh_dlog_burn_c_dlogP_extra
3205 0 : mesh_dlog_burn_n_dlogP_extra = s% mesh_dlog_burn_n_dlogP_extra
3206 0 : mesh_dlog_burn_o_dlogP_extra = s% mesh_dlog_burn_o_dlogP_extra
3207 0 : mesh_dlog_burn_ne_dlogP_extra = s% mesh_dlog_burn_ne_dlogP_extra
3208 0 : mesh_dlog_burn_na_dlogP_extra = s% mesh_dlog_burn_na_dlogP_extra
3209 0 : mesh_dlog_burn_mg_dlogP_extra = s% mesh_dlog_burn_mg_dlogP_extra
3210 0 : mesh_dlog_burn_si_dlogP_extra = s% mesh_dlog_burn_si_dlogP_extra
3211 0 : mesh_dlog_burn_s_dlogP_extra = s% mesh_dlog_burn_s_dlogP_extra
3212 0 : mesh_dlog_burn_ar_dlogP_extra = s% mesh_dlog_burn_ar_dlogP_extra
3213 0 : mesh_dlog_burn_ca_dlogP_extra = s% mesh_dlog_burn_ca_dlogP_extra
3214 0 : mesh_dlog_burn_ti_dlogP_extra = s% mesh_dlog_burn_ti_dlogP_extra
3215 0 : mesh_dlog_burn_cr_dlogP_extra = s% mesh_dlog_burn_cr_dlogP_extra
3216 0 : mesh_dlog_burn_fe_dlogP_extra = s% mesh_dlog_burn_fe_dlogP_extra
3217 :
3218 0 : mesh_dlog_cc_dlogP_extra = s% mesh_dlog_cc_dlogP_extra
3219 0 : mesh_dlog_co_dlogP_extra = s% mesh_dlog_co_dlogP_extra
3220 0 : mesh_dlog_oo_dlogP_extra = s% mesh_dlog_oo_dlogP_extra
3221 :
3222 0 : mesh_dlog_pnhe4_dlogP_extra = s% mesh_dlog_pnhe4_dlogP_extra
3223 0 : mesh_dlog_photo_dlogP_extra = s% mesh_dlog_photo_dlogP_extra
3224 0 : mesh_dlog_other_dlogP_extra = s% mesh_dlog_other_dlogP_extra
3225 :
3226 0 : mesh_delta_coeff_factor_smooth_iters = s% mesh_delta_coeff_factor_smooth_iters
3227 :
3228 0 : T_function1_weight = s% T_function1_weight
3229 0 : T_function2_weight = s% T_function2_weight
3230 0 : T_function2_param = s% T_function2_param
3231 :
3232 0 : R_function_weight = s% R_function_weight
3233 0 : R_function_param = s% R_function_param
3234 :
3235 0 : R_function2_weight = s% R_function2_weight
3236 0 : R_function2_param1 = s% R_function2_param1
3237 0 : R_function2_param2 = s% R_function2_param2
3238 :
3239 0 : R_function3_weight = s% R_function3_weight
3240 :
3241 0 : M_function_weight = s% M_function_weight
3242 0 : M_function_param = s% M_function_param
3243 :
3244 0 : gradT_function_weight = s% gradT_function_weight
3245 0 : log_tau_function_weight = s% log_tau_function_weight
3246 0 : log_kap_function_weight = s% log_kap_function_weight
3247 0 : omega_function_weight = s% omega_function_weight
3248 :
3249 0 : gam_function_weight = s% gam_function_weight
3250 0 : gam_function_param1 = s% gam_function_param1
3251 0 : gam_function_param2 = s% gam_function_param2
3252 :
3253 0 : xa_function_species = s% xa_function_species
3254 0 : xa_function_weight = s% xa_function_weight
3255 0 : xa_function_param = s% xa_function_param
3256 0 : xa_mesh_delta_coeff = s% xa_mesh_delta_coeff
3257 :
3258 0 : use_split_merge_amr = s% use_split_merge_amr
3259 0 : split_merge_amr_nz_baseline = s% split_merge_amr_nz_baseline
3260 0 : split_merge_amr_nz_r_core = s% split_merge_amr_nz_r_core
3261 0 : split_merge_amr_nz_r_core_fraction = s% split_merge_amr_nz_r_core_fraction
3262 0 : split_merge_amr_mesh_delta_coeff = s% split_merge_amr_mesh_delta_coeff
3263 0 : split_merge_amr_log_zoning = s% split_merge_amr_log_zoning
3264 0 : split_merge_amr_hybrid_zoning = s% split_merge_amr_hybrid_zoning
3265 0 : split_merge_amr_flipped_hybrid_zoning = s% split_merge_amr_flipped_hybrid_zoning
3266 0 : split_merge_amr_logtau_zoning = s% split_merge_amr_logtau_zoning
3267 0 : split_merge_amr_okay_to_split_nz = s% split_merge_amr_okay_to_split_nz
3268 0 : split_merge_amr_okay_to_split_1 = s% split_merge_amr_okay_to_split_1
3269 0 : merge_amr_inhibit_at_jumps = s% merge_amr_inhibit_at_jumps
3270 0 : split_merge_amr_MaxLong = s% split_merge_amr_MaxLong
3271 0 : split_merge_amr_MaxShort = s% split_merge_amr_MaxShort
3272 0 : merge_amr_max_abs_du_div_cs = s% merge_amr_max_abs_du_div_cs
3273 0 : merge_amr_ignore_surface_cells = s% merge_amr_ignore_surface_cells
3274 0 : merge_amr_du_div_cs_limit_only_for_compression = s% merge_amr_du_div_cs_limit_only_for_compression
3275 0 : split_merge_amr_avoid_repeated_remesh = s% split_merge_amr_avoid_repeated_remesh
3276 0 : merge_amr_k_for_ignore_surface_cells = s% merge_amr_k_for_ignore_surface_cells
3277 0 : split_merge_amr_dq_min = s% split_merge_amr_dq_min
3278 0 : split_merge_amr_dq_max = s% split_merge_amr_dq_max
3279 0 : split_merge_amr_r_core_cm = s% split_merge_amr_r_core_cm
3280 0 : split_merge_amr_max_iters = s% split_merge_amr_max_iters
3281 0 : trace_split_merge_amr = s% trace_split_merge_amr
3282 0 : equal_split_density_amr = s% equal_split_density_amr
3283 :
3284 : ! nuclear reaction parameters
3285 0 : screening_mode = s% screening_mode
3286 0 : default_net_name = s% default_net_name
3287 :
3288 0 : net_logTcut_lo = s% net_logTcut_lo
3289 0 : net_logTcut_lim = s% net_logTcut_lim
3290 :
3291 0 : eps_nuc_factor = s% eps_nuc_factor
3292 0 : op_split_burn_eps_nuc_infall_limit = s% op_split_burn_eps_nuc_infall_limit
3293 0 : eps_WD_sedimentation_factor = s% eps_WD_sedimentation_factor
3294 0 : max_abs_eps_nuc = s% max_abs_eps_nuc
3295 0 : dxdt_nuc_factor = s% dxdt_nuc_factor
3296 0 : max_abar_for_burning = s% max_abar_for_burning
3297 0 : fe56ec_fake_factor = s% fe56ec_fake_factor
3298 0 : min_T_for_fe56ec_fake_factor = s% min_T_for_fe56ec_fake_factor
3299 0 : weak_rate_factor = s% weak_rate_factor
3300 :
3301 0 : mix_factor = s% mix_factor
3302 :
3303 0 : sig_term_limit = s% sig_term_limit
3304 :
3305 0 : sig_min_factor_for_high_Tcenter = s% sig_min_factor_for_high_Tcenter
3306 0 : Tcenter_min_for_sig_min_factor_full_on = s% Tcenter_min_for_sig_min_factor_full_on
3307 0 : Tcenter_max_for_sig_min_factor_full_off = s% Tcenter_max_for_sig_min_factor_full_off
3308 0 : max_delta_m_to_bdy_for_sig_min_factor = s% max_delta_m_to_bdy_for_sig_min_factor
3309 0 : delta_m_lower_for_sig_min_factor = s% delta_m_lower_for_sig_min_factor
3310 0 : delta_m_upper_for_sig_min_factor = s% delta_m_upper_for_sig_min_factor
3311 :
3312 0 : am_sig_term_limit = s% am_sig_term_limit
3313 0 : am_D_mix_factor = s% am_D_mix_factor
3314 0 : am_gradmu_factor = s% am_gradmu_factor
3315 0 : am_nu_factor = s% am_nu_factor
3316 :
3317 0 : D_visc_factor = s% D_visc_factor
3318 0 : D_DSI_factor = s% D_DSI_factor
3319 0 : D_SH_factor = s% D_SH_factor
3320 0 : D_SSI_factor = s% D_SSI_factor
3321 0 : D_ES_factor = s% D_ES_factor
3322 0 : D_GSF_factor = s% D_GSF_factor
3323 0 : D_ST_factor = s% D_ST_factor
3324 :
3325 0 : am_nu_non_rotation_factor = s% am_nu_non_rotation_factor
3326 0 : skip_rotation_in_convection_zones = s% skip_rotation_in_convection_zones
3327 0 : am_nu_DSI_factor = s% am_nu_DSI_factor
3328 0 : am_nu_SH_factor = s% am_nu_SH_factor
3329 0 : am_nu_SSI_factor = s% am_nu_SSI_factor
3330 0 : am_nu_ES_factor = s% am_nu_ES_factor
3331 0 : am_nu_GSF_factor = s% am_nu_GSF_factor
3332 0 : am_nu_ST_factor = s% am_nu_ST_factor
3333 0 : am_nu_visc_factor = s% am_nu_visc_factor
3334 :
3335 0 : am_nu_omega_rot_factor = s% am_nu_omega_rot_factor
3336 0 : am_nu_omega_non_rot_factor = s% am_nu_omega_non_rot_factor
3337 0 : am_nu_j_rot_factor = s% am_nu_j_rot_factor
3338 0 : am_nu_j_non_rot_factor = s% am_nu_j_non_rot_factor
3339 :
3340 0 : smooth_nu_ST = s% smooth_nu_ST
3341 0 : smooth_D_ST = s% smooth_D_ST
3342 0 : smooth_D_DSI = s% smooth_D_DSI
3343 0 : smooth_D_SSI = s% smooth_D_SSI
3344 0 : smooth_D_SH = s% smooth_D_SH
3345 0 : smooth_D_GSF = s% smooth_D_GSF
3346 0 : smooth_D_ES = s% smooth_D_ES
3347 0 : smooth_D_omega = s% smooth_D_omega
3348 0 : smooth_am_nu_rot = s% smooth_am_nu_rot
3349 0 : ST_angsmt = s% ST_angsmt
3350 0 : ST_angsml = s% ST_angsml
3351 :
3352 0 : simple_i_rot_flag = s% simple_i_rot_flag
3353 0 : do_adjust_J_lost = s% do_adjust_J_lost
3354 0 : premix_omega = s% premix_omega
3355 0 : angular_momentum_error_warn = s% angular_momentum_error_warn
3356 0 : angular_momentum_error_retry = s% angular_momentum_error_retry
3357 0 : recalc_mixing_info_each_substep = s% recalc_mixing_info_each_substep
3358 0 : adjust_J_fraction = s% adjust_J_fraction
3359 0 : min_q_for_adjust_J_lost = s% min_q_for_adjust_J_lost
3360 0 : min_J_div_delta_J = s% min_J_div_delta_J
3361 0 : max_mdot_redo_cnt = s% max_mdot_redo_cnt
3362 0 : mdot_revise_factor = s% mdot_revise_factor
3363 0 : implicit_mdot_boost = s% implicit_mdot_boost
3364 0 : min_years_dt_for_redo_mdot = s% min_years_dt_for_redo_mdot
3365 0 : surf_omega_div_omega_crit_limit = s% surf_omega_div_omega_crit_limit
3366 0 : surf_omega_div_omega_crit_tol = s% surf_omega_div_omega_crit_tol
3367 0 : w_div_wcrit_max = s% w_div_wcrit_max
3368 0 : w_div_wcrit_max2 = s% w_div_wcrit_max2
3369 :
3370 0 : D_mix_rotation_max_logT_full_on = s% D_mix_rotation_max_logT_full_on
3371 0 : D_mix_rotation_min_logT_full_off = s% D_mix_rotation_min_logT_full_off
3372 0 : D_mix_rotation_min_tau_full_off = s% D_mix_rotation_min_tau_full_off
3373 0 : D_mix_rotation_min_tau_full_on = s% D_mix_rotation_min_tau_full_on
3374 :
3375 :
3376 0 : set_uniform_am_nu_non_rot = s% set_uniform_am_nu_non_rot
3377 0 : uniform_am_nu_non_rot = s% uniform_am_nu_non_rot
3378 :
3379 0 : set_min_am_nu_non_rot = s% set_min_am_nu_non_rot
3380 0 : min_am_nu_non_rot = s% min_am_nu_non_rot
3381 0 : min_center_Ye_for_min_am_nu_non_rot = s% min_center_Ye_for_min_am_nu_non_rot
3382 :
3383 0 : set_min_D_mix = s% set_min_D_mix
3384 0 : mass_lower_limit_for_min_D_mix = s% mass_lower_limit_for_min_D_mix
3385 0 : mass_upper_limit_for_min_D_mix = s% mass_upper_limit_for_min_D_mix
3386 0 : min_D_mix = s% min_D_mix
3387 0 : set_min_D_mix_below_Tmax = s% set_min_D_mix_below_Tmax
3388 0 : min_D_mix_below_Tmax = s% min_D_mix_below_Tmax
3389 0 : set_min_D_mix_in_H_He = s% set_min_D_mix_in_H_He
3390 0 : min_D_mix_in_H_He = s% min_D_mix_in_H_He
3391 0 : min_center_Ye_for_min_D_mix = s% min_center_Ye_for_min_D_mix
3392 0 : reaction_neuQs_factor = s% reaction_neuQs_factor
3393 0 : nonlocal_NiCo_kap_gamma = s% nonlocal_NiCo_kap_gamma
3394 0 : nonlocal_NiCo_decay_heat = s% nonlocal_NiCo_decay_heat
3395 0 : dtau_gamma_NiCo_decay_heat = s% dtau_gamma_NiCo_decay_heat
3396 0 : max_logT_for_net = s% max_logT_for_net
3397 0 : smooth_outer_xa_big = s% smooth_outer_xa_big
3398 0 : smooth_outer_xa_small = s% smooth_outer_xa_small
3399 :
3400 : ! element diffusion parameters
3401 0 : diffusion_use_iben_macdonald = s% diffusion_use_iben_macdonald
3402 0 : diffusion_use_paquette = s% diffusion_use_paquette
3403 0 : diffusion_use_caplan = s% diffusion_use_caplan
3404 0 : diffusion_use_cgs_solver = s% diffusion_use_cgs_solver
3405 0 : diffusion_use_full_net = s% diffusion_use_full_net
3406 0 : do_WD_sedimentation_heating = s% do_WD_sedimentation_heating
3407 0 : min_xa_for_WD_sedimentation_heating = s% min_xa_for_WD_sedimentation_heating
3408 0 : do_diffusion_heating = s% do_diffusion_heating
3409 0 : do_element_diffusion = s% do_element_diffusion
3410 0 : cgs_thermal_diffusion_eta_full_on = s% cgs_thermal_diffusion_eta_full_on
3411 0 : cgs_thermal_diffusion_eta_full_off = s% cgs_thermal_diffusion_eta_full_off
3412 0 : diffusion_min_dq_at_surface = s% diffusion_min_dq_at_surface
3413 0 : diffusion_min_T_at_surface = s% diffusion_min_T_at_surface
3414 0 : diffusion_min_dq_ratio_at_surface = s% diffusion_min_dq_ratio_at_surface
3415 0 : diffusion_dt_limit = s% diffusion_dt_limit
3416 :
3417 0 : do_phase_separation = s% do_phase_separation
3418 0 : phase_separation_option = s% phase_separation_option
3419 0 : do_phase_separation_heating = s% do_phase_separation_heating
3420 0 : phase_separation_mixing_use_brunt = s% phase_separation_mixing_use_brunt
3421 0 : phase_separation_no_diffusion = s% phase_separation_no_diffusion
3422 :
3423 0 : diffusion_min_X_hard_limit = s% diffusion_min_X_hard_limit
3424 0 : diffusion_X_total_atol = s% diffusion_X_total_atol
3425 0 : diffusion_X_total_rtol = s% diffusion_X_total_rtol
3426 0 : diffusion_upwind_abs_v_limit = s% diffusion_upwind_abs_v_limit
3427 0 : diffusion_dt_div_timescale = s% diffusion_dt_div_timescale
3428 0 : diffusion_min_num_substeps = s% diffusion_min_num_substeps
3429 0 : diffusion_max_iters_per_substep = s% diffusion_max_iters_per_substep
3430 0 : diffusion_max_retries_per_substep = s% diffusion_max_retries_per_substep
3431 0 : diffusion_v_max = s% diffusion_v_max
3432 0 : diffusion_gamma_full_off = s% diffusion_gamma_full_off
3433 0 : diffusion_gamma_full_on = s% diffusion_gamma_full_on
3434 0 : diffusion_T_full_off = s% diffusion_T_full_off
3435 0 : D_mix_ignore_diffusion = s% D_mix_ignore_diffusion
3436 0 : diffusion_T_full_on = s% diffusion_T_full_on
3437 0 : diffusion_calculates_ionization = s% diffusion_calculates_ionization
3438 0 : diffusion_nsmooth_typical_charge = s% diffusion_nsmooth_typical_charge
3439 0 : diffusion_tol_correction_max = s% diffusion_tol_correction_max
3440 0 : diffusion_tol_correction_norm = s% diffusion_tol_correction_norm
3441 :
3442 0 : diffusion_AD_dm_full_on = s% diffusion_AD_dm_full_on
3443 0 : diffusion_AD_dm_full_off = s% diffusion_AD_dm_full_off
3444 0 : diffusion_AD_boost_factor = s% diffusion_AD_boost_factor
3445 :
3446 0 : diffusion_SIG_factor = s% diffusion_SIG_factor
3447 0 : diffusion_GT_factor = s% diffusion_GT_factor
3448 :
3449 0 : diffusion_Vlimit_dm_full_on = s% diffusion_Vlimit_dm_full_on
3450 0 : diffusion_Vlimit_dm_full_off = s% diffusion_Vlimit_dm_full_off
3451 0 : diffusion_Vlimit = s% diffusion_Vlimit
3452 :
3453 0 : diffusion_max_T_for_radaccel = s% diffusion_max_T_for_radaccel
3454 0 : diffusion_min_T_for_radaccel = s% diffusion_min_T_for_radaccel
3455 0 : diffusion_max_Z_for_radaccel = s% diffusion_max_Z_for_radaccel
3456 0 : diffusion_min_Z_for_radaccel = s% diffusion_min_Z_for_radaccel
3457 0 : diffusion_screening_for_radaccel = s% diffusion_screening_for_radaccel
3458 0 : op_mono_data_path = s% op_mono_data_path
3459 0 : op_mono_data_cache_filename = s% op_mono_data_cache_filename
3460 0 : emesh_data_for_op_mono_path = s% emesh_data_for_op_mono_path
3461 0 : op_mono_method = s% op_mono_method
3462 :
3463 0 : show_diffusion_info = s% show_diffusion_info
3464 0 : show_diffusion_substep_info = s% show_diffusion_substep_info
3465 0 : show_diffusion_timing = s% show_diffusion_timing
3466 :
3467 0 : diffusion_num_classes = s% diffusion_num_classes
3468 0 : diffusion_class_representative = s% diffusion_class_representative
3469 0 : diffusion_class_A_max = s% diffusion_class_A_max
3470 0 : diffusion_class_typical_charge = s% diffusion_class_typical_charge
3471 0 : diffusion_class_factor = s% diffusion_class_factor
3472 :
3473 0 : diffusion_use_isolve = s% diffusion_use_isolve
3474 0 : diffusion_rtol_for_isolve = s% diffusion_rtol_for_isolve
3475 0 : diffusion_atol_for_isolve = s% diffusion_atol_for_isolve
3476 0 : diffusion_maxsteps_for_isolve = s% diffusion_maxsteps_for_isolve
3477 0 : diffusion_isolve_solver = s% diffusion_isolve_solver
3478 :
3479 : ! eos controls
3480 0 : fix_d_eos_dxa_partials = s% fix_d_eos_dxa_partials
3481 :
3482 : ! opacity controls
3483 0 : use_simple_es_for_kap = s% use_simple_es_for_kap
3484 0 : use_starting_composition_for_kap = s% use_starting_composition_for_kap
3485 0 : min_kap_for_dPrad_dm_eqn = s% min_kap_for_dPrad_dm_eqn
3486 :
3487 0 : low_logT_op_mono_full_off = s% low_logT_op_mono_full_off
3488 0 : low_logT_op_mono_full_on = s% low_logT_op_mono_full_on
3489 0 : high_logT_op_mono_full_off = s% high_logT_op_mono_full_off
3490 0 : high_logT_op_mono_full_on = s% high_logT_op_mono_full_on
3491 0 : op_mono_min_X_to_include = s% op_mono_min_X_to_include
3492 0 : use_op_mono_alt_get_kap = s% use_op_mono_alt_get_kap
3493 :
3494 0 : include_L_in_correction_limits = s% include_L_in_correction_limits
3495 0 : include_v_in_correction_limits = s% include_v_in_correction_limits
3496 0 : include_u_in_correction_limits = s% include_u_in_correction_limits
3497 0 : include_w_in_correction_limits = s% include_w_in_correction_limits
3498 :
3499 : ! asteroseismology controls
3500 :
3501 0 : get_delta_nu_from_scaled_solar = s% get_delta_nu_from_scaled_solar
3502 0 : nu_max_sun = s% nu_max_sun
3503 0 : delta_nu_sun = s% delta_nu_sun
3504 0 : astero_Teff_sun = s% astero_Teff_sun
3505 0 : delta_Pg_mode_freq = s% delta_Pg_mode_freq
3506 0 : delta_Pg_traditional = s% delta_Pg_traditional
3507 :
3508 : ! hydro parameters
3509 0 : energy_eqn_option = s% energy_eqn_option
3510 0 : opacity_min = s% opacity_min
3511 0 : opacity_max = s% opacity_max
3512 0 : opacity_factor = s% opacity_factor
3513 0 : min_logT_for_opacity_factor_off = s% min_logT_for_opacity_factor_off
3514 0 : max_logT_for_opacity_factor_off = s% max_logT_for_opacity_factor_off
3515 0 : min_logT_for_opacity_factor_on = s% min_logT_for_opacity_factor_on
3516 0 : max_logT_for_opacity_factor_on = s% max_logT_for_opacity_factor_on
3517 :
3518 0 : non_nuc_neu_factor = s% non_nuc_neu_factor
3519 0 : use_time_centered_eps_grav = s% use_time_centered_eps_grav
3520 0 : no_dedt_form_during_relax = s% no_dedt_form_during_relax
3521 0 : dedt_eqn_r_scale = s% dedt_eqn_r_scale
3522 0 : use_mass_corrections = s% use_mass_corrections
3523 0 : use_gravity_rotation_correction = s% use_gravity_rotation_correction
3524 0 : eps_grav_factor = s% eps_grav_factor
3525 0 : eps_mdot_factor = s% eps_mdot_factor
3526 0 : include_composition_in_eps_grav = s% include_composition_in_eps_grav
3527 0 : max_abs_rel_change_surf_lnS = s% max_abs_rel_change_surf_lnS
3528 0 : max_num_surf_revisions = s% max_num_surf_revisions
3529 0 : Gamma_lnS_eps_grav_full_off = s% Gamma_lnS_eps_grav_full_off
3530 0 : Gamma_lnS_eps_grav_full_on = s% Gamma_lnS_eps_grav_full_on
3531 :
3532 0 : use_dPrad_dm_form_of_T_gradient_eqn = s% use_dPrad_dm_form_of_T_gradient_eqn
3533 0 : use_flux_limiting_with_dPrad_dm_form = s% use_flux_limiting_with_dPrad_dm_form
3534 0 : use_gradT_actual_vs_gradT_MLT_for_T_gradient_eqn = s% use_gradT_actual_vs_gradT_MLT_for_T_gradient_eqn
3535 0 : steps_before_use_velocity_time_centering = s% steps_before_use_velocity_time_centering
3536 0 : include_P_in_velocity_time_centering = s% include_P_in_velocity_time_centering
3537 0 : include_L_in_velocity_time_centering = s% include_L_in_velocity_time_centering
3538 0 : P_theta_for_velocity_time_centering = s% P_theta_for_velocity_time_centering
3539 0 : L_theta_for_velocity_time_centering = s% L_theta_for_velocity_time_centering
3540 0 : use_P_d_1_div_rho_form_of_work_when_time_centering_velocity = s% use_P_d_1_div_rho_form_of_work_when_time_centering_velocity
3541 :
3542 0 : RTI_A = s% RTI_A
3543 0 : RTI_B = s% RTI_B
3544 0 : RTI_C = s% RTI_C
3545 0 : RTI_D = s% RTI_D
3546 0 : RTI_max_alpha = s% RTI_max_alpha
3547 0 : RTI_C_X_factor = s% RTI_C_X_factor
3548 0 : RTI_C_X0_frac = s% RTI_C_X0_frac
3549 0 : RTI_dm_for_center_eta_nondecreasing = s% RTI_dm_for_center_eta_nondecreasing
3550 0 : RTI_min_dm_behind_shock_for_full_on = s% RTI_min_dm_behind_shock_for_full_on
3551 0 : RTI_energy_floor = s% RTI_energy_floor
3552 0 : RTI_D_mix_floor = s% RTI_D_mix_floor
3553 0 : RTI_min_m_for_D_mix_floor = s% RTI_min_m_for_D_mix_floor
3554 0 : RTI_log_max_boost = s% RTI_log_max_boost
3555 0 : RTI_m_full_boost = s% RTI_m_full_boost
3556 0 : RTI_m_no_boost = s% RTI_m_no_boost
3557 :
3558 0 : use_drag_energy = s% use_drag_energy
3559 0 : drag_coefficient = s% drag_coefficient
3560 0 : min_q_for_drag = s% min_q_for_drag
3561 0 : v_drag_factor = s% v_drag_factor
3562 0 : v_drag = s% v_drag
3563 0 : q_for_v_drag_full_off = s% q_for_v_drag_full_off
3564 0 : q_for_v_drag_full_on = s% q_for_v_drag_full_on
3565 :
3566 0 : velocity_logT_lower_bound = s% velocity_logT_lower_bound
3567 0 : max_dt_yrs_for_velocity_logT_lower_bound = s% max_dt_yrs_for_velocity_logT_lower_bound
3568 0 : velocity_tau_lower_bound = s% velocity_tau_lower_bound
3569 0 : velocity_q_upper_bound = s% velocity_q_upper_bound
3570 0 : report_max_infall_inside_fe_core = s% report_max_infall_inside_fe_core
3571 0 : retry_for_v_above_clight = s% retry_for_v_above_clight
3572 :
3573 : ! solvers
3574 :
3575 0 : tol_correction_norm = s% tol_correction_norm
3576 0 : tol_max_correction = s% tol_max_correction
3577 0 : correction_xa_limit = s% correction_xa_limit
3578 :
3579 0 : tol_correction_high_T_limit = s% tol_correction_high_T_limit
3580 0 : tol_correction_norm_high_T = s% tol_correction_norm_high_T
3581 0 : tol_max_correction_high_T = s% tol_max_correction_high_T
3582 :
3583 0 : tol_correction_extreme_T_limit = s% tol_correction_extreme_T_limit
3584 0 : tol_correction_norm_extreme_T = s% tol_correction_norm_extreme_T
3585 0 : tol_max_correction_extreme_T = s% tol_max_correction_extreme_T
3586 :
3587 0 : tol_bad_max_correction = s% tol_bad_max_correction
3588 0 : bad_max_correction_series_limit = s% bad_max_correction_series_limit
3589 :
3590 0 : tol_residual_norm1 = s% tol_residual_norm1
3591 0 : tol_max_residual1 = s% tol_max_residual1
3592 0 : tol_residual_norm2 = s% tol_residual_norm2
3593 0 : tol_max_residual2 = s% tol_max_residual2
3594 0 : tol_residual_norm3 = s% tol_residual_norm3
3595 0 : tol_max_residual3 = s% tol_max_residual3
3596 0 : warning_limit_for_max_residual = s% warning_limit_for_max_residual
3597 0 : trace_solver_damping = s% trace_solver_damping
3598 :
3599 0 : relax_use_gold_tolerances = s% relax_use_gold_tolerances
3600 0 : relax_tol_correction_norm = s% relax_tol_correction_norm
3601 0 : relax_tol_max_correction = s% relax_tol_max_correction
3602 0 : relax_solver_iters_timestep_limit = s% relax_solver_iters_timestep_limit
3603 0 : relax_iter_for_resid_tol2 = s% relax_iter_for_resid_tol2
3604 0 : relax_tol_residual_norm1 = s% relax_tol_residual_norm1
3605 0 : relax_tol_max_residual1 = s% relax_tol_max_residual1
3606 0 : relax_iter_for_resid_tol3 = s% relax_iter_for_resid_tol3
3607 0 : relax_tol_residual_norm2 = s% relax_tol_residual_norm2
3608 0 : relax_tol_max_residual2 = s% relax_tol_max_residual2
3609 0 : relax_tol_residual_norm3 = s% relax_tol_residual_norm3
3610 0 : relax_tol_max_residual3 = s% relax_tol_max_residual3
3611 0 : relax_maxT_for_gold_tolerances = s% relax_maxT_for_gold_tolerances
3612 :
3613 0 : use_gold_tolerances = s% use_gold_tolerances
3614 0 : gold_solver_iters_timestep_limit = s% gold_solver_iters_timestep_limit
3615 0 : maxT_for_gold_tolerances = s% maxT_for_gold_tolerances
3616 0 : gold_tol_residual_norm1 = s% gold_tol_residual_norm1
3617 0 : gold_tol_max_residual1 = s% gold_tol_max_residual1
3618 0 : gold_iter_for_resid_tol2 = s% gold_iter_for_resid_tol2
3619 0 : gold_tol_residual_norm2 = s% gold_tol_residual_norm2
3620 0 : gold_tol_max_residual2 = s% gold_tol_max_residual2
3621 0 : gold_iter_for_resid_tol3 = s% gold_iter_for_resid_tol3
3622 0 : gold_tol_residual_norm3 = s% gold_tol_residual_norm3
3623 0 : gold_tol_max_residual3 = s% gold_tol_max_residual3
3624 0 : steps_before_use_gold_tolerances = s% steps_before_use_gold_tolerances
3625 :
3626 0 : use_gold2_tolerances = s% use_gold2_tolerances
3627 0 : gold2_solver_iters_timestep_limit = s% gold2_solver_iters_timestep_limit
3628 0 : gold2_tol_residual_norm1 = s% gold2_tol_residual_norm1
3629 0 : gold2_tol_max_residual1 = s% gold2_tol_max_residual1
3630 0 : gold2_iter_for_resid_tol2 = s% gold2_iter_for_resid_tol2
3631 0 : gold2_tol_residual_norm2 = s% gold2_tol_residual_norm2
3632 0 : gold2_tol_max_residual2 = s% gold2_tol_max_residual2
3633 0 : gold2_iter_for_resid_tol3 = s% gold2_iter_for_resid_tol3
3634 0 : gold2_tol_residual_norm3 = s% gold2_tol_residual_norm3
3635 0 : gold2_tol_max_residual3 = s% gold2_tol_max_residual3
3636 0 : steps_before_use_gold2_tolerances = s% steps_before_use_gold2_tolerances
3637 :
3638 0 : include_rotation_in_total_energy = s% include_rotation_in_total_energy
3639 :
3640 0 : convergence_ignore_equL_residuals = s% convergence_ignore_equL_residuals
3641 0 : convergence_ignore_alpha_RTI_residuals = s% convergence_ignore_alpha_RTI_residuals
3642 :
3643 0 : iter_for_resid_tol2 = s% iter_for_resid_tol2
3644 0 : iter_for_resid_tol3 = s% iter_for_resid_tol3
3645 :
3646 0 : solver_itermin = s% solver_itermin
3647 0 : solver_itermin_until_reduce_min_corr_coeff = s% solver_itermin_until_reduce_min_corr_coeff
3648 0 : solver_reduced_min_corr_coeff = s% solver_reduced_min_corr_coeff
3649 0 : do_solver_damping_for_neg_xa = s% do_solver_damping_for_neg_xa
3650 0 : scale_max_correction_for_negative_surf_lum = s% scale_max_correction_for_negative_surf_lum
3651 0 : max_frac_for_negative_surf_lum = s% max_frac_for_negative_surf_lum
3652 0 : hydro_mtx_max_allowed_abs_dlogT = s% hydro_mtx_max_allowed_abs_dlogT
3653 0 : hydro_mtx_max_allowed_abs_dlogRho = s% hydro_mtx_max_allowed_abs_dlogRho
3654 0 : min_logT_for_hydro_mtx_max_allowed = s% min_logT_for_hydro_mtx_max_allowed
3655 0 : hydro_mtx_max_allowed_logT = s% hydro_mtx_max_allowed_logT
3656 0 : hydro_mtx_max_allowed_logRho = s% hydro_mtx_max_allowed_logRho
3657 0 : hydro_mtx_min_allowed_logT = s% hydro_mtx_min_allowed_logT
3658 0 : hydro_mtx_min_allowed_logRho = s% hydro_mtx_min_allowed_logRho
3659 :
3660 0 : use_DGESVX_in_bcyclic = s% use_DGESVX_in_bcyclic
3661 0 : use_equilibration_in_DGESVX = s% use_equilibration_in_DGESVX
3662 0 : report_min_rcond_from_DGESXV = s% report_min_rcond_from_DGESXV
3663 :
3664 0 : op_split_burn = s% op_split_burn
3665 0 : op_split_burn_min_T = s% op_split_burn_min_T
3666 0 : op_split_burn_eps = s% op_split_burn_eps
3667 0 : op_split_burn_odescal = s% op_split_burn_odescal
3668 0 : op_split_burn_min_T_for_variable_T_solver = s% op_split_burn_min_T_for_variable_T_solver
3669 :
3670 0 : tiny_corr_coeff_limit = s% tiny_corr_coeff_limit
3671 0 : scale_correction_norm = s% scale_correction_norm
3672 0 : num_times_solver_reuse_mtx = s% num_times_solver_reuse_mtx
3673 0 : corr_param_factor = s% corr_param_factor
3674 0 : scale_max_correction = s% scale_max_correction
3675 0 : ignore_min_corr_coeff_for_scale_max_correction = s% ignore_min_corr_coeff_for_scale_max_correction
3676 0 : ignore_too_large_correction = s% ignore_too_large_correction
3677 0 : ignore_species_in_max_correction = s% ignore_species_in_max_correction
3678 :
3679 0 : corr_norm_jump_limit = s% corr_norm_jump_limit
3680 0 : max_corr_jump_limit = s% max_corr_jump_limit
3681 0 : resid_norm_jump_limit = s% resid_norm_jump_limit
3682 0 : max_resid_jump_limit = s% max_resid_jump_limit
3683 :
3684 0 : corr_coeff_limit = s% corr_coeff_limit
3685 0 : tiny_corr_factor = s% tiny_corr_factor
3686 :
3687 0 : solver_max_tries_before_reject = s% solver_max_tries_before_reject
3688 0 : max_tries1 = s% max_tries1
3689 0 : max_tries_for_retry = s% max_tries_for_retry
3690 0 : max_tries_after_5_retries = s% max_tries_after_5_retries
3691 0 : max_tries_after_10_retries = s% max_tries_after_10_retries
3692 0 : max_tries_after_20_retries = s% max_tries_after_20_retries
3693 0 : retry_limit = s% retry_limit
3694 0 : redo_limit = s% redo_limit
3695 :
3696 0 : use_Pvsc_art_visc = s% use_Pvsc_art_visc
3697 0 : Pvsc_cq = s% Pvsc_cq
3698 0 : Pvsc_zsh = s% Pvsc_zsh
3699 :
3700 0 : min_xa_hard_limit = s% min_xa_hard_limit
3701 0 : min_xa_hard_limit_for_highT = s% min_xa_hard_limit_for_highT
3702 0 : logT_max_for_min_xa_hard_limit = s% logT_max_for_min_xa_hard_limit
3703 0 : logT_min_for_min_xa_hard_limit_for_highT = s% logT_min_for_min_xa_hard_limit_for_highT
3704 :
3705 0 : sum_xa_hard_limit = s% sum_xa_hard_limit
3706 0 : sum_xa_hard_limit_for_highT = s% sum_xa_hard_limit_for_highT
3707 0 : logT_max_for_sum_xa_hard_limit = s% logT_max_for_sum_xa_hard_limit
3708 0 : logT_min_for_sum_xa_hard_limit_for_highT = s% logT_min_for_sum_xa_hard_limit_for_highT
3709 :
3710 0 : xa_clip_limit = s% xa_clip_limit
3711 0 : report_solver_progress = s% report_solver_progress
3712 0 : solver_test_partials_call_number = s% solver_test_partials_call_number
3713 0 : solver_test_partials_iter_number = s% solver_test_partials_iter_number
3714 0 : solver_epsder_chem = s% solver_epsder_chem
3715 0 : solver_epsder_struct = s% solver_epsder_struct
3716 0 : solver_numerical_jacobian = s% solver_numerical_jacobian
3717 0 : solver_jacobian_nzlo = s% solver_jacobian_nzlo
3718 0 : solver_jacobian_nzhi = s% solver_jacobian_nzhi
3719 0 : solver_check_everything = s% solver_check_everything
3720 0 : energy_conservation_dump_model_number = s% energy_conservation_dump_model_number
3721 0 : solver_inspect_soln_flag = s% solver_inspect_soln_flag
3722 0 : solver_test_partials_dx_0 = s% solver_test_partials_dx_0
3723 0 : solver_test_partials_k = s% solver_test_partials_k
3724 0 : solver_test_partials_k_low = s% solver_test_partials_k_low
3725 0 : solver_test_partials_k_high = s% solver_test_partials_k_high
3726 0 : solver_show_correction_info = s% solver_show_correction_info
3727 0 : solver_test_partials_write_eos_call_info = s% solver_test_partials_write_eos_call_info
3728 0 : solver_test_eos_partials = s% solver_test_eos_partials
3729 0 : solver_test_kap_partials = s% solver_test_kap_partials
3730 0 : solver_test_net_partials = s% solver_test_net_partials
3731 0 : solver_test_atm_partials = s% solver_test_atm_partials
3732 0 : solver_test_partials_var_name = s% solver_test_partials_var_name
3733 0 : solver_test_partials_sink_name = s% solver_test_partials_sink_name
3734 0 : solver_test_partials_equ_name = s% solver_test_partials_equ_name
3735 0 : solver_test_partials_show_dx_var_name = s% solver_test_partials_show_dx_var_name
3736 0 : solver_save_photo_call_number = s% solver_save_photo_call_number
3737 0 : fill_arrays_with_NaNs = s% fill_arrays_with_NaNs
3738 0 : zero_when_allocate = s% zero_when_allocate
3739 0 : warn_when_large_rel_run_E_err = s% warn_when_large_rel_run_E_err
3740 0 : absolute_cumulative_energy_err = s% absolute_cumulative_energy_err
3741 0 : warn_when_large_virial_thm_rel_err = s% warn_when_large_virial_thm_rel_err
3742 0 : warn_when_get_a_bad_eos_result = s% warn_when_get_a_bad_eos_result
3743 0 : warn_rates_for_high_temp = s% warn_rates_for_high_temp
3744 0 : max_safe_logT_for_rates = s% max_safe_logT_for_rates
3745 0 : eps_mdot_leak_frac_factor = s% eps_mdot_leak_frac_factor
3746 :
3747 0 : alpha_TDC_DAMP = s% alpha_TDC_DAMP
3748 0 : alpha_TDC_DAMPR = s% alpha_TDC_DAMPR
3749 0 : alpha_TDC_PtdVdt = s% alpha_TDC_PtdVdt
3750 0 : compare_TDC_to_MLT = s% compare_TDC_to_MLT
3751 :
3752 0 : RSP2_alfap= s% RSP2_alfap
3753 0 : RSP2_alfad = s% RSP2_alfad
3754 0 : RSP2_alfat= s% RSP2_alfat
3755 0 : RSP2_alfam= s% RSP2_alfam
3756 0 : RSP2_alfar= s% RSP2_alfar
3757 0 : RSP2_min_Lt_div_L_for_overshooting_mixing_type = s% RSP2_min_Lt_div_L_for_overshooting_mixing_type
3758 0 : RSP2_min_Lc_div_L_for_convective_mixing_type = s% RSP2_min_Lc_div_L_for_convective_mixing_type
3759 0 : RSP2_Lsurf_factor= s% RSP2_Lsurf_factor
3760 0 : RSP2_use_Stellingwerf_Lr = s% RSP2_use_Stellingwerf_Lr
3761 0 : RSP2_remesh_when_load = s% RSP2_remesh_when_load
3762 0 : RSP2_use_L_eqn_at_surface = s% RSP2_use_L_eqn_at_surface
3763 0 : RSP2_report_adjust_w = s% RSP2_report_adjust_w
3764 0 : RSP2_assume_HSE = s% RSP2_assume_HSE
3765 0 : RSP2_use_RSP_eqn_for_Y_face = s% RSP2_use_RSP_eqn_for_Y_face
3766 0 : RSP2_use_mass_interp_face_values = s% RSP2_use_mass_interp_face_values
3767 0 : RSP2_num_outermost_cells_forced_nonturbulent = s% RSP2_num_outermost_cells_forced_nonturbulent
3768 0 : RSP2_num_innermost_cells_forced_nonturbulent = s% RSP2_num_innermost_cells_forced_nonturbulent
3769 0 : RSP2_T_anchor = s% RSP2_T_anchor
3770 0 : RSP2_dq_1_factor = s% RSP2_dq_1_factor
3771 0 : RSP2_nz = s% RSP2_nz
3772 0 : RSP2_nz_outer = s% RSP2_nz_outer
3773 0 : RSP2_nz_div_IBOTOM = s% RSP2_nz_div_IBOTOM
3774 0 : RSP2_target_steps_per_cycle = s% RSP2_target_steps_per_cycle
3775 0 : RSP2_max_num_periods = s% RSP2_max_num_periods
3776 0 : RSP2_work_period = s% RSP2_work_period
3777 0 : RSP2_map_first_period = s% RSP2_map_first_period
3778 0 : RSP2_map_last_period = s% RSP2_map_last_period
3779 0 : RSP2_min_max_R_for_periods = s% RSP2_min_max_R_for_periods
3780 0 : RSP2_GREKM_avg_abs_frac_new = s% RSP2_GREKM_avg_abs_frac_new
3781 0 : RSP2_GREKM_avg_abs_limit = s% RSP2_GREKM_avg_abs_limit
3782 0 : RSP2_map_zone_interval = s% RSP2_map_zone_interval
3783 0 : RSP2_work_filename = s% RSP2_work_filename
3784 0 : RSP2_map_columns_filename = s% RSP2_map_columns_filename
3785 0 : RSP2_map_filename = s% RSP2_map_filename
3786 0 : RSP2_map_history_filename = s% RSP2_map_history_filename
3787 0 : RSP2_write_map = s% RSP2_write_map
3788 0 : RSP2_w_min_for_damping = s% RSP2_w_min_for_damping
3789 0 : RSP2_source_seed = s% RSP2_source_seed
3790 0 : RSP2_w_fix_if_neg = s% RSP2_w_fix_if_neg
3791 :
3792 0 : max_X_for_conv_timescale = s% max_X_for_conv_timescale
3793 0 : min_X_for_conv_timescale = s% min_X_for_conv_timescale
3794 0 : max_q_for_conv_timescale = s% max_q_for_conv_timescale
3795 0 : min_q_for_conv_timescale = s% min_q_for_conv_timescale
3796 0 : max_q_for_QHSE_timescale = s% max_q_for_QHSE_timescale
3797 0 : min_q_for_QHSE_timescale = s% min_q_for_QHSE_timescale
3798 :
3799 : ! timestep
3800 0 : max_timestep = s% max_timestep
3801 0 : max_years_for_timestep = s% max_years_for_timestep
3802 :
3803 0 : hi_T_max_years_for_timestep = s% hi_T_max_years_for_timestep
3804 0 : max_timestep_hi_T_limit = s% max_timestep_hi_T_limit
3805 :
3806 0 : min_timestep_factor = s% min_timestep_factor
3807 0 : max_timestep_factor = s% max_timestep_factor
3808 0 : max_timestep_factor_at_high_T = s% max_timestep_factor_at_high_T
3809 0 : min_logT_for_max_timestep_factor_at_high_T = s% min_logT_for_max_timestep_factor_at_high_T
3810 0 : time_delta_coeff = s% time_delta_coeff
3811 0 : timestep_factor_for_retries = s% timestep_factor_for_retries
3812 0 : retry_hold = s% retry_hold
3813 0 : neg_mass_fraction_hold = s% neg_mass_fraction_hold
3814 0 : timestep_dt_factor = s% timestep_dt_factor
3815 0 : use_dt_low_pass_controller = s% use_dt_low_pass_controller
3816 :
3817 0 : force_timestep_min = s% force_timestep_min
3818 0 : force_timestep_min_years = s% force_timestep_min_years
3819 0 : force_timestep_min_factor = s% force_timestep_min_factor
3820 0 : force_timestep = s% force_timestep
3821 0 : force_timestep_years = s% force_timestep_years
3822 :
3823 0 : varcontrol_target = s% varcontrol_target
3824 0 : min_allowed_varcontrol_target = s% min_allowed_varcontrol_target
3825 0 : varcontrol_dt_limit_ratio_hard_max = s% varcontrol_dt_limit_ratio_hard_max
3826 0 : xa_scale = s% xa_scale
3827 :
3828 0 : solver_iters_timestep_limit = s% solver_iters_timestep_limit
3829 :
3830 0 : burn_steps_limit = s% burn_steps_limit
3831 0 : burn_steps_hard_limit = s% burn_steps_hard_limit
3832 :
3833 0 : diffusion_steps_limit = s% diffusion_steps_limit
3834 0 : diffusion_steps_hard_limit = s% diffusion_steps_hard_limit
3835 0 : diffusion_iters_limit = s% diffusion_iters_limit
3836 0 : diffusion_iters_hard_limit = s% diffusion_iters_hard_limit
3837 :
3838 0 : dt_div_dt_cell_collapse_limit = s% dt_div_dt_cell_collapse_limit
3839 0 : dt_div_dt_cell_collapse_hard_limit = s% dt_div_dt_cell_collapse_hard_limit
3840 0 : dt_div_min_dr_div_cs_limit = s% dt_div_min_dr_div_cs_limit
3841 0 : dt_div_min_dr_div_cs_hard_limit = s% dt_div_min_dr_div_cs_hard_limit
3842 :
3843 0 : min_abs_du_div_cs_for_dt_div_min_dr_div_cs_limit = s% min_abs_du_div_cs_for_dt_div_min_dr_div_cs_limit
3844 0 : min_abs_u_div_cs_for_dt_div_min_dr_div_cs_limit = s% min_abs_u_div_cs_for_dt_div_min_dr_div_cs_limit
3845 0 : min_k_for_dt_div_min_dr_div_cs_limit = s% min_k_for_dt_div_min_dr_div_cs_limit
3846 0 : min_q_for_dt_div_min_dr_div_cs_limit = s% min_q_for_dt_div_min_dr_div_cs_limit
3847 0 : max_q_for_dt_div_min_dr_div_cs_limit = s% max_q_for_dt_div_min_dr_div_cs_limit
3848 0 : check_remnant_only_for_dt_div_min_dr_div_cs_limit = s% check_remnant_only_for_dt_div_min_dr_div_cs_limit
3849 :
3850 0 : dX_mix_dist_limit = s% dX_mix_dist_limit
3851 0 : dX_limit_species = s% dX_limit_species
3852 0 : dX_limit_min_X = s% dX_limit_min_X
3853 0 : dX_limit = s% dX_limit
3854 0 : dX_hard_limit = s% dX_hard_limit
3855 0 : dX_div_X_limit_min_X = s% dX_div_X_limit_min_X
3856 0 : dX_div_X_limit = s% dX_div_X_limit
3857 0 : dX_div_X_hard_limit = s% dX_div_X_hard_limit
3858 0 : dX_div_X_at_high_T_limit = s% dX_div_X_at_high_T_limit
3859 0 : dX_div_X_at_high_T_hard_limit = s% dX_div_X_at_high_T_hard_limit
3860 0 : dX_div_X_at_high_T_limit_lgT_min = s% dX_div_X_at_high_T_limit_lgT_min
3861 0 : dX_decreases_only = s% dX_decreases_only
3862 :
3863 0 : dX_nuc_drop_min_X_limit = s% dX_nuc_drop_min_X_limit
3864 0 : dX_nuc_drop_max_A_limit = s% dX_nuc_drop_max_A_limit
3865 0 : dX_nuc_drop_limit = s% dX_nuc_drop_limit
3866 0 : dX_nuc_drop_limit_at_high_T = s% dX_nuc_drop_limit_at_high_T
3867 0 : dX_nuc_drop_hard_limit = s% dX_nuc_drop_hard_limit
3868 0 : dX_nuc_drop_min_yrs_for_dt = s% dX_nuc_drop_min_yrs_for_dt
3869 :
3870 0 : dL_div_L_limit_min_L = s% dL_div_L_limit_min_L
3871 0 : dL_div_L_limit = s% dL_div_L_limit
3872 0 : dL_div_L_hard_limit = s% dL_div_L_hard_limit
3873 :
3874 0 : delta_lgP_limit = s% delta_lgP_limit
3875 0 : delta_lgP_hard_limit = s% delta_lgP_hard_limit
3876 0 : delta_lgP_limit_min_lgP = s% delta_lgP_limit_min_lgP
3877 :
3878 0 : delta_lgRho_limit = s% delta_lgRho_limit
3879 0 : delta_lgRho_hard_limit = s% delta_lgRho_hard_limit
3880 0 : delta_lgRho_limit_min_lgRho = s% delta_lgRho_limit_min_lgRho
3881 :
3882 0 : delta_lgT_limit = s% delta_lgT_limit
3883 0 : delta_lgT_hard_limit = s% delta_lgT_hard_limit
3884 0 : delta_lgT_limit_min_lgT = s% delta_lgT_limit_min_lgT
3885 :
3886 0 : delta_lgE_limit = s% delta_lgE_limit
3887 0 : delta_lgE_hard_limit = s% delta_lgE_hard_limit
3888 0 : delta_lgE_limit_min_lgE = s% delta_lgE_limit_min_lgE
3889 :
3890 0 : delta_lgR_limit = s% delta_lgR_limit
3891 0 : delta_lgR_hard_limit = s% delta_lgR_hard_limit
3892 0 : delta_lgR_limit_min_lgR = s% delta_lgR_limit_min_lgR
3893 :
3894 0 : delta_Ye_highT_limit = s% delta_Ye_highT_limit
3895 0 : delta_Ye_highT_hard_limit = s% delta_Ye_highT_hard_limit
3896 0 : minT_for_highT_Ye_limit = s% minT_for_highT_Ye_limit
3897 :
3898 0 : delta_lgL_nuc_cat_limit = s% delta_lgL_nuc_cat_limit
3899 0 : delta_lgL_nuc_cat_hard_limit = s% delta_lgL_nuc_cat_hard_limit
3900 0 : lgL_nuc_cat_burn_min = s% lgL_nuc_cat_burn_min
3901 0 : lgL_nuc_mix_dist_limit = s% lgL_nuc_mix_dist_limit
3902 :
3903 0 : delta_lgL_H_limit = s% delta_lgL_H_limit
3904 0 : delta_lgL_H_hard_limit = s% delta_lgL_H_hard_limit
3905 0 : lgL_H_burn_min = s% lgL_H_burn_min
3906 0 : lgL_H_drop_factor = s% lgL_H_drop_factor
3907 0 : lgL_H_burn_relative_limit = s% lgL_H_burn_relative_limit
3908 :
3909 0 : delta_lgL_He_limit = s% delta_lgL_He_limit
3910 0 : delta_lgL_He_hard_limit = s% delta_lgL_He_hard_limit
3911 0 : lgL_He_burn_min = s% lgL_He_burn_min
3912 0 : lgL_He_drop_factor = s% lgL_He_drop_factor
3913 0 : lgL_He_burn_relative_limit = s% lgL_He_burn_relative_limit
3914 :
3915 0 : delta_lgL_z_limit = s% delta_lgL_z_limit
3916 0 : delta_lgL_z_hard_limit = s% delta_lgL_z_hard_limit
3917 0 : lgL_z_burn_min = s% lgL_z_burn_min
3918 0 : lgL_z_drop_factor = s% lgL_z_drop_factor
3919 0 : lgL_z_burn_relative_limit = s% lgL_z_burn_relative_limit
3920 :
3921 0 : delta_lgL_power_photo_limit = s% delta_lgL_power_photo_limit
3922 0 : delta_lgL_power_photo_hard_limit = s% delta_lgL_power_photo_hard_limit
3923 0 : lgL_power_photo_burn_min = s% lgL_power_photo_burn_min
3924 0 : lgL_power_photo_drop_factor = s% lgL_power_photo_drop_factor
3925 0 : min_lgT_for_lgL_power_photo_limit = s% min_lgT_for_lgL_power_photo_limit
3926 :
3927 0 : delta_lgL_nuc_limit = s% delta_lgL_nuc_limit
3928 0 : delta_lgL_nuc_hard_limit = s% delta_lgL_nuc_hard_limit
3929 0 : delta_lgL_nuc_at_high_T_limit = s% delta_lgL_nuc_at_high_T_limit
3930 0 : delta_lgL_nuc_at_high_T_hard_limit = s% delta_lgL_nuc_at_high_T_hard_limit
3931 0 : delta_lgL_nuc_at_high_T_limit_lgT_min = s% delta_lgL_nuc_at_high_T_limit_lgT_min
3932 :
3933 0 : max_lgT_for_lgL_nuc_limit = s% max_lgT_for_lgL_nuc_limit
3934 0 : lgL_nuc_burn_min = s% lgL_nuc_burn_min
3935 0 : lgL_nuc_drop_factor = s% lgL_nuc_drop_factor
3936 :
3937 0 : delta_lgRho_cntr_limit = s% delta_lgRho_cntr_limit
3938 0 : delta_lgRho_cntr_hard_limit = s% delta_lgRho_cntr_hard_limit
3939 :
3940 0 : delta_lgT_cntr_limit = s% delta_lgT_cntr_limit
3941 0 : delta_lgT_cntr_hard_limit = s% delta_lgT_cntr_hard_limit
3942 0 : delta_lgT_cntr_limit_only_after_near_zams = s% delta_lgT_cntr_limit_only_after_near_zams
3943 :
3944 0 : delta_lgP_cntr_limit = s% delta_lgP_cntr_limit
3945 0 : delta_lgP_cntr_hard_limit = s% delta_lgP_cntr_hard_limit
3946 :
3947 0 : delta_lgT_max_limit = s% delta_lgT_max_limit
3948 0 : delta_lgT_max_hard_limit = s% delta_lgT_max_hard_limit
3949 0 : delta_lgT_max_limit_lgT_min = s% delta_lgT_max_limit_lgT_min
3950 0 : delta_lgT_max_limit_only_after_near_zams = s% delta_lgT_max_limit_only_after_near_zams
3951 :
3952 0 : delta_lgT_max_at_high_T_limit = s% delta_lgT_max_at_high_T_limit
3953 0 : delta_lgT_max_at_high_T_hard_limit = s% delta_lgT_max_at_high_T_hard_limit
3954 0 : delta_lgT_max_at_high_T_limit_lgT_min = s% delta_lgT_max_at_high_T_limit_lgT_min
3955 :
3956 0 : delta_log_eps_nuc_limit = s% delta_log_eps_nuc_limit
3957 0 : delta_log_eps_nuc_hard_limit = s% delta_log_eps_nuc_hard_limit
3958 :
3959 0 : delta_dX_div_X_cntr_min = s% delta_dX_div_X_cntr_min
3960 0 : delta_dX_div_X_cntr_max = s% delta_dX_div_X_cntr_max
3961 0 : delta_dX_div_X_cntr_limit = s% delta_dX_div_X_cntr_limit
3962 0 : delta_dX_div_X_cntr_hard_limit = s% delta_dX_div_X_cntr_hard_limit
3963 :
3964 0 : delta_dX_div_X_drop_only = s% delta_dX_div_X_drop_only
3965 0 : delta_lg_XH_drop_only = s% delta_lg_XH_drop_only
3966 0 : delta_lg_XHe_drop_only = s% delta_lg_XHe_drop_only
3967 0 : delta_lg_XC_drop_only = s% delta_lg_XC_drop_only
3968 0 : delta_lg_XNe_drop_only = s% delta_lg_XNe_drop_only
3969 0 : delta_lg_XO_drop_only = s% delta_lg_XO_drop_only
3970 0 : delta_lg_XSi_drop_only = s% delta_lg_XSi_drop_only
3971 0 : delta_XH_drop_only = s% delta_XH_drop_only
3972 0 : delta_XHe_drop_only = s% delta_XHe_drop_only
3973 0 : delta_XC_drop_only = s% delta_XC_drop_only
3974 0 : delta_XNe_drop_only = s% delta_XNe_drop_only
3975 0 : delta_XO_drop_only = s% delta_XO_drop_only
3976 0 : delta_XSi_drop_only = s% delta_XSi_drop_only
3977 :
3978 0 : delta_lg_XH_cntr_min = s% delta_lg_XH_cntr_min
3979 0 : delta_lg_XH_cntr_max = s% delta_lg_XH_cntr_max
3980 0 : delta_lg_XH_cntr_limit = s% delta_lg_XH_cntr_limit
3981 0 : delta_lg_XH_cntr_hard_limit = s% delta_lg_XH_cntr_hard_limit
3982 :
3983 0 : delta_lg_XHe_cntr_min = s% delta_lg_XHe_cntr_min
3984 0 : delta_lg_XHe_cntr_max = s% delta_lg_XHe_cntr_max
3985 0 : delta_lg_XHe_cntr_limit = s% delta_lg_XHe_cntr_limit
3986 0 : delta_lg_XHe_cntr_hard_limit = s% delta_lg_XHe_cntr_hard_limit
3987 :
3988 0 : delta_lg_XC_cntr_min = s% delta_lg_XC_cntr_min
3989 0 : delta_lg_XC_cntr_max = s% delta_lg_XC_cntr_max
3990 0 : delta_lg_XC_cntr_limit = s% delta_lg_XC_cntr_limit
3991 0 : delta_lg_XC_cntr_hard_limit = s% delta_lg_XC_cntr_hard_limit
3992 :
3993 0 : delta_lg_XNe_cntr_limit = s% delta_lg_XNe_cntr_limit
3994 0 : delta_lg_XNe_cntr_hard_limit = s% delta_lg_XNe_cntr_hard_limit
3995 0 : delta_lg_XNe_cntr_min = s% delta_lg_XNe_cntr_min
3996 0 : delta_lg_XNe_cntr_max = s% delta_lg_XNe_cntr_max
3997 :
3998 0 : delta_lg_XO_cntr_limit = s% delta_lg_XO_cntr_limit
3999 0 : delta_lg_XO_cntr_hard_limit = s% delta_lg_XO_cntr_hard_limit
4000 0 : delta_lg_XO_cntr_min = s% delta_lg_XO_cntr_min
4001 0 : delta_lg_XO_cntr_max = s% delta_lg_XO_cntr_max
4002 :
4003 0 : delta_lg_XSi_cntr_limit = s% delta_lg_XSi_cntr_limit
4004 0 : delta_lg_XSi_cntr_hard_limit = s% delta_lg_XSi_cntr_hard_limit
4005 0 : delta_lg_XSi_cntr_min = s% delta_lg_XSi_cntr_min
4006 0 : delta_lg_XSi_cntr_max = s% delta_lg_XSi_cntr_max
4007 :
4008 0 : delta_XH_cntr_limit = s% delta_XH_cntr_limit
4009 0 : delta_XH_cntr_hard_limit = s% delta_XH_cntr_hard_limit
4010 0 : delta_XHe_cntr_limit = s% delta_XHe_cntr_limit
4011 0 : delta_XHe_cntr_hard_limit = s% delta_XHe_cntr_hard_limit
4012 0 : delta_XC_cntr_limit = s% delta_XC_cntr_limit
4013 0 : delta_XC_cntr_hard_limit = s% delta_XC_cntr_hard_limit
4014 0 : delta_XNe_cntr_limit = s% delta_XNe_cntr_limit
4015 0 : delta_XNe_cntr_hard_limit = s% delta_XNe_cntr_hard_limit
4016 0 : delta_XO_cntr_limit = s% delta_XO_cntr_limit
4017 0 : delta_XO_cntr_hard_limit = s% delta_XO_cntr_hard_limit
4018 0 : delta_XSi_cntr_limit = s% delta_XSi_cntr_limit
4019 0 : delta_XSi_cntr_hard_limit = s% delta_XSi_cntr_hard_limit
4020 :
4021 0 : delta_lgTeff_limit = s% delta_lgTeff_limit
4022 0 : delta_lgTeff_hard_limit = s% delta_lgTeff_hard_limit
4023 :
4024 0 : delta_lgL_limit = s% delta_lgL_limit
4025 0 : delta_lgL_limit_L_min = s% delta_lgL_limit_L_min
4026 0 : delta_lgL_hard_limit = s% delta_lgL_hard_limit
4027 :
4028 0 : delta_HR_ds_L = s% delta_HR_ds_L
4029 0 : delta_HR_ds_Teff = s% delta_HR_ds_Teff
4030 0 : delta_HR_limit = s% delta_HR_limit
4031 0 : delta_HR_hard_limit = s% delta_HR_hard_limit
4032 :
4033 0 : delta_lg_star_mass_limit = s% delta_lg_star_mass_limit
4034 0 : delta_lg_star_mass_hard_limit = s% delta_lg_star_mass_hard_limit
4035 :
4036 0 : delta_mdot_atol = s% delta_mdot_atol
4037 0 : delta_mdot_rtol = s% delta_mdot_rtol
4038 0 : delta_mdot_limit = s% delta_mdot_limit
4039 0 : delta_mdot_hard_limit = s% delta_mdot_hard_limit
4040 :
4041 0 : adjust_J_q_limit = s% adjust_J_q_limit
4042 0 : adjust_J_q_hard_limit = s% adjust_J_q_hard_limit
4043 0 : never_skip_hard_limits = s% never_skip_hard_limits
4044 0 : relax_hard_limits_after_retry = s% relax_hard_limits_after_retry
4045 0 : report_dt_hard_limit_retries = s% report_dt_hard_limit_retries
4046 0 : report_min_dr_div_cs = s% report_min_dr_div_cs
4047 0 : report_solver_dt_info = s% report_solver_dt_info
4048 :
4049 0 : limit_for_rel_error_in_energy_conservation = s% limit_for_rel_error_in_energy_conservation
4050 0 : hard_limit_for_rel_error_in_energy_conservation = s% hard_limit_for_rel_error_in_energy_conservation
4051 :
4052 0 : min_chem_eqn_scale = s% min_chem_eqn_scale
4053 :
4054 : ! controls for the evolve routine
4055 0 : trace_evolve = s% trace_evolve
4056 :
4057 :
4058 : ! misc
4059 0 : zams_filename = s% zams_filename
4060 0 : set_rho_to_dm_div_dV = s% set_rho_to_dm_div_dV
4061 :
4062 0 : use_other_mlt_results = s% use_other_mlt_results
4063 0 : use_other_surface_PT = s% use_other_surface_PT
4064 0 : use_other_kap = s% use_other_kap
4065 0 : use_other_diffusion = s% use_other_diffusion
4066 0 : use_other_diffusion_factor = s% use_other_diffusion_factor
4067 0 : use_other_adjust_mdot = s% use_other_adjust_mdot
4068 0 : use_other_j_for_adjust_J_lost = s% use_other_j_for_adjust_J_lost
4069 0 : use_other_alpha_mlt = s% use_other_alpha_mlt
4070 0 : use_other_am_mixing = s% use_other_am_mixing
4071 0 : use_other_brunt = s% use_other_brunt
4072 0 : use_other_brunt_smoothing = s% use_other_brunt_smoothing
4073 0 : use_other_solver_monitor = s% use_other_solver_monitor
4074 0 : use_other_build_initial_model = s% use_other_build_initial_model
4075 0 : use_other_cgrav = s% use_other_cgrav
4076 0 : use_other_mesh_delta_coeff_factor = s% use_other_mesh_delta_coeff_factor
4077 0 : use_other_energy_implicit = s% use_other_energy_implicit
4078 0 : use_other_momentum_implicit = s% use_other_momentum_implicit
4079 0 : use_other_momentum = s% use_other_momentum
4080 0 : use_other_remove_surface = s% use_other_remove_surface
4081 0 : use_other_energy = s% use_other_energy
4082 0 : use_other_pressure = s% use_other_pressure
4083 0 : use_other_mesh_functions = s% use_other_mesh_functions
4084 0 : use_other_eps_grav = s% use_other_eps_grav
4085 0 : use_other_gradr_factor = s% use_other_gradr_factor
4086 0 : use_other_D_mix = s% use_other_D_mix
4087 0 : use_other_neu = s% use_other_neu
4088 0 : use_other_net_get = s% use_other_net_get
4089 0 : use_other_opacity_factor = s% use_other_opacity_factor
4090 0 : use_other_diffusion_coefficients = s% use_other_diffusion_coefficients
4091 0 : use_other_pgstar_plots = s% use_other_pgstar_plots
4092 0 : use_other_eval_fp_ft = s% use_other_eval_fp_ft
4093 0 : use_other_eval_i_rot = s% use_other_eval_i_rot
4094 0 : use_other_torque = s% use_other_torque
4095 0 : use_other_torque_implicit = s% use_other_torque_implicit
4096 0 : use_other_wind = s% use_other_wind
4097 0 : use_other_accreting_state = s% use_other_accreting_state
4098 0 : use_other_after_struct_burn_mix = s% use_other_after_struct_burn_mix
4099 0 : use_other_before_struct_burn_mix = s% use_other_before_struct_burn_mix
4100 0 : use_other_astero_freq_corr = s% use_other_astero_freq_corr
4101 0 : use_other_timestep_limit = s% use_other_timestep_limit
4102 0 : use_other_set_pgstar_controls = s% use_other_set_pgstar_controls
4103 0 : use_other_screening = s% use_other_screening
4104 0 : use_other_rate_get = s% use_other_rate_get
4105 0 : use_other_net_derivs = s% use_other_net_derivs
4106 0 : use_other_split_burn = s% use_other_split_burn
4107 0 : use_other_close_gaps = s% use_other_close_gaps
4108 :
4109 0 : x_ctrl = s% x_ctrl
4110 0 : x_integer_ctrl = s% x_integer_ctrl
4111 0 : x_logical_ctrl = s% x_logical_ctrl
4112 0 : x_character_ctrl = s% x_character_ctrl
4113 :
4114 : ! info for debugging
4115 0 : stop_for_bad_nums = s% stop_for_bad_nums
4116 0 : report_ierr = s% report_ierr
4117 0 : report_bad_negative_xa = s% report_bad_negative_xa
4118 :
4119 0 : diffusion_dump_call_number = s% diffusion_dump_call_number
4120 :
4121 0 : surface_accel_div_grav_limit = s% surface_accel_div_grav_limit
4122 0 : gradT_excess_age_fraction = s% gradT_excess_age_fraction
4123 0 : gradT_excess_max_change = s% gradT_excess_max_change
4124 0 : hot_wind_scheme = s% hot_wind_scheme
4125 0 : cool_wind_full_on_T = s% cool_wind_full_on_T
4126 0 : hot_wind_full_on_T = s% hot_wind_full_on_T
4127 0 : num_cells_for_smooth_brunt_B = s% num_cells_for_smooth_brunt_B
4128 0 : steps_before_start_stress_test = s% steps_before_start_stress_test
4129 0 : stress_test_relax = s% stress_test_relax
4130 :
4131 :
4132 :
4133 0 : end subroutine set_controls_for_writing
4134 :
4135 0 : subroutine get_control(s, name, val, ierr)
4136 0 : use utils_lib, only: StrUpCase
4137 : type (star_info), pointer :: s
4138 : character(len=*),intent(in) :: name
4139 : character(len=*), intent(out) :: val
4140 : integer, intent(out) :: ierr
4141 :
4142 0 : character(len(name)+1) :: upper_name
4143 : character(len=512) :: str
4144 : integer :: iounit,iostat,ind,i
4145 :
4146 :
4147 : ! First save current controls
4148 0 : call set_controls_for_writing(s, ierr)
4149 0 : if(ierr/=0) return
4150 :
4151 : ! Write namelist to temporary file
4152 0 : open(newunit=iounit,status='scratch')
4153 0 : write(iounit,nml=controls)
4154 0 : rewind(iounit)
4155 :
4156 : ! Namelists get written in capitals
4157 0 : upper_name = trim(StrUpCase(name))//'='
4158 0 : val = ''
4159 : ! Search for name inside namelist
4160 : do
4161 0 : read(iounit,'(A)',iostat=iostat) str
4162 0 : ind = index(trim(str),trim(upper_name))
4163 0 : if( ind /= 0 ) then
4164 0 : val = str(ind+len_trim(upper_name):len_trim(str)-1) ! Remove final comma and starting =
4165 0 : do i=1,len(val)
4166 0 : if(val(i:i)=='"') val(i:i) = ' '
4167 : end do
4168 : exit
4169 : end if
4170 0 : if(is_iostat_end(iostat)) exit
4171 : end do
4172 :
4173 0 : if(len_trim(val) == 0 .and. ind==0 ) ierr = -1
4174 :
4175 0 : close(iounit)
4176 :
4177 0 : end subroutine get_control
4178 :
4179 0 : subroutine set_control(s, name, val, ierr)
4180 : type (star_info), pointer :: s
4181 : character(len=*), intent(in) :: name, val
4182 0 : character(len=len(name)+len(val)+13) :: tmp
4183 : integer, intent(out) :: ierr
4184 :
4185 : ! First save current controls
4186 0 : call set_controls_for_writing(s, ierr)
4187 0 : if(ierr/=0) return
4188 :
4189 0 : tmp=''
4190 0 : tmp = '&controls '//trim(name)//'='//trim(val)//' /'
4191 :
4192 : ! Load into namelist
4193 0 : read(tmp, nml=controls)
4194 :
4195 : ! Add to star
4196 0 : call store_controls(s, ierr)
4197 0 : if(ierr/=0) return
4198 :
4199 : end subroutine set_control
4200 :
4201 : end module ctrls_io
|