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.8.0.tar.gz (1.8 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.8.0-cp38-abi3-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.8+Windows x86-64

goad_py-0.8.0-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.8.0-cp38-abi3-musllinux_1_2_i686.whl (7.4 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ i686

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

Uploaded CPython 3.8+musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

goad_py-0.8.0-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.8.0.tar.gz.

File metadata

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

File hashes

Hashes for goad_py-0.8.0.tar.gz
Algorithm Hash digest
SHA256 af33c675b00a6b0b214f9d2e64e67495d3124665dc477f0e59022109aa47476f
MD5 803be41df8edeb473081e83159fd481f
BLAKE2b-256 b98598d23e1144e7ae0d0624d224aa9b70bd003abafa9de9e2945749fa1418ed

See more details on using hashes here.

File details

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

File metadata

  • Download URL: goad_py-0.8.0-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.8.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b822fad2930ca4514ef62daeb117a2879f79e44c6f22a17d1312822156d90a97
MD5 0392d3a403e51c251c05f8836bbbe2af
BLAKE2b-256 37a102f063740a9c344c26adad7ee62a1742d23bd71cddd1b2b7c96a36667871

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.0-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1331c5439c513f59c68addca96fd24237d7dd8d8388cbacc762ef5425e13dfaa
MD5 04b02599bcfb15a9f12e033f84f099e4
BLAKE2b-256 7f025238c5c97cdb57770904f63ae1e1eb4b5c04ca4ce04d84063b090c68c047

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.0-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8fc0f9496e6c43a5cba1d76c9f74a0033403123d3825f97d10f676ddd19afde4
MD5 c2d8aaef6d5782239e169aaf1977b9cf
BLAKE2b-256 7b67effc07a6f18aa1d7c7b6fe211682ab7a5e0c311cfa40cdeeb1728f408013

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.0-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3acc1ccbf90d6439a0b775a5509854f4bd594ad22a09baf5599bfd7dbfba6217
MD5 0686eb11a98871779c186ae1af55e572
BLAKE2b-256 c429475d6d60cc068068d8d204a69d77989f05afe1fbec81dabe91d3aaf1b226

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e5b3c06515e1457a54a08398449b01c38d06707e948a34da2f0afab62f355d4b
MD5 c6cc2bae95f4e26816bd9e9ab925abc3
BLAKE2b-256 990cd5480baf7341842e1b38cb4e68802e5e3b360231a219abfa1c964aba503c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 df6b2f13e3693b8b5efd69c39f7d78f8b77181cb9578a76d7ffe758be0fffcb3
MD5 555312ecb13c49e2f267c97b384872ab
BLAKE2b-256 0b6929408423d8c99ce9e589b609510e4e5f06058815a58e86368f11b95a04f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.0-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 41f4dded8ed8cb99d5015f03aaa09da59381620185b5847646712a9bf227fca1
MD5 7fe6b03e429c3d294b7d4873e3f4ac90
BLAKE2b-256 3a2c2a57493ce12d5845d15e05bf956793914018bc306655f94243ba83dd6f38

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dda257fb985fe6c231454cfad4e12540387f2ea57c005b4a58b465a5beea88ad
MD5 8ec80755e7e9aae4ee7402cc19b0eb3f
BLAKE2b-256 c82effda7f27aa2c0dc5d21131392956a95fe050131d9e666a51b3d11c4838c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 550aeb3ac02ff342907ca8188bc8ec6d4c979bae79827aea4b592509aa7d2047
MD5 0c231d8946a39776f2689d52c01c37be
BLAKE2b-256 de7d38fbc356bf44395fc070a8132b1bcf2bc67f8bf5a5c38839f11ab98dbab8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 231f87cc3e0cebcf5b360df336399de9bf9a7a52e10cccbdafcd25af1983d192
MD5 d282ec9e34c269814c91c945d858ca50
BLAKE2b-256 2ffa8195196b22424a8f807df53055179cc7d483abfa859f317b58f189e254b6

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