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

Uploaded CPython 3.8+Windows x86-64

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

goad_py-0.6.3-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.3.tar.gz.

File metadata

  • Download URL: goad_py-0.6.3.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.3.tar.gz
Algorithm Hash digest
SHA256 90b282eef8c48a565b61eddf6b1d18f3004c07c3e825524ceb42a5b027261204
MD5 824a79e77c1118b8871acc43c073875f
BLAKE2b-256 c19f4c2a47c84f95f35445a3181e7001ce2fa851fc4c87562bd26db8aabcc0d9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: goad_py-0.6.3-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.3-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 e33a0c3a22cb8160032bdcecfb4fcbd000c2a8ce600c74c3578ef86aa47803f4
MD5 bf6eb4171e7f2b6f8fae7c365449b732
BLAKE2b-256 cd68fdb262eca74522bb44ed54372781140dd6fab1a1b17ac0e72b2565776748

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.3-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 32e9f34991ad43265cb7808ecfd43be436c4e05ffc4e46e6a08667d0088bc3d2
MD5 486d7cffe21b752f5f672ce56332190d
BLAKE2b-256 9c22ee3590fa8f8be855f703467f8bb6edbf9864c0aef136653528223a27d1c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.3-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 b3d7fe7eb9b2637f23d0016942319f178910e1f3994e10759f1267c2899995fa
MD5 f6264e29220bf1d43f08630ca1277f03
BLAKE2b-256 971a2e797a0a5c8bce1a9e5c4436b5165556d61e292e5132a9a3b538ba0c93d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.3-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0a5caf9850c923bf78794c461f259ff93d1adf2c6ab9fb137107487672c98d60
MD5 69741ce3ed2141682834e19df232171d
BLAKE2b-256 aad142ecc716ed5e42d05fe1a111975ec8f398b4a91a4524ccf36a4051ddcc89

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d0ffbf031cf2f34aca7cdc268e094540f11ead6cfb02ba39ec260488ea734c54
MD5 b4d6de79545f396c5344a71035e7b229
BLAKE2b-256 aa9d375687bc7ce9782c07642aebed006e9245f479f0105e2711dc1b235a68d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.3-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 9b2516ad89e2f200ae23d3124419add8729c56ebc4e026de8d45d858a9ea1c55
MD5 9bb6d5e2713d2c84408fe1b519e7050f
BLAKE2b-256 e46e0cd0e2bf26579c118eed2c5d17d4c52c9dc44503250d2eb9dbd72a379e13

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.3-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 fc2a85960d66d2fd1dd0850653b11f0acbab05b22c8e556d103ffe3d1e0a7b77
MD5 4eeca7e9540156e4358a15662419936a
BLAKE2b-256 5e68113a97ebd8537f2072eab171d863750610dab942221aaefa3f703e17513e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a991cbf2cc99780652e3947687c6a27b510da97246e6d8f20b1773028d37fde6
MD5 28e26133189ae43d26602c8e1e20067c
BLAKE2b-256 93f4730fe7a4944c969923d3dd4b089c16549efbd49fcb92fe59c1c77896943a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.3-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8de8b0bbe679f5927921170f20103ca400bb01947b80b11283ba22e7051684ba
MD5 fe3464775a8e1641f63ebcbad22d10dc
BLAKE2b-256 edd05eca02c43ef3d5b0c798bf79b67f92a4aed522ba13cc0b8bd9fc41931a05

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.3-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4285708b3d04b38accbf3ef02af91e501c53be626ded99ac0803b36a9e59f00c
MD5 d541b063c2f187d9e8fc73f32b1b3130
BLAKE2b-256 9e8ef3c945db535c65668096fdbfeb72fb73a3cfe1feeae84b3148c5a041c716

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