goad-py 0.4.2__tar.gz → 0.5.1__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.

Files changed (135) hide show
  1. {goad_py-0.4.2 → goad_py-0.5.1}/.gitignore +1 -0
  2. {goad_py-0.4.2 → goad_py-0.5.1}/Cargo.lock +11 -340
  3. {goad_py-0.4.2 → goad_py-0.5.1}/Cargo.toml +3 -7
  4. {goad_py-0.4.2 → goad_py-0.5.1}/PKG-INFO +1 -1
  5. goad_py-0.5.1/config/default.toml +102 -0
  6. {goad_py-0.4.2 → goad_py-0.5.1}/examples/multi-problem.rs +1 -1
  7. {goad_py-0.4.2 → goad_py-0.5.1}/goad-py/Cargo.toml +1 -1
  8. {goad_py-0.4.2/python/goad_py → goad_py-0.5.1/goad-py}/goad_py.pyi +80 -80
  9. goad_py-0.5.1/goad-py/plot.ipynb +1196 -0
  10. {goad_py-0.4.2 → goad_py-0.5.1}/goad-py/python/goad_py/goad_py.pyi +80 -80
  11. {goad_py-0.4.2 → goad_py-0.5.1}/pyproject.toml +1 -1
  12. {goad_py-0.4.2/goad-py → goad_py-0.5.1/python/goad_py}/goad_py.pyi +80 -80
  13. goad_py-0.5.1/src/beam.rs +566 -0
  14. goad_py-0.5.1/src/bins.rs +441 -0
  15. {goad_py-0.4.2 → goad_py-0.5.1}/src/clip.rs +1 -2
  16. {goad_py-0.4.2 → goad_py-0.5.1}/src/diff.rs +119 -18
  17. goad_py-0.5.1/src/field.rs +381 -0
  18. {goad_py-0.4.2 → goad_py-0.5.1}/src/geom.rs +30 -28
  19. {goad_py-0.4.2 → goad_py-0.5.1}/src/lib.rs +0 -1
  20. {goad_py-0.4.2 → goad_py-0.5.1}/src/main.rs +1 -1
  21. {goad_py-0.4.2 → goad_py-0.5.1}/src/multiproblem.rs +97 -175
  22. {goad_py-0.4.2 → goad_py-0.5.1}/src/orientation.rs +13 -7
  23. goad_py-0.5.1/src/output.rs +455 -0
  24. goad_py-0.5.1/src/params.rs +42 -0
  25. {goad_py-0.4.2 → goad_py-0.5.1}/src/powers.rs +2 -1
  26. {goad_py-0.4.2 → goad_py-0.5.1}/src/problem.rs +146 -169
  27. goad_py-0.5.1/src/result.rs +618 -0
  28. goad_py-0.5.1/src/settings/cli.rs +358 -0
  29. goad_py-0.5.1/src/settings/constants.rs +127 -0
  30. goad_py-0.5.1/src/settings/loading.rs +109 -0
  31. goad_py-0.5.1/src/settings/validation.rs +9 -0
  32. goad_py-0.5.1/src/settings.rs +238 -0
  33. {goad_py-0.4.2 → goad_py-0.5.1}/tests/fixed_orientation_tests.rs +15 -11
  34. goad_py-0.5.1/tests/test_data/fixed_hex_30_20_20_mueller_scatgrid +361 -0
  35. goad_py-0.5.1/tests/test_data/fixed_hex_30_30_30_mueller_scatgrid +361 -0
  36. goad_py-0.4.2/config/default.toml +0 -66
  37. goad_py-0.4.2/examples/clip.rs +0 -34
  38. goad_py-0.4.2/examples/clip_test.rs +0 -41
  39. goad_py-0.4.2/examples/diff-debug.rs +0 -34
  40. goad_py-0.4.2/examples/diff-test.rs +0 -28
  41. goad_py-0.4.2/examples/distortion.rs +0 -48
  42. goad_py-0.4.2/examples/projection-debug.rs +0 -36
  43. goad_py-0.4.2/examples/projection1.rs +0 -36
  44. goad_py-0.4.2/examples/projection2.rs +0 -41
  45. goad_py-0.4.2/examples/projection_multi.rs +0 -39
  46. goad_py-0.4.2/examples/propagate-summation.rs +0 -107
  47. goad_py-0.4.2/examples/propagate.rs +0 -97
  48. goad_py-0.4.2/examples/remainder.rs +0 -54
  49. goad_py-0.4.2/examples/vector_scale.rs +0 -50
  50. goad_py-0.4.2/src/beam.rs +0 -646
  51. goad_py-0.4.2/src/bins.rs +0 -239
  52. goad_py-0.4.2/src/field.rs +0 -147
  53. goad_py-0.4.2/src/helpers.rs +0 -101
  54. goad_py-0.4.2/src/output.rs +0 -322
  55. goad_py-0.4.2/src/params.rs +0 -18
  56. goad_py-0.4.2/src/result.rs +0 -375
  57. goad_py-0.4.2/src/settings.rs +0 -829
  58. goad_py-0.4.2/tests/test_data/fixed_hex_30_20_20_mueller_scatgrid +0 -361
  59. goad_py-0.4.2/tests/test_data/fixed_hex_30_30_30_mueller_scatgrid +0 -361
  60. {goad_py-0.4.2 → goad_py-0.5.1}/.github/workflows/python.yml +0 -0
  61. {goad_py-0.4.2 → goad_py-0.5.1}/.github/workflows/rust.yml +0 -0
  62. {goad_py-0.4.2 → goad_py-0.5.1}/LICENSE +0 -0
  63. {goad_py-0.4.2 → goad_py-0.5.1}/README-python.md +0 -0
  64. {goad_py-0.4.2 → goad_py-0.5.1}/README.md +0 -0
  65. {goad_py-0.4.2 → goad_py-0.5.1}/blender/addon/__init__.py +0 -0
  66. {goad_py-0.4.2 → goad_py-0.5.1}/blender/addon/goad_py/__init__.py +0 -0
  67. {goad_py-0.4.2 → goad_py-0.5.1}/blender/addon.zip +0 -0
  68. {goad_py-0.4.2 → goad_py-0.5.1}/blender/build.sh +0 -0
  69. {goad_py-0.4.2 → goad_py-0.5.1}/blender/dev.blend +0 -0
  70. {goad_py-0.4.2 → goad_py-0.5.1}/config_editor.sh +0 -0
  71. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/8col.obj +0 -0
  72. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/clip_test.obj +0 -0
  73. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/concave1.obj +0 -0
  74. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/concave2.obj +0 -0
  75. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/cone.obj +0 -0
  76. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/cube.obj +0 -0
  77. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/cube2.obj +0 -0
  78. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/cube_inside_cube.obj +0 -0
  79. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/cube_inside_hex.obj +0 -0
  80. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/cube_inside_ico.obj +0 -0
  81. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/cubes.obj +0 -0
  82. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/hex.obj +0 -0
  83. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/hex2.obj +0 -0
  84. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/hex3.obj +0 -0
  85. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/hex4.obj +0 -0
  86. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/hex5.obj +0 -0
  87. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/hex6.obj +0 -0
  88. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/hex7.obj +0 -0
  89. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/hex_20_30_30.obj +0 -0
  90. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/hex_distort.obj +0 -0
  91. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/hex_hollow.obj +0 -0
  92. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/hex_indented.obj +0 -0
  93. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/icosphere1.obj +0 -0
  94. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/multiple.obj +0 -0
  95. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/multiple2.obj +0 -0
  96. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/multiple3.obj +0 -0
  97. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/octo.obj +0 -0
  98. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/octo2.obj +0 -0
  99. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/para.obj +0 -0
  100. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/para_rough1.obj +0 -0
  101. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/plane_xy.obj +0 -0
  102. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/plane_yz.obj +0 -0
  103. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/plate.obj +0 -0
  104. {goad_py-0.4.2 → goad_py-0.5.1}/examples/data/plate_distort.obj +0 -0
  105. {goad_py-0.4.2 → goad_py-0.5.1}/examples/problem-diff.rs +0 -0
  106. {goad_py-0.4.2 → goad_py-0.5.1}/examples/problem1.rs +0 -0
  107. {goad_py-0.4.2 → goad_py-0.5.1}/examples/simplify.rs +0 -0
  108. {goad_py-0.4.2 → goad_py-0.5.1}/goad-py/.gitignore +0 -0
  109. {goad_py-0.4.2 → goad_py-0.5.1}/goad-py/CLAUDE.md +0 -0
  110. {goad_py-0.4.2 → goad_py-0.5.1}/goad-py/DISTRIBUTION.md +0 -0
  111. {goad_py-0.4.2 → goad_py-0.5.1}/goad-py/README-python.md +0 -0
  112. {goad_py-0.4.2 → goad_py-0.5.1}/goad-py/build_and_test.sh +0 -0
  113. {goad_py-0.4.2 → goad_py-0.5.1}/goad-py/build_wheels_local.sh +0 -0
  114. {goad_py-0.4.2 → goad_py-0.5.1}/goad-py/convergence.py +0 -0
  115. {goad_py-0.4.2 → goad_py-0.5.1}/goad-py/convergence_example.py +0 -0
  116. {goad_py-0.4.2 → goad_py-0.5.1}/goad-py/multiproblem_example.py +0 -0
  117. {goad_py-0.4.2 → goad_py-0.5.1}/goad-py/publish_test.sh +0 -0
  118. {goad_py-0.4.2 → goad_py-0.5.1}/goad-py/python/goad_py/__init__.py +0 -0
  119. {goad_py-0.4.2 → goad_py-0.5.1}/goad-py/python/goad_py/convergence.py +0 -0
  120. {goad_py-0.4.2 → goad_py-0.5.1}/goad-py/release.sh +0 -0
  121. {goad_py-0.4.2 → goad_py-0.5.1}/goad-py/simple_example.py +0 -0
  122. {goad_py-0.4.2 → goad_py-0.5.1}/goad-py/src/lib.rs +0 -0
  123. {goad_py-0.4.2 → goad_py-0.5.1}/goad-py/test_wheels.sh +0 -0
  124. {goad_py-0.4.2 → goad_py-0.5.1}/python/goad_py/__init__.py +0 -0
  125. {goad_py-0.4.2 → goad_py-0.5.1}/python/goad_py/convergence.py +0 -0
  126. {goad_py-0.4.2 → goad_py-0.5.1}/setup.sh +0 -0
  127. {goad_py-0.4.2 → goad_py-0.5.1}/src/_quickstart.rs +0 -0
  128. {goad_py-0.4.2 → goad_py-0.5.1}/src/containment.rs +0 -0
  129. {goad_py-0.4.2 → goad_py-0.5.1}/src/distortion.rs +0 -0
  130. {goad_py-0.4.2 → goad_py-0.5.1}/src/fresnel.rs +0 -0
  131. {goad_py-0.4.2 → goad_py-0.5.1}/src/snell.rs +0 -0
  132. {goad_py-0.4.2 → goad_py-0.5.1}/template/custom_bins.toml +0 -0
  133. {goad_py-0.4.2 → goad_py-0.5.1}/template/goad_pbs.sh +0 -0
  134. {goad_py-0.4.2 → goad_py-0.5.1}/tests/helpers.rs +0 -0
  135. {goad_py-0.4.2 → goad_py-0.5.1}/tests/test_data/hex.obj +0 -0
