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.8.4.tar.gz (1.8 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.8.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

goad_py-0.8.4-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (1.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

goad_py-0.8.4-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ppc64le

goad_py-0.8.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

goad_py-0.8.4-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ppc64le

goad_py-0.8.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

goad_py-0.8.4-cp38-abi3-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.8+Windows x86-64

goad_py-0.8.4-cp38-abi3-musllinux_1_2_x86_64.whl (7.6 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ x86-64

goad_py-0.8.4-cp38-abi3-musllinux_1_2_i686.whl (7.5 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ i686

goad_py-0.8.4-cp38-abi3-musllinux_1_2_aarch64.whl (7.4 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARM64

goad_py-0.8.4-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64

goad_py-0.8.4-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.3 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ppc64le

goad_py-0.8.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.8.4-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

goad_py-0.8.4-cp38-abi3-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

File details

Details for the file goad_py-0.8.4.tar.gz.

File metadata

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

File hashes

Hashes for goad_py-0.8.4.tar.gz
Algorithm Hash digest
SHA256 b9ed6374dc3a28e2812bf5f16e4d2d9513441717c6bfe41aaae2288f6ca029ee
MD5 3b71a042f9f9dd35bddd77d5f7fc41a5
BLAKE2b-256 8d44a1e8f29a3c004079c41dba04eb3f2ed5b436bee6524f72b3e78711aa76e3

See more details on using hashes here.

File details

Details for the file goad_py-0.8.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for goad_py-0.8.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5142136360b3e547f4f22d22fe420bb8d2e1a2d99091d2d2a5db960eda65f6ae
MD5 3133ecf322eaf6f2dc202a6daf86571f
BLAKE2b-256 01bc249b17e991fc49a2620b06d4c7f48fb895fd29660d113ea0bd58c4b7df34

See more details on using hashes here.

File details

Details for the file goad_py-0.8.4-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for goad_py-0.8.4-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6ddbac22359f1c7347eee7602aac584ef01ef572a8cdd80688e51db5180de9b6
MD5 6e15e2694d4eee305b14fb8eb19c7333
BLAKE2b-256 914521bc79f5c07b8198890f990587e3ad3de18426c41b41f043a75db60341dd

See more details on using hashes here.

File details

Details for the file goad_py-0.8.4-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for goad_py-0.8.4-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 0c17f7cff366a088773ee876c7d9c7e2aa4d0f3393639ecdc2faf4d07c6b20c6
MD5 c9fcf940850f9c9c52e97a93e5f547eb
BLAKE2b-256 8e77ab961b9abb7f25f3b878a1bc67c0eea80341ce0fc93b067f418d7dcef151

See more details on using hashes here.

File details

Details for the file goad_py-0.8.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for goad_py-0.8.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e077e8e714d0695669b7202a48bc093517f41eca74416e01296a1a15489f19c6
MD5 17891a6f10783abca54bde3ffc3110cf
BLAKE2b-256 b5832c11846cdb5956e7639264bb2ace4d5fdfc0b8660d10eefff85539ea0d06

See more details on using hashes here.

File details

Details for the file goad_py-0.8.4-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for goad_py-0.8.4-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 bc0a331ee2a885e5a091f7b678737bd93d1120608ced332de906f84e70691f18
MD5 b786632d4b927c80d973830c4600a499
BLAKE2b-256 101c11872c82823ef5a9df53d3ca60bee0ebc14fe9297f3ce943250ed0c21535

See more details on using hashes here.

File details

Details for the file goad_py-0.8.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for goad_py-0.8.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a3922faa46195dc60ebdc8f59b0586a85b43c8e99dc85888953b22b21f0f6bc5
MD5 51bc5ceb39f39d1633392a1028cbc79f
BLAKE2b-256 124849910805eaa14829d68ed524837273a93ee553beccd6a91ab437b4a32965

See more details on using hashes here.

File details

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

File metadata

  • Download URL: goad_py-0.8.4-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.1

File hashes

Hashes for goad_py-0.8.4-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 4ebda0be0c04bb58065c274d9ec0700af81fc7c7fcc34748d39372630a2f1333
MD5 5530dcb54ba986b9bfcec95afb66f9d1
BLAKE2b-256 5366a815295ca624b7a134f34658f605ad728a2107b922c0fb36ad8a72931bb7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.4-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 010224e7cb787823bfec3c0c79a5a7de373014e752fa1359177e207c6348c2f1
MD5 5e4b4a466276d110be8c4f677d34fdcd
BLAKE2b-256 e217363ef2fd6b3cc1ae1dff10a2fad12175a00445158fe04a7d79c365ecee64

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.4-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f3d0484414e40f15bb068e9d13680398ab8137aa2217a66bc6c83b15af8f4246
MD5 541315b1d3c19e6c809f18bffb647def
BLAKE2b-256 9e160ccb4c6c72c22fddf3ed633ec6a13631f6c37cfbf399480e86057edfa219

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.4-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d013624f959d36b7a12f94de8993533883bd2c70818a066b8dfe9eb20c068488
MD5 428cb7a1a34cbc36405e351f8ce3d69e
BLAKE2b-256 0fee9488cb6c18b4c3703dd4faaf380549015cd7b947e516b5e72f12341673bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.4-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1463ad54f341e8fece43aa719669316258d5ccc580de3983a4b4f3a0dfa9a588
MD5 779cca4bd9a7cd7cca8d6d2e7d23f38f
BLAKE2b-256 e4bd388991d6cd9260b46578955c8a2cef49d6a39ea4415addab6f79a00658ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.4-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 38be709d19d77fc03e5f59fc603f99841f68d435fa6817ea43d26ee94bc75b37
MD5 d090f906b40b51356e4dec386182227a
BLAKE2b-256 6184bc3a073462e752ef752d3718cebff19f80b0f021dfe9abd09e33ea1d0d06

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.4-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 508bd5614bae85f8d5416b46b69c57b62745366efea55d5c099a5c59c3931e1c
MD5 28feaedad80a8b66cebeaa73f54f051a
BLAKE2b-256 475fc04b2b0466179c54b121ee9895acd474aa3395b82f98f1a4629527e41708

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.4-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d17703772a341b0f73766525153c807cde0f9907d9c6c1caa49f770824eb8963
MD5 70a5bd2cef421ada84e2a71ce375895c
BLAKE2b-256 9198e383191c24588c5123a63d113405d1fddb8405d4b52b7dc1d26d0fbe4852

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.4-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2c6abf60e3759d9c358cda189b9d801df7f796177ae03028281d7dd5645a23bb
MD5 b60fb7e60608d3b260a35e35dbc5e290
BLAKE2b-256 124c208eb517a841294b4996326ecdc6ae579b6b716edd459e5bfa3ae9011a32

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