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

Uploaded CPython 3.8+Windows x86-64

goad_py-0.5.5-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.5.5-cp38-abi3-musllinux_1_2_i686.whl (7.3 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ i686

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

Uploaded CPython 3.8+musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

goad_py-0.5.5-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.5.5.tar.gz.

File metadata

  • Download URL: goad_py-0.5.5.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.5.5.tar.gz
Algorithm Hash digest
SHA256 561a24343d8a31ab6365425e6da887c0c3cd1c055c738394a811ee69fab2c2f7
MD5 154fdd34c1f5e0af5049d70549aa3422
BLAKE2b-256 e9c796e920537949d43e228b4d2784cc720d9e8a0ec255c6950b06b9c773be85

See more details on using hashes here.

File details

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

File metadata

  • Download URL: goad_py-0.5.5-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.5.5-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 517922e705de4e22586dab0ef8a39c4fdb0945e0c511f342ab3602f4ce4dabe5
MD5 b63273ff9d53ae8334b42a36ce8ab9df
BLAKE2b-256 f5c7ce6661a1e08b4e8559e733628bd495f1ff7adcdccf68eecfcccb15f908d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.5-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f839a28a53296b7180ea8f99135d0e432d5cc33b95cf33e82a1977d6603f39ca
MD5 73d192a0dd61c3049d74139b9917908a
BLAKE2b-256 343e1c5ac3d0fc4f6c0a6ca23b30f6810ad7c231ca57179d88e6085c9203a653

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.5-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 c54393db1a200d41abc357fb38b484556056af9b81decaed4c71024ab96dc51e
MD5 64404de8b8a36f12be51317d887ba9b9
BLAKE2b-256 827212b916b28aaff555382b4722111ea19f21a1e77f998cc63f149f6a93c9a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.5-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 82d443bd606240811a3392b9d34e615e1c8953a0f4661b2e24298870c05ba333
MD5 151174736c809e4e38eb7ef771d93a2a
BLAKE2b-256 a60f9347265350f6741f90549338084b7c5e25e1c776b7ac555a0a4e51f250d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b80cfce40c072abf99915d2ee323628a862d84e7b290df5b8e28cba4c41157fd
MD5 16638b426b0c40e4b8736cc0966b0e0f
BLAKE2b-256 7725370c8f29c0a364c34dd2a9adedf29373aced01e218f9ebbe76fa7e420775

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.5-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 fcc53a3ac079477b0f01411f6a3895b310edc6ea33fd2926d4f057e870ecf5dc
MD5 d6d5d226b286a974f425c4ca8d2ead30
BLAKE2b-256 3b63897bd3b5f67f607e8b4e7a5c91b7ddb9786cb41214fb30128d413122cbd5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.5-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 52694cd167f55fce0a8e346df699ac8c674a7c874a97b0e2059cc0623e7b4979
MD5 a411df6b28b587364d28449a4adaccb4
BLAKE2b-256 3040375fc3a8320e7559ac399145a61e778e18e89f9fc116f9c2ad4e5393590a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.5-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f10abf6f47b2afe3cd51e47aeda5a90dcdff10899546d554bb95a067f03e2af5
MD5 ffb51b76ea584b4ff53afca8e576871b
BLAKE2b-256 960b472bfe13fd7ae75600b19e41a8c27ff2fbab42528960a923fdb0422a0c24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.5-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a108c18c710cab1369a041b9dd28568a6236af4916bfb6063753153a8b5b27ae
MD5 d19a5f61eb0cf39f39d062e9e2e0cc09
BLAKE2b-256 f71cdc4682dc0c3ffe0fc958631b26d7e5033c107650c0814490791c8b1cc654

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.5-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 303d30bc7db8dfc3b2553a99008b6055929ec25b58da7d5f857ea525705d4be1
MD5 af375c7908ffb8635d433f30db304148
BLAKE2b-256 1723c9e21b998cfd84da1c1cb30f11a9f25a2e3fa888a7664c5ee4546de69748

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