README.md (3178B)
1 # Star Schiff 2 3 Star Schiff is a C library that estimates the radiative properties of 4 soft particles following an "Approximation Method for Short Wavelength 5 or High-Energy Scattering" (L. Schiff, 1956). 6 The Monte Carlo Method is used in order to solve Maxwell's equations 7 within Schiff's approximation, as presented in 8 [Charon et al.2015](http://www.sciencedirect.com/science/article/pii/S0022407315003283). 9 The main advantages of using this method are the possibility to address 10 any shape of particle, and the results are provided with a numerical 11 accuracy. 12 The user has therefore the ability to increase the computation time to 13 obtain more accurate results if needed. 14 15 Monte Carlo is used to estimate total cross-sections (absorption, 16 scattering and extinction cross-sections) in addition to the phase 17 function, its cumulative and its inverse cumulative, for a mixture of 18 several particles. 19 These set of particles is defined by its optical properties (refractive 20 index, provided at various wavelengths) and a geometry distribution that 21 controls the shape of the particles. 22 23 ## Prerequisites 24 25 - C compiler with OpenMP support 26 - POSIX make 27 - pkg-config 28 - [GNU Scientific Library](http://www.gnu.org/software/gsl) 29 - [RSys](https://gitlab.com/vaplv/rsys) 30 - [Star 3D](https://gitlab.com/meso-star/star-3d) 31 - [Star SamPling](https://gitlab.com/meso-star/star-sp) 32 33 ## Installation 34 35 Edit config.mk as needed, then run: 36 37 make clean install 38 39 ## Release notes 40 41 ### Version 0.5 42 43 - Replace CMake by Makefile as build system. 44 - Update compiler and linker flags to increase the security and 45 robustness of generated binaries. 46 - Provide a pkg-config file to link the library as an external 47 dependency. 48 49 ### Version 0.4.1 50 51 Sets the required version of Star-SampPling to 0.12. 52 This version fixes compilation errors with gcc 11 but introduces API 53 breaks. 54 55 ### Version 0.4 56 57 - Update the `struct sschiff_geometry_distribution` data structure. 58 The `sample` function now only samples the particle geometry. 59 Its volume scaling is sampled through the new `sample_volume_scaling` 60 function. 61 This scaling factor is now sampled at the same frequency than the 62 particle orientation, i.e. several times per sampled particle 63 geometry. 64 - Relax constraints on the minimum number of scattering angles. It is 65 now set to 2 rather than 3, i.e. the scattering can be purely forward 66 or backward. 67 - Overall update of the project dependencies. 68 Most notably, the update of the Star 3D library drastically improves 69 the performances of sampling particles with the same shape. 70 - Add an option to avoid the analytic computations of wide angles. 71 72 ## Copying 73 74 Copyright (C) 2015, 2016, 2026 Centre National de la Recherche Scientifique 75 Copyright (C) 2026 Clermont Auvergne INP 76 Copyright (C) 2026 Institut Mines Télécom Albi-Carmaux 77 Copyright (C) 2020, 2021, 2023, 2026 |Méso|Star> (contact@meso-star.com) 78 Copyright (C) 2026 Université de Lorraine 79 Copyright (C) 2026 Université de Toulouse 80 81 Star-Schiff is free software released under the GPL v3+ license: GNU GPL 82 version 3 or later. You are welcome to redistribute it under certain 83 conditions; refer to the COPYING file for details.