[mesa-users] Fwd: [mesa:code] [r7407] - bill_paxton: now require user to set f0 > 0 for overshooting whenever have f > 0; both step and exponential
Bill Paxton
paxton at kitp.ucsb.edu
Thu Feb 5 12:45:24 EST 2015
On Feb 5, 2015, at 2:41 AM, Radek Smolec wrote:
> Hi Bill and all,
>
> I am still confused about correct setting of the overshoot parameters. In the literature there are (at least) two formulations of step overshooting: ABOVE the border of the convective core (Geneva group, more common I think) and ACROSS the border of the convective core (Padova group). See for example here http://adsabs.harvard.edu/abs/2012MNRAS.427..127B, section 2.6.1. Quoting from the paper, 0.5Hp in the Padova group (across) roughly corresponds to 0.25Hp in the Geneva group (above).
>
> My belief was that setting f=0.25 and f0=0 in MESA I get the Geneva formulation and when I set f=0.25 and f0=0.25 I get the Padova formulation. As I prefer the Geneva formulation I was using f0=0 so far and in fact didn't notice anything suspicious (see below).
Hi Radek,
Isn't this fun! Confusion is healthy (although ignorance is indeed bliss in comparison).
We need to distinguish exponential overshooting from step overshooting in this.
You are limiting your questions to step overshooting in order to match the other codes.
> Am I right that now:
> - to get the Padova formulation I should set f0=0.25 and f=0.5
yes, that will work. although other combinations giving f - f0 = 0.25 are also options to get the step to extend 0.25 beyond the border.
> - setting f0=f=0.25 means that effectively there is no overshooting
correct. you back up into the core by 0.25 then move outward from that location by 0.25 ending up back at the border.
> - to get Geneva formulation I should set f0 to something very small, but non-zero, say f0=0.01, f=0.26 ?
The question is how far away from the boundary to you want to go for the value of Dmix to use in the step overshooting.
To review: the code starts by finding the exact subcell location of the convective boundary. It interpolates to get the scale height Hp at the boundary.
the overshooting will start from the location r0 in the convective region at a distance f0*Hp away from the boundary. The mixing coefficient D_mix at location r0 is used in setting the mixing coefficient for overshooting. If the entire convective region is smaller in thickness than f0*Hp, then r0 is beyond the region and there is no overshooting. In the normal case, r0 will be in the convection zone. The code interpolates the convection velocity at r0 using the convection velocities from the boundaries of the cell containing r0. It also interpolates the mixing length at r0 and from those values it gets D_mix at r0.
With f0 = 0, you are taking Dmix at the exact subcell location of the boundary, which means Dmix = 0 (there is no mixing at the point boundary).
>
> I understand that Dmix at the edge of the convective core may be ill defined, but MESA was apparently dealing with it without problem when f0=0 - see the attached plots (mesa7184) with profiles of the diffusion coefficients for a model along the main sequence (model 300) . I used f0=0 as you can see in the attached inlist. Everything seems fine, D is continuous and equal to the value od Dmix in the last convective zone. The model behaves as expected (this is mesa 7184). Also, when I gradually increase f (with f0=0) the tracks behave as expected (e.g. luminosity is smoothly and gradually increasing; helium burning loops behave as expected).
>
> My understanding is that since Dmix vary rapidly at the edge of the convective core its value in the last zone (and so the value of D_ovr if f0=0) may be somehow random, depending on the grid details at the edge of the core. To get rid of this it is now preferred to take the value from the deeper zones, right?
The fact that you were getting good results is a clear sign of a bug in mesa. ;D
I'll take a look and fix it for the next release. If things we're working properly, with f0 = 0 you would get D_mix = 0 for overshooting.
If you go back to read about MLT again, you'll see that D_mix comes from convective velocity, and convective velocity goes to 0 when the temperature gradients are equal, i.e. at the boundary of the convective region. so we don't want to get D_mix from the exact boundary of the zone. We must get it from somewhere inside the convective region where convective velocities are > 0. The f0 parameter determines that location in terms of pressure scale heights away from the boundary. So we must have f0 > 0 to get non-zero D_mix for overshooting.
>
> If non-zero f0 is now necessary, what happens then the convective zone just appears and its extent is smaller than f0*Hp?
as mentioned above, there is no overshooting in that case.
-Bill
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.mesastar.org/pipermail/mesa-users/attachments/20150205/51e97e93/attachment.html>
More information about the Mesa-users
mailing list