Skip to content

Latest commit

 

History

History
268 lines (202 loc) · 10.6 KB

README.md

File metadata and controls

268 lines (202 loc) · 10.6 KB

Pywave

Description

*Pywave is a open-source Python package for solving wave equations using various methods for educational purposes

Reference

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}
}

Copyright

The pywave developing team, 2021-present

License

MIT License 

Install

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

Examples

The "demo" directory contains all runable scripts to demonstrate different applications of pywave. 

Dependence Packages

  • scipy
  • numpy
  • matplotlib

Modules

xxx.py  -> description

Development

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. 

Contact

Regarding any questions, bugs, developments, collaborations, please contact  
Yangkang Chen
[email protected]

Gallery

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.

Below are several examples

Generated by demos/test_first

comp comp

Generated by demos/test_second_wfd2ds

comp

Figures below are the reproduced results (using "Pywave") of the synthetic example presented in

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

comp

comp

comp

comp

Time-reversed wavefields: Generated by demos/test_third_tri

comp

comp

comp

comp

Source-location image (three locations): Generated by demos/test_third_tri

comp

comp

comp

Below are several 2D examples in case 3D computation is too expensive

Generated by demos/test_mod2d

comp comp

Generated by demos/test_mod2d_tri

comp

Below is an example for 2D TRI imaging

Grouped data: Generated by demos/test_mod2d_tri

comp

comp

comp

comp

Time-reversed wavefields: Generated by demos/test_mod2d_tri

comp

comp

comp

comp

Source-location image (two locations in one image): Generated by demos/test_mod2d_tri

comp

Below is an example for active-source simulation

Generated by demos/test_mod2d_active

comp comp

comp

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

comp

The second is a wavefield trace comparison, showing the stronger dispersion of FD

comp

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

comp

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

comp

Below is an example of generating shot gathers for full waveform inversion of active-source seismic data

Generated by demos/test_fwi_mod2d

comp

Below is an example of full waveform inversion of active-source seismic data

Generated by demos/test_fwi_vel2d

comp

Below is the same example as above but with more iterations

Generated by demos/test_fwi_vel2d_niter100.py

comp

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

comp