[mesa-users] Modify criterion for onset of convection

Chris Mankovich cmankovich at ucsc.edu
Mon Mar 7 14:21:42 EST 2016

Hi Lewis,

You mentioned adding grad_beta to diff_grads so that it enters the
stability criterion.  I gather that we're now talking about modifying the
MLT equations to be solved in a zone that is unstable to convection
according to your new criterion.

At the moment, I am not seeing any changes in models with this grad_beta
> term, when I should be expecting a radius inflation due to a decrease in
> convective efficiency.

I think the first, concrete thing to check is gradT that MLT spits out in
the two cases. If those come out the same, then your changes aren't
affecting the MLT solve.

The subroutine set_convective_mixing is what solves the MLT cubic for
gradT.  I think your changes aren't doing anything because once the
stability of the zone is evaluated, if the outcome is convection, then all
"extra" information in gradL (composition, your beta term) is
abandoned---notice how set_convective_mixing makes reference to grada, but
not gradL.  Since you're now modifying the equations themselves, it's
somewhat involved (you need to decide what lines in set_convective_mixing
need to be changed), but doable.  The nice thing is you should be able to
leave all the derivatives alone, if grad_beta is truly a constant.


On Mon, Mar 7, 2016 at 3:10 AM, Ireland, Lewis <lgi201 at exeter.ac.uk> wrote:

> Hi,
> Thank you both so far.
> I wanted to ask a quick question re: changing the criterion. I have set
> gradL = grada + gradL_composition_term + grad_beta, but I also want the
> convective flux calculation to be calculated using (gradT - grada -
> grad_beta)^3/2 rather than (gradT - grada)^3/2, i.e. modify the
> superadiabatic gradient by this additional term. At the moment, I am not
> seeing any changes in models with this grad_beta term, when I should be
> expecting a radius inflation due to a decrease in convective efficiency.
> I noticed that for the case where have_L_need_gradT = .false., it
> explicitly calculates Lconv with diff_grads = gradr - gradL as the
> superadiabatic gradient in the getresults() part of the code, which is what
> I would like to have, but how is it calculated for have_L_need_gradT =
> .true.? Is there a way I can include grad_beta in its calculation for this
> case, entirely within the run_star_extras.f file?
> Thank you,
> Lewis
> On 1 Mar 2016, at 10:51, Ireland, Lewis <lgi201 at exeter.ac.uk> wrote:
> Thank you, Chris.
> I have decided to add grad_beta to gradL:
> gradL = grada + gradL_composition_term + grad_beta
> So when gradL is passed to diff_grads, it considers this extra term.
> However, I am unsure whether to modify d_gradL_dvb = d_grada_dvb, as this
> is used to calculate d_diff_grads_dvb. I guess my question is, why is it
> okay to ignore the partials of the composition term, so I can decide if
> it’s okay to assume the same with my additional term?
> Thank you again,
> Lewis
> On 29 Feb 2016, at 17:09, Chris Mankovich <cmankovich at ucsc.edu> wrote:
> Hi Lewis,
> It looks like you have all the pieces in place.  The guts of the MLT code
> are in the subroutine Get_results, where at some point diff_grads = gradr -
> gradL is calculated, and this is the quantity used in the stability
> criterion part of the code. This is what you want to adjust.
> It might be important for you to note that if use_Ledoux_criterion ==
> .false., then these routines see gradL_composition_term = zero so that
> gradL just reduces to grad_ad.
> Chris
> On Mon, Feb 29, 2016 at 5:31 AM, Ireland, Lewis <lgi201 at exeter.ac.uk>
> wrote:
>> Hello,
>> I wish to modify the Schwarzschild criterion for the onset of convection,
>> i.e. nabla > nabla_ad, by replacing it with, nabla > nabla_ad + delta,
>> where delta can be user inputted constant, thus affecting the
>> superadiabatic profile of the model. I was following tutorials from the
>> MESA summer school 2014, covering how to modify the standard convection
>> prescription both inside and outside mlt_eval(), but I’m not sure that
>> these can help me with the modifications I wish to make, as the tutorials
>> stop before covering how to implement your own prescription of MLT.
>> I know it should be analogous to how your implementation of Ledoux
>> criterion works, but it isn’t clear yet how to go about this. I have
>> attached my run_star_extras.f, which as it stands includes other_mlt()
>> (renamed to my_other_mlt()), mlt_eval() and do_mlt_eval().
>> Thank you,
>> Lewis
>> ------------------------------------------------------------------------------
>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>> Monitor end-to-end web transactions and take corrective actions now
>> Troubleshoot faster and improve end-user experience. Signup Now!
>> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>> _______________________________________________
>> mesa-users mailing list
>> mesa-users at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/mesa-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.mesastar.org/pipermail/mesa-users/attachments/20160307/9a1ea77a/attachment.html>

More information about the Mesa-users mailing list