Source: https://jean-virieux.obs.ujf-grenoble.fr/IMG/pdf/TLE_2009_VIRIEUX.pdf