[Mesa-users] Modeling a sub-Saturn planet using MESA
Gao, Jiapeng
jgao370 at gatech.edu
Tue Mar 12 18:47:00 UTC 2024
Hello,
My name is Jiapeng Gao, and I'm a first year graduate student. I'm
trying to simulate planet models using MESA, and I'm having the
following problems:
1. I am trying to use the "make_planets" test case in the MESA r23.05.1
test suite to model a planet of 0.2 Jupiter mass. However, I'm having
trouble creating the initial model. I get the following error message:
"failed in kap_get get_kap_from_rhoT, temp too low in integration". It
seems to work with MESA r11532, where I can create a 0.2 M_J planet with
1 Jupiter radius. I'm not sure how I could modify r23.05.1 to fix the
problem.
2. I noticed that for my simulation using MESA r11532, the planet radius
can only shrink to around 0.8 R_J at ~10Gyr, then the program stops and
reports: “dt 1.9D-23, min_timestep_limit 9.9 D-21, stopping because of
problems dt < min_timestep_limit, terminated evolution: cannot find
acceptable model, termination code: min_timestep_limit”. I'm not sure
what would be the best way to troubleshoot it.
I included my inlists below. Thank you very much for your guidance!
Sincerely,
Jiapeng Gao
———————————MESA r23.05.1 inlist_create———————————————————
! inlist_create
&star_job
show_log_description_at_start = .false.
save_model_when_terminate = .true.
save_model_filename = "planet_create_0.9685_MJ_2.0_RJ.mod"
required_termination_code_string = 'max_age'
! new adiabatic, contracting initial model
create_initial_model = .true.
radius_in_cm_for_create_initial_model = 6991100000.d0 ! in cm
mass_in_gm_for_create_initial_model = 3.6778d29 ! in grams
initial_model_relax_num_steps = 0
set_initial_age = .true.
initial_age = 0.d0 ! in years
!pgstar_flag = .true.
/ !end of star_job
&eos
/ ! end of eos namelist
&kap
Zbase = 0.02d0
kap_file_prefix = 'gs98'
kap_lowT_prefix = 'lowT_Freedman11'
/ ! end of kap namelist
&controls
use_gold2_tolerances = .false. ! wait a few steps
steps_before_use_gold2_tolerances = 31
warning_limit_for_max_residual = 1d99 ! off until evolve
warn_when_large_virial_thm_rel_err = 1d99 ! off until evolve
limit_for_rel_error_in_energy_conservation = 1d-5
hard_limit_for_rel_error_in_energy_conservation = 1d-3
convergence_ignore_equL_residuals = .true.
! limit max_model_number as part of test_suite
max_model_number = 200
! for create_initial_model
initial_Z = 0.02d0
initial_Y = 0.24d0
! when to stop
max_age = 50
! knobs
T_mix_limit = 0d0
max_resid_jump_limit = 1d18
max_corr_jump_limit = 1d18
! output to files and terminal
max_num_profile_models=1000
photo_interval = 50
profile_interval = 50
history_interval = 1
terminal_interval = 10
write_header_frequency = 10
/
&pgstar
! top level controls
!pause = .true.
! if true, the code waits for user to enter a RETURN on the command line
/ ! end of pgstar namelist
--------------------------MESA r11532 inlist_evolve -------------------------------
! inlist_evolve
&star_job
mesa_dir = '/home/jiapeng/Downloads/mesa-r11532'
show_log_description_at_start = .false.
load_saved_model = .true.
saved_model_name = "planet_core_1.0_MJ_10.0_ME_2.0_RJ.mod"
save_model_when_terminate = .true.
save_model_filename = "planet_evolve_1.0_MJ_10.0_ME_2.0_RJ.mod"
required_termination_code_string = 'max_age'
set_initial_cumulative_energy_error = .true.
new_cumulative_energy_error = 0d0
!relax_initial_L_center = .true.
!new_L_center = 4.46863d28 ! ergs/sec
!dlgL_per_step = 5d-3
!relax_L_center_dt = 8.1558149984d1 ! secyer*1d-6
eos_file_prefix = 'mesa'
kappa_file_prefix = 'gs98'
kappa_lowT_prefix = 'lowT_Freedman11'
!set_tau_factor = .true.
!set_to_this_tau_factor=100
change_lnPgas_flag = .true.
new_lnPgas_flag = .true.
!pgstar_flag = .true.
/ !end of star_job
&controls
use_gold_tolerances = .true.
use_eosDT2 = .true.
use_eosELM = .true.
logQ_limit = 1d99
min_timestep_limit = 1d-20
warn_when_large_virial_thm_rel_err = 5d-2
use_dedt_form_of_energy_eqn = .true.
min_cell_energy_fraction_for_dedt_form = 1d-8
num_trace_history_values = 2
trace_history_value_name(1) = 'rel_E_err'
trace_history_value_name(2) = 'log_rel_run_E_err'
! check for retries and backups as part of test_suite
max_number_backups = 200
max_number_retries = 200
max_model_number = 3500
! surface heating
! column_depth_for_irradiation = 300.d0 ! 3.d2 cm^2/g
! irradiation_flux = 6.2d8 ! 1.d9 erg/cm^2/s ! day side flux!!! Bill puts in 1/4 by hand
! interior heating
!inject_uniform_extra_heat = 0.00052
!min_q_for_uniform_extra_heat = 0.0705882
!max_q_for_uniform_extra_heat = 0.1
!inject_extra_ergs_sec=4.46863d29
!base_of_inject_extra_ergs_sec=0.0
!total_mass_for_inject_extra_ergs_sec=0.00009
! when to stop
max_age = 100000000000.d0 ! 1.d10
Teff_lower_limit = 10.d0
! knobs
!use_lnE_for_eps_grav = .false.
T_mix_limit = 0
! output to files and terminal
photo_interval = 50
profile_interval = 50
max_num_profile_models=1000
history_interval = 2
terminal_interval = 10
write_header_frequency = 10
!photo_interval = 10
!profile_interval = 10
!history_interval = 1
!terminal_interval = 1
! FOR DEBUGGING
!report_hydro_solver_progress = .true. ! set true to see info about newton iterations
!report_ierr = .true. ! if true, produce terminal output when have some internal error
!hydro_show_correction_info = .true.
! hydro debugging
!hydro_check_everything = .true.
!hydro_inspectB_flag = .true.
!hydro_sizequ_flag = .true.
!hydro_get_a_numerical_partial = 1d-4
!hydro_test_partials_k = 1
!hydro_numerical_jacobian = .true.
!hydro_save_numjac_plot_data = .true.
!hydro_dump_call_number = 195
!hydro_dump_iter_number = 5
!hydro_epsder_struct = 1d-6
!hydro_epsder_chem = 1d-6
!fill_arrays_with_NaNs = .true.
!stop_for_NaNs = .true.
!max_years_for_timestep = 3.67628942044319d-05
!report_why_dt_limits = .true.
!report_all_dt_limits = .true.
!report_hydro_dt_info = .true.
!show_mesh_changes = .true.
!mesh_dump_call_number = 5189
!okay_to_remesh = .false.
!trace_evolve = .true.
!trace_newton_bcyclic_solve_input = .true. ! input is "B" j k iter B(j,k)
!trace_newton_bcyclic_solve_output = .true. ! output is "X" j k iter X(j,k)
!trace_newton_bcyclic_matrix_input = .true.
!trace_newton_bcyclic_matrix_output = .true.
!trace_newton_bcyclic_steplo = 1 ! 1st model number to trace
!trace_newton_bcyclic_stephi = 1 ! last model number to trace
!trace_newton_bcyclic_iterlo = 2 ! 1st newton iter to trace
!trace_newton_bcyclic_iterhi = 2 ! last newton iter to trace
!trace_newton_bcyclic_nzlo = 1 ! 1st cell to trace
!trace_newton_bcyclic_nzhi = 10000 ! last cell to trace; if < 0, then use nz as nzhi
!trace_newton_bcyclic_jlo = 1 ! 1st var to trace
!trace_newton_bcyclic_jhi = 100 ! last var to trace; if < 0, then use nvar as jhi
!trace_k = 0
/
&pgstar
! top level controls
!pause = .true.
! if true, the code waits for user to enter a RETURN on the command line
/ ! end of pgstar namelist
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.mesastar.org/pipermail/mesa-users/attachments/20240312/961ad043/attachment.htm>
More information about the Mesa-users
mailing list