SYNOPSIS

PERL PROGRAM NAME:

AUTHOR: Juan Lorenzo (Perl module only)

DATE:

DESCRIPTION:

Version:

USE

NOTES

Examples

SYNOPSIS

SEISMIC UNIX NOTES SUFDMOD2_PML - Finite-Difference MODeling (2nd order) for acoustic wave

   equation with PML absorbing boundary conditions.			

Caveat: experimental PML absorbing boundary condition version,	

may be buggy!

 sufdmod2_pml <vfile >wfile nx= nz= tmax= xs= zs= [optional parameters]



 Required Parameters:							

 <vfile		file containing velocity[nx][nz]		

 >wfile		file containing waves[nx][nz] for time steps	

 nx=			number of x samples (2nd dimension)		

 nz=			number of z samples (1st dimension)		

 xs=			x coordinates of source				

 zs=			z coordinates of source				

 tmax=			maximum time					



 Optional Parameters:							

 nt=1+tmax/dt		number of time samples (dt determined for stability)

 mt=1			number of time steps (dt) per output time step	



 dx=1.0		x sampling interval				

 fx=0.0		first x sample					

 dz=1.0		z sampling interval				

 fz=0.0		first z sample					



 fmax = vmin/(10.0*h)	maximum frequency in source wavelet		

 fpeak=0.5*fmax	peak frequency in ricker wavelet		



 dfile=		input file containing density[nx][nz]		

 vsx=			x coordinate of vertical line of seismograms	

 hsz=			z coordinate of horizontal line of seismograms	

 vsfile=		output file for vertical line of seismograms[nz][nt]

 vsfile_out=

 hsfile=		output file for horizontal line of seismograms[nx][nt]

 hsfile_out=

 ssfile=		output file for source point seismograms[nt]	

 source_seismogram_out=

 verbose=0		=1 for diagnostic messages, =2 for more		



 abs=1,1,1,1		Absorbing boundary conditions on top,left,bottom,right

 			sides of the model. 				

 		=0,1,1,1 for free surface condition on the top		



 ...PML parameters....                                                 

 pml_max=1000.0        PML absorption parameter                        

 pml_thick=0           half-thickness of pml layer (0 = do not use PML)



 Notes:								

 This program uses the traditional explicit second order differencing	

 method. 								



 Two different absorbing boundary condition schemes are available. The 

 first is a traditional absorbing boundary condition scheme created by 

 Hale, 1990. The second is based on the perfectly matched layer (PML)	

 method of Berenger, 1995.						







 Authors:  CWP:Dave Hale

           CWP:modified for SU by John Stockwell, 1993.

           CWP:added frequency specification of wavelet: Craig Artley, 1993

           TAMU:added PML absorbing boundary condition: 

               Michael Holzrichter, 1998

           CWP/WesternGeco:corrected PML code to handle density variations:

               Greg Wimpey, 2006



 References: (Hale's absobing boundary conditions)

 Clayton, R. W., and Engquist, B., 1977, Absorbing boundary conditions

 for acoustic and elastic wave equations, Bull. Seism. Soc. Am., 6,

	1529-1540. 



 Clayton, R. W., and Engquist, B., 1980, Absorbing boundary conditions

 for wave equation migration, Geophysics, 45, 895-904.



 Hale, D.,  1990, Adaptive absorbing boundaries for finite-difference

 modeling of the wave equation migration, unpublished report from the

 Center for Wave Phenomena, Colorado School of Mines.



 Richtmyer, R. D., and Morton, K. W., 1967, Difference methods for

 initial-value problems, John Wiley & Sons, Inc, New York.



 Thomee, V., 1962, A stable difference scheme for the mixed boundary problem

 for a hyperbolic, first-order system in two dimensions, J. Soc. Indust.

 Appl. Math., 10, 229-245.



 Toldi, J. L., and Hale, D., 1982, Data-dependent absorbing side boundaries,

 Stanford Exploration Project Report SEP-30, 111-121.



 References: (PML boundary conditions)

 Jean-Pierre Berenger, ``A Perfectly Matched Layer for the Absorption of

 Electromagnetic Waves,''  Journal of Computational Physics, vol. 114,

 pp. 185-200.



 Hastings, Schneider, and Broschat, ``Application of the perfectly

 matched layer (PML) absorbing boundary condition to elastic wave

 propogation,''  Journal of the Accoustical Society of America,

 November, 1996.



 Allen Taflove, ``Electromagnetic Modeling:  Finite Difference Time

 Domain Methods'', Baltimore, Maryland: Johns Hopkins University Press,

 1995, chap. 7, pp. 181-195.





 Trace header fields set: ns, delrt, tracl, tracr, offset, d1, d2,

                          sdepth, trid

User's notes (Juan Lorenzo) untested

CHANGES and their DATES

Import packages

instantiation of packages

Encapsulated hash of private variables

sub Step

collects switches and assembles bash instructions by adding the program name

sub note

collects switches and assembles bash instructions by adding the program name

sub clear

sub abs

sub dfile

sub dx

sub dz

sub fmax

sub fpeak

sub fx

sub fz

sub hsfile

sub hsz

sub mt

sub nt

sub nx

sub nz

sub pml_max

sub pml_thick

sub ssfile

sub tmax

sub verbose

sub vsfile

sub vsx

sub xs

sub zs

sub get_max_index

max index = number of input variables -1