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.4.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.4-cp38-abi3-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.8+Windows x86-64

goad_py-0.6.4-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.4-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.4-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.4-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.4-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.4-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.4-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.4-cp38-abi3-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

goad_py-0.6.4-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.4.tar.gz.

File metadata

  • Download URL: goad_py-0.6.4.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.4.tar.gz
Algorithm Hash digest
SHA256 63ff82cb047aee64c10d9193ff721d1af087929863b3fbbb149f8fdb4475b8ff
MD5 b3477c63f4b3c8080e3c434d4dfed9a5
BLAKE2b-256 9952f6447b53d394da3763fd7a2a730ba894415a5687a65786388aef5ba06ce4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: goad_py-0.6.4-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.4-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b285807fe258fcf667648da63e96df22369cb14d8cbca286798e6dbc3a515790
MD5 ad2f4da680ccd50744933e24e7a52d65
BLAKE2b-256 12e317c7ff60a1ac5d70a1c7a416d20a590f5265f6076b7f1dddcbff74e7cd98

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.4-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 960c53693173a3a15b8f5840cf38c1378ccc4a3ac98fe04c6da6aad00f7dd8b9
MD5 9fd134df4ce29178a00a0c9c7b854778
BLAKE2b-256 c5cc3aeeadf9c9b426cad842d274c1a6340c938df4e06e561cccaede980ffc79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.4-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 dfc6c8c382e044c7fa3a418b3f87a61cf1ed2d03ea329c56068d4f1b5fca2744
MD5 53f2444aa12679891c0648f27fee1a8b
BLAKE2b-256 52ec004b5fc72a0d7db2d663ef6acbd119f3cbf7522010996e67ec9e1e32e685

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.4-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9f240025c86cc3dfe7b21402a853d13d7394e7fe7f1266d92248a25770c0ecb6
MD5 8953a2b14ed654991c3493de34cfd697
BLAKE2b-256 3347bbb416ecb83fadace38f96ab2fb694c4a00815a2cab8c508da11a1c55124

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.4-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d2ef8bf2298356813a8130164ff4f4e462cc48553da2a32c7abac85ea8d0f0ce
MD5 d9821506d5a338068ed801279722c90b
BLAKE2b-256 23180738b038a833d6f2f3b2aa70db77a10549166f9242b4a839e5d0cb6575c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.4-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 403b0dd145492c329f331709702b21e99447096e9ee8c2c965bc97f1f508eafb
MD5 38c63e1530e99f40bb7f0cfa8941e1df
BLAKE2b-256 bf8c6deb0d774c6e810577bcea64d62a0523f99a92fa198c3ff4cd550145c0c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.4-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 617285a0653fd13835d822b63a606af6fa866a080fb501260e140562619edc6e
MD5 76586ebd79ef48b6aa21c856d3619d2b
BLAKE2b-256 d91620f3e36a7ce1ec4f60f67285dfa5ee6a17d3697c8c10c84881f65355da16

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.4-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 da9571bc5ee15b00ff61dae05b6312c34c9b0010a75af62b56c27e313c2ee350
MD5 e2336e939c9657210b4cded6e0aa39d3
BLAKE2b-256 e33b3d962056f728f7221637784c04e289623233574de63116b5fcda9a23d73d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.4-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eb9408a2c35a679a3c2422bc631178759fd94cd359f5b27a0d158264c4e1b6cd
MD5 21d4b380243bc5fcf70f8d2fe2d8707a
BLAKE2b-256 5d6daf69da3f1ee4d71f06cd046f703f6f25265a4096d51c6f091a53d4cd3caa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.4-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4e3941680581b74293202c3ac2146a486151025467364e7b4367fa408aa6fb31
MD5 60a56eae03bcb829a9ad1c221ff3da18
BLAKE2b-256 0512baf86c6bc3935f0371d4ec8b8628b2f0ed86da215ab22b6cc1c19664486c

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