[Mesa-users] Setup for overshooting
Morgan Taylor
taylormorgan32 at gmail.com
Sun Apr 23 14:30:08 UTC 2023
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
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.mesastar.org/pipermail/mesa-users/attachments/20230423/746c64fd/attachment.htm>
More information about the Mesa-users
mailing list