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

Uploaded CPython 3.8+Windows x86-64

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

goad_py-0.5.4-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.4.tar.gz.

File metadata

  • Download URL: goad_py-0.5.4.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.4.tar.gz
Algorithm Hash digest
SHA256 61883a43a1a23ba4f76f47f8f823ebdc3c019267e3db4f23ef5b11a6ade1f81c
MD5 a21f917fe08457070de5cb0a64cb71be
BLAKE2b-256 ef73b5b6744b4b2942fd01e30ef9882797a25b705c36b1668c90bd9b4f287ae5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: goad_py-0.5.4-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.4-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 9416dca890beebe25c0a4e2326ca3589fd21b43f87372a003134ddf3927b45ca
MD5 34e4fda5a71d21635541f527d732821f
BLAKE2b-256 a7b376b57abde61d9eb6ad9d6b847ac26a39cd4ca699bb20275d6278e9d54f91

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.4-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 71c4c425ea41f17bb8bd3286c5561883fa6db00dbc6b8a0d6ece7b1cdb8d6f3d
MD5 58f98f3e3dc53206821ec24781ad29df
BLAKE2b-256 dc2e667d81490ab7989ea62ce181aa13c941e82648c02053532ea14e8363ae12

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.4-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 47ba15554e9a2b9d96d52afb5539fcea93bffdc057d5f441772e63e1b2419f03
MD5 f63da3b8229518866ceb17bef00b7ba7
BLAKE2b-256 4eb3f484b34091993f118371c35bde99c0c006a86aa0716e40dbce3aa9fc6f5c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.4-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 fd8308857867dfd4db5ca9e0797696d88f69ed2508e39eb478bddbf14a8f0588
MD5 48c3492a806bc37e08d3a77d3efc1ba5
BLAKE2b-256 dcbdf3f127948bc4da549bcabe2d53c23003274b0ff1cbf959b4dfaa66efdd6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.4-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a7c056ce8540007af917f88eed4974f185009b8a4a0800d58ca6eca113450a0f
MD5 9199c308bf7c1b7c93a2397c6d96da1f
BLAKE2b-256 f713bc35252dbf11300fa52631c2646013a8c04077ea28496f3ff3825d6b9c73

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.4-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 36b66d21f4ebf3c2ed300b01bfc3850337cc33ca72af9c947ea388bc712e4a56
MD5 6c5c3eb33bffde4bb2b465b9386b2f2b
BLAKE2b-256 c1d7a4c174ace18a447d4c240c89e56714eeb27f3ee4f353671e5639e0726be2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.4-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 efb18ed2f3981aed1dbf3033bae8079938fc41629dac1d65f861f189804c67a0
MD5 69c1fa3c5b552fee4f3f0349cf7fb508
BLAKE2b-256 a031d62975f812d966a99db39006506964cdfb448e9ea60bc86676b8bd40baed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.4-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d2810c66b0605fb88427aedc653c4b891f85a089d1798937e9157fb79e7f2e4f
MD5 d131ae6bcc02ce707b4e943f8eda66b1
BLAKE2b-256 78307a9a37f464ed64c85f176e171e695119d9ad4863f362a76052eebca709f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.4-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cf234b542c414e7149b2b4f9ca2d4039dba926994554f8b21b80091b3da18bdd
MD5 1e771c87eb73950d34b3431b85ceea67
BLAKE2b-256 660df56a254cce53cccaa788f21c708bab870414371244ebf79c4a5ccdffd94b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.4-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 98bb54901917cc035764d1334c69820bba3e647a2fac1dfd874cc32dcc726b8c
MD5 38bcf6a23da6f3acf8712f2d5e19d3f6
BLAKE2b-256 e3d315a7caf678806f0b48322a4ee71473842968783f6cd126b36755c97fa7a7

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