@@ -11,3 +11,4 @@ log**
11
11
  goad-py/.env
12
12
  goad_run/
13
13
  **.vscode/
14
+ goad.log
@@ -2,12 +2,6 @@
2
2
  # It is not intended for manual editing.
3
3
  version = 4
4
4
 
5
- [[package]]
6
- name = "adler2"
7
- version = "2.0.1"
8
- source = "registry+https://github.com/rust-lang/crates.io-index"
9
- checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
10
-
11
5
  [[package]]
12
6
  name = "ahash"
13
7
  version = "0.8.12"
@@ -136,12 +130,6 @@ version = "0.21.7"
136
130
  source = "registry+https://github.com/rust-lang/crates.io-index"
137
131
  checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
138
132
 
139
- [[package]]
140
- name = "bitflags"
141
- version = "1.3.2"
142
- source = "registry+https://github.com/rust-lang/crates.io-index"
143
- checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
144
-
145
133
  [[package]]
146
134
  name = "bitflags"
147
135
  version = "2.9.1"
@@ -256,12 +244,6 @@ dependencies = [
256
244
  "cc",
257
245
  ]
258
246
 
259
- [[package]]
260
- name = "color_quant"
261
- version = "1.1.0"
262
- source = "registry+https://github.com/rust-lang/crates.io-index"
263
- checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
264
-
265
247
  [[package]]
