[mesa-users] Convective temperature gradient from Canuto, Goldman & Mazzitelli (1996)
Kevin Moore
klmoore at soe.ucsc.edu
Fri Mar 6 14:49:48 EST 2015
Hi Warrick,
That’s great, thanks for sharing. As someone else who’s spent a lot of time messing with the MLT module, it looks like the only additional things left to update are the convective velocity (eqn 88) and the turbulent pressure (eqn 91 to go in set_conv_P). The convective velocity is mainly used to calculate the diffusion coefficient in convective regions, D = conv_vel*Lambda/3, so you should check if this is still valid in these mixing prescriptions - Lambda itself (the mixing length) may also be different.
-Kevin
On Mar 6, 2015, at 5:15 AM, Warrick Ball <wball at astro.physik.uni-goettingen.de> wrote:
> Hi all,
>
> Following from a previous message (see below) where I describe my implementation of the Canuto & Mazzitelli (1991, CM1991) convective temperature gradient, I also went ahead and implemented the temperature gradient in Canuto, Goldman & Mazzitelli (1996, CGM1996) [1]. As with CM1991, this only involves modifying the traditional cubic equation with a non-linear term for which CGM1996 give an analytic fit (equation 73-75). This is basically a progress report of sorts for anyone interested.
>
> I've attached my run_star_extras.f, with which the new convective temperature gradients can be selected with
>
> use_other_mlt = .true.
> MLT_option = 'CGM1996' ! or 'CM1991'
>
> Don't forget to change alpha to a more appropriate value! (e.g. ~0.7 for solar-like values in CGM1996.)
>
> I've also attached a plot of the pre-MS and MS evolution of a 1Msun star, modified from the default work folder, showing tracks for the default MLT with alpha=2.0 or 1.4, as well as alpha=0.7 with CM1991 or CGM1996 convection. I'm reasonably confident that the temperature gradients are being computed correctly, since these line up with my expectations. CM1991 originally compared alpha=0.7 in their model to alpha=1.4 in traditional MLT. For CGM1996, I'm used to solar-calibrated values of alpha~=0.68, which is in line with the plot. In addition, I'm running a (very slow and poorly-setup!) solar calibration, and it's currently settled on alpha~=0.66.
>
> But, I caution against this being anything like production quality for two reasons. First, it obviously needs much more thorough testing, which I will try given time. Second, I haven't modified the convective velocities at all. I'm not expert enough (but I'm trying to learn more) to know exactly what to do, but suffice it to say that the convective velocity is still being derived as in the existing MESA MLT, only with the temperature gradient given its new value. (If you have the paper to hand, I believe that the mean squared velocity expression in equation (88) is the convective velocity I'm looking for. It's of a similar form to the other analytic expressions, so it shouldn't be too hard to implement.)
>
> Finally, as ever, thanks to the MESA team for writing such easily modifiable/extensible code!
>
> Cheers,
> Warrick
>
> [1] http://adsabs.harvard.edu/abs/1996ApJ...473..550C
>
> On Wed, 17 Dec 2014, Warrick Ball wrote:
>
>> Hi MESAlians,
>>
>> What started off as a side interest following a conversation over a conference lunch 12 days ago has ended up with me possibly having implemented the temperature gradient from Canuto & Mazzitelli (1991) [1], or just CM1991.
>>
>> Much of the original paper is committed to determining the convective flux according to a more detailed description of the spectrum of turbulent eddies than in mixing length theory. These details are still a bit beyond me, but the results of those calculation are tabulated in the paper and an analytic fit given in their equation (32). This introduces a new factor (eqn 34), involving the MLT convective flux (eqn 4), that must be incorporated in the traditional cubic equation of Cox & Giuli (eqn 14.82 in the textbook; eqns 9 and 10 in CM1991).
>>
>> The new form of the "cubic" (eqn 36) isn't really a cubic, so I used the safe_root routines from mesa/num to solve the equation, using the MLT value of the parameter Gamma as an initial guess. I solved for the gradient of Gamma implicitly. The parameter Zeta in the code becomes
>>
>> Zeta = Phi_CM/(1 + Phi_CM)
>>
>> (see eqn 63 in the paper) where Phi_CM is the new convective flux, given by the analytic fit (eqn 32). Again, the derivative can be computed implicitly.
>>
>> After some fumbling around, I seem to have succeeded in implementing the new temperature gradient in MESA. I have attached a run_star_extras.f that contains a modified version of MESA's own MLT routine, in which the CM1991 temperature gradient is developed as a modification to the 'Cox' option. Just set MLT_option = 'CM1991' and use_other_mlt = .true. in &controls. (FYI, this was all developed in revision 7184.)
>>
>> Attached is an HR track from a default work folder, modified to a 1 solar mass model. The two tracks are for Cox MLT with alpha = 2 and CM1991 MLT with alpha = 0.75, up to core hydrogen exhaustion. They don't quite match, which isn't totally surprising because the conversion between the two is non-trivial. I'm trying to calibrate a solar model now to see what value comes out.
>>
>> Anyway, that's what I've done. It started out as an exercise in teaching myself a bit more about convection in the models, and ended up with something I hope that someone, somewhere might find interesting or useful. I'd love to know if I've actually done the right thing. I've iterated on the "cubic" equation (32), although the paper talks about iterating directly on the convective flux (equation 63). I assume that these are equivalent...
>>
>> The fact that I got somewhere with the code is testament to it's clarity: thanks again Bill and other contributors! Finally, note that I haven't done anything regarding (a) the turbulent pressure, for which CM1991 also offers a different expression (I think?), or (b) the suggestion of limiting the mixing-length to the distance to the convective boundary.
>>
>> Cheers,
>> Warrick
>>
>> [1] http://esoads.eso.org/abs/1991ApJ...370..295C
>>
>> ------------
>> Warrick Ball
>> Postdoc, Institut für Astrophysik Göttingen
>> wball at astro.physik.uni-goettingen.de
>> +49 (0) 551 39 5069
>
>
> ------------
> Warrick Ball
> Postdoc, Institut für Astrophysik Göttingen
> wball at astro.physik.uni-goettingen.de
> +49 (0) 551 39 5069<run_star_extras.f><cm_vs_mlt.png>------------------------------------------------------------------------------
> Dive into the World of Parallel Programming The Go Parallel Website, sponsored
> by Intel and developed in partnership with Slashdot Media, is your hub for all
> things parallel software development, from weekly thought leadership blogs to
> news, videos, case studies, tutorials and more. Take a look and join the
> conversation now. http://goparallel.sourceforge.net/_______________________________________________
> mesa-users mailing list
> mesa-users at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mesa-users
More information about the Mesa-users
mailing list