[Mesa-users] Setup for overshooting
Ebraheem Farag
ekfarag at asu.edu
Sun Apr 23 14:34:11 UTC 2023
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
>>> <https://urldefense.com/v3/__https://lists.mesastar.org/mailman/listinfo/mesa-users__;!!IKRxdwAv5BmarQ!ZfhBDF7qPDvk7dUmjWJJRNRD02WtriLQx_y3leencWpIpjIw9l1OQwA3eeNBiU49Ty42qWa8aQAdSCj0dSOD4mjs$>
>>>
>>> _______________________________________________
> 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/20230423/688fb6ec/attachment.htm>
More information about the Mesa-users
mailing list