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