Readme for Trielas Demos

Run the following shell scripts by typing their names in order
listed in on the commandline of a Unix terminal window.

DisplModel   Creates and desplays elastic models
CheckModel   Check values of elastic parameters at user specified points
              in model.
Reflect      Generate ray and reflection amplitude plots for elastic models
Elasyn       Generate ray and reflection amplitude plots for elastic models
             and Synthetic seismograms.
Waves        Generate wavefront chart of 
Clean.sh     clean up after demo

	----------ELAMOD -----------------

This is a 2D raytracing program for transversely isotropic
media with in-plane rotated axis of symmetry. I wrote this
code in 1994 to get started in anisotropy. It is a helpful
tool to display rays/wavefronts in anisotropic media to
visualize many wave phenomena that are unknown in the 
isotropic world. Most of the raydata such as traveltimes,
polarizations, etc can be plotted and a simple seismogram
calculator such as elasyn.c can be used to generate synthetic
data.

Warning:
While this code is a useful and educating tool, it is 
a research algorithm and not fully developped and tested.
It is not a production strength algorithm! I only release
the code on public demand and hope that you keep me posted
on any additional modification that you may develop.


Strengths and limitations:
The models can be rather complex. Triangulation allows
to generate models composed of homogeneous blocks. Extension
to inhomogeneous blocks should be straightforward, at least
algorithmically. Basically all ray-modes can be traced. Each
interface in the model can be defined to reflect, transmit
and convert the wave. The rays can also be stopped at any
interface in the model, so many ray experiments can be
simulated. Wavefronts can be plotted at any traveltime or 
traveltime-increment.


This code does not include amplitude computation, although 
I did some rough calculations and support most of the 
necessary data structues. So this needs more work. The same
is true if you want to handle cusps, shadowzones or two-point
raytracing in general. The <elasyn.c> code in the modif-directory
can give you a start on that.

The code was written on a NeXT maschine and hence I did not
generate X-Windows output. All graphics are in PostScript. 

The problem to continue the tangential slowness across a 
boundary is solved using a rootfinder that Tariq Alkalifah
and I designed. It allows to only compute one root in a
rather fast manner. Just recently, I had some cases there
the rootfinder did not converge for converted waves. If
you experience this, plan of linking a standard rootfinder
for Snell's law instead.


I include a set of demos to demonstrate some of the nice
features of this algorithm.

Finally, I want to thank Dave Hale who wrote the acoustic
version of this program and Tariq for his contributions
in the rootfinding and interpolation routines.


______ Andreas Rueger CWP  March 02, 1997

____________________________________________________________________

Comments about the existing demos and suggestions for additional ones
are most welcome.


John Stockwell	 | jstockwe@mines.edu
Center for Wave Phenomena (The Home of Seismic Un*x)
Colorado School of Mines
Golden, CO 80401 | http://www.cwp.mines.edu/cwpcodes
voice: (303) 273-3049  |    fax: (303) 273-3478.
