[Mesa-users] Re3: Setup for overshooting

辛文宇 xinwenyu16 at mails.ucas.ac.cn
Wed Apr 26 17:40:51 UTC 2023


Hi EbF,




Here are two plots for no overshooting. In 28M_none1, there are no convective zone during C, O burning for both shell and core.

With a very small f and f0, there are convective zones. It seems in MESA-12778, the overshoot_scheme(1) = 'none' make the convection

not work.




In 28M_none, I use:




      overshoot_scheme(1) = 'exponential'    ! one of exponential or step
      overshoot_zone_type(1) = 'burn_Z'         ! one of burn_H, burn_He, burn_Z, nonburn, any
      overshoot_zone_loc(1) = 'shell'          ! one of core, shell, any
      overshoot_bdy_loc(1) = 'any'           ! one of bottom, top, any
      overshoot_f(1) = 1d-7
      overshoot_f0(1) = 1d-10


      overshoot_scheme(2) = 'exponential'    ! one of exponential or step
      overshoot_zone_type(2) = 'any'         ! one of burn_H, burn_He, burn_Z, nonburn, any
      overshoot_zone_loc(2) = 'any'          ! one of core, shell, any
      overshoot_bdy_loc(2) = 'any'           ! one of bottom, top, any
      overshoot_f(2) = 0.01
      overshoot_f0(2) = 0.004




In 28M_none1, I use:
      overshoot_scheme(1) = 'none'        ! one of exponential or step
      overshoot_zone_type(1) = 'burn_Z'         ! one of burn_H, burn_He, burn_Z, nonburn, any
      overshoot_zone_loc(1) = 'shell'          ! one of core, shell, any
      overshoot_bdy_loc(1) = 'any'           ! one of bottom, top, any
      overshoot_f(1) = 0.01
      overshoot_f0(1) = 0.004

      overshoot_scheme(2) = 'exponential'    ! one of exponential or step
      overshoot_zone_type(2) = 'any'         ! one of burn_H, burn_He, burn_Z, nonburn, any
      overshoot_zone_loc(2) = 'any'          ! one of core, shell, any
      overshoot_bdy_loc(2) = 'any'           ! one of bottom, top, any
      overshoot_f(2) = 0.01
      overshoot_f0(2) = 0.004


Thanks,

Wenyu


-----原始邮件-----
发件人:"Ebraheem Farag" <ekfarag at asu.edu>
发送时间:2023-04-25 17:12:48 (星期二)
收件人: "辛文宇" <xinwenyu16 at mails.ucas.ac.cn>
抄送: taylormorgan32 at gmail.com, mesa-users at lists.mesastar.org
主题: Re: Re2: [Mesa-users] Setup for overshooting


Hello Wenyu,



>But when I turn off the overshooting, other with scheme:none or the overshoot_mass_full_off(1), 

When you turn off overshooting just for 'burn_Z' shells?


>Are there any numerical or physical explanation for this change?


It is difficult to speculate without more information (a plot or plots, an inlist or model directory, and/or a terminal output file). Overshoot is but one form of mixing and any number of other controls could contribute to the issue, including numerical resolution.


A Kippenhahn diagram  or log_abundance profile might help to identify the presence of a shell merger, if that is indeed the issue. Turning on pgstar could be quite useful! 


-EbF


On Tue, Apr 25, 2023 at 1:20 AM 辛文宇 <xinwenyu16 at mails.ucas.ac.cn> wrote:

Hi Morgan and EbF,



Thanks for your suggestions.

I have tried your ways for turn off the overshooting.




But here is another question.

I am running a model with 28Msun from ZAMS to Fe core collapse.

With the overshooting, the model can go through smoothly.

But when I turn off the overshooting, other with scheme:none or the overshoot_mass_full_off(1), 

there will be too much retries and as a results, the timestep of the model will decrease to 1E-14 during the

Si burning stage.




Are there any numerical or physical explanation for this change?




Thank you very much!

Wenyu




