[mesa-users] MLT partial derivatives

Bill Paxton paxton at kitp.ucsb.edu
Tue Apr 1 19:27:21 EDT 2014


looks like you've turned up a bug.  it has remained hidden since it only matters for conv_dP_term, and that's an option in mesa/star that hasn't been used (perhaps it hasn't been used because it doesn't work because of the bug we haven't fixed because it hasn't been used!)......

for the partials of D, those are not being computed because they aren't used by the current version of mesa/star.   it would be great if you'd clean up some of these things.  either implement the missing partials or at least add comments to the public mlt_lib to indicate what is or is not implemented.

-b



On Apr 1, 2014, at 4:19 PM, Kevin Moore wrote:

> Huh, actually something still seems inconsistent (at least with the default semiconvection & thermohaline implementations).
> 
> d_conv_P_dvb depends on d_conv_vel_dvb, which in turn should depend on d_D_dvb (since conv_vel = 3*D/Lambda). However, d_D_dvb = 0 in the standard semiconvection subroutine (and thermohaline) despite D appearing to have explicit dependence on some of the MLT variables. Am I missing something?
> 
> 
> On Apr 1, 2014, at 4:00 PM, Bill Paxton <paxton at kitp.ucsb.edu> wrote:
> 
>> Hi Kevin,
>> 
>> In the current implementation of mesa/star, we use the MLT partials of gradr, gradT, and the conv_dP_term, but not of anything else.
>> 
>> -B
>> 
>> 
>> 
>> 
>> On Apr 1, 2014, at 3:20 PM, Kevin Moore wrote:
>> 
>>> Hi Bill et al.,
>>> 
>>> I’ve got a question regarding using the other_mlt hook. Specifically, several of the expected return values are partial derivatives of things like the diffusion coefficient, gradT, the convective velocity, etc. with respect to variables like rho, T, P, L, etc. (full list in mlt/public/mlt_def.f).
>>> 
>>> In mlt/private/mlt.f, the calls to the thermohaline and semiconvection subroutines leave several of these partial derivatives set to zero (seemingly on purpose). For example, the diffusion coefficient (D) and the convective velocity (conv_vel) are explicitly non-zero in both cases, but their partial derivatives are set as d_D_dvb = 0 and d_conv_vel_dvb = 0, respectively. However, in the standard_scheme subroutine these partials are evaluated and filled in.
>>> 
>>> My question is: "why is this so?” Are partial derivatives of certain MLT variables required by MESA, but others not? Is there danger in leaving some of them set to zero?
>>> 
>>> In the semiconvection implementation I wrote, I’ve worked out all the partial derivatives of gradT, D, and conv_vel, but are these necessary? I was having issues with very small time steps (<10 yrs) during core He burning, with the time steps being limited by “newton_iters” (i.e. the Newton solver was taking more than 5 iterations) so I figured it may have something to do with my supplied partial derivatives from other_mlt. Of course, making them seemingly more accurate just made the time steps smaller :/
>>> 
>>> -Kevin
>>> ------------------------------------------------------------------------------
>>> _______________________________________________
>>> 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