Skip to main content

Physical optics light scattering computation

Project description

GOAD-PY

Python bindings for GOAD (Geometric Optics Approximation with Diffraction) - a physical optics light scattering computation library.

Installation

pip install goad-py

Quick Start

import goad_py

# Create a problem with minimal setup
settings = goad_py.Settings("path/to/geometry.obj")
mp = goad_py.MultiProblem(settings)
mp.py_solve()

# Access scattering data
results = mp.results
print(f"Scattering cross-section: {results.scat_cross}")
print(f"Extinction cross-section: {results.ext_cross}")
print(f"Asymmetry parameter: {results.asymmetry}")

Convergence Analysis

For statistical error estimation, use the convergence analysis functionality:

from goad_py import Convergence, Convergable

# Set up convergence analysis
convergence = Convergence(
    settings=goad_py.Settings(geom_path="path/to/geometry.obj"),
    convergables=[
        Convergable('asymmetry', 'absolute', 0.005),  # absolute SEM < 0.005
        Convergable('scatt', 'relative', 0.01),       # relative SEM < 1%
    ],
    batch_size=100
)

# Run until convergence
results = convergence.run()
print(f"Converged: {results.converged}")
print(f"Final values: {results.values}")

Features

  • Fast light scattering computations using physical optics
  • Support for various 3D geometry formats
  • Configurable wavelength, refractive index, and orientations
  • Multi-orientation averaging capabilities
  • Convergence analysis for statistical error estimation
  • Efficient parallel computation with GIL release

Documentation

License

GPL-3.0 License - see the LICENSE file in the main repository for details.

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

goad_py-0.6.1.tar.gz (2.6 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

goad_py-0.6.1-cp38-abi3-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.8+Windows x86-64

goad_py-0.6.1-cp38-abi3-musllinux_1_2_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ x86-64

goad_py-0.6.1-cp38-abi3-musllinux_1_2_i686.whl (7.4 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ i686

goad_py-0.6.1-cp38-abi3-musllinux_1_2_aarch64.whl (7.2 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARM64

goad_py-0.6.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64

goad_py-0.6.1-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.2 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ppc64le

goad_py-0.6.1-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (1.2 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ i686

goad_py-0.6.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

goad_py-0.6.1-cp38-abi3-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

goad_py-0.6.1-cp38-abi3-macosx_10_12_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file goad_py-0.6.1.tar.gz.

File metadata

  • Download URL: goad_py-0.6.1.tar.gz
  • Upload date:
  • Size: 2.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.9.6

File hashes

Hashes for goad_py-0.6.1.tar.gz
Algorithm Hash digest
SHA256 f96f0ca4afb1fc8602f7a3feec4be9504508cd170ba29e0deb1530c51a538316
MD5 78d501f40af20974233ddc378896ed5f
BLAKE2b-256 5304e259e0f4356ba087a354c0712ade84786da54b0692698dfcbec3a4503078

See more details on using hashes here.

File details

Details for the file goad_py-0.6.1-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: goad_py-0.6.1-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.9.6

File hashes

Hashes for goad_py-0.6.1-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 7c94d7f27f9f81d1a16548a1c58922ee5aad5a83adfe3a593e4cb9bae23f550a
MD5 70eb5d443abb090f05d0e1c715031b81
BLAKE2b-256 292afa396697077434e73865bfb530ee030f26ba393acb16a59fe9b4040588ea

See more details on using hashes here.

File details

Details for the file goad_py-0.6.1-cp38-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for goad_py-0.6.1-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 792d877cbf0f3e680bddc23640714f820c2c9bb1d439fddf7e3f48393bc613ff
MD5 ae97688bbcfd20d356dc709f39387fb8
BLAKE2b-256 39dc401973bedc24534259dd9afd7f0391613e1c8fcede7c3596036f35791751

See more details on using hashes here.

File details

Details for the file goad_py-0.6.1-cp38-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for goad_py-0.6.1-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 663e018582754f5d3e250f12c96aebc5cc0d732910c79211ae3c7d10b66d2cc9
MD5 75432d47e0b6d1333f962f357e119249
BLAKE2b-256 e8d2076cca2f11ea65e64cbb36a52e7aad1e51e6e52c77887c577f6d2ef861a5

See more details on using hashes here.

File details

Details for the file goad_py-0.6.1-cp38-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for goad_py-0.6.1-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 47a3fb4cac37f5ab19e65389908304194043a317cbf89f7209dadc83d1de731f
MD5 a1bfe754fbf141e4431bbc7245ee967e
BLAKE2b-256 3aee97e7343693e3401bce00e066344b7ef521e7fb73de81c0abb73469011892

See more details on using hashes here.

File details

Details for the file goad_py-0.6.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for goad_py-0.6.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 55d8ff0c49c5162dc28bbcc7e64b3c362a2fa574093f58f07ae4f1cf49c989a6
MD5 33dadc25e6bf1149df3d34fd6660d5ce
BLAKE2b-256 074f0e16ffbbe0aaad7ba4d1ac9cf89a74a0a8492f8acbb07af3d6abe5aa6652

See more details on using hashes here.

File details

Details for the file goad_py-0.6.1-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for goad_py-0.6.1-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 637456467dd91df83e9e7d232af7b5bc3564f0c8f836cbc7e938fbafb73f5aca
MD5 76ffc6f981edc331cd079c7e97eb2923
BLAKE2b-256 8e436af4ccb818797f863533384e136f517d1aa897beb2162bdf46d99edad69a

See more details on using hashes here.

File details

Details for the file goad_py-0.6.1-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for goad_py-0.6.1-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7c47c542a6f85623f88ee4cac0e33814eb4fdc30406d7489e12373015dfb5d9a
MD5 dcba88e1b2abceb3cf731c4b0f30bd05
BLAKE2b-256 83ab162e1b8128ebb82c9d284ee67754ceaa6f3d2f5e81c3e8f62f56ec45e894

See more details on using hashes here.

File details

Details for the file goad_py-0.6.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for goad_py-0.6.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6adbd71c10291b67173a383d7105484fe0ad11bdab7989d9ceb94034f0c2f9ba
MD5 0a6422cc2ce03edd730347093a918d38
BLAKE2b-256 c5a1d9b3bcacdfc5690e9945016c5cb5dcf03635543843122a0d9704e487cd44

See more details on using hashes here.

File details

Details for the file goad_py-0.6.1-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for goad_py-0.6.1-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f3cfbabe2837073e4a17c077feee5c080f6ae4c3db1d96110497554a2b5f8308
MD5 4f9a5c42414934ecf01fa6a630c3341a
BLAKE2b-256 8dc6cda78cc67c4e284a2c70edb1dddbc18569f89d08e99f2e6a8999d84e5c77

See more details on using hashes here.

File details

Details for the file goad_py-0.6.1-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for goad_py-0.6.1-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6ccf51ccfb6b46c3af7a8872479ca7052307b555d7bd2a088984a971d1f1abcd
MD5 09a39acc829bcb408dc162b93a78f277
BLAKE2b-256 63ed36b9b6e2fc7bacc03e29aae98cdea4fca506a60cf1ae11ad408711dec3c3

See more details on using hashes here.

Supported by

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