Skip to content

A Julia package for the calculation of Mie scattering based on a 1:1 port of miepython

License

Notifications You must be signed in to change notification settings

TacHawkes/MieScattering.jl

Repository files navigation

MieScattering.jl

Build Status Coverage

MieScattering.jl is a pure-Julia package for calculation of Mie scattering. This package is basically a 1:1 port of the great miepython Python package written by Scott Prahl. I highly recommed to read his documentation which also gives a lot of mathematical insights into the topic. This package basically follows the same syntax as miepython but with small tweaks to adapt to Julia specifics. This package gives comparable or even better (thanks to real multi-threading) performance than the JIT-version of miepython using numba. The test suite has been adapted as well, so the whole package is numerically tested against Wiscombe's code and of course miepython itself.

Documentation

Installation

Install the package using the package manager:

] add MieScattering

Usage example

using MieScattering

m = 1.3179 - 0.000097313*im
d = 0.2         # µm 
λ0 = 1.064      # µm
qext, qsca, qback, g = ez_mie(m, d, λ0)

Alternatives

This is not the first Julia package for calculating Mie scattering. The whole purpose of this package is to have all features of miepython without having to call Python from Julia.

About

A Julia package for the calculation of Mie scattering based on a 1:1 port of miepython

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages