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

Uploaded CPython 3.8+Windows x86-64

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

goad_py-0.7.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.7.0.tar.gz.

File metadata

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

File hashes

Hashes for goad_py-0.7.0.tar.gz
Algorithm Hash digest
SHA256 f005eeca5feede35b3087e799a0c100519d31408e0bc7cbeaf03749cdb5d0f24
MD5 fedba5ebd368c829c68d3614f4fd752a
BLAKE2b-256 94cc9188cd48de12159f9850f099738f493a10ef59ef8557ead80d1f1002fd39

See more details on using hashes here.

File details

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

File metadata

  • Download URL: goad_py-0.7.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.7.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 25124281b3c1d32c0bb4614abe04aaae990d0406c566231092d97f3eae7fce7c
MD5 00f728f074e8c7286351d74918b2fc83
BLAKE2b-256 9f597dce7d1433287e54027c0d65cba74f0e4b156ff1dcfa2eb6a8b01b6544be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.7.0-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 89cb9f258a2be1a559b0f961b1b4fed8f0e4b2e198c8d3d1b6aa8980a358e916
MD5 ce0d834884414cb965a93a6e4ccc7495
BLAKE2b-256 8a0b0cf2467ddfd475048b4be67181622206ccf64b16d6c0b82b151e4e93fa7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.7.0-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 7855cf53c9c549bff284d70dc8ea7e382c42df80b54b8d76c32e72fb55ed3285
MD5 f543fa0dd6b96acdcb5a2fdeb7b5943d
BLAKE2b-256 6f3657828df2017ec0512eaef7aa61f91f791a902cb395016ea1c93f6fb909e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.7.0-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 82acceeee0accefc1ed4b31a33bd7c9dcf425f768bc675bf7d2feba2bdb5071f
MD5 50619ed70c2b1776b91f973ab4301d3f
BLAKE2b-256 590f60527bbbab56d9dbf6edd2a1adb2ae0ae23554ae782d982d684118d941b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.7.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 59d4ca7c6275d27e948fbe108d440284171e6180f8ef5b26b603fe5841078efe
MD5 0452ab2a31e69b5501e4178001ffbaf7
BLAKE2b-256 5f73b4f489ab133f5c882ba64c935894927db62e1dddb2474e64c7fa2f8a5839

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.7.0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 f44fcde54e59b4d47750bffc14f7168bd344fe72d27594a8991791613cd2d114
MD5 98c9d5251cf503814a6688c73a5c8e68
BLAKE2b-256 c12bf6072bd3357ed5c59b761c23a9e9d8faad80a6e2af26ac97148fe9c82310

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.7.0-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0aace761f4ffc390e0773b6ccf3087f879f206bb6d4c70dab2b65756a7cdbbec
MD5 fc236a25659e9fcafafd1e5d8e9423fd
BLAKE2b-256 e2f8c6e9f96123bdf70d13b6b09cc81c38b40c172d59f7e3902fdfe946c44e7a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.7.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1084988d68d1d6922bcfb8e8b023aab91e223c30409bd3d7cbffad63550006a9
MD5 22687801f8735638c68658a95a60d277
BLAKE2b-256 850a141ff7e6849bdc1eb8c0c51593fc326e816217b1ad29ccbdcf750795041d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.7.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 288e43143c315a62c5f9e3fc55b00e17678032ef27273f3e8dc0a948f1ee75a3
MD5 fc310a3ebaec21c91ccc26e04595aebf
BLAKE2b-256 f29ba3554609de3ada668aae3bd0bcd2b2b8d1415c19e63cfc80624b1646181c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.7.0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 349f325e2d840c226ab6aa10cd2ce3fb1ad1c2f8a7618c1026721d31e47d27e9
MD5 47c5dff185a823435aad7d0895345229
BLAKE2b-256 0844358d5a923afe37a08df15cda5d4c0ffe9c57ce1c0fbfa25cf0a808120dfe

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