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.5.1.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.5.1-cp38-abi3-win_amd64.whl (945.0 kB view details)

Uploaded CPython 3.8+Windows x86-64

goad_py-0.5.1-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.5.1-cp38-abi3-musllinux_1_2_i686.whl (7.3 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ i686

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

Uploaded CPython 3.8+musllinux: musl 1.2+ ARM64

goad_py-0.5.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

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

goad_py-0.5.1-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.1 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ppc64le

goad_py-0.5.1-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.5.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

goad_py-0.5.1-cp38-abi3-macosx_11_0_arm64.whl (939.5 kB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

goad_py-0.5.1-cp38-abi3-macosx_10_12_x86_64.whl (971.0 kB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for goad_py-0.5.1.tar.gz
Algorithm Hash digest
SHA256 6a10e5fb112900ee2ceef7ea002c20f035a86837d66106356e7780bcebee66e8
MD5 26cbf3766559305f748e19efb681d8e5
BLAKE2b-256 49f877a51182f5598d1e99912f3ff2f613bd8b91a2d6b4a333fef910c5ddf263

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for goad_py-0.5.1-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 9a594c878143f6a4c06d424976ba5d891a6890517b66e82b598791a1b6ff2176
MD5 f06e600aacaff4eaaa402586583c2c60
BLAKE2b-256 8949bbf06f98d8f3a9b799183b795524c0420fa0679c0038ea4a826babd5c8fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.1-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c4db1cbb771042b0e7d18d6ec2905cbdfd935d5ac861d6bd9c2f218e24c3b620
MD5 a56c17fa9266d723137b528fd41e121e
BLAKE2b-256 7a4bb46d931a07b042d3f53c181081abcb422a42d2642a4851544028d8049d19

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.1-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 6a2f52576d2d57beb63fe32fcc1f2aa3bffee4f224aae560df7dc07002e30eb7
MD5 14ad80217beec8e749b1114b565ae89a
BLAKE2b-256 58fa24d06f2173fee5d04c11abb2fb32d8f5a86d154c21acc9de8d239f0c6f4e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.1-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f085a7d46a302ec9e7d1c300776866e09f5f58d38cdc841ce99e73498bec9992
MD5 9f8f2a127825f17ba64ba8ad538935d5
BLAKE2b-256 d7b2f736aa9f77c21ffae649632c7226705cc3370599a2ca40c33efbab6a493d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e6f70a625f1cf7f7ab00544f8f7c553eaf269eb8f526b36934b5036fcce79ddb
MD5 25b9fdd731c87e9a4942c4946e41e3c3
BLAKE2b-256 651549e8958ad2ee44b6ece3785359e68802ba001bf36a3ba707a21b80a2ff31

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.1-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 d8446f71df88d315c8b5533251bc78072db946b904d0b551daa33ebb0207308e
MD5 b649e128063c84ee88ed5043325bfc3d
BLAKE2b-256 68de563498a3e8903508fdd9f8b12088b3f2c44ce4183e0882f16835fe830675

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.1-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 308750827b18c72fcb2a75983369d7149d445a745151667dbb1247dd3a4ff404
MD5 6204367734f26f40741d0278a5cd9e87
BLAKE2b-256 a32a2d35512269416e3c972d6d9d26eff871739614e88080eb88c2449f59749e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0952b63d48524eef3f08ab4f2d6bdca2c9ce7496ff26a10c21a8f69cffcfa146
MD5 387ff90120cab4a2d3a3c9f1c94aea13
BLAKE2b-256 e6c8e62420460619a402f19ff8e1674c209930d2554441bda83210bde3b9f1c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.1-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 47550c714742dd67bce901dd7ec3ffb055825ebd8ad213edc804e0f82e4b5289
MD5 3b9b3ac7e5720c1fa7f995c3d13efd86
BLAKE2b-256 a4e529cd330984e9fd4ff4df804b0288643d8fa8d6f1058ad82eb779498e923b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goad_py-0.5.1-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 68f749086ffab39c1262276065d67af29932032091bc8c9a23046a512bb52f2e
MD5 5e0c7032044bea71c66329acd76a3bd7
BLAKE2b-256 eca6d3f3d33478de911414dc7528ce80a5038e872730405792bde13a99b4c423

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