The Schiff program computes the radiative properties of soft particles. It uses the Monte-Carlo method to solve Maxwell's equations within the L. Schiff's approximation as presented in Charon et al. 2015.The main advantages of using Monte-Carlo are: the possibility to address any shape of particle, and the results are provided with a numerical accuracy.
For a mixture of soft particles, Schiff estimates the total cross-sections (absorption, scattering and extinction cross-sections) in addition of the phase function, its cumulative and its inverse cumulative.
The set of particles to simulate is defined by its refractive index - provided at various wavelengths - and a geometry distribution that controls how the particles look like into the mixture. More precisely, this distribution describes the main shapes of the particles (sphere, cylinder, helical pipe, etc.) and their statistical variation according to the distribution of their parameters (gaussian, lognormal, etc.).
A straight interface
The Schiff program is a command-line tool that processes input data, performs computations, write results and that's all. It makes no assumptions on how the input data are created excepted that it has to follow the expected file formats. The simulation results are also provided as is, in a raw ASCII format.
This thin interface is particularly well suited to be extended and integrated into any toolchain. According to the user needs, the optical properties of the particles can be entered manually or generated by an external program. In the same way, the output data can either be directly interpreted or post-processed by any script with respect to the targeted toolchain.
Download the desired archive of Schiff and verify its integrity against its
PGP signature. Then extract it. Finally
source the provided
schiff.profile file to register the Schiff
installation for the current shell priorly to the invocation of the
$ source ~/Schiff-0.4.0-GNU-Linux64/etc/schiff.profile $ schiff -h
The Schiff reference documentation is provided trough man pages.
man command-line to consult it.
$ man schiff $ man schiff-geometry $ man schiff-output
The following Bash script illustrates how to post-process the Schiff results. It is an example, provided as is, without additional support. According to your needs, you can study, modify, extend or redistribute it freely.
This script reads an output file generated by the
command line and split its raw ASCII results in several human readable text
files in order to simplify their analysis.
$ schiff -i geom-distrib.yaml -l 2.3 -w0.5:0.6 -o output properties $ bash ./schiff_pretty_results.sh output Write xsections.txt Write descs.txt Write func_0.5.txt Write func_0.6.txt Write cumul_0.5.txt Write cumul_0.6.txt Write invcumul_0.5.txt Write invcumul_0.6.txt
The first generated file, named
xsections.txt, lists for each
wavelength submitted with the
-w option, its associated
absorption, extinction and scattering cross sections. The second file,
descs.txt, gives overall informations for each simulated
wavelengths, like the limit scattering angles from which its phase function was
analytically computed. Then for each wavelength, the script generates 3 files
invcumul_<WLEN>.txt that store for the wavelength
<WLEN>, the value of its associated phase function as well
as its cumulative and its inverse cumulative, respectively.
- Set the minimum number of scattering angles to 2 rather than the previous and arbitrary limit fixed to 100.
- Fix a bug in the generation of the shape of the helical pipe.
- Update the short help of the command as well as the man pages.
- Add the
-Doption that discards all computations for large scattering angles.
- Add the
--versionthat prints the current version of the
- Reformat the man pages.
Copyright © 2020, 2017
Copyright © 2015, 2016 Centre National de la Recherche Scientifique (CNRS).
Schiff is free software released under the GPLv3+ license: GNU GPL version 3 or later. You are welcome to redistribute it under certain conditions; refer to the license for details.