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

Uploaded CPython 3.8+Windows x86-64

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

goad_py-0.6.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.6.0.tar.gz.

File metadata

  • Download URL: goad_py-0.6.0.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.0.tar.gz
Algorithm Hash digest
SHA256 b5090571e598e2db8bc4b2152cc6f8c99a68dfe4da3b47c4832fbf93a09611eb
MD5 fdaa1b105b158c7206936bd862901fdb
BLAKE2b-256 03a09f8e404b01bc0ed434171475a0950e1cb8996d8850d7d86b0cfa06b590bb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: goad_py-0.6.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.6.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 52d777e5b68a52b6471de4e8a01dae86d671760d7171d921d219e34be4c520b7
MD5 a288b6356cda38ee9cfb48ebd8d34086
BLAKE2b-256 69b97275433c4b608e8ad7987380bd0317167d457ee2420012baac6a09138146

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.0-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9e1719aa6b2c93f9460d4bc4926c11ca8e7881b240fdcfcba9b15d3d90d4d93f
MD5 c2979c5641b5eaf7bf83d3e64f7a41c3
BLAKE2b-256 b7a2c5b041f3e9e8acff81aad0cfee4f4d610ab460254ef860475cb537b7c585

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.0-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 855ee1afaa6d90cffddebf9480bbf14bfa41ae5977fdb588a0f4924366c92ec3
MD5 7f2f2fadb497102c968831bce29fca25
BLAKE2b-256 7dda7dcd08290d996976252058f3fa7a197abc25308c4ea111a8281e5b1b7b44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.0-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d144456e398def59a24aa9aea26f213f34102c07bbfa09512e2b2cb57236f2d5
MD5 e2386dab0252b6f0d90b98f0031001ea
BLAKE2b-256 04d64619ce19b1422708888ae9933a72a84c4eb3aa336817a2392e6a252a0acb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3a32def68343dfc88f02b21e265f14f292b9688845e0da73d9292298ff0f1376
MD5 a950cff39ec460e72e425e2a77e0c858
BLAKE2b-256 5cf365b0f6908d56a63c1e1422c713f02fa3afd2914c5e7c1530c4cb7f069cd6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 9a80bb224cd34684268ec5d69749a2c5287f8c704548d38f354e609cb08ae650
MD5 c5ac0e529d8047f1bf44f8eb730df602
BLAKE2b-256 64fc22daa8facb135915b7e38a811188873221b5f8dd881c381f90aa9c5bfa4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.0-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8e2ba8a035991a3bcd2648ef358a54b550266c2af3a31750953787b564cec3fe
MD5 4155f662449db34c2b66c9eda2407a72
BLAKE2b-256 cbc734026d6da38c01b488fd73a6791e64c3139fbbdbabfd8bde5fb98335716e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 88dc024d165ce33fc3cb22f87c9c8b41395fd28f98c50a9d58145c0e348eb592
MD5 f92bbe1b7f84bef2fb6b112e50e3b416
BLAKE2b-256 0109354e837ecece1e7b8afd8a14b1880c1e87a5a862c6708ead0df8a8754058

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9024951494a0a506cc7c0868809832c4b724dfaafed1803c5953dea9d95a89a9
MD5 4e8af56a63222aae6a2abace6647acea
BLAKE2b-256 faa61be6c14f2f23be21fd0fe56931cb496be81924692c81a7ca8482e4d7210e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 72b9f02b42676cd67773e52074852704faf0c7078e36d203d5d6647fa033996b
MD5 efa8a61d7779a6a0b1240c71f12df60c
BLAKE2b-256 bcf6b47bf86c980e84e08964ea7ccd10d0c21053aa1da6da3d33aebee7c8d3db

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