pyMieCS
Mie theory for core-shell nanoparticles
Simple Mie solver for core-shell particles supporting magnetic optical response of the materials (useful for effective medium fitting).
pyMieCS is fully numpy vectorized and therefore fast.
Getting started
Simple example
import pymiecs as mie
# - setup a core-shell sphere
wavelengths = np.linspace(400, 900, 100) # wavelength in nm
k0 = 2 * np.pi / wavelengths
r_core = 120.0
r_shell = r_core + 10.0
n_env = 1
mat_core = mie.materials.MaterialDatabase("Si")
mat_shell = mie.materials.MaterialDatabase("Au")
n_core = mat_core.get_refindex(wavelength=wavelengths)
n_shell = mat_shell.get_refindex(wavelength=wavelengths)
# - calculate efficiencies
q_res = mie.Q(k0, r_core=r_core, n_core=n_core, r_shell=r_shell, n_shell=n_shell)
# - plot
plt.plot(wavelengths, q_res["qsca"], label="scat")
plt.plot(wavelengths, q_res["qabs"], label="abs.")
plt.plot(wavelengths, q_res["qext"], label="extinct")
plt.legend()
plt.xlabel("wavelength (nm)")
plt.ylabel(r"efficiency (1/$\sigma_{geo}$)")
plt.tight_layout()
plt.show()
#...
Features
List of features
- internal and external Mie coefficients
- efficiencies
- differential scattering
- angular scattering
- core-shell t-matrix class for
smuthi
Installing / Requirements
Installation should work via pip from the gitlab repository:
pip install pymiecs
Requirements:
- scipy
- numpy
Contributing
If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome.
Links
- gitlab repository: https://gitlab.com/wiechapeter/pymiecs
- issue tracker: https://gitlab.com/wiechapeter/pymiecs/-/issues
- in case of sensitive bugs you can also contact me directly at pwiecha|AT|laas|DOT|fr.
- related projects:
Licensing
The code in this project is licensed under the GNU GPLv3.
Metadata
Release files for pymiecs 0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pymiecs-0.5.tar.gz | 46.5 kB | Without provenance | Details for pymiecs-0.5.tar.gz |
Release files / pymiecs-0.5.tar.gz
| Download URL | pymiecs-0.5.tar.gz |
|---|---|
| Size | 46.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c263c3e509acd3c54506f75fdcb545db57ac6606fad47ba10f143ba7ae4e73e0
|
|
BLAKE2b-256 checksum How to use checksums |
ec2a694dda622bb3ec04564c4d790a51b978fac6603eb98a7575660d398abd62
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|
Security for pymiecs 0.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.