SYNOPSIS

PERL PROGRAM NAME:

AUTHOR: Juan Lorenzo (Perl module only)

DATE:

DESCRIPTION:

Version:

USE

NOTES

Examples

SYNOPSIS

SEISMIC UNIX NOTES SUREMAC2D - Acoustic 2D Fourier method modeling with high accuracy

            Rapid Expansion Method (REM) time integration              



suremac2d [parameters]                                                 



Required parameters:                                                   



opflag=     0: variable density wave equation                          

            1: constant density wave equation                          

            2: non-reflecting wave equation                            



nx=         number of grid points in horizontal direction              

nz=         number of grid points in vertical direction                

nt=         number of time samples                                     

dx=         spatial increment in horizontal direction                  

dz=         spatial increment in vertical direction                    

dt=         time sample interval in seconds                            

isx=        grid point # of horizontal source positions                

isz=        grid point # of vertical source positions                  



Optional parameters:                                                   

fx=0.0      first horizontal coordinate                                

fz=0.0      first vertical coordinate                                  

irx=        horizontal grid point # of vertical receiver lines         

irz=        vertical grid point # of horizontal receiver lines         

w=0.1       width of spatial source distribution (see notes)           

sflag=2     source time function                                       

            0: user supplied source function                           

            1: impulse (spike at t=0)                                  

            2: Ricker wavelet                                          

fmax=       maximum frequency of Ricker (default) wavelet              

amps=1.0    amplitudes of sources                                      

prec=0      1: precompute Bessel coefficients b_k (see notes)          

            2: use precomputed Bessel coefficients b_k                 

fsflag=0    1: perform run with free surface b.c.                      

vmaxu=      user-defined maximum velocity                              

dtsnap=0.0  time interval in seconds of wave field snapshots           

iabso=1     apply absorbing boundary conditions (0: none)              

abso=0.1    damping parameter for absorbing boundaries                 

nbwx=20     horizontal width of absorbing boundary                     

nbwz=20     vertical width of absorbing boundary                       

verbose=0   1: show parameters used                                    

            2: print maximum amplitude at every expansion term         



velfile=vel          velocity filename                                 

densfile=dens        density filename                                  

sname=wavelet.su     user supplied source time function filename       

sepxname=sectx.su    x-direction pressure sections filename            

sepzname=sectz.su    z-direction pressure sections filename            

snpname=snap.su      pressure snapshot filename                        

jpfile=stderr        diagnostic output                                 

m is bound

Notes:                                                                 

 0. The combination of the Fourier method with REM time integration    

    allows the computation of synthetic seismograms which are free     

    of numerical grid dispersion. REM has no restriction on the        

    time step size dt. The Fourier method requires at least two        

    grid points per shortest wavelength.                               

 1. nx and nz must be valid numbers for pfafft transform lengths.      

    nx and nz must be odd numbers (unless opflag=1). For valid         

    numbers see e.g. numbers in structure 'nctab' in source file       

    $CWPROOT/src/cwp/lib/pfafft.c.                                     

 2. Velocities (and densities) are stored as plain C style files       

    of floats where the fast dimension is along the z-direction.       

 3. Units must be consistent, e.g. m, s and m/s.                       

 4. A 20 grid points wide border at the sides and the bottom of        

    the modeling grid is used for sponge boundary conditions           

    (default: iabso=1).                                                

    Source and receiver lines should be placed some (e.g. 10) grid     

    points away from the absorbing boundaries in order to reduce       

    reflections due to obliquely incident wavefronts.                  

 5. Dominant frequency is about fmax/2 (sflag=2), absolute maximum     

    is delayed by 3/fmax from beginning of wavelet.                    

 6. If opflag!=1 the source should be not a spike in space; the        

    parameter w determines at which distance (in grid points) from     

    the source's center the Gaussian weight decays to 10 percent       

    of its maximum. w=2 may be a reasonable choice; however, the       

    waveform will be distorted.                                        

 7. Horizontal and vertical receiver line sections are written to      

    separate files. Each file can hold more than one line.             

 8. Parameter vmaxu may be enlarged if the modeling run becomes        

    unstable. This happens if the largest eigenvalue of the modeling   

    operator L is larger than estimated from the largest velocity.     

    In particular if using the variable density acoustic wave          

    equation the eigenvalues depend also on the density and it is      

    impossible to estimated the largest eigenvalue analytically.       

 9. Bessel coefficients can be precomputed (prec=1) and stored on      

    disk to save CPU time when several shots need to be run.           

    In this case computation of Bessel coefficients can be skipped     

    and read from disk file for reuse (prec=2).                        

    For reuse of Bessel coefficients the user may need to define       

    the overall maximum velocity (vmaxu).                              

10. If snapshots are not required, a spike source (sflag=1) may be     

    applied and the resulting impulse response seismograms can be      

    convolved later with a desired wavelet.                            

11. The free surface (fsflag=1) does not coincide with the first       

    vertical grid index (0). It appears to be half a grid spacing      

    above that position.                                               

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 abso

sub amps

sub densfile

sub dt

sub dtsnap

sub dx

sub dz

sub fmax

sub fsflag

sub fx

sub fz

sub iabso

sub irx

sub irz

sub isx

sub isz

sub jpfile

sub nbwx

sub nbwz

sub nt

sub nx

sub nz

sub opflag

sub prec

sub sepxname

sub sepzname

sub sflag

sub sname

sub snpname

sub t

sub velfile

sub verbose

sub vmaxu

sub w

sub get_max_index

max index = number of input variables -1