T-matrix and related
computer codes
This is Arturo Quirantes' webpage in computer
codes. Here you will find a compilation of the main programs
I've used on my light scattering research. I´ve decided to
make them available to the scientific community. You can freely
use them for non-profit purpuses, acknowledging original source and
author.
All programs are written in Fortran language, and
have been tested on Windows (sometimes also Linux) platforms.
My
codes are not static, and improvements are made from time to time.
Check the Updates section -at the bottom
of this page- to see if new versions have been made. And don´t
forget to take a look at the Graphics,
too.
All codes are signed with my PGP
Key (ID 0x4E2031EC)
Feel free to send me any comments,
suggestions or additions.
Fax:
+34-958-243214
e-mail: aquiran at ugr dot es
Snail Mail:
Departamento de Física Aplicada, Facultad de Ciencias
Campus Universitario Fuentenueva
18071 Granada (Spain)
Main
computer programs
HOMER
(Fortran
code).
HOMER
calculates cross-efficiencies (extinction, scattering, absorption)
for homogeneous spheres under the Mie theory. It´s
adapted for a whole size range (not just one single size
parameter), and can even be used for magnetic particles. No
more. I could also add polarization or phase function
capabilities, but I decided to leave it deliberately simple.
After all, simplicity is beauty, and HOMER is ... D'
oh!
|
BART
(Fortran
code).
Not
so complex as his sister, BART is based on the Aden-Kerker
theory to calculate light-scattering properties for coated
spherical particles. Polydispersity is included for
either core, coating or entire particle (your pick), but it can
also be used for monodisperse calculations. It´s an old
code, and I did not try hard to optimize it. You now, BART
is an underachiver ... and proud of it.
|
MARGE
(Fortran
code).
MARGE
uses T-matrix methods plus analytical orientation averaging
to yield light-scattering data for a collection of randomly
oriented, axially-symmetric nonspherical, homogeneous
particles. It´s the basic code LISA came from. It´s
default-set to spheroids, but any other axisymmetrical particle
shape will do. Battle-hardened, efficient, all-terrain,
reliable ... reminds me of a Canyonero.
|
LISA
(Fortran
code).
An
extension of MARGE, this program calculates light-scattering
parameters (Cross sections, Müller matrix elements) for a
collection of randomly-oriented, axially-symmetric nonspherical,
coated particles using the T-matrix method. Remarks
and comments are included in the code. A remarkable
offspring, don´t you think?
NEW: Get your JQSRT paper
describing the code here
|
graphic
data ...
Here´s some graphics I´ve done from my
computer codes. You might want to use them to compare to your
own data; plus, they look cool!
1) Scatering matriz
elements for coated spheroids. In all cases q is the
core/particle ratio, kr is the equivalent-volume outer size
parameter, the refractive indices are 2.32+i0.36 (core) and 1.2
(coating), and eps is the axial ratio (<1 for prolate spheroids,
>1 for oblate, =1 for spheres). 3-D graphics for kr=8 have
been published in Arturo Quirantes: "Light
scattering properties of spheroidal coated particles in random
orientation" J. Quant. Spectros. Radiat. Transfer
63, 263-275 (1999) (See my Research
file page for the full paper in pdf format).
All
figures are jpg. Please note that their sizes range from 300 to
700 kB.
... and some useful
subroutines
MOE
(Fortran
code).
You
need a subroutine to multiply and invert matrices? MOE is
your choice. You can do B * (A^-1), or (B^-1) * A, whatever
you need. Pity it doesn´t come with a cold Duff... oh yeah!
|
WILLIE
(Fortran
code.
This
subroutine does the same job as MOE, but the input and output
matrices are specifically declared as real: AR+iAI, BR+iBI.
Sipping Scotch while running it is optional. Ach!
|
NED
(Fortran
code).
If
you need to calculate Clebsch-Gordan coefficients, this is what
you´re looking for. Just use NED in your main program, and
everything will be pretty okilly-dokilly
|
APU
(Fortran
code).
For
a single Clebsch-Gordan coefficiente, NED will do. But if
you want to do calculations for a set of am values, APU might do
better. It works fine, fast, 24/7. Just like a
Kwik-E-Mart
|
BURNS
(Fortran
code).
This
subroutine gives abscissas and weights for a Gauss quadrature.
Yes, I copied it from the Barber-Hill book. So what?
You don´t want to mess with me, do you?
|
|
Back
to Arturo Quirantes' research file