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

Uploaded CPython 3.8+Windows x86-64

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

goad_py-0.5.6-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.6.tar.gz.

File metadata

  • Download URL: goad_py-0.5.6.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.6.tar.gz
Algorithm Hash digest
SHA256 0e264250c4509122ad451d203d398b4220f3262edee82a9326f5cc066616e53a
MD5 bfe6e734e6c28a1844e49bbd878ffb2a
BLAKE2b-256 d0a50370db00a25b296edf8567e9466f0262bc86aefc2423a0bce872e30a84cd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: goad_py-0.5.6-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.6-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 212c2322bcd4266ddf164e32b499b6c6d6988e60e1efecb9f7454fdd55f40743
MD5 516858008a25df798d37b1411c75002f
BLAKE2b-256 dc5a46cf00ce09248c5054a70889730969c536ac847dc67c467021702fbd72d6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.6-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 555a62b1442f732c879cae42d4158455ef2637e8fe027fdaefee74c4d4be5827
MD5 d679c56071c686030c0fc6c91548f311
BLAKE2b-256 d56129da19ddd5fe6e1c6638fbfb258d8134a9fe63cfcdae1b35ca2483d96c54

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.6-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 ea5db37e0e39f437fc669f5c8f82978ad2c92a7eef728adb804edb9a50daeb9a
MD5 eee4de0ea5dc1c35e808df7621702d2d
BLAKE2b-256 d97ea59b0b94865608030e99095142560570056c66077900052f0a0284c3d08d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.6-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b121902719794a18ac9670a5b071c482b01c2cba6a88108e06d9ae8961d21b9e
MD5 159b7512d556f63a46dc6906e062d4f2
BLAKE2b-256 38b01e16ba00d76404781015d4b600e35c161cbadeb40ea395c62d44fb27d825

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.6-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3d1102106022fd7661d78e96dd7089986b45d61dda21c87f7fd8c6fd5109bc65
MD5 86245a998acb185c7bcb66e5cda243bb
BLAKE2b-256 320a93ebe100b6ad1113e76c4d15412070bb0df77d4dd276bfd08988b11e651c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.6-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 2636b075b5cba81f0f25259a9dd6e04b025b7bc3e8c9f035a7634150f861632c
MD5 95d28c67f83658a1588d3b3ec45d8c26
BLAKE2b-256 9ada113bfdca17bba2fb50896ca50e23b9205606735c28883c2fa08fa615387d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.6-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 991133e8a32bd2c21977d858a0afb0d3ece4d140c74da86a63e05970b3ef8258
MD5 7ca6d02c0f01ee964dc84e56f72de64f
BLAKE2b-256 6ece8091ff53712122b79f527b41ba3e54d410126a60653135f3fcb6afd6f174

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.6-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f6491e85516f5efe0053544d3a63aa181c8afb11fa0afac0b9875ea8fcb45490
MD5 ab0da6dfe16f7d39c18748a17ada81c0
BLAKE2b-256 32ea3c9b33259cc0000ef7d5a15a2a6fb824c7329781f62e7b3fae2a76e24c4a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.6-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c1bd5e65a877b6763d626059a0a77c1e055a7ed2817459b71c734c9c05463655
MD5 dc118fd4f4f778c4753f4a40b120e9dd
BLAKE2b-256 55c40951fa92c72a678c2cdab6e094eaf18374f6cd76c0a13ede0e3ff3482b70

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.6-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ce5f2c9b51bed0f1c162484defe98e626881dcbef8882f2ab4e3075c942f39ce
MD5 20ce14eab82473a1e8fbd00fa04062a1
BLAKE2b-256 77b30f1062e3f1c11c3db3367a6e802de72aa0065b0caa4c9326c126abde7e2f

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