Schiff
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. 2025. 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.).
Examples of particle shapes handled by Schiff.
Related articles
Dauchet et al. 2023, "Wave-scattering processes: path-integrals designed for the numerical handling of complex geometries", Optics Letters (open access)
Charon et al. 2016, "Monte Carlo implementation of Schiff׳s approximation for estimating radiative properties of homogeneous, simple-shaped and optically soft particles: Application to photosynthetic micro-organisms", Journal of Quantitative Spectroscopy and Radiative Transfer (open access)
Weitz et al. 2016, "Monte Carlo efficiency improvement by multiple sampling of conditioned integration variables", Journal of Computational Physics (open access)
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.
Release notes
Version 0.5
- Replace CMake by Makefile as build system.
- Update compiler and linker flags to increase the security and robustness of generated binaries.
- Convert the manual from man to mdoc.
- Thoroughly review the man pages to make them clearer.
- Improve the portability of test scripts by converting them from GNU/Bash to the POSIX shell.
Version 0.4.2
Sets the required version of Star-SampPling to 0.12. This version fixes compilation errors with gcc 11 but introduces API breaks.
Version 0.4.1
Displays the time spent constructing the geometric distribution, writing the sampled geometries, and performing the calculations.
Version 0.4
- 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 theschiffcommand.
Version 0.3.1
- Reformat the man pages.
History
schiff was funded from 2015 to 2016 by the ALGUE project, which was
supported by the IDEX program.
|Méso|Star> was sub-contractor of the project.
License
Copyright (C) 2015, 2016, 2026 Centre National de la Recherche Scientifique
Copyright (C) 2026 Clermont Auvergne INP
Copyright (C) 2026 Institut Mines Télécom Albi-Carmaux
Copyright (C) 2017, 2019-2021, 2026 |Méso|Star> (contact@meso-star.com)
Copyright (C) 2026 Université de Lorraine
Copyright (C) 2026 Université de Toulouse
Schiff is free software released under the GPL v3+ license: GNU GPL version 3 or later. You are welcome to redistribute it under certain conditions; refer to the COPYING file for details.