HEAD PREVIOUS

8  LMie command line program: calllmie

calllmie is a command line program that takes inputs from the command line, runs LMie, and outputs results.
The path to calllmie is
     utils/calllmie

or when using Visual Studio
     $(SolutionDir)/$(ConfigurationName)/calllmie.exe

where the variable $(SolutionDir) is msvs_2005, msvs_2008, or msvs_2010 and the variable $(ConfigurationName) is Debug or Release.
An example run of calllmie is contained in the following text file:
     examples/calllmie.txt

Please see the text file for more details about the example run. The calllmie input format for the command line and output format are outlined in the next two sections.

8.1  Calllmie input format

8.1.1  General flags

-help

Print a message linking the user to this documentation and exit.
-n_threads <n_threads>

The number of threads to use. This is an optional flag with a default value of 1.
-verbose

Print information useful for debugging. Currently only information useful for debugging runs using MPI is printed.
-version

Print version information and exit.

8.1.2  Input flags

-accuracy <accuracy>

Set the accuracy.
-derivs <n_derivs>

Turn on derivative output and set the number of derivatives to be calculated n_derivs.
-dist <NAME> <a1> ... <a5> [r1] [r2]

Set the size distribution name and the required input parameters a1 - a5 and, if required, r1 and r2. The size distribution name NAME is the name of one of the supported size distributions with underscores in place for spaces. For example, if one had a log normal size distribution with a mean radius of 0.39μm and a standard deviation of 2.0μm ranging from 0.005 to 50μm the flag and required parameters would be given as
     -dist log_normal 0.39 0.48 0.005 50.0

where (ln1.0)2 = 0.48.
-dist_l <a1_l1,a2_l2,...> ... <a5_l1,a5_l2,...> [r1_l1,r1_l2,...] [r2_l1,r2_l2,...]
Set linearized parameters a1_l - a5_l and, if required r1_l and r2_l, for the size distribution given by the -dist flag. Flag -dist must be given on the command line before -dist_l. Each argument is a comma-separated list (with no spaces) of values for each derivative. For example, if one had a log normal size distribution and derivatives with respect to rg, (lnσg)2, mr, and mi, in that order, the flag and required arguments would be given as
     -dist log_normal 1.0,0.0,0.0,0.0 0.0,1.0,0.0,0.0 \
                      0.0,0.0,0.0,0.0 0.0,0.0,0.0,0.0

where each of the 4 lists have a length of 4. This flag is only valid when -derivs is given and is optional with default values all equal to zero.
-lambda <lambda>

Set the wavelength of incident radiation lambda.
-lambda_l <lambda_l_1,lambda_l_2,...>

Set the linearized wavelength of incident radiation lambda_l. This flag is only valid when -derivs is given and is optional with default values all equal to zero.
-m <mr> <mi>

Set the real (mr) and imaginary (mi) parts of the complex index of refraction of the particle medium.
-m_l <m_r_l1,m_r_l2,...> <m_i_l1,m_i_l2,...>

Set the linearized real (mr) and imaginary (mi) parts of the complex index of refraction of the particle medium. Each argument is a comma-separated list (with no spaces) of values for each derivative. For example, if one had a log normal size distribution and derivatives with respect to rg, (lnσg)2, mr, and mi, in that order, the flag and required arguments would be given as
     -m_l 0.0,0.0,1.0,0.0 0.0,0.0,0.0,1.0

where each of the 2 lists have a length of 4. This flag is only valid when -derivs is given and is optional with default values all equal to zero.
-n_int1 <n_int1>

Set the number of subintervals from 0 to r1 (n_int1) for the integration of size distribution. Only used for the power law size distribution.
-n_int2 <n_int2>

Set the number of subintervals from r1 to r2 (n_int2) for the integration of size distribution.
-n_quad <n_quad>

Set the number of quadrature points to use per subinterval (n_quad) for the integration of size distribution.
-n_angles <n_angles>

Set the number of scattering angles (n_angles) at which to compute the elements of the scattering matrix. Only used if output flag -pf is given.

8.1.3  Output flags

-pf,-gc,-lc <FILE> [FILE_L1,FILE_L2,...]

Write the scalar outputs along with the elements of the scattering phase matrix (-pf) or the coefficients for the expansion of the scattering phase matrix in terms of generalized spherical functions (-gc) or Legendre polynomials (-lc). The first argument FILE is the output file for the full quantities while the second argument is a comma-separated list (with no spaces) of output files (FILE_L1, FILE_L2, ...) for each derivative and is only required if the option -derivs is given. For example, if one had a log normal size distribution and derivatives with respect to rg, (lnσg)2, mr, and mi, in that order, the flag and required arguments for output with the coefficients for the expansion of the scattering phase matrix in terms of generalized spherical functions could be given as
     -gc output.gc "output_l_r_g.gc,output_l_ln_r_g_2.gc, \
                    output_l_m_r.gc,output_l_ln_m_i.gc"

If the `-' symbol is given in place of a file name the associated output will be sent to standard output. Multiple types of output may be output by giving more than one of -pf, -gc, or -lc but the scalar outputs will be identical in each case.

8.2  Calllmie output format

The calllmie output format is self-explanatory.

HEAD NEXT