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.4.2.tar.gz (1.7 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.4.2-cp38-abi3-win_amd64.whl (987.4 kB view details)

Uploaded CPython 3.8+Windows x86-64

goad_py-0.4.2-cp38-abi3-musllinux_1_2_x86_64.whl (7.4 MB view details)

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

goad_py-0.4.2-cp38-abi3-musllinux_1_2_i686.whl (7.3 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ i686

goad_py-0.4.2-cp38-abi3-musllinux_1_2_aarch64.whl (7.1 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARM64

goad_py-0.4.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.4.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.4.2-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ i686

goad_py-0.4.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.4.2-cp38-abi3-macosx_11_0_arm64.whl (977.5 kB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

goad_py-0.4.2-cp38-abi3-macosx_10_12_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for goad_py-0.4.2.tar.gz
Algorithm Hash digest
SHA256 102f73b3af95281b4d32f6ff2b075d342c86d7fbfd0350b6b03f75f18f1f6f9f
MD5 5c6db77d9a8bee57102a4f7bee2e8561
BLAKE2b-256 fb89a533e1feafae220e8233adac1eed5b9a2a42edff83614b6f038405cda24a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: goad_py-0.4.2-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 987.4 kB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.9.1

File hashes

Hashes for goad_py-0.4.2-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b1ffe968efdea5b6f84a5fefcaf804d6cb9818c91993e8bbb19c1c1e52ad2616
MD5 85e60d538dd7635ad80fb414ebd9d171
BLAKE2b-256 fa07623a5e6667cd843f9b89b8d7abe74652f873e0da0b5736e29e0a975a299b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.4.2-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4b39e9501cbaaec5636522f8b63e105bdbeb3d1f8e9efe0ff1e2548d14836545
MD5 953f698a09e8dd606e6c4a0c609797ed
BLAKE2b-256 686a39b69a308e1f66c6ea28b043423b8cf96660c80dd4245f5fe7326aea44fe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.4.2-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f2ce210c872c509b326bae9f55a0eb6ac00c6f867ac9233536bd3ad88688ebf4
MD5 59b30a14c4ea4c7183d77df3422ef8a3
BLAKE2b-256 ce3ccd6fd59bd701fb69ad28b83e16937608635b87752a30bea89d7694001d31

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.4.2-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0b3030ee7c20b97acac6360b99cd53c36ba83eed96980b77b336cc222786c86a
MD5 0eb403f21b88cb8dff9cdb0a265493ad
BLAKE2b-256 e5b5fb2f857be45db470ee4c801cd43300ebed74e81e1b9928767e3ed46b949a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.4.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7e1f149a27d285cb35305fd84307db4c5d320f3185b21fa92edc6a3a6f39fa3c
MD5 b57046b19196b59971509046031f0be1
BLAKE2b-256 9f88a4038f34b16c4dcc32bebfde6765bf47c0e2f29668010d405a73cd24263d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.4.2-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 817b0ef03685d43b5631dd692461ae84dfa08cc8e24cd1f3fc41c0d2525fb055
MD5 e5c4af1a5b52324beab76afb46f7c4f7
BLAKE2b-256 64a4604127e663855bc61892fadb0bcace843584f3213142145612f39aef6989

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.4.2-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e88a16ecfa54139c25dafc06ef420546e903b330eb8f2b19dbb84c407393cb48
MD5 a088f19e9458c758415fc2491395d696
BLAKE2b-256 b3c2d891447d9a542dd52566afc2e26a82c05cc8f29727a6f8ab83de3822336b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.4.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 66f5843d7f0c3b658e085c19e33937c9df51fc64d1dc55979d22f1cb252300aa
MD5 be1b4bfdf7a037cea1c16e7b7781884c
BLAKE2b-256 f50c371dbfe8216ed65ec846660d63e7b4d682b2a3343ffabeb0275adcbcd352

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.4.2-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b63f165b925b91c31ae55bab97d7f25f9e37619a06c7e6eefa4700f1b4c432f9
MD5 6099e5f000a337537c4db913ef5b0840
BLAKE2b-256 65a93b6f790ab2f86722bce8f373c5c3d4ab8df353dc65d4a50c72c175f5fdf3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.4.2-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f641ec52a241d41ee13cd601d7847028aab1af3a89c7bd939790c5f4451eb4b9
MD5 eab5c1b5f2f47c5c4c3fcaef61fbca22
BLAKE2b-256 d66f1dfefb3310edb25a639d3d907576331606bd235b6efd7800e67c331d491a

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