-----原始邮件-----
发件人:"Ebraheem Farag" <ekfarag at asu.edu>
发送时间:2023-04-23 22:34:11 (星期日)
收件人: "Morgan Taylor" <taylormorgan32 at gmail.com>
抄送: "辛文宇" <xinwenyu16 at mails.ucas.ac.cn>, mesa-users at lists.mesastar.org
主题: Re: [Mesa-users] Setup for overshooting


Hello Wenyu,

>"I also checked the file in controls.defaults file, there is no choice of 'none'."

Though not listed in controls.defaults, 'none' should work. I confirmed in r22.11.1 that the scheme I shared works, however I did making a spelling error: 

it should be 'burn_Z', not 'burn_z'. Try this:

! no overshooting above Z burning shell (e.g. C, O, Si), overshoot e-fold distance = 0.004*Hp

overshoot_scheme(1) = 'none'    ! one of exponential or step

overshoot_zone_type(1) = 'burn_Z'         ! one of burn_H, burn_He, burn_Z, nonburn, any

overshoot_zone_loc(1) = 'shell'          ! one of core, shell, any

overshoot_bdy_loc(1) = 'any'           ! one of bottom, top, any

overshoot_f(1) = 0.008            

overshoot_f0(1) =  0.004

      

! overshooting for all shells, superseded by overshoot_scheme(1) for burning Z shells, overshoot e-fold distance = 0.01*Hp

overshoot_scheme(2) = 'exponential'    ! one of exponential or step

overshoot_zone_type(2) = 'any'         ! one of burn_H, burn_He, burn_Z, nonburn, any

overshoot_zone_loc(2) = 'any'          ! one of core, shell, any

overshoot_bdy_loc(2) = 'any'           ! one of bottom, top, any

overshoot_f(2) = 0.015           

overshoot_f0(2) = 0.005 ! 0.0075 for 0.5*f             







-EbF



On Sun, Apr 23, 2023 at 7:30 AM Morgan Taylor via Mesa-users <mesa-users at lists.mesastar.org> wrote:

Hi Wenyu,


One suggestion is to specify the location/type of overshoot you want included.
For example, here are some inlist controls I placed on a model to focus on core overshooting:



       overshoot_zone_type(1)='any'                                             

       overshoot_zone_loc(1)='core'                                                                                          

       overshoot_f(1) = 0.016                                                   

       overshoot_f0(1) = 0.008                                                  

       overshoot_mass_full_on(1) = 0.01                                         

       overshoot_mass_full_off(1) = 0.4









overshoot_zone_type(1) is the 1st specified "type" which can be burn_H, burn_He, burn_Z, nonburn or any.  
overshoot_zone_loc(1) is the 1st area that wants the zone location to be in the core.
overshoot_mass_full_on(1) =0.01 says to begin overshooting when the star mass is above 0.01 Msun.
overshoot_mass_full_off(1) is where you can tell overshooting to shut off.  Since I focused on the core for a low mass star, I chose to turn off overshooting at 0.4Msun.  You can change this to what you think is best.
You could also just try setting the zone_loc to 'core' and see if that alone will avoid overshooting in the shell.


Hope this helps,


Morgan


On Sun, Apr 23, 2023 at 7:10 AM 辛文宇 <xinwenyu16 at mails.ucas.ac.cn> wrote:


Hi Morgan,




Thank you very much for the suggestion.




If I just want to turn off the overshooting of C, O, Si burning shell,

but keep the overshooting of other places as they are, how can I realize it?




Thanks,

Wenyu



-----原始邮件-----
发件人:"Morgan Taylor" <taylormorgan32 at gmail.com>
发送时间:2023-04-23 21:18:24 (星期日)
收件人: "辛文宇" <xinwenyu16 at mails.ucas.ac.cn>
抄送: "Ebraheem Farag" <ekfarag at asu.edu>, mesa-users at lists.mesastar.org
主题: Re: [Mesa-users] Setup for overshooting


Hi Wenyu,


>Is there any other way for no overshooting?


