Floating point exception on a giant model

Bug/problem reports for any of the GYRE executables (gyre_ad, gyre_nad, etc)
Post Reply
earlbellinger
Posts: 2
Joined: Wed Jun 08, 2016 11:10 am

Floating point exception on a giant model

Post by earlbellinger » Sat Jun 18, 2016 6:39 am

Hello,

I ran GYRE 4.4 on some giant models produced by MESA r8118 with mesasdk 20160129 on a 1M solar-like track.

Most of the models end up fine, but some of the more evolved models failed with the following error:
Program received signal SIGFPE: Floating-point exception - erroneous arithmetic operation.

Backtrace for this error:
#0 0x2AD8E03CE557
#1 0x2AD8E03CEB6E
#2 0x2AD8E12B211F
#3 0x48069A in __gyre_r_ext_MOD_exp_
#4 0x45FF9F in __gyre_r_magnus_ivp_MOD_shoot_
#5 0x49DB3F in __gyre_r_bvp_MOD_build_._omp_fn.1 at gyre_r_bvp.f90:?
#6 0x2AD8E09FA925
#7 0x2AD8E10650A3
#8 0x2AD8E1361FEC
#9 0xFFFFFFFFFFFFFFFF
I have attached an example FGONG file, the GYRE inlist that I used on it, and the MESA inlist that generated the model.

Any advice?

Best regards,
Earl Bellinger
Attachments
mesa.in
(4.68 KiB) Downloaded 249 times
profile9999.data.zip
(212.85 KiB) Downloaded 238 times
profile9999-freqs.in
(787 Bytes) Downloaded 236 times

User avatar
rhtownsend
Site Admin
Posts: 397
Joined: Sun Mar 31, 2013 4:22 pm

Re: Floating point exception on a giant model

Post by rhtownsend » Tue Jul 12, 2016 3:57 pm

Hi Earl --

Apologies for not responding sooner -- been busy working on the next release of GYRE!

The floating point exception you've encountered appears to arise because you're looking for modes at very low frequencies. This isn't a problem for radial modes (as there are no g-modes when l=0), but causes numerical issues for l >= 1 because the g modes at these low frequencies have insanely large radial orders.

For instance, at the lower limit of your frequency scan, =0.01*the acoustic cutoff frequency, the radial order of l=1 g modes in your red giant model is n ~ 2,000,00!!!

I'm pretty sure that you don't want to consider such large radial orders. The fix, for the non-radial modes, is to increase freq_min to more reasonable values.

Another thing you should think about is whether your shooting grid has sufficient resolution. For high-order modes, the default shooting grid (which is just the stellar model grid) is almost certainly inadequate; you need to resample it to allow eigenfunctions to be properly resolved.

cheers,

Rich

Post Reply