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

Uploaded CPython 3.8+Windows x86-64

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

File metadata

  • Download URL: goad_py-0.8.5.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.5.tar.gz
Algorithm Hash digest
SHA256 12db972c62790404a7a380135a7990a559c3a397632bb4e1bdae6621397060e8
MD5 f4cfb40eb543a489314f2f569309169d
BLAKE2b-256 9b7f6b23c56ac5e07a53fada11b173b6cfd8e3bbf7225a8e35478e60d61af243

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.5-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8075d7db06b642a7d4d611b6318ab18e3872e9b65753fad1f5804a1c0177e9b5
MD5 cfb0d8495167fd8f18ece7444ad3f295
BLAKE2b-256 b8af9c936262377822cbd37bd3b25bb2faa9a85158254b3a93da2b9dd0dcbf25

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.5-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b5e3c84092b4b3041affc6de0b2d533662410ad48bf7a2278af81755040dad86
MD5 4e498e16e5fc2e5c91c1e649684331f7
BLAKE2b-256 67733d16dc25b18c301616860bfd727349e3cc844e056a9d62e5a074b915222a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.5-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 434e77ad8cc0989b2082c4a3a659cf418cbb515602ea1a1378ec4bf7fe79781c
MD5 7266757109f83ff7c9bc05c14641f19e
BLAKE2b-256 b590448a343588f4679170c551e867803753e9d7362deff69e685f57d43218b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.5-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 71031379a81df0dc1595fc2048a60560a1a749f4c208c4a148cf3438648bf689
MD5 091f28aa613086a96e58f90d5b71ee4e
BLAKE2b-256 c08a14be34f32fd1f3edb4903a45af8465c6c9e15c19a39f76f6cdcb22779af3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.5-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 911d37854c3effb3403e23d1dc838f3aa3820072f8199bd8c041ceeebef2019e
MD5 4a6ec164ddb8c95f104266c29275a264
BLAKE2b-256 5561b5feb3bb17cd2f2517d69ca7fa79f00bd85f1d3d23b1d29b891781cd2258

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6880024d72f088265dbf8ec3d6f0698baa83336a251f5396f26bfad447d3c0c4
MD5 d53a66f2b07cf0e39cb429258a953c13
BLAKE2b-256 b4fd05a1f4764337f8fa5abdc44e4dd0f2c6acea865bc285296c96d5fe118dd8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: goad_py-0.8.5-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.5-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 86d82aafcf8a9b0504a474ed91d96b2195f79b6112813f731ff2aa05db7eb13a
MD5 b03632fbc4175826088ebaa93f25f479
BLAKE2b-256 3a591f5157971f55beb012cf62370974c86e24c19ccb96032f12407862857ef6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.5-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 84f65495b005dfa3c8537c4ecf73381889a00d15a3212fef8ecb4707f7a09f25
MD5 511bb5b74933bca3f1aade2c27ee66f8
BLAKE2b-256 8c197689d6f323a7a1feb8d2a681803320bd8a2224d5ac70493e2ade88367ea8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.5-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 800eaa38da7d9085c9485c723107c3c5dae3b371ddb771aa2f5819c5282fafb4
MD5 e4f15292dd40c1c3b79654a80f7db0fe
BLAKE2b-256 6e1a7da8ee94253c7605562bd875f9ce10c2c56b1935985c64d39afe07bc6c3a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.5-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e6e56472660367f735f081650b68f2269997cb83f18902f4dbbd96897e452e6b
MD5 44de53b2e3e49a69c5d579bd547856d1
BLAKE2b-256 8d38de8399921d06ebe3d1275dc5c50feb661013208740756724f021a0912b66

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ed6c43734779c6b1e375980ee6bc937b32fea02822081c4ada456258538650aa
MD5 f6a2db014edbad82faabce6f2e5a4c1e
BLAKE2b-256 3c941e66eb777d2f73646a2122861a3a589704ae62069fb768ebcf87eda05f8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.5-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 c325c2a858cd6ff58eee1b33f6f026b5b1bd4d87438051d9cfa9572e3c6043e6
MD5 f8b210c9e921fc35dc71a66e1396ddc6
BLAKE2b-256 c6829b2785224019235c7fb04362ae31498aa43813695171f9e25b857bc0223b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.5-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 eaa5e45e7d16dbdbf3ffbcf691a2501cce05d1533b0a29b65e5a18d5f8567572
MD5 b81d18f937aaac1c1e2b339de43b64c2
BLAKE2b-256 344ccbef95c06f6d47a8eb0a49cbd2e4d4882b13fd974954b1873a1efdc6a6cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.5-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9272a4191669b3400a3071e9d2825c36adbe6e3857adfaf1d1be222dd835dad7
MD5 47a2128e204863ed7e5a2a85f5264f23
BLAKE2b-256 9656cfb4593879a84d22ff8d6b2c17997c6653e60393c15b0e55610207138d90

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.8.5-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 014d7f79159931ea904767f0d6a6e63e024db52c93b1d1af8ee5293900e4f345
MD5 e6c4576c7b9286f00d3c7525535ff2ac
BLAKE2b-256 8d45075ff200e9c2fb2c140c23b4d37b23bb67ab08ed2dc2717a434db03944c0

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