IWAVE defines a framework for time-stepping simulation based on regular grids. While any sort of time-dependent problem might be attacked with IWAVE tools, the target application is wave simulation by explicit finite difference or finite element methods. The guiding principle of the IWAVE project is to abstract from all simulators of the type just described the common attributes, including job control, memory allocation, and i/o, and provide code which realizes these common computations without requiring the user to redefine them. In the end, only six main functions are required, each of which defines a common interface to a model-defined computation. Generally, the user will also need to supply model-dependent functions to which the six main functions will delegate, but that is merely a matter of convenience and good code organization - in principle, six functions plus a driver are all that is required.

Obtaining IWAVE:

See the TRIP software page for current download and installation instructions and release notes.

Generic Subpackages:

Model Subpackages:


struct paper, also 08/09/10 annual report papers


The initial design of IWAVE, including basic data structures and computed domain decomposition software, is due to Igor Terentyev [REF: Igor's MA thesis]. He also created the first acoustic staggered grid application within IWAVE, used to QC the Phase I SEAM acoustic model data (ref to Fehler). Tetyana Vdovina added and tested the PML implementation for the acoustic staggered grid code. William Symes, Dong Sun, Xin Wang, Lei Fu, and Yin Huang have all contributed to the development of IWAVE.

Maintained by William W. Symes
Photo courtesy Ivy Gonzalez
Last modified: Wed Dec 3 11:34:52 PST 2014