[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