Computation of theoretical dispersion curves

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

Computation of theoretical dispersion curves

Postby admin » Wed Sep 26, 2007 11:12 pm

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 The API for computing dispersion curves is rather simple. An example can be found in 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.

Return to “Developer's corner”

Who is online

Users browsing this forum: No registered users and 1 guest