The SPECFEM3D external project page gives the following description:
"SPECFEM3D version 2.0, named 'Sesame', uses the continuous Galerkin spectral-element method, which can be seen as a particular case of the discontinuous Galerkin technique with optimized efficiency owing to its tensorized basis functions, to simulate forward and adjoint coupled acoustic-(an)elastic seismic wave propagation on arbitrary unstructured hexahedral meshes.
This major new release benefits from advances in hexahedral meshing, load balancing and code optimizations. Meshing may be accomplished using a mesh generation tool kit such as CUBIT, GiD or Gmsh, and load balancing is facilitated by graph partitioning based on the SCOTCH library, which is included in the package. The previous internal layer cake mesher has been extended to allow greater flexibility and also continues to be available. Topography, bathymetry and Moho undulations are readily included in a mesh, and physical dispersion and attenuation associated with anelasticity are accounted for using a series of standard linear solids. Coupling between fluid and solid regions is accommodated using domain decomposition, thereby facilitating off-shore simulations. Finite-frequency Fréchet derivatives for earthquake and seismic interferometric data are calculated based on adjoint methods in both fluid and solid domains, thereby facilitating 'adjoint tomography' with earthquakes and seismic noise."