SUEA2DF - SU version of (an)elastic anisotropic 2D finite difference
forward modeling
suea2df > outfile nxl= xl= zl= rhol= vpl= vsl= [optional parameters]
Required Parameters:
nxl= number of locations to define model
xl= model locations in horizontal direction
zl= model depths
rhol= model rho at xl,zl
vpl= model vp at xl,zl
vsl= model vs at xl,zl
Optional Parameters:
dt=0.001 time sampling interval (s)
ft=0.0 first time (s)
lt=1.0 last time (s)
dx=10.0 spatial sampling intrval (m) x-coor
dz=dx spatial sampling intrval (m) z-coor
xmin=-1000 first x coor (m)
xmax=1000 last x coor (m)
zmin=0 top z coor (m)
zmax=1000 bottom z coor (m)
sx=0,sz=500 source location (m)
stype='p' source type
p: P-wave, v: velocity, pw: P plane-wave
sang=0 for stype='pw': plane wave angle
wtype='dg' wave type
dg: Gaussian derivative
ga: Gaussian
ri: Ricker
sp: spike, sp2: double spike
ts=0.05 source length (s)
favg=50 source average frequency
ql= model q at xl,zl
qsw=0 switch to include attenuation =1 - include
epl= anisotropy ep at xl,zl
dsl= anisotropy ds at xl,zl
anl= anisotropy angle at xl,zl
asw=0 switch to include anisotropy =1 - include
msw=0 model type (=0 - field; =1 - layer)
mode=0 =0 output particle velocity, =1 output stresses
(snapshots only)
sofile= name of source file
efile= name of file to output model to if desired
snfile= name of file containing for snapshots
snaptime= times of snapshots i.e. snaptime=0.1,0.2,0.3
vsx= x coordinate of vertical line of seismograms
hsz= z coordinate of horizontal line of seismograms
vsfile='vsp.su' output file for vertical line of seismograms[nz][nt]
hsfile='ss.su' output file for horizontal line of seismograms[nx][nt]
bc=10,10,10,10 Top,left,bottom,right boundary condition
=0 none
=1 symmetry
=2 free surface (top only)
>2 absorbing (value indicates width of absorbing
layer
bc_a=0.95; bc initial taper value for absorbing boundary
bc_r=0.; bc exponential factor for absorbing boundary
variables are scaled by bc_a*pow(i,-bc_r)
tsw=0 switch to use shear stress only in non-fluid
media - may help reduce dispersion tsw=1. If
tsw=0 then standard calculation
verbose=0 =1 to print progress on screen
The outfile contains information generated by the input parameters,
such as memory allocation, stability, etc. If your input file does
not work, check this file first.
The zl,vpl,vsl,rhol specify elastic constants as function of depth.
Linear interpolation and constant extrapolation is used to determine
constants at depths not specified. Values specified in depth
must increase monotonically.
If qsw=1 a ql array must be specified
If asw=1 epl,dsl and anl arrays must be specified
epl and dsl are epsilon and delstar in Thomson (1986, Geophys.)
anl is the angle the anisotropy makes with the horizontal
Output files (always generated)
hsfile
vsfile
hsfile.chd - header for hsfile
vsfile.chd - header for vsfile
hsfile.mod - model file
Output files (if requested)
sofile - ascii source file
efile - binary elastic constants file
snfile - su format snapshots file
Credits: UU GEOPHY Chris Juhlin 15 May 1999
Copyright (c) Uppsala University, 1998.
All rights reserved.
Parts of program use Seismic Unix Package - CSM
Changes - C. Juhlin
1. Fixed upgrading of stresses. There was an error in the coding for
the Tzz term, e15 was being used instead of e35. This only caused
probelms for dipping anisotropic layers
2. Added some header information for output of snapshots.
3. 2001-01-30: Added option to set absorbing bc constants bc_a and bc_r
4. 2001-02-23: Corrected bug in outputting model boundaries to standard
output in
routine get_econst
5. 2001-04-26: Added option for updating velocities to only use
shear stress if material is non-fluid, this appears to reduce dispersion at
near grazing angles for fluid-solid boundary. Set tsw=1 to invoke
6. 2001-05-14: Changed loop in free-surface boundary condition for velocties
Thanks goes to Mike Holzrichter for pointing out this problem and the wrong
scaling factor in the updating.
7. 2001-05-16: Changed set_layers function to avoid negative indexing.
Thanks goes to Mike Holzrichter for pointing out this problem
8. 2001-05-17: Modified make_seis to take into account VSP geometry
correctly and not store unnecessary data.
9. 2001-08-21: Fixed set_layers so mode fills properly in depth. Earlier
versions were accessing incorrect array locations at last defined depth.
10. 2003-04-21: Fixed boundary conditions.
11. 2003-05-02: Extended the model area by half the grid spacing on the RHS.
This makes the model area symmetric allowing a plane wave source to be
introduced into the model (stype=pw). The w, txx and tzz grids contain now
one more column than the u and txz grids.
12. 2003-05-02: Added routines to allow plane waves to be introduced at a
specified angle (sang) into the model with functions add_pw_source_V and
add_pw_source_S.
Alogrithm based on Juhlin (1995, Geophys. Prosp.)
and Levander (1988, Geophysics)
Attenuation included as in Graves (1996, BSSA)