# Gallery of examples


_Outputs produced by `displayModel` class using models built with` basisModel` class and results of `WaveTracker` class_

<img src="images/simple_raypaths.jpg" alt="raypaths" width="400"/> <img src="images/simple_wavefronts.jpg" alt="wavefronts" width="370"/>

Simple 2D velocity model with raypaths and wavefronts. For notebook see
[the borehole example](../examples/FMM_demo_borehole.ipynb)

<img src="images/borehole2_raypaths.jpg" alt="100 raypaths" width="400"/> <img src="images/borehole2_wavefronts.jpg" alt="wavefronts for a single source" width="355"/>

Cross borehole model with 10 sources and receivers. For notebook see
[the borehole example](../examples/FMM_demo_borehole.ipynb)


<img src="images/surfacewave_raypaths.jpg" alt="Distorted raypaths" width="480"/><img src="images/surfacewave_rays_wavefronts.jpg" alt="wavefronts for a single source" width="460"/>

Surface wave model with severely distorted raypaths.
For notebook see [the surface wave example](../examples/FMM_demo%20Surface%20Wave.ipynb)


<img src="images/checkerboard_raypaths.jpg" alt="Distorted raypaths" width="480"/><img src="images/checkerboard_rays_wavefronts.jpg" alt="wavefronts for a single source" width="445"/>

Checkerboard model with severely distorted raypaths.
For notebook see [the checkerboard example](../examples/FMM_demo%20checkerboard.ipynb)


<img src="images/pyfm2d_parallel_M1_Ultra.png" alt="wavefronts for a single source" width="445"/>

Timing experiment using multi-cpu feature
For notebook see [the parallel example](../examples/FMM_demo_borehole_parallel.ipynb)
