lamb - BSU program synthetic data computation, solution to Lamb’s Problem: original by Pekeris (1955), then Mooney (1974)
lamb [ -h | xmin | dx | np | tmax | fsamin | Vs | den | itype | sfrq | sdamp | gfrq | gdamp | pol | stab ]
Basic Seismic Utilities (BSU) computes the solution to Lamb’s problem, as presented in Mooney (1974). Mooney’s paper describes an implementation of earlier work by Pekeris (1955). This code differs somewhat from Mooney in the type of wavelet (scalar source moment) applied to the solution. Rather than use a zero phase wavelet, a minimum phase wavelet is applied to the solution. Further, numerical derivatives via a Bilinear transform permit computation of particle velocity (typical of "velocity" geophones). Both the source scalar moment and the geophone are represented by single degree of freedom oscillators with a damping term. Computed vertical and horizontal motion are output as BSEGY data sets. This code is limited to the case of Vp/Vs=sqrt(3). Those seeking adventure may choose to modify this code for the more general case (see Mooney, 1974 for details in the appendices). Lamb’s problem is the solution for the wave disturbance that would be recorded on an elastic half-space for a vertical impact blow from a point source. The elliptical integrals needed for the horizontal motion are computed by GSL code (GNU Scientific Library). You may either install the entire GSL libraries (and link them), or you may use the relevant codes which have been extracted for just this program (a group of source *.c and *.h include files which are packaged with BSU). This code is 100% GNU (Numerical Recipies codes have been removed). C-Language Version.
Options
-h |
Online help giving details on command line arguments | ||
xmin |
Minimum receiver offset on surface of half-space. This can NOT be zero. | ||
dx |
The spacing between adjacent geophones. Again, xmin+j*dx [j=0,1,2,...np] can NOT be zero. | ||
np |
Number of geophone stations. | ||
tmax |
Maximum time for seismic traces. | ||
fsamin |
Sample interval in seconds. | ||
Vs |
Shear velocity in m/s. [Vp=Vs*sqrt(3)] ONLY | ||
den |
Mass density of medium (kg/m^3) | ||
itype |
Switch to select type of output |
1= ground displacement, step function source
2= ground particle velocity, step function source (or displacement for impulse source).
3= ground displacement, source wavelet (damped resonator)
4= ground particle velocity, source wavelet (damped resonator)
5= geophone element displacement, source wavelet.
6= geophone element particle velocity (voltage for velocity phone), source wavelet).
7= source wavelet displacement at zero offset from the source.
8= source wavelet, particle velocity at zero offset from the source.
9= geophone element displacement at zero offset from source.
10= geophone element particle velocity at zero offset from the source.
sfrq |
Natural frequency of source resonator | ||
sdamp |
Damping of the source resonator (expressed as fraction of critical damping, ie. 1.0=critical) | ||
gfrq |
Natural frequency of geophone. | ||
gdamp |
Damping of the geophone (expressed as fraction of critical damping, ie. 1.0=critical) | ||
pol |
Polarity convention |
-1= SEG Sign Convention (up motion=negative=trough)
0= TEST MODE, display normalized solution, NO 1/Range amplitude decay (these are the G (vertical) and R (horizontal) functions in the papers).
+1= REVERSE SEG (up motion=positive=peak)
stab |
Stability factor. Can be zero, but recommended set at 0.16 for itype=8. This moves the pole off the unit circle in the Z-plane for the filtered options. Most itype’s have enough low pass to make this not needed, but itype=8 will probably benefit since the derivative will blow up nyquist frequencies if present. See function deriv.c inline with the main program. |
NOTE:
If invoked with no options, will prompt user for input
parameters.
EXAMPLE:
lamb 1. 1. 24 .5 .0002 200. 1600. 6 50. .7 10. .7 -1 0.
Vertical and horizontal geophone element particle velocities are computed (itype=6). These are proportional to the voltages which would be recorded from a velocity geophone. The near offset is 1 meter, the phone spacing is also 1 meter. A maximum recording time of 0.5 seconds will be made with sample interval of 0.2 msec (.0002 seconds). The shear wave velocity of the medium is 200 m/s (and Vp=sqrt(3)*Vs=346 m/s, ONLY available option with current code). The mass density of the medium is 1600 kg/m^3. The source wavelet has a natural frequency of 50Hz, damping 0.7 of critical. The geophone element has a natural frequency of 10 Hz, damping 0.7 of critical. The sign convention follows SEG, no stability factor is applied since itype not 8.
lambv.seg
Vertical motion.
lambh.seg
Horizontal motion.
standard output
produces a progress bar
lamb.lst
Echo check of input parameters in listing file
bhelp(1), bnfd(1),
Mooney, H., 1974, "Some numerical solutions for Lamb’s problem", Bull.Seis.Soc.Am., Vol 64 No. 2, pp 472-491.
Pekeris, C, 1955, "The seismic surface pulse", Proc. Nat. Acad. Sci., Vol 41, p469-480. [equations (61) and (62) for elliptical integral definitions]
GNU Scientific Library (GSL): The current stable version of GSL is always available from ftp.gnu.org in the directory /pub/gnu. A list of mirror sites can be found at http://www.gnu.org/order/ftp.html. The GSL project homepage is http://www.gnu.org/software/gsl/. The development site is http://sources.redhat.com/gsl/.
no known bugs
Copyright © 2024 by Paul Michaels
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
P. Michaels, PE. <[email protected]>
GSL: ellint.c function, GNU Copyright © 1996, 1997, 1998, 1999, 2000 Gerard Jungman