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

Uploaded CPython 3.8+Windows x86-64

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

goad_py-0.6.5-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.5.tar.gz.

File metadata

  • Download URL: goad_py-0.6.5.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.5.tar.gz
Algorithm Hash digest
SHA256 5b97b18be49b86eefafed561d9cb9b6016fcdfafb0b631f69ee5fd73622d7525
MD5 90469b9aff93cba4f3471429ed38bd5c
BLAKE2b-256 1563a64d5d9a21c1e042f1cabf4e814ef4970bfdd00da260f2d0a7b165e3eada

See more details on using hashes here.

File details

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

File metadata

  • Download URL: goad_py-0.6.5-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.5-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a2a66fa7cb6cf667de48f61eae1ae17d30fa9417c967a25ec2f8d29b61610203
MD5 7a489c34dc9153d55c62083cdbdeff81
BLAKE2b-256 256b4f499976d3347368d4a2018d035aada8f5a160f9285da1820f93ccfab62e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.5-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7df888dbb0f48ffd1e3818ee957d5e7f2b7ec29893a899ee90977e092e1215c7
MD5 5bc09317feb6ebcdcf56c76dec65649c
BLAKE2b-256 86c0a3ea4018108675bd49f048ec80e8b46c05a273233855474bff113aec0c4e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.5-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 14ae1b258bd6948753ff231c495df832f3d9d8c5debe3b1fc2d1cf13e18c1cc6
MD5 817650a2ab6d1985d12c659a6a7fa795
BLAKE2b-256 c2f5b351170d3a9d8afb97505e2db04106c0cec373a55e1432cd2108254dd8db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.5-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b4793212c47f51a49d61c959b786531dd0d0cc9b30d6951985a1519042d1989a
MD5 d321e2cda391f295af3e2f3ee45051d7
BLAKE2b-256 8761d5f7adde99f547485bad6b3fc29d79e1502f94e0a439de7f916b21427d74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 62fd0321f3f7ba0c1520585cdbf5dd3d07d49af907bdcb1338158c1160627d70
MD5 981f527890001c918d4f4408b946edcc
BLAKE2b-256 d33b3fcbbe4c03f39a3477467b91e4f4b9146f1e3c0f131bc494bee2ba81c267

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.5-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 fc57902946bc88e59d91c4c87f7df5c276c624fa8f53fd8b8477b96408bcf463
MD5 2e2ef5a4d775987f16fe43b525f27804
BLAKE2b-256 80766ea2960741a1862cc6a01a7e81c62d480a27b0f6d386781ade27dea46d5d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.5-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 86887a15b60b8905696f4bdc54a450a7e2fbfece0db96f460474d4459f1a76b4
MD5 1e99f0578eafd2424f5ea21daaa80a7b
BLAKE2b-256 04a4b5eeb16d1ee1db29c351d347fda8b7e864e4430b8334623d3e5f9ddad7d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.5-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2daa2f48330519979001ededd97e0b095444501f79bfdfe3e6325b519700a718
MD5 61c985d5b84d7846f1a5f2c80577644f
BLAKE2b-256 dabcfe19aad9debb7388fad0ee0e98f83a3b443a24a95137db3d4749bc4b3039

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.5-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d778000bb686a006057bc27051043e4df44881d15a9652c5cef2460e3e5277fa
MD5 4ef3d00a7ddd1f004c37be25d7c906b8
BLAKE2b-256 96485c2a89219ab1ceac7f2caf7c6928fada272be55275b5c8a7879a43f2ec3a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.6.5-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 34ccf9e6ccb2e7ef3943f76567e75577aeb0a151fd6fc01be38d1eebfa0e3ae1
MD5 1eb714110ead641649a01aee0956df66
BLAKE2b-256 e22c2c4706b756b7de8bd82cf83a8e3af6108bed81f0dcd5eac61b0d88fe7c62

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