Fortran package RMATRIX
Subroutine package to calculate the frequency-dependent
transmission coefficients written by Colin J. Thomson.
Copyright (c) 1996 C. J. Thomson.
All rights reserved by the author
RMATRIX and associated programs may be used freely by University
researchers and teachers.
Commercial parties interested in using
the program should contact C. J. Thomson.
The author can also provide information on
new or different versions of the program and how to obtain them
via anonymous ftp.
E-mail:
thomson@geol.queensu.ca
Compiling and linking program RMATRIX
Program 'rmatrix.for'
Main file 'rmatrix.for' contains Fortran 90
INCLUDE statements to include the files with the main
program RMATRIX and the subroutines required.
It is thus sufficient to compile and link single file 'rmatrix.for'.
Note the above mentioned changes in the input data for program
RMATRIX!
Used Fortran 90 features not present in Fortran 77
- Names longer than 6 characters.
- Underscores in variable names.
- Variable declarations REAL*8 and COMPLEX*16.
- COMPLEX*16 constants like (1.d0,0.d0).
- DO loops without labels like DO I=1,6 ... END DO.
Intrinsic functions of the VAX/IBM extensions present in the source code
- CDABS
- CDEXP
- DCONJG
- DCMPLX
- CDSQRT
- DREAL
- DIMAG
Changes in the source code made by L.Klimes
- 'rmatrix1.f'
- The file has been split into main program 'rmatrix0.f' and subroutines
'rmatrix1.f'.
- Originally the second line of the input data (read in subroutine INPUT)
is now read as the first line of the input data in the main program.
- Input logical unit number 10 has been changed to LU in subroutine INPUT.
- Dummy arguments PX,PY,OMEGA of subroutine INPUT have been discarded and
replaced with new dummy argument LU.
- Prints to the console (device *) have been disabled.
- Calls to output subroutines WRITE4, J1SYMTST and J2SYMTST
have been disabled.
- 'rmatrix2.f'
- All four calls to output subroutine WRITE1 have been disabled.
- Limits for reporting of the rounding errors in subroutine LAYER
have been moderated.
- 'isotroc.f'
- The correction for the normal incidence has been supplemented.
The changes are mostly denoted by string 'c-LK'.
Running demo program RMATRIX
Demo input data are read from file 'rmatrix.inp'.
Program RMATRIX generates output file 'rmatrix.out'.
Note the above mentioned limitation of the output of program
RMATRIX.
File list of package RMATRIX
- (A) Documentation:
- rmatrix.htm (this file)
- (B) Demo program:
- rmatrix.for File to be compiled.
- rmatrix0.f Main program RMATRIX.
- (C) Subroutines to calculate the transmission coefficients:
- rmatrix1.f
- rmatrix2.f
- isotroc.f
- aniso6cg.f
- aniso6c1.f
- aniso3c.f
- deigv.f
- cg.f
- (D) Sample input data for program RMATRIX:
- rmatrix.inp