[Mesa-users] Dh_div_H_limit

Bill Paxton paxton at kitp.ucsb.edu
Wed Jun 17 14:32:39 EDT 2020


Great!  Thanks for letting me know and closing the loop.  ;-)

b


> On Jun 17, 2020, at 11:26 AM, Hannah Brinkman <brinkmanhe at gmail.com> wrote:
> 
> Dear Bill,
> 
> Thank you for the clarification! I don't see any problems with the new documentation. I understand better now what the limiter means and I think I can move forward with my models.
> 
> With kind regards,
> Hannah
> 
> Op wo 17 jun. 2020 om 17:54 schreef Bill Paxton <paxton at kitp.ucsb.edu <mailto:paxton at kitp.ucsb.edu>>:
> think of it in terms of a limit on the magnitude of decrease in H (dH) and another limit for the relative change (dH/H).
> 
> as it says in controls.defaults
> 	dH_div_H_limit  = Limit on magnitude of relative decrease in any cell hydrogen abundance.
> 	dH_limit = Limit on magnitude of decrease in any cell hydrogen abundance during a single timestep.
> 
> dH(k) = max(0d0, mass fraction H in cell k at start of step - mass fraction H in cell k at end of step) ! > 0 for decrease
> H(k) = mass fraction H in cell k at end of step
> 
> the controls with names starting “dH_div_H_limit” are for the relative changes.
> the controls with names starting  with just “dH” are for the absolute ones.
> 
> for H, there is also an option to consider both increases and decreases in setting the limits.
> 
>          ! If true, then only consider decreases in abundance.
> 
>       dH_decreases_only = .true.
> 
> 
>> What confuses me is the bold-faced part.
> 
>>       dH_div_H_limit_min_H = 1d-3
>>          !### dH_div_H_limit
>>          ! If max `dH_div_H` is greater than this, reduce the next timestep by `dH_limit/max_dH`.
>>       dH_div_H_limit = 0.5d0
> 
> That a bug in the documentation!     cut-and-paste strikes again.
> What it should say if the max value of dH(k)/H(k) for all cells k is > dH_div_H_limit
> then reduce the next timestep by dH_div_H_limit/max of (dH(k)/H(k))
> 
> Here’s what it looks like now in controls.defaults - see any problems with this?
> 
>          !### dH_div_H_limit
> 
>          ! If max `dH_div_H` is greater than this, reduce the next timestep by `dH_div_H_limit/max dH_div_H`.
> 
>       dH_div_H_limit = 0.9d0
> 
> 
> i’m sure there are still more confusing ambiguities in the comments.  thanks for reporting this one.  since i never read documentation of mesa myself, it took me longer than it should have to notice what you were pointing out.
> 
> b
> 
> 
> 
> 
>> On Jun 17, 2020, at 8:30 AM, Hannah Brinkman <brinkmanhe at gmail.com <mailto:brinkmanhe at gmail.com>> wrote:
>> 
>> Dear Bill,
>> 
>> Thank you for your reply.
>> 
>> I found the same part in the controls.defaults of the MESA version I use (10398). What confuses me is the bold-faced part.
>> 
>> ! Limit on magnitude of relative decrease in any cell hydrogen abundance.
>>          ! `dH_div_H` here is `abs(xa(h1,k) - xa_old(h1,k))/xa(h1,k)`
>>          ! considers all cells except where have convective mixing.
>>          ! `dH_decreases_only` applies to `dH_div_H` also.
>>          !### dH_div_H_limit_min_H
>>          ! `dH_div_H` limits only apply where xa(h1,k) >= this limit.
>>       dH_div_H_limit_min_H = 1d-3
>>          !### dH_div_H_limit
>>          ! If max `dH_div_H` is greater than this, reduce the next timestep by `dH_limit/max_dH`.
>>       dH_div_H_limit = 0.5d0
>>          !### dH_div_H_hard_limit
>>          ! If max `dH_div_H` is greater than this, retry with smaller timestep.
>>       dH_div_H_hard_limit = 1d99
>> 
>> This seems to refer to a control higher up in the same section, where dH_limit is defined:
>> 
>> ! Limit on magnitude of decrease in any cell hydrogen abundance during a single timestep.
>>          ! dH here is `abs(xa(h1,k) - xa_old(h1,k))` for any cell k.
>>          ! Considers all cells except where have convective mixing.
>>          !### dH_limit_min_H
>>          ! dH limits only apply where xa(h1,k) >= this limit.
>>       dH_limit_min_H = 1d99
>>          !### dH_limit
>>          ! If max dH is greater than this, reduce the next timestep by `dH_limit/max_dH`.
>>       dH_limit = 1d99
>>          !### dH_hard_limit
>>          ! If max dH is greater than this, retry with smaller timestep.
>>       dH_hard_limit = 1d99
>>          !### dH_decreases_only
>>          ! If true, then only consider decreases in abundance.
>>       dH_decreases_only = .true
>> 
>> Even after reading this, I still have some questions left. If I understand correctly, this limiter shows up when the hydrogen abundance between two non-convective cells changes too much between timesteps. The questions I have left now, are;
>> - What determines the value of max_dH?
>> - If dH_limit = 1d99, wouldn't this lead to a very large decrease of the timestep?
>> 
>> I hope you can clarify this for me.
>> 
>> With kind regards,
>> Hannah
>> 
>> 
>> Op di 16 jun. 2020 om 18:25 schreef Bill Paxton <paxton at kitp.ucsb.edu <mailto:paxton at kitp.ucsb.edu>>:
>> The trick is to copy the string from the terminal output and search for it in star/defaults/controls.defaults
>> 
>> Turns out there are 2 different limits related to dH for absolute and relative changes.
>> 
>>             !          'dH'                   dH_limit
>>             !          'dH/H'                 dH_div_H_limit
>> 
>> You want to then look at the info about dH_div_H_limit
>> 
>>          ! Limit on magnitude of relative decrease in any cell hydrogen abundance.
>>          ! `dH_div_H` here is `abs(xa(h1,k) - xa_old(h1,k))/xa(h1,k)`
>>          ! considers all cells except where have convective mixing.
>>          ! `dH_decreases_only` applies to `dH_div_H` also.
>> 
>> 
>>          !### dH_div_H_limit_min_H
>> 
>>          ! `dH_div_H` limits only apply where xa(h1,k) >= this limit.
>> 
>>       dH_div_H_limit_min_H = 1d-3
>> 
>> 
>>          !### dH_div_H_limit
>> 
>>          ! If max `dH_div_H` is greater than this, reduce the next timestep by `dH_limit/max_dH`.
>> 
>>       dH_div_H_limit = 0.9d0
>> 
>> 
>>          !### dH_div_H_hard_limit
>> 
>>          ! If max `dH_div_H` is greater than this, retry with smaller timestep.
>> 
>>       dH_div_H_hard_limit = 1d99
>> 
>> 
>> 
>>> On Jun 16, 2020, at 9:06 AM, Hannah Brinkman via Mesa-users <mesa-users at lists.mesastar.org <mailto:mesa-users at lists.mesastar.org>> wrote:
>>> 
>>> Dear All,
>>> 
>>> When checking some of my recent models, I see a lot of times that the timestep is limited by DH/H. After checking this in the controls, I noticed that when this limiter appears, the timestep is decreased by DH_limit/max_DH. However, DH_limit is 1d99 by default. Wouldn't this lead to an enormous decrease of the timestep each time this control limits the timestep? Or do I misinterpret this limiter? I cannot find what determines max_dH.
>>> 
>>> I hope someone can explain to me what is happening in the star when this limiter shows up.
>>> 
>>> With kind regards,
>>> Hannah
>>> 
>>> 
>>> 
>>> 
>>>  <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>	Virusvrij. www.avg.com <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> <>_______________________________________________
>>> mesa-users at lists.mesastar.org <mailto:mesa-users at lists.mesastar.org>
>>> https://lists.mesastar.org/mailman/listinfo/mesa-users <https://lists.mesastar.org/mailman/listinfo/mesa-users>
>>> 
>> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.mesastar.org/pipermail/mesa-users/attachments/20200617/fe623e04/attachment.htm>


More information about the Mesa-users mailing list