Code Monkey home page Code Monkey logo

gyre's Introduction

The GYRE Stellar Oscillation Code

GitHub

GitHub release (latest by date)

GitHub issues

Travis (.com)

Read the Docs

Overview

GYRE is a stellar oscillation code. Given an input stellar model, GYRE calculates the eigenfrequencies and eigenfunctions for the normal oscillation modes of the model. These data can be put to a variety of uses; the most common is to compare them against observed oscillation frequencies of a star, allowing constraints on the star's fundamental parameters (mass, radius, etc.) to be established โ€” the discipline of asteroseismology.

Documentation

Full documentation for GYRE can be found at https://gyre.readthedocs.io/en/stable.

Citing

If you use GYRE in your research, please cite one or more of the relevant 'instrument' papers:

gyre's People

Contributors

darthoctopus avatar earlbellinger avatar jarrosenberg avatar michielsenm avatar rhdtownsend avatar vincentvanlaer avatar warrickball avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

gyre's Issues

Duplicate output items issue

When an output item appears twice in detail_item_list, the code tries to write it twice -- and the second time HDF5 barfs. To fix, need to uniquify the list (and maybe also summary_item_list).

unable to write structure coefficient V2 for polytropes

When writing out detail files for polytropes, I obtain a SIGFPE when trying to write out the $V_2$ coefficient in particular:

gyre [dev]
----------

OpenMP Threads   : 24
Input filename   : gyre.in

Model Init
----------

Reading from POLY file poly.simple.h5
   Read 367 points

Mode Search
-----------

Mode parameters
   l : 0
   m : 0

Building frequency grid (REAL axis)
   added scan interval :  0.7269E+00 ->  0.4362E+02 (100 points, LINEAR)

Building spatial grid
   Scaffold grid from model
   Refined 40 subinterval(s) in iteration 1
   Refined 23 subinterval(s) in iteration 2
   Refined 12 subinterval(s) in iteration 3
   Refined 4 subinterval(s) in iteration 4
   Refined 2 subinterval(s) in iteration 5
   Refined 2 subinterval(s) in iteration 6
   Refined 2 subinterval(s) in iteration 7
   Refined 2 subinterval(s) in iteration 8
   Refined 2 subinterval(s) in iteration 9
   Refined 2 subinterval(s) in iteration 10
   Refined 2 subinterval(s) in iteration 11
   Refined 2 subinterval(s) in iteration 12
   Refined 2 subinterval(s) in iteration 13
   Refined 2 subinterval(s) in iteration 14
   Refined 2 subinterval(s) in iteration 15
   Refined 2 subinterval(s) in iteration 16
   Refined 2 subinterval(s) in iteration 17
   Refined 0 subinterval(s) in iteration 18
   Final grid has 1 segment(s) and 472 point(s):
      Segment 1 : x range 0.0000 -> 1.0000 (1 -> 472)

Starting search (adiabatic)

Evaluating discriminant
  Time elapsed :     0.037 s

Root Solving
   l    m    n_pg    n_p    n_g       Re(omega)       Im(omega)        chi n_iter
   0    0       1      1      0  0.16449536E+01  0.00000000E+00 0.2737E-15      7

Program received signal SIGFPE: Floating-point exception - erroneous arithmetic operation.

Backtrace for this error:
#0  0x79a68205a76f in ???
#1  0x529fc0 in __gyre_poly_model_MOD_coeff_v_2_
#2  0x543724 in __gyre_detail_MOD_write
#3  0x409586 in process_mode_ad.1
#4  0x41aa1c in __gyre_bracket_search_MOD_bracket_search
#5  0x4071a0 in MAIN__
#6  0x405bb6 in main
[1]    2124786 floating point exception (core dumped)  $GYRE_DIR/bin/gyre gyre.in

This happens for me with at least both the current Git master, and as far back as version 6. Since the writing out of As appears to use V_2 as an intermediate step, including that in the detail files also causes a crash. This doesn't appear to depend on the polytrope index (I have tried 1.5 and 3).

Certain errors do not result in a non-zero exit code

There are some errors that stop GYRE immediately, but do not make GYRE return a non-zero exit code (everything that ends up calling stop). This makes it more difficult to detect whether something has gone wrong when running GYRE in a batch. In my case this was due to multiple GYRE instances access a tar_fit file at the same time (which I believe is fixed by 0d24624), which caused $ABORT and stop 'Program aborted' to be called.

Fix freq_[min,max]_frame

The documentation indicates the availability of freq_min_frame and freq_max_frame parameters, but there is only a single freq_frame parameter. Either fix the code or fix the docs.

Gridding inconsistency with file-based grids

When the spatial grid is read from file using the file and file_format parameters of the &grid namelist group, no checking is made to ensure that the segment boundaries of the model match (or subset) the segment boundaries of the grid. This can cause some unexpected errors (e.g., out-of-bounds interpolations).

unable to compile with -march=native

Hi Rich,

Our group has run into issues where on certain machines running older versions of linux, GYRE is not able to compile unless we either remove the compiler flag -march=native from the standard set of build options in src/build/Make.inc, or add a bunch more options to suppress particular instruction sets (in this case, passing -mno-bmi2 โ€” see e.g. here). If we don't do this, we obtain error messages such as the following:

/tmp/cc902xwd.s:43: Error: no such instruction: 'shlx %rax,8(%rdi),%rax'
/tmp/cc902xwd.s:272: Error: no such instruction: 'shlx %rax,8(%rdi),%rax'

I've seen this happen when attempting to compile gyre_grid.f90. This has happened on the following CPUs (from /proc/cpuinfo) running linux 2.6.32:

  • Intel(R) Xeon(R) CPU E5-2670 v3
  • Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz

This was particularly confusing to debug because these CPUs advertise themselves as supporting the relevant instruction sets (in this case bmi2) in /proc/cpuinfo. I'm pretty sure this is not a bug with GYRE per se, but I'm leaving this here in case 1. this is indicative of some deeper underlying issue, and/or 2. someone else can benefit from this quick fix.

Best regards,
Joel Ong

{M,R,L}_star reported for every mode in summary

I've just noticed that as of GYRE 6.0 and 6.0.1, the global properties of the stellar model M_star, R_star and L_star are printed for every row in the summary. e.g. using

summary_item_list = 'M_star,R_star,L_star,l,n_pg,n_p,n_g,freq'

produces outputs with columns




                        1                         2                         3                         4                         5                         6                         7                         8                         9   ...
                   M_star                    R_star                    L_star                         l                      n_pg                       n_p                       n_g                  Re(freq)                  Im(freq)
  0.1870695448119380E+034   0.9244814222809137E+011   0.5535984490610758E+034                         0                         1                         1                         0   0.1571556553722975E+003   0.0000000000000000E+000
  0.1870695448119380E+034   0.9244814222809137E+011   0.5535984490610758E+034                         0                         2                         2                         0   0.2634269036681596E+003   0.0000000000000000E+000
  0.1870695448119380E+034   0.9244814222809137E+011   0.5535984490610758E+034                         0                         3                         3                         0   0.3554595640873490E+003   0.0000000000000000E+000
...

whereas in previous versions M_star, R_star and L_star appeared once in the header.

I thought this might be an error but the documentation does say that these variables have data type "real(n_j)", so perhaps this is a design choice? If not, I'm happy to set up a pull request to restore the old behaviour.

Floating point exception while searching for l=1 g modes

I am searching for g-modes in a model with a helium burning core and a hydrogen burning shell.

It can do the very low frequency modes (n<<-1000) but once it reaches a radial order of -189 it crashes with the following FPE:

...
At line 2164 of file gyre_wave.f90
Fortran runtime warning: An array temporary was created
   1    0    -191      0    191  0.13474501E+01  0.00000000E+00 0.6408E-11      7
At line 2164 of file gyre_wave.f90
Fortran runtime warning: An array temporary was created
   1    0    -190      0    190  0.13533290E+01  0.00000000E+00 0.6627E-11      7
At line 2164 of file gyre_wave.f90
Fortran runtime warning: An array temporary was created
   1    0    -189      0    189  0.13622276E+01  0.00000000E+00 0.4887E-11      8

Program received signal SIGFPE: Floating-point exception - erroneous arithmetic operation.

Backtrace for this error:
#0  0x7fa89405a4ff in ???
        at /tmp/S/glibc-2.37/signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0
#1  0x6bbf19 in __gyre_r_block_sysmtx_MOD_scale_rows_
        at /afs/mpa/data/earl/gyre/gyre-6.0.1/src/build/gyre_r_block_sysmtx.f90:462
#2  0x6bc973 in __gyre_r_block_sysmtx_MOD_factor
        at /afs/mpa/data/earl/gyre/gyre-6.0.1/src/build/gyre_r_block_sysmtx.f90:339
#3  0x7fba77 in __gyre_r_bvp_MOD_factor
        at /afs/mpa/data/earl/gyre/gyre-6.0.1/src/build/gyre_r_bvp.f90:232
#4  0x568fdc in __gyre_r_discrim_func_MOD_eval_
        at /afs/mpa/data/earl/gyre/gyre-6.0.1/src/build/gyre_r_discrim_func.f90:140
#5  0x646f3d in narrow_brent_
        at /afs/mpa/data/earl/gyre/gyre-6.0.1/src/build/gyre_r_root.f90:369
#6  0x647081 in __gyre_r_root_MOD_narrow_
        at /afs/mpa/data/earl/gyre/gyre-6.0.1/src/build/gyre_r_root.f90:162
#7  0x647271 in __gyre_r_root_MOD_solve_
        at /afs/mpa/data/earl/gyre/gyre-6.0.1/src/build/gyre_r_root.f90:132
#8  0x80362b in __gyre_bracket_search_MOD_bracket_search
        at /afs/mpa/data/earl/gyre/gyre-6.0.1/src/build/gyre_bracket_search.f90:153
#9  0x40a0d3 in gyre
        at /afs/mpa/data/earl/gyre/gyre-6.0.1/src/build/gyre.f90:288
#10  0x40bd4a in main
        at /afs/mpa/data/earl/gyre/gyre-6.0.1/src/build/gyre.f90:54
Floating point exception

Using the GYRE version that is bundled with the latest MESA.

Here is the .GYRE file and the gyre.in file:
gyre-fpe-hecore-gmodes.zip

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.