Yes, in controls.defaults, there's this little segment:



      ! min_overshoot_q

      ! ~~~~~~~~~~~~~~~

      ! Overshooting is only allowed at locations with mass ``m >= min_overshoot_q * mstar``.

      ! E.g., if ``min_overshoot_q = 0.1``, then only the outer 90% by mass can have overshooting.

      ! This provides a simple way of suppressing bogus center overshooting in which a small

      ! convective region at the core can produce excessively large overshooting because of

      ! a large pressure scale height at the center.









So if you set min_overshoot_q = 1.0, you will turn off overshoot :)


Morgan


On Sun, Apr 23, 2023 at 5:52 AM 辛文宇 <xinwenyu16 at mails.ucas.ac.cn> wrote:


Hi  Ebraheem,




Thanks very much for the suggestions.

>>"Another question is that if I want to test with no overshooting for shell burning, can I set f = 0, or I need to give a very small value for f. Because f and f0 shoould >0."

> You can do this by setting: overshoot_scheme(1) = 'none' , instead of 'exponential' in the &controls I shared above.




I try the overshoot_scheme(1) = 'none', but there is warming of Invalid overshoot_scheme:none.




I also checked the file in controls.defaults file, there is no choice of 'none'.




Is there any other way for no overshooting? 




Thanks,




Wenyu



-----原始邮件-----
发件人:"Ebraheem Farag" <ekfarag at asu.edu>
发送时间:2023-04-20 18:11:27 (星期四)
收件人: "辛文宇" <xinwenyu16 at mails.ucas.ac.cn>
抄送:mesa-users at lists.mesastar.org
主题: Re: [Mesa-users] Setup for overshooting


Hello Wenyu,


I believe the order of precedence for overshooting is such that overshoot_scheme(1) supersedes overshoot_scheme(2). In the current form you have written, overshoot_scheme(2) will not take effect because overshoot_scheme(1) will overwrite it. By switching the ranking, so that your 'burn_z' overshoot scheme is (1), and your 'any' routine for all other regions is set to (2), your scheme should work as intended.
----
Here is a pasted explanation from a previous email of how overshoot functions pasted from the overshooting section of $MESA_DIR/star/defaults/controls.defaults:


Overshooting works by taking the diffusion mixing coefficient at the edge of the convection zone and extending it beyond the zone. But – and here’s the issue – at the exact edge of the zone the mixing coefficient goes to 0. So we don’t want that. Instead we want the value of the mixing coeff NEAR the edge, but not AT the edge. The “f0” parameter determines the exact meaning of “near” for this. It tells the code how far back into the zone to go in terms of scale height. The overshooting actually begins at the location determined by f0 back into the convection zone rather than at the edge where the diffusion coeff is ill-defined. The overshooting actually begins at the location determined by f0 back into the convection zone rather than at the edge where the diffusion coeff is ill-defined. So, for example, if you want overshooting of 0.2 scale heights beyond the normal edge, you might want to back up 0.05 scale heights to get the diffusion coeff from near the edge and then go out by 0.25 scale heights from there to reach 0.2 Hp beyond the old boundary. In the inlist this would mean setting the “f0” to 0.05 and the “f” to 0.25. 


----
A common practice, though not required, is to take a step back such that fo = 0.5*f, which helps establish a diffusion coefficient well inside the convection zone. In the current form, your diffusion coefficient for (1) is set to 0.006*Hp, as you are taking a 0.004*Hp step backward into the convection zone, and then overshooting 0.01*Hp from this position.
In (2), you are taking a 0.004*Hp step backward and then overshooting 0.004*Hp forward, which is technically not overshooting above the convective boundary and is instead enhancing the diffusion coefficient near the edge of the convection zone.
----
Here is a corrected overshoot scheme, which is what I believe you might be after? :


&controls
! less overshooting above Z burning shell (e.g. C, O, Si), overshoot distance = 0.004*Hp
      overshoot_scheme(1) = 'exponential'    ! one of exponential or step
      overshoot_zone_type(1) = 'burn_z'         ! one of burn_H, burn_He, burn_Z, nonburn, any
      overshoot_zone_loc(1) = 'shell'          ! one of core, shell, any
      overshoot_bdy_loc(1) = 'any'           ! one of bottom, top, any
      overshoot_f(1) = 0.008 ! was 0.004
      overshoot_f0(1) =  0.004



