[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
Wed Feb 4 19:13:48 EST 2015


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.



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.mesastar.org/pipermail/mesa-users/attachments/20150204/10a1cbb1/attachment.html>


More information about the Mesa-users mailing list