*Pywave is a open-source Python package for solving wave equations using various methods for educational purposes
Chen, Y., O.M. Saad, M. Bai, X. Liu, and S. Fomel, 2021, A compact program for 3D passive seismic source-location imaging, Seismological Research Letters, 92, 3187–3201.
Chen et al., 202X, Pywave: a Python package for stuying wave equations, TBD
BibTeX:
@Article{chen2021srl,
author={Yangkang Chen and Omar M. Saad and Min Bai and Xingye Liu and Sergey Fomel},
title = {A compact program for 3{D} passive seismic source-location imaging},
journal={Seismological Research Letters},
year=2021,
volume=92,
issue=5,
number=5,
pages={3187–3201},
doi={10.1785/0220210050},
}
@article{npre,
title={Pywave: a Python package for stuying wave equations},
author={Yangkang Chen and co-authors},
journal={TBD},
volume={TBD},
number={TBD},
issue={3},
pages={TBD},
doi={TBD},
year={TBD}
}
The pywave developing team, 2021-present
MIT License
Using the latest version (Suggested)
git clone https://github.com/chenyk1990/pywave
cd pywave
pip install -v -e .
or using Pypi (not available yet)
pip install pywave
or (recommended, because we update very fast)
pip install git+https://github.com/chenyk1990/pywave
The "demo" directory contains all runable scripts to demonstrate different applications of pywave.
- scipy
- numpy
- matplotlib
xxx.py -> description
The development team welcomes voluntary contributions from any open-source enthusiast.
If you want to make contribution to this project, feel free to contact the development team.
Regarding any questions, bugs, developments, collaborations, please contact
Yangkang Chen
[email protected]
The gallery figures of the pywave package can be found at https://github.com/chenyk1990/gallery/tree/main/pywave Each figure in the gallery directory corresponds to a DEMO script in the "demo" directory with the exactly the same file name.
These gallery figures are also presented below.
Generated by demos/test_first
Generated by demos/test_second_wfd2ds
Chen, Y., O.M. Saad, M. Bai, X. Liu, and S. Fomel, 2021, A compact program for 3D passive seismic source-location imaging, Seismological Research Letters, 92, 3187–3201.
Grouped data: Generated by demos/test_third_tri
Time-reversed wavefields: Generated by demos/test_third_tri
Source-location image (three locations): Generated by demos/test_third_tri
Generated by demos/test_mod2d
Generated by demos/test_mod2d_tri
Grouped data: Generated by demos/test_mod2d_tri
Time-reversed wavefields: Generated by demos/test_mod2d_tri
Source-location image (two locations in one image): Generated by demos/test_mod2d_tri
Generated by demos/test_mod2d_active
Below is an example for comparing the pseudo-spectral (PS) method and finite-difference (FD) method based on the same active-source experiment (as above)
Generated by demos/test_mod2d_active_psVSfd
The first is a data trace comparison, showing the stronger dispersion of FD
The second is a wavefield trace comparison, showing the stronger dispersion of FD
Below is an example for comparing the pseudo-spectral (PS) method and finite-difference (FD) method based on the same passive-source experiment (as the previous 2D one)
Generated by demos/test_mod2d_tri_psVSfd
Here is a masked data comparison (with a better focus), showing the stronger dispersion of FD
Below is an example of full waveform inversion of passive seismic data (the sources are indicated on the top velocity model)
Generated by demos/test_pfwi_vel2d
Below is an example of generating shot gathers for full waveform inversion of active-source seismic data
Generated by demos/test_fwi_mod2d
Generated by demos/test_fwi_vel2d
Generated by demos/test_fwi_vel2d_niter100.py
Below is the same example as above, with a comparison of data fitting between initial model and FWI inverted model
Generated by demos/test_fwi_vel2d_niter100.py