Releases: usnistgov/SCATMECH
Version 7.22 (April 2019)
Modified Bobbert_Vlieger_BRDF_Model, Subsurface_Bobbert_Vlieger_BRDF_Model, Axisymmetric_Particle_BRDF_Model, and Subsurface_Axisymmetric_Particle_BRDF_Model by removing the functions PartialExtinctionS(double theta) and PartialExtinctionP(double theta) (which provided a partial extinction coefficient) and replaced them with a single function Specular(double theta) that returns the Mueller matrix specular reflectance or regular transmittance, calculated using the optical theorem.
Repaired errors in MuellerMatrix::valid() and MuellerMatrix::physically_valid().
Modified Polydisperse_Sphere_BRDF_Model to add a parameter fractional_coverage that, if non-zero, renormalizes the distribution to a given fractional coverage of spheres on the surface.
Modified CC1246E_SurfaceParticleSizeDistribution so that, the distribution is renormalized to the same fractional coverage of spheres on the surface (with sizes from 1 µm to 1000 µm) as when slope = 0.926 with the given value of cleanliness.
Version 7.20 (May 2018)
-
Added the model Polydisperse_Sphere_BRDF_Model, which uses Double_Interaction_BRDF_Model with MieScatterer and with a diameter distribution given by SurfaceParticleSizeDistribution. This model is useful for estimating scatter from contaminated surfaces.
-
The code for CrossRCW_Model can now accept anisotropic and magnetic media.
-
Added Rectangular_CrossGrating to the list of classes inheriting CrossGrating.
-
Models for size distributions were added:
- Abstract class Distribution
- Log_Normal_Distribution
- Modified_Gamma_Distribution
- Normal_Distribution
- Weibull_Distribution
- Bimodal_Distribution
- Abstract class VolumeParticleSizeDistribution
- class Regular_VolumeParticleSizeDistribution
- Abstract class SurfaceParticleSizeDistribution
- class Regular_SurfaceParticleSizeDistribution
- class CC1246E_SurfaceParticleSizeDistribution
- Abstract class Distribution
-
Models for polarized phase functions were added:
- Abstract class Polarized_Phase_Function
- class Unpolarized_Phase_Function
- class CodeWhitney_Phase_Function
- class Constrained_Phase_Function
- class SphericalScatterer_Phase_Function
- class Distributed_Mie_Phase_Function
- Abstract class Polarized_Phase_Function
-
Updated First_Diffuse_BRDF_Model to use Polarized_Phase_Function. Before, it assumed a Rayleigh-Gans-like polarization dependence to the phase function.
Version 7.10 (October 2017)
This release adds the new model ZernikeExpansion_BRDF_Model.
Version 7.01
Abstract class StackModel was created to give dielectric_stack the properties of a Model. Specific classes No_StackModel, Stack_StackModel, SingleFilm_StackModel, DoubleFilm_StackModel, and GradedFilm_StackModel implement specific film stack models. These models inherit Model, so they make it easier to parametrically vary parameters associated with a film stack. All scattering models that allowed for a dielectric_stack have been upgraded to use StackModel instead.
Added Legendre_Phase_Function to the list of classes inheriting Phase_Function.
Corrected some errors in the thread safety using mutexes.
Corrected some errors in coordinate systems for polarization in BRDF_Model.
Version 7.00
This is Version 7.00 of the SCATMECH library, the last version hosted on the NIST site. All future versions will be hosted on GitHub.