266
248
  name = "colorchoice"
267
249
  version = "1.0.4"
@@ -344,15 +326,6 @@ dependencies = [
344
326
  "libc",
345
327
  ]
346
328
 
347
- [[package]]
348
- name = "crc32fast"
349
- version = "1.4.2"
350
- source = "registry+https://github.com/rust-lang/crates.io-index"
351
- checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3"
352
- dependencies = [
353
- "cfg-if",
354
- ]
355
-
356
329
  [[package]]
357
330
  name = "crossbeam-deque"
358
331
  version = "0.8.6"
@@ -450,25 +423,6 @@ version = "1.0.2"
450
423
  source = "registry+https://github.com/rust-lang/crates.io-index"
451
424
  checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
452
425
 
453
- [[package]]
454
- name = "fdeflate"
455
- version = "0.3.7"
456
- source = "registry+https://github.com/rust-lang/crates.io-index"
457
- checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c"
458
- dependencies = [
459
- "simd-adler32",
460
- ]
461
-
462
- [[package]]
463
- name = "flate2"
464
- version = "1.1.2"
465
- source = "registry+https://github.com/rust-lang/crates.io-index"
466
- checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d"
467
- dependencies = [
468
- "crc32fast",
469
- "miniz_oxide",
470
- ]
471
-
472
426
  [[package]]
473
427
  name = "float_next_after"
474
428
  version = "1.0.0"
