MiePy
MiePy is a Python module for the generalized multiparticle Mie theory (GMMT), also known as the aggregate T-matrix method. MiePy solves the electrodynamics of a collection of spherical or non-spherical scatterers with an arbitrary incident source.
Features
- Non-spherical particles using the T-matrix formulation via the null-field method with discrete sources (NFM-DS). Includes cylinders, spheroids, ellipsoids, cubes and polygonal prisms
- Arbitrary incident sources (plane waves, Gaussian beams, HG and LG beams, point dipoles)
- Evaluation of cluster cross-sections and optical force and torque on individual particles
- Periodic boundary conditions with various lattice types (square, hexagonal, etc.) and mirror and discrete rotational symmetries for faster calculations
- Optional planar interface (substrate)
- 3D scene visualization using the the VPython library
- Image clusters using a simulated microscope
- OpenMP parallelization for systems with larger numbers of particles
Usage
For examples and use cases, see examples folder.
For an overview of the theory, see docs folder.
Installation
If NumPy is not already installed, it must be installed prior to MiePy's installation
pip install numpy
Then install MiePy
pip install miepy
MiePy is also available via Conda
conda install -c japarker miepy
Install from source
To build MiePy from source, first install the required dependencies:
- CMake (C++ build system)
- Eigen (C++ linear algebra library)
- GNU Scientific Library (GSL)
- GCC and GFORTRAN
- Python 3 and pip
Then, install MiePy using pip
pip install miepy --no-binary
To build the latest development version, clone MiePy and its submodules:
git clone https://github.com/johnaparker/miepy.git miepy --recurse-submodules && cd miepy
and install MiePy using pip
pip install .
Optionally, run the tests to verify correctness:
pytest tests
License
MiePy is licensed under the terms of the GPLv3 license.
Metadata
Release files for miepy 0.4.3
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 |
|---|---|---|---|---|
| miepy-0.4.3.tar.gz | 6.0 MB | Without provenance | Details for miepy-0.4.3.tar.gz |
Built distributions (wheels)
| File | Actions Reset | |||
|---|---|---|---|---|
| miepy-0.4.3-cp38-cp38-win_amd64.whl | CPython 3.8 | CPython 3.8 | Windows x86-64 | Details for miepy-0.4.3-cp38-cp38-win_amd64.whl |
| miepy-0.4.3-cp38-cp38-manylinux2010_x86_64.whl | CPython 3.8 | CPython 3.8 | Linux glibc 2.12+ x86-64 | Details for miepy-0.4.3-cp38-cp38-manylinux2010_x86_64.whl |
| miepy-0.4.3-cp37-cp37m-win_amd64.whl | CPython 3.7 | CPython 3.7 pymalloc | Windows x86-64 | Details for miepy-0.4.3-cp37-cp37m-win_amd64.whl |
| miepy-0.4.3-cp37-cp37m-manylinux2010_x86_64.whl | CPython 3.7 | CPython 3.7 pymalloc | Linux glibc 2.12+ x86-64 | Details for miepy-0.4.3-cp37-cp37m-manylinux2010_x86_64.whl |
| miepy-0.4.3-cp36-cp36m-win_amd64.whl | CPython 3.6 | CPython 3.6 pymalloc | Windows x86-64 | Details for miepy-0.4.3-cp36-cp36m-win_amd64.whl |
| miepy-0.4.3-cp36-cp36m-manylinux2010_x86_64.whl | CPython 3.6 | CPython 3.6 pymalloc | Linux glibc 2.12+ x86-64 | Details for miepy-0.4.3-cp36-cp36m-manylinux2010_x86_64.whl |
Total release size: 65.5 MB
Release files / miepy-0.4.3.tar.gz
| Download URL | miepy-0.4.3.tar.gz |
|---|---|
| Size | 6.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f53ee42fb30fc894c6c41b58df7b1e30f11a0d3b7f38c220c5a3b67074b96f59
|
|
BLAKE2b-256 checksum How to use checksums |
5c5ed97e0df8083e52bcf2fd7380f873d8b15afc8114a001da09eeb35df807e8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.8.2
|
Release files / miepy-0.4.3-cp38-cp38-win_amd64.whl
| Download URL | miepy-0.4.3-cp38-cp38-win_amd64.whl |
|---|---|
| Size | 7.9 MB |
| Tags | CPython 3.8 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b3e0ebbe03ff19ad5425929ed1a6ce8b5f9d4c21e579af29e59a7b335d4672ad
|
|
BLAKE2b-256 checksum How to use checksums |
0ec6286322145a9116255449c6529a07f3a9d0ed61b8101475e9e51a0ac884b3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.8.2
|
Release files / miepy-0.4.3-cp38-cp38-manylinux2010_x86_64.whl
| Download URL | miepy-0.4.3-cp38-cp38-manylinux2010_x86_64.whl |
|---|---|
| Size | 11.9 MB |
| Tags | CPython 3.8 Linux glibc 2.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
d6684689cfd5305f96c30c8ca1fa5bc2554e0abede27337d963993b7ac557603
|
|
BLAKE2b-256 checksum How to use checksums |
b27ad9e03844a66ff5711bf65687ae1511fc2a15b6a680edc5e820a052988231
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.8.2
|
Release files / miepy-0.4.3-cp37-cp37m-win_amd64.whl
| Download URL | miepy-0.4.3-cp37-cp37m-win_amd64.whl |
|---|---|
| Size | 7.9 MB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6d8aba0357e84b401347e5e7b02fd091a2d309ee7644ad62a77d6e5bc8682b92
|
|
BLAKE2b-256 checksum How to use checksums |
01ac4cab9bb1927ab89841c8c7b1de99325e287743baed14f7c111f7ef27b8df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.8.2
|
Release files / miepy-0.4.3-cp37-cp37m-manylinux2010_x86_64.whl
| Download URL | miepy-0.4.3-cp37-cp37m-manylinux2010_x86_64.whl |
|---|---|
| Size | 11.9 MB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
e4e0174fd5fe56897483d2ec53afb04a074a32191aca2ac38999f233ed6ad51c
|
|
BLAKE2b-256 checksum How to use checksums |
83452ed24280f3e036bd8a81d56dea1f54e656edb35f8f3203e28b83c6094833
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.8.2
|
Release files / miepy-0.4.3-cp36-cp36m-win_amd64.whl
| Download URL | miepy-0.4.3-cp36-cp36m-win_amd64.whl |
|---|---|
| Size | 7.9 MB |
| Tags | CPython 3.6 CPython 3.6 pymalloc Windows x86-64 |
|
SHA-256 checksum How to use checksums |
de2dd28952c4bdf3f74bf7cdb26b2110311be2c4b1f317cd69ba83bdffaf6f5a
|
|
BLAKE2b-256 checksum How to use checksums |
26d15e544a7b51ee2c58d7d164553de65a87c0fb886c012b734aac182503610d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.8.2
|
Release files / miepy-0.4.3-cp36-cp36m-manylinux2010_x86_64.whl
| Download URL | miepy-0.4.3-cp36-cp36m-manylinux2010_x86_64.whl |
|---|---|
| Size | 11.9 MB |
| Tags | CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
c75e00476f0947bbc9f979569060f5579bd94f8650cd0fd56c7da568140af1d1
|
|
BLAKE2b-256 checksum How to use checksums |
6348e4e9d32b956cb513c5f19104cca5d36f9f80386c3b746501ed20070e5681
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.8.2
|
Security for miepy 0.4.3
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.