when I try to compute nonadiabatic radial pulsations of
intermediate-mass stars in the classical instability strip while the
stars are on their blue loops.
I do manage to get nonadiabatic radial fundamental, first-, and
second-overtone results when the stars cross the strip for the first
time (i.e. as long as they are decently compact) but not anymore once
they are more puffed up.
Typically, what I get to see in a GYRE (V. 4.3 is running here) session is:
Code: Select all
Mode Search
===========
Mode parameters
l : 0
m : 0
Building omega grid
added scan interval : 0.1500000000000000E+01 -> 0.7500000000000000E+01 (60 points, LINEAR)
Building x grid
x points : 1601 [after CREATE_MIDPOINT op]
x range : 0.0000000000000000E+00 -> 0.9999999985603535E+00
Root bracketing
Time elapsed : 0.364 s
Root Solving
l n_pg n_p n_g Re(omega) Im(omega) chi n_iter n
0 1 1 0 0.2655955222291173E+01 0.0000000000000000E+00 0.5018777496194273E-14 7 1601
0 2 2 0 0.3889235307472945E+01 0.0000000000000000E+00 0.1058218887806180E-13 6 1601
0 3 3 0 0.5344936627626918E+01 0.0000000000000000E+00 0.6300390309901204E-14 6 1601
Time elapsed : 0.162 s
Root Solving
l n_pg n_p n_g Re(omega) Im(omega) chi n_iter n
0 1 1 0 0.2661960010712412E+01 0.2627637059281112E-02 0.5084080344596849E-12 6 1601
Failed during deflate narrow : maximum iterations exceeded
n_iter_def : 51
n_iter : 0
omega_a : 0.1583803223265424E+01 -0.1268621277039857E+01
omega_b : 0.1539169900795748E+01 -0.1271863390338167E+01
0 3 3 0 0.5299325378482669E+01 -0.1708691639619444E-01 0.1246651790965083E-12 7 1601
Time elapsed : 7.197 s
Adiabatic computations are no problem at all, independent of the IVP
solver used (as suggested in the GYRE forum, I use usually one of the
COLLOC_GL<*> integrators. To me, the problem seems to be associated
with the (complex) root finding process. Actually, only the RIDDERS
method works reliably, if at all. To my surprise, even the SECANT
method fails most of the time.
To overcome the convergence problems I decided to try to set the
innermost grid point not at the star's center but resort to "envelope"
computations only (Just in case this all should be connected after all
to the full-star integration of the nonadiabatic problem). Therefore,
in the gyre.in file I request:
Code: Select all
&shoot_grid ! If left empty, adoption of defaults only
op_type = 'CREATE_MIDPOINT'
x_i = 0.1
/
&recon_grid ! If left empty, adoption of defaults only
op_type = 'CREATE_CLONE'
x_i = 0.1
/
... and
&osc
inner_bound = 'ZERO'
Code: Select all
Root bracketing
ASSERT 'this%x_i /= 0._WP' failed at line 210 <gyre_rad_bound:B_i_zero_>:
Boundary condition invalid for x_i == 0
Checking the source of GYRE, I also got the impression that setting
x_i =/ 0 has no effect in nad/gyre_grid_par.f90. I admit though, that
I do not understand every single assignment in the routine.
Is it possible that x_i, x_o can be set via namelist but are not yet wired
for the intended use in the NAD case?
Any help is appreciated
Alfred