Wave Equations
One-Way Wave Solvers
- Features:
- Upwind, central, and third-order spatial discretizations,
to be combined with forward (theta=0), backward (theta=1),
and Crank-Nicolson (theta=0.5) time-discretizations.
- Lax-Friedrichs and LeapFrog schemes.
- The first-, second-, and third-order ENO schemes
(ENO1,DNO2, ENO3) and a second-order Lax-Friedrichs scheme.
- The diffusion coefficient (epsilon) is run-time adjustable,
along with the wave velocity (vel).
- Language: C++, C, and F77
- Source code & Documentation:
Wave1D.CF.tar
- Note: It fits well with an early-stage project
for students in Numerical PDE classes.
Acoustic Waves in 2D
- Features:
- Equation: Time-domain Acoustics with general velocities.
- Domain: Rectangle
- Mesh: Uniform
- Second-order in both temporal and spatial directions.
- Explicit and Explicit.
- Language: C++, C, and F77
- Source code & Documentation:
Acoustic2D.CF.tar
- Note: It is from a joint work with Dr. Jim Douglas, Jr.,
Purdue University, and Hyeona Lim, Michigan State University.
LOD: Microscale Heat Transfer in 2D
- Features:
- Equation: The microscale heat wave equation
- Domain: Rectangle
- Mesh: Uniform
- Discretizer: The Crank-Nicolson and the central FD.
- The elliptic solver: LOD
- Language: C++, C, and F77
- Source code & Documentation:
Heat_Micro.CF.tar
[Top | Bottom]
CGNR for Helmholtz Wave Equation in 2D
- Features:
- Equation: The Helmholtz wave equation in 2D of general,
large wave numbers
- Domain: Rectangle
- Mesh: Uniform
- Discretizer: 9-point compact scheme
- Language: C++, C, and F77
- Source code & Documentation:
CGNR_Helm.CF.tar
[Top | Bottom]
MultiGrid method for Helmholtz Equation in 2D
- Features:
- Equation: The Helmholtz wave equation in 2D of general,
large wave numbers
- Domain: Rectangle
- Mesh: Uniform
- Discretizer: the central finite difference
- Methods: Multigrid and domain decomposition methods
- Language: C++, C, and F77
- Source code & Documentation:
MG_Helm2D_01.CF.tar and
MG_Helm_Comp.ps (to appear in SIAM J. Sci. Comput.)
Also see: S. Kim, Domain decomposition iterative procedures
for solving scalar waves in the frequency domain,
Numer. Math. 79, 1998, pp.231-259.
[Top | Bottom]
Helmholtz Wave Solver in 3D
- Features:
- Equation: The Helmholtz wave equation in 3D of general,
large wave numbers
- Domain: Rectangle
- Mesh: Uniform
- Discretizer: the central finite difference
- Methods: CGNR (Conjugate Gradient applied to the normal equation)
- Language: F77
- Source code & Documentation:
3D_Helm_CGNR.F.tar
Prestack Kirchhoff Depth Migration in 2D and 3D
- Features:
- Operation: Reflector inversion in 2D and 3D.
- Language: Mainly F77, and C for IO routines
- Note: The 2D code was implemented by Prof. Bill Symes,
Rice University, and I implemented the 3D code as an extension
of the 2D code.
- Source code & Documentation:
Kirch_Mig.F.tar
[Top | Bottom]