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

Uploaded CPython 3.8+Windows x86-64

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

goad_py-0.6.2-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.2.tar.gz.

File metadata

  • Download URL: goad_py-0.6.2.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.2.tar.gz
Algorithm Hash digest
SHA256 b80993e1c929d85aeaca0e23b1f8bf757b6e29d408a1f968d30b6915641d234a
MD5 1d146b9eab5115a32e50c1502791cefd
BLAKE2b-256 75e50a505f2faa9df803617bf74b75fc23cc93c52cbad6391aa68990a82407fc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: goad_py-0.6.2-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.2-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f5a01bf95e7a52b3e7cd9bd49e7c6ac074c1e10914e97e84fdb2e8d1ace038ee
MD5 af6d6034b876fe9674b88da82ed483e3
BLAKE2b-256 01ebe27026345075678b0e78c872e644a33b01cde39da8c63f74a25f0ad5bf5e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.2-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 311f7445062508b5cb400fd4851485e41730ff5bc5fa66cbcc845c6917475a7d
MD5 b20ad7f0bd8e2ee44dd08b7e66e9d79b
BLAKE2b-256 87dd39bb530d3bda8a144673543c83b355a69278a3389400c5281b6282cfed1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.2-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 995f88a13eb4dbe3ee45babeb91c5e36be41b43213f542b526c91d7a7a2fa55b
MD5 fb74f6d3b862374bf7a1f2d860b1ff9e
BLAKE2b-256 83913950eb3321d148f1f6d81284a60e3b8eabb65742bd7591d9d8f72a34a480

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.2-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 31d479e4bd0700e93efdf01ecea30eee8d949b0620f49ca4cf5ab563dc0c6170
MD5 1b99c263581de7f401e36276dc2b3b93
BLAKE2b-256 876691c5ccabfd926666b3d0e387ba9640c6d49203b9145eaa99a12c361f82ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 46e333c7501467119aca29371c0e81a1f89139cb6caf9b6ae1acc76346fffc92
MD5 18cab3e4dfb59e2072ae3adf8fd2ed01
BLAKE2b-256 6f4cada1a60c4e50dce81f0266387e799c6f715be0f7a7cf1ffb8554b744e925

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.2-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 3a3749913b7e0125c12a54d1ccc3136155e4b3436412997cf98d851aab8f6d35
MD5 9af1b311166de952924398981544a2b4
BLAKE2b-256 ce1752baeb95185fb5a657f024cba2e6bb469f13d2f6f938cc32e48af84dd020

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.2-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 4c136c7828468fc07c2e65f8b09cd2a8c14ce622bc142a8a6c556314619b0c16
MD5 4fc761b29f3390a0ea40583621254b0b
BLAKE2b-256 076ed56adad3223300f5729fe721a7697fd84431a82ccc490fe3a042ba46c5b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fd11e4110181a511d3331a34c0ef09918c5cd9098f5ae7782f95ad41545cd79f
MD5 8da0560c71ecf980f916fac42b2dc7f6
BLAKE2b-256 83012f6c37f3241d82be4d556d62998d10d64e54dc396b9c4d87054089e5818a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.2-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1038150c72ee82863e3a7bfb68d3e0a15896031721956107cb3e59c2e1155aee
MD5 67c9dea15ade035aa6abb9b193e39f09
BLAKE2b-256 4e91ed8cf5f611c9dc4701e58462ec0d66d44f2f2d0c8e8f175b01219a16ecbe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.2-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8931226e5c28651c1d22e76cd36a8e201dedd3afe8f6945f94cc9da5f2305fb9
MD5 5a429aa7ceaac763ce0100ff8ee48e13
BLAKE2b-256 ace3fb3ed00accfeecd441fed7fd5c880bc33376bce8196f3ca34cc095c908f9

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