Skip to main content

Solve Maxwell's equations for a cluster of particles using the generalized multiparticle Mie theory (GMMT)

Project description

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:

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

miepy-0.4.3.tar.gz (6.0 MB view details)

Uploaded Source

Built Distributions

miepy-0.4.3-cp38-cp38-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.8Windows x86-64

miepy-0.4.3-cp38-cp38-manylinux2010_x86_64.whl (11.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

miepy-0.4.3-cp37-cp37m-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.7mWindows x86-64

miepy-0.4.3-cp37-cp37m-manylinux2010_x86_64.whl (11.9 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

miepy-0.4.3-cp36-cp36m-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.6mWindows x86-64

miepy-0.4.3-cp36-cp36m-manylinux2010_x86_64.whl (11.9 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64

File details

Details for the file miepy-0.4.3.tar.gz.

File metadata

  • Download URL: miepy-0.4.3.tar.gz
  • Upload date:
  • Size: 6.0 MB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for miepy-0.4.3.tar.gz
Algorithm Hash digest
SHA256 f53ee42fb30fc894c6c41b58df7b1e30f11a0d3b7f38c220c5a3b67074b96f59
MD5 58e18258ab05b1333e000cef021e5698
BLAKE2b-256 5c5ed97e0df8083e52bcf2fd7380f873d8b15afc8114a001da09eeb35df807e8

See more details on using hashes here.

File details

Details for the file miepy-0.4.3-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: miepy-0.4.3-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 7.9 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using 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

File hashes

Hashes for miepy-0.4.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 b3e0ebbe03ff19ad5425929ed1a6ce8b5f9d4c21e579af29e59a7b335d4672ad
MD5 30848a1400d666773eb954bd88346c2c
BLAKE2b-256 0ec6286322145a9116255449c6529a07f3a9d0ed61b8101475e9e51a0ac884b3

See more details on using hashes here.

File details

Details for the file miepy-0.4.3-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: miepy-0.4.3-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 11.9 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using 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

File hashes

Hashes for miepy-0.4.3-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 d6684689cfd5305f96c30c8ca1fa5bc2554e0abede27337d963993b7ac557603
MD5 1a74f5d78c401beb10d1b834a26345ce
BLAKE2b-256 b27ad9e03844a66ff5711bf65687ae1511fc2a15b6a680edc5e820a052988231

See more details on using hashes here.

File details

Details for the file miepy-0.4.3-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: miepy-0.4.3-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 7.9 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using 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

File hashes

Hashes for miepy-0.4.3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 6d8aba0357e84b401347e5e7b02fd091a2d309ee7644ad62a77d6e5bc8682b92
MD5 e71be1e25dd728c67f70162f40b0d989
BLAKE2b-256 01ac4cab9bb1927ab89841c8c7b1de99325e287743baed14f7c111f7ef27b8df

See more details on using hashes here.

File details

Details for the file miepy-0.4.3-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: miepy-0.4.3-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 11.9 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using 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

File hashes

Hashes for miepy-0.4.3-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e4e0174fd5fe56897483d2ec53afb04a074a32191aca2ac38999f233ed6ad51c
MD5 89976b6fb24cedabf879d671382477d3
BLAKE2b-256 83452ed24280f3e036bd8a81d56dea1f54e656edb35f8f3203e28b83c6094833

See more details on using hashes here.

File details

Details for the file miepy-0.4.3-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: miepy-0.4.3-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 7.9 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using 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

File hashes

Hashes for miepy-0.4.3-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 de2dd28952c4bdf3f74bf7cdb26b2110311be2c4b1f317cd69ba83bdffaf6f5a
MD5 11da56d2ef9a8a781edc215b7422f17b
BLAKE2b-256 26d15e544a7b51ee2c58d7d164553de65a87c0fb886c012b734aac182503610d

See more details on using hashes here.

File details

Details for the file miepy-0.4.3-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: miepy-0.4.3-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 11.9 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using 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

File hashes

Hashes for miepy-0.4.3-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 c75e00476f0947bbc9f979569060f5579bd94f8650cd0fd56c7da568140af1d1
MD5 611996007616a939a182a21c22d79034
BLAKE2b-256 6348e4e9d32b956cb513c5f19104cca5d36f9f80386c3b746501ed20070e5681

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page