A Python package to calculate light scattering properties/parameters of spherical particles by using Mie theory.
Project description
This Python package calculates light scattering properties/parameters of spheres by using Mie theory.
This has been developed from a mie theory program originally written in FORTRAN and published in the paper: Ghanshyam A. Shah, "Numerical Methods for Mie Theory of Scattering by a Sphere",Kodaikanal Obs. Bull. Soc.(1977) 2, 42-63.
- Python form developed by Dwaipayan Deb (2025)
Install command:
pip install mieshah
Use example:
import mieshah as ms
from matplotlib import pyplot as plt
# ps-> particle radius(microns), wl-> wavelength (microns), m-> complex refractive index (real,imaginary),
# f-> size distribution function, incr-> increment for size distribution function
mymie = ms.miescatter(ps=[0.1,1], wl=6.283185307,m=(1.5,0),f="x**-2",incr=0.01) # With size distribution function
#mymie = ms.miescatter(ps=100, wl=6.283185307,m=(1.5,0.0)) # Without size distribution function (single particle)
print(mymie.ps)
print(mymie.wl)
print(mymie.m)
print(mymie.f)
print(mymie.X) # Size parameter
print(mymie.ALBED) # Albedo
print(mymie.QSCA) # Scattering efficiency
print(mymie.QEXT) # Extinction efficiency
print(mymie.QBAK) # Backscattering efficiency
print(mymie.QABS) # Absorption efficiency
print(mymie.QPR) # Radiation pressure efficiency
print(mymie.I_perp) # Intensity perpendicular to the plane of incidence
print(mymie.I_parl) # Intensity parallel to the plane of incidence
print(mymie.Polar) # Degree of linear polarization
print(mymie.p_theta) # Phase function
print(mymie.theta) # Scattering angle in degrees
plt.plot(mymie.theta[::2], mymie.Polar[::2])
plt.xlabel('Theta (degrees)')
plt.ylabel('Polarization')
plt.title('Degree of Linear Polarization')
plt.show()
plt.plot(mymie.theta[::2], mymie.p_theta[::2])
plt.yscale('log')
plt.xlabel('Theta (degrees)')
plt.ylabel('Phase Function')
plt.title('Phase Function')
plt.show()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mieshah-0.0.2.tar.gz.
File metadata
- Download URL: mieshah-0.0.2.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46eaddb25f68e6f3877f280af4caa8ab49d8c2c27c84cb7cea7856d7b3d9a2d4
|
|
| MD5 |
3729d462a41e1028f69f6eefd54c13ae
|
|
| BLAKE2b-256 |
bf4ae233fb7f57de09db35611d1fa5cc1528916ceba4f0f44dcba803eb131b09
|
File details
Details for the file mieshah-0.0.2-py3-none-any.whl.
File metadata
- Download URL: mieshah-0.0.2-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd26b42f06e009657f05bbefbc1a21f7e524dfe752449e057b247850225b9148
|
|
| MD5 |
24f90163ca582d67cabb43a3255d7ff3
|
|
| BLAKE2b-256 |
6daeea5f6d162a5731877f202f702212d30c0cee03b0852f85a02dafc71ce07e
|