Computation of theoretical dispersion curves

Place here all posts related to implementation and source codes. This forum is rather technical and reserved for programmers.
Post Reply
admin
Site Admin
Posts: 746
Joined: Mon Aug 13, 2007 11:48 am
Location: ISTerre
Contact:

Computation of theoretical dispersion curves

Post by admin »

The core algorithms used for the computation of dispersion curves are located in dynamic library 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 );
Recently, an interface for Fortran is also available.
Post Reply