! overshooting for all shells, superseded by overshoot_scheme(1) for burning Z shells, overshoot distance = 0.01*Hp
      overshoot_scheme(2) = 'exponential'    ! one of exponential or step
      overshoot_zone_type(2) = 'any'         ! one of burn_H, burn_He, burn_Z, nonburn, any
      overshoot_zone_loc(2) = 'any'          ! one of core, shell, any
      overshoot_bdy_loc(2) = 'any'           ! one of bottom, top, any
      overshoot_f(2) = 0.015 ! was 0.01
      overshoot_f0(2) = 0.005 ! was 0.004 and is fine, but changed by EbF for consistency with overshoot_scheme(1)


----

>"Another question is that if I want to test with no overshooting for shell burning, can I set f = 0, or I need to give a very small value for f. Because f and f0 shoould >0."

You can do this by setting: overshoot_scheme(1) = 'none' , instead of 'exponential' in the &controls I shared above.



-EbF


On Thu, Apr 20, 2023 at 2:35 AM 辛文宇 <xinwenyu16 at mails.ucas.ac.cn> wrote:


Hi Everyone,




I am going to change the overshooting of C-shell, O-shell and Si-shell burning to a smaller value.

Can I set the overshooting as follows:




      overshoot_scheme(1) = 'exponential'    ! one of exponential or step
      overshoot_zone_type(1) = 'any'         ! one of burn_H, burn_He, burn_Z, nonburn, any
      overshoot_zone_loc(1) = 'any'          ! one of core, shell, any
      overshoot_bdy_loc(1) = 'any'           ! one of bottom, top, any
      overshoot_f(1) = 0.010
      overshoot_f0(1) = 0.004


      overshoot_scheme(2) = 'exponential'    ! one of exponential or step
      overshoot_zone_type(2) = 'burn_z'         ! one of burn_H, burn_He, burn_Z, nonburn, any
      overshoot_zone_loc(2) = 'shell'          ! one of core, shell, any
      overshoot_bdy_loc(2) = 'any'           ! one of bottom, top, any
      overshoot_f(2) = 0.004
      overshoot_f0(2) = 0.004




In first part, the overshooting of all of the cores and shells are set to 0.01.

Then second part change the 'f' of only the shells to 0.004, right?




Another question is that if I want to test with no overshooting for shell burning,

can I set f = 0, or I need to give a very small value for f. Because f and f0 shoould >0.




Thanks,

Wenyu 




_______________________________________________
mesa-users at lists.mesastar.org
https://urldefense.com/v3/__https://lists.mesastar.org/mailman/listinfo/mesa-users__;!!IKRxdwAv5BmarQ!bmHiP3-PihLTp-9DGHcp2mi-40kCuk2ZQdOueGJk74bQ3F8_AFGhOZIG-8uDaEdoJIo_zWhlZRoAIpQ8oJbcXb0RvQ$


_______________________________________________
mesa-users at lists.mesastar.org
https://lists.mesastar.org/mailman/listinfo/mesa-users


_______________________________________________
mesa-users at lists.mesastar.org
https://urldefense.com/v3/__https://lists.mesastar.org/mailman/listinfo/mesa-users__;!!IKRxdwAv5BmarQ!ZfhBDF7qPDvk7dUmjWJJRNRD02WtriLQx_y3leencWpIpjIw9l1OQwA3eeNBiU49Ty42qWa8aQAdSCj0dSOD4mjs$

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.mesastar.org/pipermail/mesa-users/attachments/20230427/b7b5aefb/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 28M_none.pdf
Type: application/pdf
Size: 1073354 bytes
Desc: not available
URL: <https://lists.mesastar.org/pipermail/mesa-users/attachments/20230427/b7b5aefb/attachment-0002.pdf>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 28M_none1.pdf
Type: application/pdf
Size: 984923 bytes
Desc: not available
URL: <https://lists.mesastar.org/pipermail/mesa-users/attachments/20230427/b7b5aefb/attachment-0003.pdf>


More information about the Mesa-users mailing list