[Mesa-users] Modeling a sub-Saturn planet using MESA

Frank Timmes fxtimmes at gmail.com
Mon Mar 18 18:59:10 UTC 2024


hi jiapeng,

i'll confirm that that the make_planets test suite case in r24.03.1 has difficulties below about 0.28 m_jup. its being looked at.

fxt



> On Mar 12, 2024, at 11:47 AM, Gao, Jiapeng via Mesa-users <mesa-users at lists.mesastar.org> wrote:
> 
> 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
>  
>  
> _______________________________________________
> mesa-users at lists.mesastar.org <mailto:mesa-users at lists.mesastar.org>
> https://lists.mesastar.org/mailman/listinfo/mesa-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.mesastar.org/pipermail/mesa-users/attachments/20240318/67986b80/attachment.htm>


More information about the Mesa-users mailing list