Envelope for T-matrix (spheroids) code of Barber & Hill
=======================================================
The program TRANSM written in C calculates the efficiencies Qext, Qsca, Qabs
for oblate and prolate spheroids for TE and TM modes and
the efficiencies Qext, Qsca, Qabs, Qpol for unpolarized incident radiation
using slightly modified T1 and T2 codes from the book of Barber & Hill (1990)
'Light Scattering by Particles: Computational Methods' (see this book
for notations and more information).
The main steps of the TRANSM program are:
- to read values of the input parameters (from TT.IN and RI.TAB files);
- to estimate some parameters (an empirical formula for 'nrank parameter');
- to create input files for the T1 and T2 codes (T1.IN and T2.IN);
- to call the EXE-files of T1 and T2 codes;
- to print some information on the convergence process;
- to print the values of the efficiencies for TM and TE modes;
- to output the results for unpolarized radiation into a file (TT.OUT).
=======
The codes used by TRANSM are:
T1a.f and T2a.f - slightly modified codes from the above mentioned book.
The modifications of the program T1 and T2 were as follows:
- the conversion of initial codes to the double precision;
- the convergence check for 10 angles (with rel.error 3*10(-3));
- a formated output of T matrix;
- new input/output files;
- dividing some large matrix into two parts.
Depending on the internal constant LAHEY,
the files from MS (T1A.EXE, T2a.EXE) or Lahey (T1A.EXP,T2A.EXP)
Fortran compiler are called by TRANSM (LAHEY=1 for Lahey).
=======
Input file: TT.IN ( 5 lines )
- 1.line:
n1 - 'nrank' parameter
(the program does not deternime it and uses the value of n1
or if n1==0 calculates it from an empirical formulae
for a/b = 1-2, 4, >=8 (see the program text for details) !)
n2 - 'ntheta' parameter
(the program does not deternime it as well and uses the value
of n2 or calculates it from a simple formula n2=(2-3)*n1
if n1==0!)
n3 - 'ic' parameter
(use always 2)
ii - 'mtxsave' parameter
(use always 1)
ala - frame orientation
(we recommend 0)
delta - ----"----
(90)
- 2.line:
k - 'case' parameter
(0 - prolate / 1 - oblate spheroids)
- 3.line:
ab0 - semiaxes ratio
(always >= 1, whereas in the book a/b<1 for oblate ! )
- 4.line:
av0 - radius of equial volume sphere
(note that in the book special definition of ka for spheroids !)
- 5.line:
alfa - the angle between the wavevector radiation and particle axis
(polarization is equal to 0 if alfa = 0?)
N.B. The first input line with 5 parameters may be
not required provided n1=0. (?)
=======
Input file: RI.TAB - the table of lambda and refractive index values,
with lines containing - lambda, n, k - in E-format.
Note the sign of imaginary part of m = n + ki (plus!).
Note that you must use the same units for lambda and av0 !
=======
Output file: TT.OUT (table of results for unpolarized radiation)
(av0, lambda, Qext, Qabs, Qsca, g, Qpol, Qcpol)-lines with a head
Note that the values of Qcpol and g-factor are wrong (0 and 0.5 resp.)!
The results for the TM and TE modes are only printed.
=======
The files required are:
TRANSM.C
T1A.EXE (or .EXP)
T2A.EXE (or .EXP)
TT.IN
RI.TAB
=======
c 1993 July, Astron.Obs, St.Petersburg Univ.