[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

Warrick Ball wball at astro.physik.uni-goettingen.de
Thu Feb 5 04:30:53 EST 2015


What will happen when one uses f_ov in the astero module?  Currently this 
presumably invokes the present (r7184) f0=f default.

W

On Wed, 4 Feb 2015, Bill Paxton wrote:

> Hi Falk,
> On Feb 4, 2015, at 3:25 PM, Falk Herwig wrote:
>
>       Hi Bill, just saw this change on the repo. Can you elaborate a bit. Sounds as if you are not allowing
>       f0=0, which makes sense. Or did you remove the implicit setting of f0 = f.
> 
> 
> Both.  When f is > 0, then the corresponding f0 must now be explicitly set to something > 0 as well.  No defaults
> for f0.   
> 
> There has been confusion about f0 and f for exponential and step overshooting.   By getting rid of the default
> option I hope to at least bring the confusion out into the open where it can be resolved rather than have the code
> quietly do something that the user might not expect.
> 
> Here are the current lines from controls.defaults concerning overshooting.  Please take a look and feel free to
> edit it into something better.  
> 
> - Bill
> 
> from star/defaults/controls.defaults
> 
>             ! The switch from convective mixing to overshooting happens
>             ! at a distance f0*Hp into the convection zone
>             ! from the estimated location where `grad_ad == grad_rad`, 
>             ! where Hp is the pressure scale height at that location.
>             ! A value <= 0 for f0 is a mistake -- you are required to set f0 as well as f.
>             ! take a look at the following from an email concerning this:
>             
>                ! 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.  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.
> 
>             ! There is no default value for f0; if you set f > 0 then you must get f0 > 0 as well.
> 
> ----
> 
>             ! Optional step function for overshooting.
>             ! This can be used simultaneously with exponential overshooting.
>             ! When using step overshoot, you must set f0 as well as f.
> 
>             ! As above, `f0*Hp` determines r0 where switch from convection to overshooting.
>             ! Overshooting extends a distance `step_f*Hp0` from r0
>             ! with constant diffusion coeff `D = step_D + step_D0_coeff*D0`
>             ! where D0 = diffusion coefficient D at point r0.
> 
> 
> 
> 
>


------------
Warrick Ball
Postdoc, Institut für Astrophysik Göttingen
wball at astro.physik.uni-goettingen.de
+49 (0) 551 39 5069


More information about the Mesa-users mailing list