@@ -481,16 +435,6 @@ version = "0.1.5"
481
435
  source = "registry+https://github.com/rust-lang/crates.io-index"
482
436
  checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
483
437
 
484
- [[package]]
485
- name = "fontdue"
486
- version = "0.9.3"
487
- source = "registry+https://github.com/rust-lang/crates.io-index"
488
- checksum = "2e57e16b3fe8ff4364c0661fdaac543fb38b29ea9bc9c2f45612d90adf931d2b"
489
- dependencies = [
490
- "hashbrown 0.15.4",
491
- "ttf-parser",
492
- ]
493
-
494
438
  [[package]]
495
439
  name = "generic-array"
496
440
  version = "0.14.7"
@@ -574,15 +518,9 @@ dependencies = [
574
518
  "wasi 0.14.2+wasi-0.2.4",
575
519
  ]
576
520
 
577
- [[package]]
578
- name = "glam"
579
- version = "0.27.0"
580
- source = "registry+https://github.com/rust-lang/crates.io-index"
581
- checksum = "9e05e7e6723e3455f4818c7b26e855439f7546cf617ef669d1adedb8669e5cb9"
582
-
583
521
  [[package]]
584
522
  name = "goad"
585
- version = "0.4.1"
523
+ version = "0.5.0"
586
524
  dependencies = [
587
525
  "anyhow",
588
526
  "chrono",
@@ -593,14 +531,10 @@ dependencies = [
593
531
  "geo-types",
594
532
  "indicatif",
595
533
  "itertools 0.14.0",
596
- "macroquad",
597
534
  "nalgebra",
598
- "ndarray 0.16.1",
599
- "ndarray-interp",
600
- "ndarray-stats",
601
535
  "num-complex",
602
536
  "pyo3",
603
- "rand 0.9.1",
537
+ "rand",
604
538
  "rand_distr",
605
539
  "rayon",
606
540
  "serde",
@@ -611,7 +545,7 @@ dependencies = [
611
545
 
612
546
  [[package]]
613
547
  name = "goad-py"
614
- version = "0.4.1"
548
+ version = "0.5.0"
615
549
  dependencies = [
616
550
  "goad",
617
551
  "pyo3",
@@ -736,19 +670,6 @@ dependencies = [
736
670
  "cc",
737
671
  ]
738
672
 
739
- [[package]]
740
- name = "image"
741
- version = "0.24.9"
742
- source = "registry+https://github.com/rust-lang/crates.io-index"
743
- checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d"
744
- dependencies = [
745
- "bytemuck",
746
- "byteorder",
747
- "color_quant",
748
- "num-traits",
749
- "png",
750
- ]
751
-
752
673
  [[package]]
753
674
  name = "indexmap"
754
675
  version = "2.10.0"
@@ -793,15 +714,6 @@ dependencies = [
793
714
  "either",
794
715
  ]
795
716
 
796
- [[package]]
797
- name = "itertools"
798
- version = "0.13.0"
799
- source = "registry+https://github.com/rust-lang/crates.io-index"
800
- checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
801
- dependencies = [
802
- "either",
803
- ]
804
-
805
717
  [[package]]
806
718
  name = "itertools"
807
719
  version = "0.14.0"
@@ -856,35 +768,6 @@ version = "0.4.27"
856
768
  source = "registry+https://github.com/rust-lang/crates.io-index"
857
769
  checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
858
770
 
859
- [[package]]
860
- name = "macroquad"
861
- version = "0.4.14"
862
- source = "registry+https://github.com/rust-lang/crates.io-index"
863
- checksum = "d2befbae373456143ef55aa93a73594d080adfb111dc32ec96a1123a3e4ff4ae"
864
- dependencies = [
865
- "fontdue",
866
- "glam",
867
- "image",
868
- "macroquad_macro",
869
- "miniquad",
870
- "quad-rand",
871
- ]
872
-
873
- [[package]]
874
- name = "macroquad_macro"
875
- version = "0.1.8"
876
- source = "registry+https://github.com/rust-lang/crates.io-index"
877
- checksum = "64b1d96218903768c1ce078b657c0d5965465c95a60d2682fd97443c9d2483dd"
878
-
879
- [[package]]
880
- name = "malloc_buf"
881
- version = "0.0.6"
882
- source = "registry+https://github.com/rust-lang/crates.io-index"
883
- checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
884
- dependencies = [
885
- "libc",
886
- ]
887
-
888
771
  [[package]]
889
772
  name = "matrixmultiply"
890
773
  version = "0.3.10"
@@ -910,28 +793,6 @@ dependencies = [
910
793
  "autocfg",
911
794
  ]
912
795
 
913
- [[package]]
914
- name = "miniquad"
915
- version = "0.4.8"
916
- source = "registry+https://github.com/rust-lang/crates.io-index"
917
- checksum = "2fb3e758e46dbc45716a8a49ca9edc54b15bcca826277e80b1f690708f67f9e3"
918
- dependencies = [
919
- "libc",
920
- "ndk-sys",
921
- "objc-rs",
922
- "winapi",
923
- ]
924
-
925
- [[package]]
926
- name = "miniz_oxide"
927
- version = "0.8.9"
928
- source = "registry+https://github.com/rust-lang/crates.io-index"
929
- checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
930
- dependencies = [
931
- "adler2",
932
- "simd-adler32",
933
- ]
934
-
935
796
  [[package]]
936
797
  name = "nalgebra"
937
798
  version = "0.33.2"
@@ -960,75 +821,6 @@ dependencies = [
960
821
  "syn",
961
822
  ]
962
823
 
963
- [[package]]
964
- name = "ndarray"
965
- version = "0.15.6"
966
- source = "registry+https://github.com/rust-lang/crates.io-index"
967
- checksum = "adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32"
968
- dependencies = [
969
- "matrixmultiply",
970
- "num-complex",
971
- "num-integer",
972
- "num-traits",
973
- "rawpointer",
974
- ]
975
-
976
- [[package]]
977
- name = "ndarray"
978
- version = "0.16.1"
979
- source = "registry+https://github.com/rust-lang/crates.io-index"
980
- checksum = "882ed72dce9365842bf196bdeedf5055305f11fc8c03dee7bb0194a6cad34841"
981
- dependencies = [
982
- "matrixmultiply",
983
- "num-complex",
984
- "num-integer",
985
- "num-traits",
986
- "portable-atomic",
987
- "portable-atomic-util",
988
- "rawpointer",
989
- ]
990
-
991
- [[package]]
992
- name = "ndarray-interp"
993
- version = "0.4.1"
994
- source = "registry+https://github.com/rust-lang/crates.io-index"
995
- checksum = "8158249c71147ce8818363aa76fb7590f4239988265150960132a16cbe0c6fda"
996
- dependencies = [
997
- "ndarray 0.15.6",
998
- "num-traits",
999
- "thiserror 1.0.69",
1000
- ]
1001
-
1002
- [[package]]
1003
- name = "ndarray-stats"
1004
- version = "0.6.0"
1005
- source = "registry+https://github.com/rust-lang/crates.io-index"
1006
- checksum = "17ebbe97acce52d06aebed4cd4a87c0941f4b2519b59b82b4feb5bd0ce003dfd"
1007
- dependencies = [
1008
- "indexmap",
1009
- "itertools 0.13.0",
1010
- "ndarray 0.16.1",
1011
- "noisy_float",
1012
- "num-integer",
1013
- "num-traits",
1014
- "rand 0.8.5",
1015
- ]
1016
-
1017
- [[package]]
1018
- name = "ndk-sys"
1019
- version = "0.2.2"
1020
- source = "registry+https://github.com/rust-lang/crates.io-index"
1021
- checksum = "e1bcdd74c20ad5d95aacd60ef9ba40fdf77f767051040541df557b7a9b2a2121"
1022
-
1023
- [[package]]
1024
- name = "noisy_float"
1025
- version = "0.2.0"
1026
- source = "registry+https://github.com/rust-lang/crates.io-index"
1027
- checksum = "978fe6e6ebc0bf53de533cd456ca2d9de13de13856eda1518a285d7705a213af"
1028
- dependencies = [
1029
- "num-traits",
1030
- ]
1031
-
1032
824
  [[package]]
1033
825
  name = "num-bigint"
1034
826
  version = "0.4.6"
@@ -1085,15 +877,6 @@ version = "0.4.0"
1085
877
  source = "registry+https://github.com/rust-lang/crates.io-index"
1086
878
  checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
1087
879
 
1088
- [[package]]
1089
- name = "objc-rs"
1090
- version = "0.2.8"
1091
- source = "registry+https://github.com/rust-lang/crates.io-index"
1092
- checksum = "64a1e7069a2525126bf12a9f1f7916835fafade384fb27cabf698e745e2a1eb8"
1093
- dependencies = [
1094
- "malloc_buf",
1095
- ]
1096
-
1097
880
  [[package]]
1098
881
  name = "once_cell"
1099
882
  version = "1.21.3"
@@ -1135,7 +918,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1135
918
  checksum = "1db05f56d34358a8b1066f67cbb203ee3e7ed2ba674a6263a1d5ec6db2204323"
1136
919
  dependencies = [
1137
920
  "memchr",
1138
- "thiserror 2.0.12",
921
+ "thiserror",
1139
922
  "ucd-trie",
1140
923
  ]
1141
924
 
@@ -1172,34 +955,12 @@ dependencies = [
1172
955
  "sha2",
1173
956
  ]
1174
957
 
1175
- [[package]]
1176
- name = "png"
1177
- version = "0.17.16"
1178
- source = "registry+https://github.com/rust-lang/crates.io-index"
1179
- checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526"
1180
- dependencies = [
1181
- "bitflags 1.3.2",
1182
- "crc32fast",
1183
- "fdeflate",
1184
- "flate2",
1185
- "miniz_oxide",
1186
- ]
1187
-
1188
958
  [[package]]
1189
959
  name = "portable-atomic"
1190
960
  version = "1.11.1"
1191
961
  source = "registry+https://github.com/rust-lang/crates.io-index"
1192
962
  checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
1193
963
 
1194
- [[package]]
1195
- name = "portable-atomic-util"
1196
- version = "0.2.4"
1197
- source = "registry+https://github.com/rust-lang/crates.io-index"
1198
- checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507"
1199
- dependencies = [
1200
- "portable-atomic",
1201
- ]
1202
-
1203
964
  [[package]]
1204
965
  name = "ppv-lite86"
1205
966
  version = "0.2.21"
@@ -1281,12 +1042,6 @@ dependencies = [
1281
1042
  "syn",
1282
1043
  ]
1283
1044
 
1284
- [[package]]
1285
- name = "quad-rand"
1286
- version = "0.2.3"
1287
- source = "registry+https://github.com/rust-lang/crates.io-index"
1288
- checksum = "5a651516ddc9168ebd67b24afd085a718be02f8858fe406591b013d101ce2f40"
1289
-
1290
1045
  [[package]]
1291
1046
  name = "quote"
1292
1047
  version = "1.0.40"
@@ -1302,35 +1057,14 @@ version = "5.3.0"
1302
1057
  source = "registry+https://github.com/rust-lang/crates.io-index"
1303
1058
  checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
1304
1059
 
1305
- [[package]]
1306
- name = "rand"
1307
- version = "0.8.5"
1308
- source = "registry+https://github.com/rust-lang/crates.io-index"
1309
- checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
1310
- dependencies = [
1311
- "libc",
1312
- "rand_chacha 0.3.1",
1313
- "rand_core 0.6.4",
1314
- ]
1315
-
1316
1060
  [[package]]
1317
1061
  name = "rand"
1318
1062
  version = "0.9.1"
1319
1063
  source = "registry+https://github.com/rust-lang/crates.io-index"
1320
1064
  checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97"
1321
1065
  dependencies = [
1322
- "rand_chacha 0.9.0",
1323
- "rand_core 0.9.3",
1324
- ]
1325
-
1326
- [[package]]
1327
- name = "rand_chacha"
1328
- version = "0.3.1"
1329
- source = "registry+https://github.com/rust-lang/crates.io-index"
1330
- checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
1331
- dependencies = [
1332
- "ppv-lite86",
1333
- "rand_core 0.6.4",
1066
+ "rand_chacha",
1067
+ "rand_core",
1334
1068
  ]
1335
1069
 
1336
1070
  [[package]]
@@ -1340,16 +1074,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1340
1074
  checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
1341
1075
  dependencies = [
1342
1076
  "ppv-lite86",
1343
- "rand_core 0.9.3",
1344
- ]
1345
-
1346
- [[package]]
1347
- name = "rand_core"
1348
- version = "0.6.4"
1349
- source = "registry+https://github.com/rust-lang/crates.io-index"
1350
- checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
1351
- dependencies = [
1352
- "getrandom 0.2.16",
1077
+ "rand_core",
1353
1078
  ]
1354
1079
 
1355
1080
  [[package]]
@@ -1368,7 +1093,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1368
1093
  checksum = "6a8615d50dcf34fa31f7ab52692afec947c4dd0ab803cc87cb3b0b4570ff7463"
1369
1094
  dependencies = [
1370
1095
  "num-traits",
1371
- "rand 0.9.1",
1096
+ "rand",
1372
1097
  ]
1373
1098
 
1374
1099
  [[package]]
@@ -1410,7 +1135,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1410
1135
  checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94"
1411
1136
  dependencies = [
1412
1137
  "base64",
1413
- "bitflags 2.9.1",
1138
+ "bitflags",
1414
1139
  "serde",
1415
1140
  "serde_derive",
1416
1141
  ]
@@ -1537,12 +1262,6 @@ dependencies = [
1537
1262
  "wide",
1538
1263
  ]
1539
1264
 
1540
- [[package]]
1541
- name = "simd-adler32"
1542
- version = "0.3.7"
1543
- source = "registry+https://github.com/rust-lang/crates.io-index"
1544
- checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
1545
-
1546
1265
  [[package]]
1547
1266
  name = "smallvec"
1548
1267
  version = "1.15.1"
@@ -1590,33 +1309,13 @@ version = "0.13.2"
1590
1309
  source = "registry+https://github.com/rust-lang/crates.io-index"
1591
1310
  checksum = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a"
1592
1311
 
1593
- [[package]]
1594
- name = "thiserror"
1595
- version = "1.0.69"
1596
- source = "registry+https://github.com/rust-lang/crates.io-index"
1597
- checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
1598
- dependencies = [
1599
- "thiserror-impl 1.0.69",
1600
- ]
1601
-
1602
1312
  [[package]]
1603
1313
  name = "thiserror"
1604
1314
  version = "2.0.12"
1605
1315
  source = "registry+https://github.com/rust-lang/crates.io-index"
1606
1316
  checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708"
1607
1317
  dependencies = [
1608
- "thiserror-impl 2.0.12",
1609
- ]
1610
-
1611
- [[package]]
1612
- name = "thiserror-impl"
1613
- version = "1.0.69"
1614
- source = "registry+https://github.com/rust-lang/crates.io-index"
1615
- checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
1616
- dependencies = [
1617
- "proc-macro2",
1618
- "quote",
1619
- "syn",
1318
+ "thiserror-impl",
1620
1319
  ]
1621
1320
 
1622
1321
  [[package]]
@@ -1720,12 +1419,6 @@ version = "0.1.2"
1720
1419
  source = "registry+https://github.com/rust-lang/crates.io-index"
1721
1420
  checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801"
1722
1421
 
1723
- [[package]]
1724
- name = "ttf-parser"
1725
- version = "0.21.1"
1726
- source = "registry+https://github.com/rust-lang/crates.io-index"
1727
- checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8"
1728
-
1729
1422
  [[package]]
1730
1423
  name = "typenum"
1731
1424
  version = "1.18.0"
@@ -1867,28 +1560,6 @@ dependencies = [
1867
1560
  "safe_arch",
1868
1561
  ]
1869
1562
 
1870
- [[package]]
1871
- name = "winapi"
1872
- version = "0.3.9"
1873
- source = "registry+https://github.com/rust-lang/crates.io-index"
1874
- checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
1875
- dependencies = [
1876
- "winapi-i686-pc-windows-gnu",
1877
- "winapi-x86_64-pc-windows-gnu",
1878
- ]
1879
-
1880
- [[package]]
1881
- name = "winapi-i686-pc-windows-gnu"
1882
- version = "0.4.0"
1883
- source = "registry+https://github.com/rust-lang/crates.io-index"
1884
- checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
1885
-
1886
- [[package]]
1887
- name = "winapi-x86_64-pc-windows-gnu"
1888
- version = "0.4.0"
1889
- source = "registry+https://github.com/rust-lang/crates.io-index"
1890
- checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
1891
-
1892
1563
  [[package]]
1893
1564
  name = "windows-core"
1894
1565
  version = "0.61.2"
@@ -2036,7 +1707,7 @@ version = "0.39.0"
2036
1707
  source = "registry+https://github.com/rust-lang/crates.io-index"
2037
1708
  checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
2038
1709
  dependencies = [
2039
- "bitflags 2.9.1",
1710
+ "bitflags",
2040
1711
  ]
2041
1712
 
2042
1713
  [[package]]
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "goad"
3
- version = "0.4.1"
3
+ version = "0.5.0"
4
4
  edition = "2021"
5
5
  license = "GPL-3.0"
6
6
  description = "Compute the single scattering properties of particles much larger than the wavelength of light with geometric optics and aperture diffraction theory."
@@ -15,11 +15,7 @@
15
15
  geo-types = "0.7.14"
16
16
  indicatif = "0.17.9"
17
17
  itertools = "0.14.0"
18
- macroquad = { version = "0.4.13", optional = true }
19
18
  nalgebra = { version = "0.33.2", features = ["serde"] }
20
- ndarray = "0.16.1"
21
- ndarray-interp = "0.4.1"
22
- ndarray-stats = "0.6.0"
23
19
  num-complex = { version = "0.4.6", features = ["serde"] }
24
20
  pyo3 = "0.24.1"
25
21
  rand = "0.9.0"
@@ -31,8 +27,8 @@
31
27
  toml = "0.8.19"
32
28
 
33
29
  [features]
34
- default = ["macroquad"]
35
- visualization = ["macroquad"]
30
+ default = []
31
+ visualization = []
36
32
 
37
33
  [workspace]
38
34
  members = ["goad-py"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: goad-py
3
- Version: 0.4.2
3
+ Version: 0.5.1
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Intended Audience :: Science/Research
6
6
  Classifier: Topic :: Scientific/Engineering :: Physics
@@ -0,0 +1,102 @@
1
+ # Configuration file for the GOAD simulation.
2
+ # This file contains the default values for all config options.
3
+ # The user should not modify this config, but may make a local copy of it
4
+ # in this directory called `local.toml`.
5
+ # If `local.toml` exists, GOAD will use the values specified in that file.
6
+ # Environment variables can be set to override values in this file.
7
+ # eg. `export GOAD_WAVELENGTH=632.8`
8
+ # Configuration options specified on the command line will override values given
9
+ # in this file, as well as those set by environment variables.
10
+
11
+ wavelength = 0.532 # wavelength in dimension of the geometry file
12
+ medium_refr_index = [
13
+ 1.0,
14
+ 0.0,
15
+ ] # refractive index of the medium [real, imaginary]
16
+ particle_refr_index = [
17
+ [
18
+ 1.31,
19
+ 0.0,
20
+ ],
21
+ ] # Refractive index of the particle/s (real and imaginary parts)
22
+ # For files containing multiple shapes, use a nested list for different values
23
+ # for each shape, eg. [[1.31,0.0],[1.5,0.001]]
24
+ geom_name = "examples/data/hex.obj" # Geometry file name for the particle
25
+ beam_power_threshold = 0.0001 # Threshold for truncation by beam power
26
+ beam_area_threshold_fac = 0.0001 # Factor for truncating beams by area
27
+ cutoff = 0.99999 # Total power cutoff fraction
28
+ max_rec = 10 # Maximum number of recursions
29
+ max_tir = 10 # Maximum number of total internal reflections
30
+ distortion = 0.0 # Distortion factor for the geometry
31
+ directory = "goad_run" # Directory for output files
32
+ # seed = 6 # Seed (comment out for no seed)
33
+ geom_scale = [1,1,1] # Scale factor for the geometry
34
+ # fov_factor = 1.0 # Field of view factor for diffraction (comment out for no truncation)
35
+ mapping = "ApertureDiffraction" # ApertureDiffraction / GeometricOptics
36
+ coherence = true # Enable coherence for near to far field mapping
37
+
38
+ [binning] # Binning configuration
39
+
40
+ [binning.scheme] # Uncomment the desired binning scheme below
41
+
42
+
43
+ # [binning.scheme.Simple] # Simple square grid binning
44
+ # num_theta = 180 # Number of theta bins
45
+ # num_phi = 5 # Number of phi bins
46
+
47
+ [binning.scheme.Interval] # Interval binning with specified theta and phi spacings
48
+ thetas = [0,180]
49
+ theta_spacings =[2]
50
+ phis = [0, 360]
51
+ phi_spacings = [4]
52
+
53
+ # [binning.scheme.Custom] # Custom binning with specified [theta,phi] angular bins
54
+ # bins = [
55
+ # [
56
+ # 0,
57
+ # 0,
58
+ # ],
59
+ # [
60
+ # 0,
61
+ # 40,
62
+ # ],
63
+ # [
64
+ # 20,
65
+ # 180,
66
+ # ],
67
+ # ] # custom bins, unless a file is specified below
68
+ # file = "phips_bins.toml" # File containing custom bins, relative to working directory
69
+
70
+
71
+ [orientation] # Orientation configuration
72
+ euler_convention = "ZYZ" # Euler angle convention
73
+
74
+ [orientation.scheme] # Uncomment the desired orientation scheme below
75
+
76
+ [orientation.scheme.Discrete] # Discrete orientation with specified Euler angles
77
+ eulers = [[30,30,0]]
78
+
79
+ # [orientation.scheme.Uniform] # Random uniform distribution
80
+ # num_orients = 100 # Number of orientations to generate
81
+
82
+ # ===================================
83
+ # OUTPUT CONFIGURATION
84
+ # ===================================
85
+ [output]
86
+ # Summary file (human-readable text) - DEFAULT: true
87
+ results_summary = true
88
+
89
+ # JSON files for structured data access - DEFAULT: false
90
+ settings_json = true # Enable to dump settings.json (entire config)
91
+ powers_json = true # Enable to dump powers.json (power distribution)
92
+ params_json = true # Enable to dump params.json (derived parameters)
93
+
94
+ # Mueller matrix files (custom format) - DEFAULT: true
95
+ mueller_2d = true # Enable 2D Mueller matrix files
96
+ mueller_1d = true # Enable 1D integrated Mueller matrix files
97
+
98
+ # Control which Mueller components are written - DEFAULT: all true
99
+ [output.mueller_components]
100
+ total = true # Total scattering (mueller_scatgrid)
101
+ beam = true # Beam component (mueller_scatgrid_beam)
102
+ external = true # External diffraction (mueller_scatgrid_ext)
@@ -6,5 +6,5 @@ fn main() {
6
6
  let mut multiproblem = MultiProblem::new(None, settings.ok());
7
7
 
8
8
  multiproblem.solve();
9
- multiproblem.writeup();
9
+ let _ = multiproblem.writeup();
10
10
  }