### Computation of theoretical dispersion curves

Posted:

**Wed Sep 26, 2007 11:12 pm**The core algorithms used for the computation of dispersion curves are located in dynamic library

This code can be used to compute dispersion curves:
Recently, an interface for Fortran is also available.

**qtbwave**. The structure of these algorithms is described in detail in my PhD available at http://marc.geopsy.org/publications.html. The API for computing dispersion curves is rather simple. An example can be found in**gpdc**(http://www.geopsy.org/documentation/gpdc).This code can be used to compute dispersion curves:

Code: Select all

```
#include "qtblayeredmodel.h"
#include "qtbrayleigh.h"
#include "qtbdispersion.h"
...
QtbLayeredModel m
// Set parameters of the layered model: Vp, Vs and Rho
...
// Sampling in angular frequency (2 pi frequency)
// x items control the sample of the dispersion curve
QVector<double> x;
// Creates a Rayleigh proxy for computing Rayleigh
// dispersion curves (another exists for Love).
// This object can compute the propagator matrix for
// Rayleigh wave across the medium for any couple
// (frequency,slowness).
QtbRayleigh modelRayleigh( m );
// Creates an object in charge of following dispersion modes
QtbDispersion dispersion (nRayleigh, &x);
// Effectively computes the dispersion curve using the Rayleigh
// proxy. The '0' is to switch off the ellipticity computation.
dispersion.calculate( modelRayleigh, 0 );
```