1M_thermohaline

The test checks thermohaline mixing in a rotating, 1 Msun, Z=0.02 metallicity model.

This test case has one part. Click to see a larger view of a plot.

  • Part 1 (inlist_1M_thermohaline) loads a 1 Msun main-sequence model, applies a 10 km/s rotation profile, and evolves the model until the helium core mass reaches 0.24 Msun, where some key quantities are reported:

                            log total_angular_momentum    4.9035137416802272D+01    4.5000000000000000D+01    5.5000000000000000D+01
                                      log center_omega   -3.1662469710636527D+00   -4.0000000000000000D+00   -2.0000000000000000D+00
                                     log he_core_omega   -3.5604175013324988D+00   -5.0000000000000000D+00   -2.0000000000000000D+00
                                         surface j_rot    1.6493785476693525D+01    5.0000000000000000D+00    2.5000000000000000D+01
                                         surface v_rot    6.5326185185705721D-01    0.0000000000000000D+00    1.0000000000000000D+00

                                   avg near 0.245 Msun
                                                  logT    7.0563695678521912D+00    7.0000000000000000D+00    7.5000000000000000D+00
                                                logRho    5.5453590488347027D-01    5.0000000000000000D-01    2.0000000000000000D+00
                                             log j_rot    1.3841508360873403D+01    1.0000000000000000D+01    2.0000000000000000D+01
                                                  D_ST    6.4461480105952242D+00    1.0000000000000000D+00    8.0000000000000000D+00
                                                 nu_ST    7.3797815429416946D+00    4.0000000000000000D+00    9.0000000000000000D+00

all values are within tolerances

where the number in the second column is the value from running the test case, the number in the second column is the allowed lower bound, and the number in the second column is the allowed upper bound.

At the end of the evolution the abundance is shown in the following plot. The mixing type is indicated on the x-axis: green = radiative, blue = convective, and light purple = thermohaline. The core is radiative, the thick hydrogen-rich envelope is convective, and sandwiched between them is a thermohaline region. Within the thermohaline region, nuclear burning is starting to transform the hydrogen-rich envelope to the helium-rich core.

../_images/abund_00004245.svg

The brunt B profile in the vicinity of the thermohaline region is shown the following plot. The mixing type is again indicated on the x-axis. A negative brunt B corresponds to a negative molecular weight gradient, which is the hallmark of of a region that is unstable to thermohaline mixing. Note the thermohaline region begins and ends where brunt B becomes negative.

../_images/profile_panels1_00004245.svg

pgstar commands used for the plots above:

&pgstar

  file_white_on_black_flag = .true. ! white_on_black flags -- true means white foreground color on black background
  file_device = 'png'            ! png
  file_extension = 'png'

  !file_device = 'vcps'          ! postscript
  !file_extension = 'ps'

   pgstar_interval = 10
   file_digits = 8

     Grid3_win_flag = .true.

        Grid3_win_width = 12
        Grid3_win_aspect_ratio = 0.7 ! aspect_ratio = height/width

        Grid3_xleft = 0.10 ! fraction of full window width for margin on left
        Grid3_xright = 0.89 ! fraction of full window width for margin on right
        Grid3_ybot = 0.08 ! fraction of full window width for margin on bottom
        Grid3_ytop = 0.92 ! fraction of full window width for margin on top
        Grid3_title = 'Mixing'

        Grid3_num_cols = 2 ! divide plotting region into this many equal width cols
        Grid3_num_rows = 4 ! divide plotting region into this many equal height rows
        Grid3_num_plots = 4 ! <= 10

        Grid3_plot_name(1) = 'Mixing'

        Mixing_xmin = 0.22 ! only used if /= -101d0
        Mixing_xmax = 0.28 ! only used if /= -101d0

        Mixing_ymin = -101d0 ! only used if /= -101d0
        Mixing_ymax = -101d0 ! only used if /= -101d0
        Mixing_dymin = -101d0 ! only used if /= -101d0


        Grid3_plot_row(1) = 3 ! number from 1 at top
        Grid3_plot_rowspan(1) = 2 ! plot spans this number of rows
        Grid3_plot_col(1) =  2 ! number from 1 at left
        Grid3_plot_colspan(1) = 1 ! plot spans this number of columns
        Grid3_plot_pad_left(1) = 0.08 ! fraction of full window width for padding on left
        Grid3_plot_pad_right(1) = 0.00 ! fraction of full window width for padding on right
        Grid3_plot_pad_top(1) = 0.08 ! fraction of full window height for padding at top
        Grid3_plot_pad_bot(1) = 0.00 ! fraction of full window height for padding at bottom
        Grid3_txt_scale_factor(1) = 0.7 ! multiply txt_scale for subplot by this

        Grid3_plot_name(2) = 'History_Panels1'

        History_Panels1_title = 'History'

        History_Panels1_num_panels = 2
        History_Panels1_yaxis_name(1) = 'log_center_T'
        History_Panels1_other_yaxis_name(1) = 'log_L'
        History_Panels1_yaxis_name(2) = 'log_center_Rho'
        History_Panels1_other_yaxis_name(2) = 'log_Teff'

        Grid3_plot_row(2) = 3 ! number from 1 at top
        Grid3_plot_rowspan(2) = 2 ! plot spans this number of rows
        Grid3_plot_col(2) =  1 ! number from 1 at left
        Grid3_plot_colspan(2) = 1 ! plot spans this number of columns
        Grid3_plot_pad_left(2) = 0.00 ! fraction of full window width for padding on left
        Grid3_plot_pad_right(2) = 0.08 ! fraction of full window width for padding on right
        Grid3_plot_pad_top(2) = 0.08 ! fraction of full window height for padding at top
        Grid3_plot_pad_bot(2) = 0.00 ! fraction of full window height for padding at bottom
        Grid3_txt_scale_factor(2) = 0.7 ! multiply txt_scale for subplot by this


        Grid3_plot_name(3) = 'TRho_Profile'
        Grid3_plot_row(3) = 1 ! number from 1 at top
        Grid3_plot_rowspan(3) = 2 ! plot spans this number of rows
        Grid3_plot_col(3) =  2 ! number from 1 at left
        Grid3_plot_colspan(3) = 1 ! plot spans this number of columns
        Grid3_plot_pad_left(3) = 0.08 ! fraction of full window width for padding on left
        Grid3_plot_pad_right(3) = 0.00 ! fraction of full window width for padding on right
        Grid3_plot_pad_top(3) = 0.00 ! fraction of full window height for padding at top
        Grid3_plot_pad_bot(3) = 0.08 ! fraction of full window height for padding at bottom
        Grid3_txt_scale_factor(3) = 0.7 ! multiply txt_scale for subplot by this



        Grid3_plot_name(4) = 'Kipp'

        Kipp_show_mass_boundaries = .false.
        Kipp_mass_max = 0.28 ! (Msun units) negative means use default
        Kipp_mass_min = 0.22 ! (Msun units) negative means use default

        Kipp_show_luminosities = .false.
        Kipp_lgL_max = 2d0 ! only used if /= -101d0; (L in Lsun units)
        Kipp_lgL_min = 1d0 ! only used if /= -101d0; (L in Lsun units)


        Grid3_plot_row(4) = 1 ! number from 1 at top
        Grid3_plot_rowspan(4) = 2 ! plot spans this number of rows
        Grid3_plot_col(4) =  1 ! number from 1 at left
        Grid3_plot_colspan(4) = 1 ! plot spans this number of columns
        Grid3_plot_pad_left(4) = 0.00 ! fraction of full window width for padding on left
        Grid3_plot_pad_right(4) = 0.08 ! fraction of full window width for padding on right
        Grid3_plot_pad_top(4) = 0.00 ! fraction of full window height for padding at top
        Grid3_plot_pad_bot(4) = 0.08 ! fraction of full window height for padding at bottom
        Grid3_txt_scale_factor(4) = 0.7 ! multiply txt_scale for subplot by this


        ! file output
        Grid3_file_flag = .true.
        Grid3_file_dir = 'grid3_png'
        Grid3_file_prefix = 'Mixing_'
        Grid3_file_interval = 100 ! output when mod(model_number,Grid3_file_interval)==0
        Grid3_file_width = 14        ! (inches) negative means use same value as for window


 ! Brunt B profile
    Profile_Panels1_win_flag = .true.
    Profile_Panels1_win_width = 14
    Profile_Panels1_title = ''
    Profile_Panels1_show_grid = .true.

    Profile_Panels1_xaxis_name = 'mass'
    Profile_Panels1_xmin = 0.235
    Profile_Panels1_xmax = 0.26
    Profile_Panels1_show_mix_regions_on_xaxis = .true.

    Profile_Panels1_num_panels = 1
    Profile_Panels1_yaxis_name(1) = 'brunt_B'
    Profile_Panels1_ymin(:) = -0.00006 ! 0.633
    Profile_Panels1_ymax(:) = 0.000001 ! 0.634
    Profile_Panels1_other_yaxis_name(1) = ''

    Profile_Panels1_file_flag = .true.
    Profile_Panels1_file_dir = 'profile_png'
    Profile_Panels1_file_prefix = 'profile_panels1_'
    Profile_Panels1_file_interval = 100
    Profile_Panels1_file_width = 14


 ! Abundance profile plot

  Abundance_win_flag = .true.

 ! window properties
 Abundance_win_width = 14
 Abundance_win_aspect_ratio = 0.75
 Abundance_title = ''

 Abundance_num_isos_to_show = 8

 Abundance_which_isos_to_show(1)  = 'h1'
 Abundance_which_isos_to_show(2)  = 'he3'
 Abundance_which_isos_to_show(3)  = 'he4'
 Abundance_which_isos_to_show(4)  = 'c12'
 Abundance_which_isos_to_show(5)  = 'n14'
 Abundance_which_isos_to_show(6)  = 'o16'
 Abundance_which_isos_to_show(7)  = 'ne20'
 Abundance_which_isos_to_show(8)  = 'mg24'

 ! number and size of isotope labels along curves
 num_abundance_line_labels = 4
 Abundance_line_txt_scale_factor = 0.8

 ! number and size of isotopes on legend
 Abundance_legend_max_cnt = 0

 ! xaxis name and orientation
 Abundance_xaxis_name = 'mass'
 Abundance_xaxis_reversed = .false.

 ! xaxis limits
 Abundance_xmin = 0.0
 Abundance_xmax = 0.3

 ! yaxis limits
 Abundance_log_mass_frac_min = -4.0
 Abundance_log_mass_frac_max =  0.3

 ! file output
 Abundance_file_flag = .true.
 Abundance_file_dir = 'abund_png'
 Abundance_file_prefix = 'abund_'
 Abundance_file_interval = 100     ! output when mod(model_number,file_interval)==0
 Abundance_file_width = 14        ! (inches) negative means use same value as for window
 Abundance_file_aspect_ratio = -1 ! negative means use same value as for window


/ ! end of pgstar namelist

Last-Updated: 28May2021 (MESA e37f76f) by fxt