star-schiff

Library for estimating radiative properties
git clone git://git.meso-star.com/star-schiff.git
Log | Files | Refs | README | LICENSE

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.