paudetseis / PyRaysum

Teleseismic body wave modeling through stacks of (dipping/anisotropic) layers
https://paudetseis.github.io/PyRaysum/
MIT License
41 stars 15 forks source link

run_frs(): segmentation fault / infinite runtime / ERROR in evec_check #7

Closed wasjabloch closed 2 years ago

wasjabloch commented 2 years ago

For certain ray geometries, when the subsurface model contains a layer where the isotropy flag is off (flag=0), fraysum runs forever, returns a ERROR in evec_check or runs into a segmentation fault.

Download: ERROR_evec_mod.txt ERROR_evec_geom.txt segfault_mod.txt

then execute:

# requires future branch
from pyraysum import prs

mod = prs.read_model('ERROR_evec_mod.txt')
geom = prs.read_geometry('ERROR_evec_geom.txt')

# runs forever
prs.run_frs(mod, geom)

mod = prs.read_model('segfault_mod.txt')

# causes ERROR in evec_check
prs.run_frs(mod, geom, mults=1)

# causes segmentation fault
prs.run_frs(mod, geom)