[mesa-users] Modifying timestep based on chi-squared from astero module

Warrick Ball wball at astro.physik.uni-goettingen.de
Tue Sep 2 11:02:47 EDT 2014


As usual, I've managed to make a lot of progress since I wrote the first 
email.  It looks like extras_support supplements the routines in 
run_star_extras.f.  Therein, chi2 is -1 if not evaluated in full.  So I 
can modify astero_extras_finish_step to change the timestep.

I haven't tried modifying the timestep just yet (and other things are 
pressing now), but I have checked that I'm getting the correct value of 
chi2 and, according to Bill's comments last week, extras_finish_step is 
the right place to modify s% dt_next.

I did try to summon chi2 from extras_support, but I ended up in a 
dependency loop: extras_support already depends on run_star_extras!  So 
unless I'm mistaken, I have to change extras_support directly.  Which is 
familiar territory, but I know not what Bill likes.

Cheers,
Warrick



On Tue, 2 Sep 2014, Warrick Ball wrote:

> Hi all,
>
> I want to experiment with modifying the timestep when using the astero module 
> using the most recent value of chi-squared. i.e. take smaller steps as 
> chi-squared gets smaller, according to some user-defined function.
>
> I was about to start trying to get chi-squared in run_star_extras.f when I 
> discovered (through some grepping) that there's a function
> "other_after_get_chi2" in astero_data.f.  It's called if 
> use_other_after_get_chi2 is true, but it seems to be hardcoded to .false., 
> also in astero_data.f.
>
> Is there a way to use this function?  Or is it meant to be off limits?  I 
> tried to pull it into run_star_extras.f, but the usual method doesn't work 
> because other_after_get_chi2 isn't a member of the star_info structure. I 
> thought of modifying astero_data.f or astero_support.f directly, but the code 
> block looks unfamiliar to me.  Here's astero_data.f:55:
>
>      type astero_info
>
>         procedure(other_proc_interface), pointer, nopass :: &
>            other_after_get_chi2 => null()
>
>         procedure(other_adipls_mode_info_interface), pointer, nopass :: &
>            other_adipls_mode_info => null()
>
>      end type astero_info
>
> Is this defining a new pointer?  Can I use it to get to other_after_get_chi2 
> and modify s% dt_next?
>
> This is revision 6208, so apologies if this is a result of an old version of 
> the code.  Thanks for any input!
>
> Cheers,
> Warrick
>
>
> ------------
> Warrick Ball
> Postdoc, Institut für Astrophysik Göttingen
> wball at astro.physik.uni-goettingen.de
> i+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


More information about the Mesa-users mailing list