ricbessel # ricatti-bessel psi
richankes # ricatti-hankel xi
cricbessel
crichankel # (same with complex argument)
cspherebessel # spherical Bessel jn(z), yn(z)
vcfunc # vector coupling coefficients C(m,n|k,l|m+k,w), w = |n-l|,...n+l
normalizedlegendre # normalized asssociated legendre functions
rotcoef # Generalized spherical functions
taufunc # vector spherical harmonics, normalized
pifunc # vector spherical harmonics, ?
planewavecoef # regular vswf expansion coefficients for a plane wave
gaussianbeamcoef # regular vsfw expansion for a gaussian beam
sphereplanewavecoef # plane wave expansion coefficients at sphere origins
axialtrancoefrecurrence # axial translation ceifficients
axialtrancoefinit
tranordertest # test to determine convergence of regular vswf addition theorem
atcadd
atcdim
moffset
gentrancoef # calculates the vwh translation coefficients for a general translation from one origin to another
cartosphere # cartesian to spherical coorsinates
eulerrotation # euler rotation of a point specified in cartesian coords
ephicoef
planewavetruncationorder # test to determine max order of vswf expansion of a plane wave at distance r
vwhcalc # calculates the cartesian components of the vswf at position rpos
vwhaxialcalc # svwf calculation for an axial translation
twobytwoinverse # inverse of a 2x2 matrix
transfer

mpisetup

module spheredata (lots of declarations!, read all the shit)
(...)

module miecoefdata
miecoefcalc # calculation of the max order of sphere expansions and storage of mie coefficients
readtmatrix # reads and stores a PARTICLE T matrix 
lrmodetran # transformation between lr and te tm basis
mieoa # optically aptive lorenz/mie coefficients
getmiedataall # retrieve the array of mie data
getmiedataone # retrieve mie data for a single sphere
onemiecoeffmult # multiplies coefficients for sphere i by appropriate lm coefficient
multmiecoeffmult # generalized mie coefficient mult
dotproduct # vectorproduct for each rhs element of coefficient array

module translation
hostconfiguration # calculates lists for identifying host and interior sphere
rottranmtrxsetup # sets up the stored translation matrices and sets other constants
rottranmtrxclear # clear the stored translation matrices
sphereinteraction # the general sphere interaction driver
external_to_external_expansion # outgoing translation operator: a(i) = H(i-j) a(j)
external_to_internal_expansion #
m1_to_the_n # sign flipped for odd degrees
rottranfarfield # far field formula for outgoing vswf translation
farfieldtranslationerror # correction ter for hybrid bcgm solution
rottran # the vectorized rotation translation-rotation operation !!!!	
spheregaussianbeamcoef # GB coefficients for sphere-centered expansion, obtained via translation
rotvec # rotation of expansion coefficients amn by euler angles

module scatprops
tranorders # determinaniot of maximum orders for target-based expansions
amncommonorigin # translation of sphere-based expansions to common target origin
lrsphereqeff # general efficiency factor calculation
qefficiencyfactors # calling routine for efficiency calculation
scatteringmatrix # scattering amplitude sa and matrix sm calculation
s11expansion
fosmcalc # azimuth-averaged scattering matrix
formexpansion # determine the generalized sf expansion for the azimuth-averaged scatt. matrix
ranorientscatmatrix
ranorientscatmatrixcalc

module nearfield
packcoefficient
unpackcoefficient
nearfieldspherepart # the field at point xg generated by the spheres
nearfieldincidentpart # the incident field at point xg using a regular vswh expansion
nearfieldincidentcoef # reshaped array of incident field coefficients
nearfieldpointcalc # !
nearfieldgridcalc 

module solver
tmatrixsoln # calculation of T-mat. via solution of interaction eqs for a generalized plane wave expansion
fixedorsoln # solution of interaction exuations for a fixed orientation
cbicgff # hybrid bcgm, using far field translation
cbicg # bcgm iteration solver
