goad-py 0.5.4__tar.gz → 0.5.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of goad-py might be problematic. Click here for more details.
- {goad_py-0.5.4 → goad_py-0.5.6}/PKG-INFO +1 -1
- goad_py-0.5.6/goad-py/examples/direct/multiproblem_phips_example.py +163 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/examples/unified/09_phips_convergence.py +0 -3
- {goad_py-0.5.4 → goad_py-0.5.6}/pyproject.toml +1 -1
- {goad_py-0.5.4 → goad_py-0.5.6}/.github/workflows/python.yml +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/.github/workflows/rust.yml +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/.gitignore +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/Cargo.lock +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/Cargo.toml +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/LICENSE +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/README-python.md +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/README.md +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/blender/addon/__init__.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/blender/addon/goad_py/__init__.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/blender/addon.zip +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/blender/build.sh +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/blender/dev.blend +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/config/default.toml +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/config_editor.sh +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/8col.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/clip_test.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/concave1.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/concave2.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/cone.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/cube.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/cube2.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/cube_inside_cube.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/cube_inside_hex.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/cube_inside_ico.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/cubes.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/hex.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/hex2.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/hex3.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/hex4.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/hex5.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/hex6.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/hex7.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/hex_20_30_30.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/hex_distort.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/hex_hollow.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/hex_indented.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/icosphere1.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/multiple.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/multiple2.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/multiple3.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/octo.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/octo2.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/para.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/para_rough1.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/plane_xy.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/plane_yz.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/plate.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/data/plate_distort.obj +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/multi-problem.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/problem-diff.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/problem1.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/examples/simplify.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/.gitignore +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/CLAUDE.md +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/Cargo.toml +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/DISTRIBUTION.md +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/README-python.md +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/UNIFIED_API.md +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/UNIFIED_API_SUMMARY.md +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/build_and_test.sh +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/build_wheels_local.sh +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/convergence.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/examples/README.md +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/examples/direct/README.md +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/examples/direct/backscatter_convergence_example.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/examples/direct/convergence_example.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/examples/direct/ensemble_example.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/examples/direct/multiproblem_example.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/examples/direct/phips_convergence_example.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/examples/direct/phips_ensemble_convergence_example.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/examples/direct/s11_convergence_example.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/examples/direct/simple_example.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/examples/unified/01_simple_asymmetry.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/examples/unified/02_interval_binning.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/examples/unified/03_multiple_targets.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/examples/unified/04_mueller_element.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/examples/unified/05_backscatter_specific_bin.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/examples/unified/06_ensemble_convergence.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/examples/unified/07_advanced_config.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/examples/unified/08_parameter_sweep.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/examples/unified/09_phips_convergence_results.json +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/examples/unified/README.md +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/goad_py.pyi +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/plot.ipynb +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/publish_test.sh +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/python/goad_py/__init__.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/python/goad_py/convergence.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/python/goad_py/goad_py.pyi +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/python/goad_py/phips_convergence.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/python/goad_py/unified_convergence.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/release.sh +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/src/lib.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/goad-py/test_wheels.sh +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/python/goad_py/__init__.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/python/goad_py/convergence.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/python/goad_py/goad_py.pyi +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/python/goad_py/phips_convergence.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/python/goad_py/unified_convergence.py +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/setup.sh +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/_quickstart.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/beam.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/bins.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/clip.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/containment.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/diff.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/distortion.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/field.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/fresnel.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/geom.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/lib.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/main.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/multiproblem.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/orientation.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/output.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/params.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/powers.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/problem.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/result.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/settings/cli.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/settings/constants.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/settings/loading.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/settings/validation.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/settings.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/src/snell.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/template/custom_bins.toml +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/template/goad_pbs.sh +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/tests/fixed_orientation_tests.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/tests/helpers.rs +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/tests/test_data/fixed_hex_30_20_20_mueller_scatgrid +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/tests/test_data/fixed_hex_30_30_30_mueller_scatgrid +0 -0
- {goad_py-0.5.4 → goad_py-0.5.6}/tests/test_data/hex.obj +0 -0
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Example script demonstrating MultiProblem Python API without config file dependencies.
|
|
3
|
+
|
|
4
|
+
This script shows how to:
|
|
5
|
+
1. Create binning schemes explicitly
|
|
6
|
+
2. Create orientation schemes explicitly
|
|
7
|
+
3. Use Settings with absolute geometry paths
|
|
8
|
+
4. Use MultiProblem for multi-orientation averaging with no external dependencies
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
import goad_py as goad
|
|
12
|
+
import os
|
|
13
|
+
from pathlib import Path
|
|
14
|
+
import sys
|
|
15
|
+
import toml
|
|
16
|
+
|
|
17
|
+
PHIPS_BINS_FILE = "../../../phips_bins_edges.toml"
|
|
18
|
+
|
|
19
|
+
# Check that PHIPS bins file exists
|
|
20
|
+
phips_bins_path = Path(PHIPS_BINS_FILE)
|
|
21
|
+
if not phips_bins_path.exists():
|
|
22
|
+
print(f"\nError: PHIPS bins file not found at {phips_bins_path}")
|
|
23
|
+
print("Please run phips_detector_angles_edges.py first to generate the file.")
|
|
24
|
+
sys.exit(1)
|
|
25
|
+
|
|
26
|
+
with open(phips_bins_path, "r") as f:
|
|
27
|
+
bins_data = toml.load(f)
|
|
28
|
+
|
|
29
|
+
# Convert to format expected by BinningScheme.custom()
|
|
30
|
+
custom_bins = bins_data["bins"]
|
|
31
|
+
print(f"Loaded {len(custom_bins)} custom bins")
|
|
32
|
+
|
|
33
|
+
# Create binning scheme
|
|
34
|
+
binning = goad.BinningScheme.custom(custom_bins)
|
|
35
|
+
|
|
36
|
+
print("MultiProblem Example - Config-Free API")
|
|
37
|
+
print("=" * 50)
|
|
38
|
+
|
|
39
|
+
# Get absolute path to geometry file
|
|
40
|
+
current_dir = os.path.dirname(os.path.abspath(__file__))
|
|
41
|
+
geom_path = os.path.join(current_dir, "..", "..", "..", "examples", "data", "hex.obj")
|
|
42
|
+
geom_path = os.path.abspath(geom_path)
|
|
43
|
+
|
|
44
|
+
print(f"Using geometry file: {geom_path}")
|
|
45
|
+
|
|
46
|
+
# Example 1: Uniform orientation scheme with custom settings
|
|
47
|
+
print("\n1. Creating MultiProblem with uniform orientations...")
|
|
48
|
+
|
|
49
|
+
# # Create custom binning scheme
|
|
50
|
+
# binning = goad.BinningScheme.simple(181, 181) # 181x181 angular grid
|
|
51
|
+
# print("Created binning scheme: Simple 181x181")
|
|
52
|
+
|
|
53
|
+
# Create uniform orientation (100 random orientations)
|
|
54
|
+
uniform_orientation = goad.create_uniform_orientation(100)
|
|
55
|
+
print("Created uniform orientation: 100 random orientations")
|
|
56
|
+
|
|
57
|
+
# Create settings with all parameters explicit (no config file dependencies)
|
|
58
|
+
settings = goad.Settings(
|
|
59
|
+
geom_path=geom_path,
|
|
60
|
+
wavelength=0.532, # 532nm green laser
|
|
61
|
+
particle_refr_index_re=1.31, # glass refractive index
|
|
62
|
+
particle_refr_index_im=0.0, # no absorption
|
|
63
|
+
medium_refr_index_re=1.0, # air/vacuum
|
|
64
|
+
medium_refr_index_im=0.0,
|
|
65
|
+
orientation=uniform_orientation,
|
|
66
|
+
binning=binning,
|
|
67
|
+
beam_power_threshold=0.005,
|
|
68
|
+
cutoff=0.99,
|
|
69
|
+
max_rec=10,
|
|
70
|
+
max_tir=10,
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
# Create and solve MultiProblem
|
|
74
|
+
print("Creating MultiProblem with uniform orientations...")
|
|
75
|
+
multi_problem = goad.MultiProblem(settings)
|
|
76
|
+
print(f"Number of orientations: {multi_problem.num_orientations}")
|
|
77
|
+
|
|
78
|
+
print("Solving MultiProblem (this averages over all orientations)...")
|
|
79
|
+
multi_problem.py_solve()
|
|
80
|
+
|
|
81
|
+
# Access averaged results
|
|
82
|
+
results = multi_problem.results
|
|
83
|
+
print(
|
|
84
|
+
f"Averaged Mueller matrix shape: {len(results.mueller)}x{len(results.mueller[0])}"
|
|
85
|
+
)
|
|
86
|
+
print(f"Averaged asymmetry parameter: {results.asymmetry}")
|
|
87
|
+
|
|
88
|
+
# Example 2: Discrete orientation scheme with custom binning
|
|
89
|
+
print("\n2. Creating MultiProblem with discrete orientations...")
|
|
90
|
+
|
|
91
|
+
# Create custom binning scheme with higher resolution in forward direction
|
|
92
|
+
interval_binning = goad.BinningScheme.interval(
|
|
93
|
+
thetas=[0.0, 30.0, 180.0], # Split at 30 degrees
|
|
94
|
+
theta_spacings=[1.0, 5.0], # Fine resolution near forward, coarse elsewhere
|
|
95
|
+
phis=[0.0, 360.0], # Full phi range
|
|
96
|
+
phi_spacings=[5.0], # 5 degree phi spacing
|
|
97
|
+
)
|
|
98
|
+
print("Created interval binning scheme")
|
|
99
|
+
|
|
100
|
+
# Create specific Euler angles
|
|
101
|
+
euler1 = goad.Euler(0.0, 0.0, 0.0) # No rotation
|
|
102
|
+
euler2 = goad.Euler(30.0, 30.0, 30.0) # 30 degree rotations
|
|
103
|
+
euler3 = goad.Euler(45.0, 60.0, 90.0) # Mixed rotations
|
|
104
|
+
|
|
105
|
+
# Create discrete orientation scheme
|
|
106
|
+
discrete_orientation = goad.create_discrete_orientation([euler1, euler2, euler3])
|
|
107
|
+
print("Created discrete orientation: 3 specific orientations")
|
|
108
|
+
|
|
109
|
+
# Create settings with discrete orientation and custom binning
|
|
110
|
+
settings2 = goad.Settings(
|
|
111
|
+
geom_path=geom_path,
|
|
112
|
+
wavelength=0.633, # 633nm red laser
|
|
113
|
+
particle_refr_index_re=1.5, # different material
|
|
114
|
+
particle_refr_index_im=0.01, # slight absorption
|
|
115
|
+
orientation=discrete_orientation,
|
|
116
|
+
binning=interval_binning,
|
|
117
|
+
)
|
|
118
|
+
|
|
119
|
+
# Create and solve MultiProblem
|
|
120
|
+
print("Creating MultiProblem with discrete orientations...")
|
|
121
|
+
multi_problem2 = goad.MultiProblem(settings2)
|
|
122
|
+
print(f"Number of orientations: {multi_problem2.num_orientations}")
|
|
123
|
+
|
|
124
|
+
print("Solving MultiProblem with specific orientations...")
|
|
125
|
+
multi_problem2.py_solve()
|
|
126
|
+
|
|
127
|
+
# Access averaged results
|
|
128
|
+
results2 = multi_problem2.results
|
|
129
|
+
print(
|
|
130
|
+
f"Averaged Mueller matrix shape: {len(results2.mueller)}x{len(results2.mueller[0])}"
|
|
131
|
+
)
|
|
132
|
+
print(f"Averaged asymmetry parameter: {results2.asymmetry}")
|
|
133
|
+
|
|
134
|
+
# Example 3: Custom binning with specific angles
|
|
135
|
+
print("\n3. Creating MultiProblem with custom binning...")
|
|
136
|
+
|
|
137
|
+
# Create custom binning scheme with specific angle pairs
|
|
138
|
+
custom_bins = [
|
|
139
|
+
(0.0, 0.0), # Forward scattering
|
|
140
|
+
(10.0, 0.0), # Near-forward
|
|
141
|
+
(30.0, 0.0), # Small angle
|
|
142
|
+
(90.0, 0.0), # Side scattering
|
|
143
|
+
(150.0, 0.0), # Backscattering region
|
|
144
|
+
(180.0, 0.0), # Exact backscattering
|
|
145
|
+
]
|
|
146
|
+
custom_binning = goad.BinningScheme.custom(custom_bins)
|
|
147
|
+
print(f"Created custom binning with {len(custom_bins)} specific angles")
|
|
148
|
+
|
|
149
|
+
# Simple settings with default values
|
|
150
|
+
settings3 = goad.Settings(
|
|
151
|
+
geom_path=geom_path,
|
|
152
|
+
binning=custom_binning,
|
|
153
|
+
# All other parameters use defaults
|
|
154
|
+
)
|
|
155
|
+
|
|
156
|
+
multi_problem3 = goad.MultiProblem(settings3)
|
|
157
|
+
print(f"Number of orientations: {multi_problem3.num_orientations}")
|
|
158
|
+
|
|
159
|
+
print("Solving MultiProblem with custom binning...")
|
|
160
|
+
multi_problem3.py_solve()
|
|
161
|
+
|
|
162
|
+
results3 = multi_problem3.results
|
|
163
|
+
print(f"Custom binned results: {len(results3.mueller)} angle pairs")
|
|
@@ -6,10 +6,7 @@ Demonstrates converging on PHIPS detector bins (all except the first one).
|
|
|
6
6
|
PHIPS detectors measure scattering at 20 specific angles from 18° to 170°.
|
|
7
7
|
"""
|
|
8
8
|
|
|
9
|
-
import sys
|
|
10
9
|
from pathlib import Path
|
|
11
|
-
|
|
12
|
-
sys.path.insert(0, "../../python")
|
|
13
10
|
import goad_py as goad
|
|
14
11
|
|
|
15
12
|
print("=" * 80)
|
|
@@ -4,7 +4,7 @@ build-backend = "maturin"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "goad-py"
|
|
7
|
-
version = "0.5.
|
|
7
|
+
version = "0.5.6"
|
|
8
8
|
description = "Physical optics light scattering computation"
|
|
9
9
|
authors = [{name = "Harry Ballington", email = "ballington@uni-wuppertal.de"}]
|
|
10
10
|
license = {text = "GPL-3.0"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{goad_py-0.5.4 → goad_py-0.5.6}/goad-py/examples/direct/phips_ensemble_convergence_example.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|