Some special cases (where the target orientation distribution is
uniform for rotations around the x axis = direction of propagation of the
incident radiation), one may be able to use DDSCAT.5a \
with appropriate choices of input parameters.
More generally, however, you will need to modify
subroutine ORIENT to generate a list of NBETA values of
,
NTHETA values of
, and
NPHI values of
, plus two weighting arrays
WGTA(1-NTHETA,1-NPHI)
and WGTB(1-NBETA).
Here WGTA gives the weights which should be attached
to each (
,
) orientation, and WGTB gives the weight to be
attached to each
orientation.
Thus each orientation of the target is to be weighted
by the factor WGTA
WGTB.
For the case of random orientations, DDSCAT.5a chooses
values which are uniformly spaced in
, and
and
values which are uniformly spaced, and therefore uses
uniform weights
WGTB=1./NBETA
When NTHETA is even, DDSCAT sets
WGTA=1./(NTHETA
NPHI)
but when NTHETA is odd, DDSCAT uses Simpson's rule when integrating
over
and
WGTA= (1/3 or 4/3 or 2/3)/(NTHETA
NPHI)
Note that the program structure of DDSCAT may not be ideally suited for
certain highly oriented cases. If, for example, the orientation is such
that for a given
value only one
value is possible (this
situation might describe ice needles oriented with the long axis
perpendicular to the vertical in the Earth's atmosphere, illuminated by the
Sun at other than the zenith) then it is foolish to consider all the
combinations of
and
which the present version of DDSCAT is set up to do.
We hope to improve this in a future version of DDSCAT.