pyvale 2025.5.3__cp311-cp311-musllinux_1_2_i686.whl → 2025.7.1__cp311-cp311-musllinux_1_2_i686.whl

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 pyvale might be problematic. Click here for more details.

Files changed (98) hide show
  1. pyvale/__init__.py +12 -0
  2. pyvale/blendercalibrationdata.py +3 -1
  3. pyvale/blenderscene.py +7 -5
  4. pyvale/blendertools.py +27 -5
  5. pyvale/camera.py +1 -0
  6. pyvale/cameradata.py +3 -0
  7. pyvale/camerasensor.py +147 -0
  8. pyvale/camerastereo.py +4 -4
  9. pyvale/cameratools.py +23 -61
  10. pyvale/cython/rastercyth.c +1657 -1352
  11. pyvale/cython/rastercyth.cpython-311-i386-linux-musl.so +0 -0
  12. pyvale/cython/rastercyth.py +71 -26
  13. pyvale/data/DIC_Challenge_Star_Noise_Def.tiff +0 -0
  14. pyvale/data/DIC_Challenge_Star_Noise_Ref.tiff +0 -0
  15. pyvale/data/plate_hole_def0000.tiff +0 -0
  16. pyvale/data/plate_hole_def0001.tiff +0 -0
  17. pyvale/data/plate_hole_ref0000.tiff +0 -0
  18. pyvale/data/plate_rigid_def0000.tiff +0 -0
  19. pyvale/data/plate_rigid_def0001.tiff +0 -0
  20. pyvale/data/plate_rigid_ref0000.tiff +0 -0
  21. pyvale/dataset.py +96 -6
  22. pyvale/dic/cpp/dicbruteforce.cpp +370 -0
  23. pyvale/dic/cpp/dicfourier.cpp +648 -0
  24. pyvale/dic/cpp/dicinterpolator.cpp +559 -0
  25. pyvale/dic/cpp/dicmain.cpp +215 -0
  26. pyvale/dic/cpp/dicoptimizer.cpp +675 -0
  27. pyvale/dic/cpp/dicrg.cpp +137 -0
  28. pyvale/dic/cpp/dicscanmethod.cpp +677 -0
  29. pyvale/dic/cpp/dicsmooth.cpp +138 -0
  30. pyvale/dic/cpp/dicstrain.cpp +383 -0
  31. pyvale/dic/cpp/dicutil.cpp +563 -0
  32. pyvale/dic2d.py +164 -0
  33. pyvale/dic2dcpp.cpython-311-i386-linux-musl.so +0 -0
  34. pyvale/dicchecks.py +476 -0
  35. pyvale/dicdataimport.py +247 -0
  36. pyvale/dicregionofinterest.py +887 -0
  37. pyvale/dicresults.py +55 -0
  38. pyvale/dicspecklegenerator.py +238 -0
  39. pyvale/dicspecklequality.py +305 -0
  40. pyvale/dicstrain.py +387 -0
  41. pyvale/dicstrainresults.py +37 -0
  42. pyvale/errorintegrator.py +10 -8
  43. pyvale/examples/basics/ex1_1_basicscalars_therm2d.py +124 -113
  44. pyvale/examples/basics/ex1_2_sensormodel_therm2d.py +124 -132
  45. pyvale/examples/basics/ex1_3_customsens_therm3d.py +199 -195
  46. pyvale/examples/basics/ex1_4_basicerrors_therm3d.py +125 -121
  47. pyvale/examples/basics/ex1_5_fielderrs_therm3d.py +145 -141
  48. pyvale/examples/basics/ex1_6_caliberrs_therm2d.py +96 -101
  49. pyvale/examples/basics/ex1_7_spatavg_therm2d.py +109 -105
  50. pyvale/examples/basics/ex2_1_basicvectors_disp2d.py +92 -91
  51. pyvale/examples/basics/ex2_2_vectorsens_disp2d.py +96 -90
  52. pyvale/examples/basics/ex2_3_sensangle_disp2d.py +88 -89
  53. pyvale/examples/basics/ex2_4_chainfielderrs_disp2d.py +172 -171
  54. pyvale/examples/basics/ex2_5_vectorfields3d_disp3d.py +88 -86
  55. pyvale/examples/basics/ex3_1_basictensors_strain2d.py +90 -90
  56. pyvale/examples/basics/ex3_2_tensorsens2d_strain2d.py +93 -91
  57. pyvale/examples/basics/ex3_3_tensorsens3d_strain3d.py +172 -160
  58. pyvale/examples/basics/ex4_1_expsim2d_thermmech2d.py +154 -148
  59. pyvale/examples/basics/ex4_2_expsim3d_thermmech3d.py +249 -231
  60. pyvale/examples/dic/ex1_region_of_interest.py +98 -0
  61. pyvale/examples/dic/ex2_plate_with_hole.py +149 -0
  62. pyvale/examples/dic/ex3_plate_with_hole_strain.py +93 -0
  63. pyvale/examples/dic/ex4_dic_blender.py +95 -0
  64. pyvale/examples/dic/ex5_dic_challenge.py +102 -0
  65. pyvale/examples/imagedef2d/ex_imagedef2d_todisk.py +4 -2
  66. pyvale/examples/renderblender/ex1_1_blenderscene.py +152 -105
  67. pyvale/examples/renderblender/ex1_2_blenderdeformed.py +151 -100
  68. pyvale/examples/renderblender/ex2_1_stereoscene.py +183 -116
  69. pyvale/examples/renderblender/ex2_2_stereodeformed.py +185 -112
  70. pyvale/examples/renderblender/ex3_1_blendercalibration.py +164 -109
  71. pyvale/examples/renderrasterisation/ex_rastenp.py +74 -35
  72. pyvale/examples/renderrasterisation/ex_rastercyth_oneframe.py +6 -13
  73. pyvale/examples/renderrasterisation/ex_rastercyth_static_cypara.py +2 -2
  74. pyvale/examples/renderrasterisation/ex_rastercyth_static_pypara.py +2 -4
  75. pyvale/imagedef2d.py +3 -2
  76. pyvale/imagetools.py +137 -0
  77. pyvale/rastercy.py +34 -4
  78. pyvale/rasternp.py +300 -276
  79. pyvale/rasteropts.py +58 -0
  80. pyvale/renderer.py +47 -0
  81. pyvale/rendermesh.py +52 -62
  82. pyvale/renderscene.py +51 -0
  83. pyvale/sensorarrayfactory.py +2 -2
  84. pyvale/sensortools.py +19 -35
  85. pyvale/simcases/case21.i +1 -1
  86. pyvale/simcases/run_1case.py +8 -0
  87. pyvale/simtools.py +2 -2
  88. pyvale/visualsimplotter.py +180 -0
  89. {pyvale-2025.5.3.dist-info → pyvale-2025.7.1.dist-info}/METADATA +11 -57
  90. {pyvale-2025.5.3.dist-info → pyvale-2025.7.1.dist-info}/RECORD +96 -56
  91. {pyvale-2025.5.3.dist-info → pyvale-2025.7.1.dist-info}/WHEEL +1 -1
  92. pyvale.libs/libgcc_s-887de51c.so.1 +0 -0
  93. pyvale.libs/libgomp-24921df4.so.1.0.0 +0 -0
  94. pyvale.libs/libstdc++-d6415257.so.6.0.33 +0 -0
  95. pyvale/examples/visualisation/ex1_1_plot_traces.py +0 -102
  96. pyvale/examples/visualisation/ex2_1_animate_sim.py +0 -89
  97. {pyvale-2025.5.3.dist-info → pyvale-2025.7.1.dist-info}/licenses/LICENSE +0 -0
  98. {pyvale-2025.5.3.dist-info → pyvale-2025.7.1.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyvale
3
- Version: 2025.5.3
3
+ Version: 2025.7.1
4
4
  Summary: An all-in-one package for sensor simulation, sensor uncertainty quantification, sensor placement optimisation and simulation calibration or validation.
5
5
  Author-email: "scepticalrabbit et al." <thescepticalrabbit@gmail.com>
6
6
  License: MIT License
@@ -47,17 +47,23 @@ Requires-Dist: bpy>=4.2.0
47
47
  Requires-Dist: pyyaml>=6.0.2
48
48
  Requires-Dist: pytest>=8.3.5
49
49
  Requires-Dist: pybind11>=2.13.6
50
+ Requires-Dist: pyqtgraph>=0.13.7
51
+ Requires-Dist: opencv-python<=4.9.0.80
50
52
  Dynamic: license-file
51
53
 
52
54
  # pyvale
53
- The python validation engine (`pyvale`): An all-in-one package for sensor simulation, sensor uncertainty quantification, sensor placement optimisation and simulation calibration/validation.​ Used to simulate experimental data from an input multi-physics simulation by explicitly modelling sensors with realistic uncertainties. Useful for experimental design, sensor placement optimisation, testing simulation validation metrics and virtually testing digital shadows/twins.
55
+ ![fig_pyvale_logo](https://raw.githubusercontent.com/Computer-Aided-Validation-Laboratory/pyvale/main/images/pyvale_logo.png)
56
+
57
+ The python validation engine (`pyvale`) is you virtual engineering laboratory: An all-in-one package for sensor simulation, sensor uncertainty quantification, sensor placement optimisation and simulation calibration/validation. Used to simulate experimental data from an input multi-physics simulation by explicitly modelling sensors with realistic uncertainties. Useful for experimental design, sensor placement optimisation, testing simulation validation metrics and virtually testing digital shadows/twins.
58
+
59
+ We provide dedicated tools for simulation and uncertainty quantification of imaging sensors including digital image correlation (DIC) and infra-red thermography (IRT). Check out the [documentation](https://computer-aided-validation-laboratory.github.io/pyvale/index.html) to get started with some of our examples.
54
60
 
55
61
  ## Quick Demo: Simulating Point Sensors
56
62
  Here we demonstrate how `pyvale` can be used to simulate thermocouples and strain gauges applied to a [MOOSE](https://mooseframework.inl.gov/index.html) thermo-mechanical simulation of a fusion divertor armour heatsink. The figures below show visualisations of the virtual thermocouple and strain gauge locations on the simualtion mesh as well as time traces for each sensor over a series of simulated experiments.
57
63
 
58
64
  The code to run the simulated experiments and produce the output shown here comes from [this example](https://computer-aided-validation-laboratory.github.io/pyvale/examples/point/ex4_2.html). You can find more examples and details of `pyvale` python API in the `pyvale` [documentation](https://computer-aided-validation-laboratory.github.io/pyvale/index.html).
59
65
 
60
- |![fig_thermomech3d_tc_vis](https://raw.githubusercontent.com/Computer-Aided-Validation-Laboratory/pyvale/main/images/thermomech3d_tc_vis.svg)|![fig_thermomech3d_sg_vis](https://raw.githubusercontent.com/Computer-Aided-Validation-Laboratory/pyvale/main/images/thermomech3d_sg_vis.svg)|
66
+ |![fig_thermomech3d_tc_vis](https://raw.githubusercontent.com/Computer-Aided-Validation-Laboratory/pyvale/main/images/thermomech3d_tc_vis.png)|![fig_thermomech3d_sg_vis](https://raw.githubusercontent.com/Computer-Aided-Validation-Laboratory/pyvale/main/images/thermomech3d_sg_vis.png)|
61
67
  |--|--|
62
68
  |*Visualisation of the thermcouple locations.*|*Visualisation of the strain gauge locations.*|
63
69
 
@@ -72,71 +78,19 @@ The code to run the simulated experiments and produce the output shown here come
72
78
  pip install pyvale
73
79
  ```
74
80
 
75
- ## Detailed Install: Ubuntu
76
- ### Managing Python Versions
77
- To be compatible with `bpy` (the Blender python interface), `pyvale` uses python 3.11. To install python 3.11 without corrupting your operating systems python installation first add the deadsnakes repository to apt:
78
- ```shell
79
- sudo add-apt-repository ppa:deadsnakes/ppa
80
- sudo apt update && sudo apt upgrade -y
81
- ```
82
-
83
- Install python 3.11:
84
- ```shell
85
- sudo apt install python3.11
86
- ```
87
-
88
- Add `venv` to your python 3.11 install:
89
- ```shell
90
- sudo apt install python3.11-venv
91
- ```
92
-
93
- Check your python 3.11 install is working using the following command which should open an interactive python interpreter:
94
- ```shell
95
- python3.11
96
- ```
97
-
98
- ### Virtual Environment
99
-
100
- We recommend installing `pyvale` in a virtual environment using `venv` or `pyvale` can be installed into an existing environment of your choice. To create a specific virtual environment for `pyvale` navigate to the directory you want to install the environment and use:
101
-
102
- ```shell
103
- python3.11 -m venv .pyvale-env
104
- source .pyvale-env/bin/activate
105
- ```
106
-
107
- ### Standard Installation
108
- `pyvale` can be installed from pypi. Ensure you virtual environment is activated and run:
109
- ```shell
110
- pip install pyvale
111
- ```
112
-
113
- ### Developer Installation
114
-
115
- Clone `pyvale` to your local system along with submodules using
116
- ```shell
117
- git clone --recurse-submodules git@github.com:Computer-Aided-Validation-Laboratory/pyvale.git
118
- ```
119
-
120
- `cd` to the root directory of `pyvale`. Ensure you virtual environment is activated and run the following commmand from the `pyvale` directory:
121
- ```shell
122
- pip install -e .
123
- pip install -e ./dependencies/mooseherder
124
- ```
125
-
126
- ### Running Physics Simulations with MOOSE
127
- `pyvale` come pre-packaged with example `moose` physics simulation outputs (as *.e exodus files) to demonstrate its functionality. If you need to run additional simulation cases we recommend `proteus` (https://github.com/aurora-multiphysics/proteus) which has build scripts for common linux distributions.
81
+ We recommend installing `pyvale` into a virtual environment of your choice as `pyvale` requires python 3.11. If you need help setting up your virtual environment and installing `pyvale` head over to the [installation guide](https://computer-aided-validation-laboratory.github.io/pyvale/install.html) in our docs.
128
82
 
129
83
  ## Contributors
130
84
  The Computer Aided Validation Team at UKAEA:
131
85
  - Lloyd Fletcher ([ScepticalRabbit](https://github.com/ScepticalRabbit)), UK Atomic Energy Authority
132
86
  - Joel Hirst ([JoelPhys](https://github.com/JoelPhys)), UK Atomic Energy Authority
133
- - John Charlton ([coolmule0](https://github.com/coolmule0)), UK Atomic Energy Authority
134
87
  - Lorna Sibson ([lornasibson](https://github.com/lornasibson)), UK Atomic Energy Authority
135
88
  - Megan Sampson ([meganasampson](https://github.com/meganasampson)), UK Atomic Energy Authority
136
89
  - Michael Atkinson ([mikesmic](https://github.com/mikesmic)), UK Atomic Energy Authority
137
90
  - Adel Tayeb ([3adelTayeb](https://github.com/3adelTayeb)), UK Atomic Energy Authority
138
91
  - Alex Marsh ([alexmarsh2](https://github.com/alexmarsh2)), UK Atomic Energy Authority
139
92
  - Rory Spencer ([fusmatrs](https://github.com/orgs/Computer-Aided-Validation-Laboratory/people/fusmatrs)), UK Atomic Energy Authority
93
+ - John Charlton ([coolmule0](https://github.com/coolmule0)), UK Atomic Energy Authority
140
94
 
141
95
 
142
96
 
@@ -1,22 +1,33 @@
1
- pyvale/__init__.py,sha256=61KOsSmlV9ojm_naGhl4NirlLkhGKeUn6jdbnmHs6Rg,2820
1
+ pyvale/__init__.py,sha256=uOAe4ra5jStUUuyzTP6umzurtsCDYpVzFttEE7uzAIg,3202
2
2
  pyvale/analyticmeshgen.py,sha256=tMh8Fo7iJqjaMfhLu2gBLyD4L2SRGaXjCB3w3cVO7KE,3424
3
3
  pyvale/analyticsimdatafactory.py,sha256=WWk1XfigI0q17rTQwZClRvumEGEwHLpameBOXvWHsT4,2703
4
4
  pyvale/analyticsimdatagenerator.py,sha256=H_Ro3L8uih2Ipv63ckPN3LmvUaebysCvtJAz1b8Iefs,12424
5
- pyvale/blendercalibrationdata.py,sha256=N2ntMuYRuic7uDyM7IgOW8VRk75l0zYjvWWtkMiAUGo,487
5
+ pyvale/blendercalibrationdata.py,sha256=80jwkKB8wxuZ2udoGrD-dMTxzQQ9t_vpnK71gLDI-gc,553
6
6
  pyvale/blenderlightdata.py,sha256=syeXDH6ggVsUJpkw9yIoDJROBRoQGLQjE5wkLEd6Ifg,734
7
7
  pyvale/blendermaterialdata.py,sha256=igb5cZwRq5VVC-9dd-I66hT4Jh2idjxjVgVa6F9YV7k,508
8
8
  pyvale/blenderrenderdata.py,sha256=8WWuPpUch53QgEwDwjY1-KAGmh-SyUfr2Alg2DYf2PA,889
9
- pyvale/blenderscene.py,sha256=-S0vCukWavzr8ITtujwzw78RYYzU9AzVj_lHv_1wof8,21262
10
- pyvale/blendertools.py,sha256=FBcYb0F5m3WXVAGYFy0fu1Uajko7O8g5lqHADWqXG6w,17120
11
- pyvale/camera.py,sha256=leH2fd3FbvidZ5v7rf04CMPGT_ozIVQkSIKuvFHRGsw,5331
12
- pyvale/cameradata.py,sha256=ogGlrUqA7uB8JNdLMkpDBTHbGORYqahro21auyS5U1w,1918
9
+ pyvale/blenderscene.py,sha256=YGwP-FpuRlC37u6uFJR_xzW2fpJ_Mqi2JMuJyOegC6U,21329
10
+ pyvale/blendertools.py,sha256=ghRNpf_ggWRDoUk6tl9naeEmj5wXhGdH2PTkgR_M1ic,18112
11
+ pyvale/camera.py,sha256=6T-9-bUK5_rLr_qg6VMi-u5gjifHWOMfIHqyqZxL9OQ,5332
12
+ pyvale/cameradata.py,sha256=6rWFenWliIrQazkE4kivttAw6AEsknlINQvVisSNP_A,1939
13
13
  pyvale/cameradata2d.py,sha256=O3imDz8BUer6Wxo82KzCQrVLIBDL5RLy8aNoQoKG4b0,2736
14
- pyvale/camerastereo.py,sha256=_icc2BvdYnExL9vkuf2adXyejUh2oDFsv6QeKdJ2M3s,9905
15
- pyvale/cameratools.py,sha256=xGim_-SPvOIWvvAjSspT-7VF8gAGyO56IWteVD-fTxI,20318
16
- pyvale/dataset.py,sha256=F9X3rPhOwaAXoJxc-MaNiIf0gNTN0JnHvklT6_lGOTw,12360
14
+ pyvale/camerasensor.py,sha256=6T-9-bUK5_rLr_qg6VMi-u5gjifHWOMfIHqyqZxL9OQ,5332
15
+ pyvale/camerastereo.py,sha256=a9rfswcwdiKRuj9Hs4GvIY3_LBuUjYn514wc_XmbCxk,9925
16
+ pyvale/cameratools.py,sha256=fNulJWAcRpvPQN-TzoNLqCYxrdJFOs37ER4n3OANnJQ,19240
17
+ pyvale/dataset.py,sha256=HOAQJ-UEN7yGyJ0Y-OdymneqEkIHBrgzPwGe0lEJrSs,14939
18
+ pyvale/dic2d.py,sha256=DWFMOIf2n354iLlCxf-ruO9-_YeOAp1RFgQel4hhnmE,7567
19
+ pyvale/dic2dcpp.cpython-311-i386-linux-musl.so,sha256=LzF74fVt-zAftOlbs79kvt827nYZudMM4Jz6UpNd-nA,51754745
20
+ pyvale/dicchecks.py,sha256=HCgSUiOvGCKjdkASMSWL6DOhYuIN2-X7YLNxJs9fees,16012
21
+ pyvale/dicdataimport.py,sha256=2hEGEeVTLQwpuQUxV-CVN_PsDgtDRK1v-xf5YuarOJk,7191
22
+ pyvale/dicregionofinterest.py,sha256=RsSjd6ZjcghqpFxDkwmNbJmJ5s96Q7dL1SLNKUDWRbk,32881
23
+ pyvale/dicresults.py,sha256=HGZTWNqCsdraUAJSNGYeAcm9ZJT38EeCeAjTYpcTksk,1883
24
+ pyvale/dicspecklegenerator.py,sha256=PohlSC13wZJZ4hOA5Z-GWML-MsN1pBTSA-pqtiLer8s,7819
25
+ pyvale/dicspecklequality.py,sha256=soZKclWHSuwCsp_P4_EqDRbzTNw21n8rC8kv14i-NCU,9968
26
+ pyvale/dicstrain.py,sha256=M4bjJaxb3orG3Ftv7P0BVCGnI8eThptns1FiNj8xVx4,12787
27
+ pyvale/dicstrainresults.py,sha256=pevm78o5WOWy3ByMM78Y-WcBgoAsxWU3yx55K8l9Omk,1053
17
28
  pyvale/errorcalculator.py,sha256=lvxY-NCnC_oHw7OWh9N0D8IzcE2NvWprVrRBKXzWdsY,3418
18
29
  pyvale/errordriftcalc.py,sha256=T8kqVlVz4GEMOL7WTyv1G7gCJKkulZPHyc5KrVufWAo,4428
19
- pyvale/errorintegrator.py,sha256=mR8hA1dmylWd-jEHT8HkZFdXOxTGwC2OTKk0uBfdiro,13802
30
+ pyvale/errorintegrator.py,sha256=m1VdNvX8cG851KO260_4hlom9KxM5q_QV1bbG2yWksw,13908
20
31
  pyvale/errorrand.py,sha256=YRaEEjMpEyFtk8o8I7P8R0d-0CNONXWSnIomjXHc4sM,22192
21
32
  pyvale/errorsyscalib.py,sha256=bcea3iHwCWY-fqo9hqkFsPX12Ym0sOXjzGVW1VNtiUc,5582
22
33
  pyvale/errorsysdep.py,sha256=nE4mAnfAK1146_Z5cuEkLvoadXdGw-Tm5IPSb6ydLXE,11571
@@ -31,7 +42,8 @@ pyvale/fieldtensor.py,sha256=Ssa0R9UOG8C7DUkgUkFLLX-nHFjxxBjFwEXu5UhVFwg,8146
31
42
  pyvale/fieldtransform.py,sha256=dzhHw6SlgdKEUbsy6Uh_8dp0sgx-dTH2TtjO7zSslos,17994
32
43
  pyvale/fieldvector.py,sha256=VtodQyCTBPoe8L9bdJczoDl42q26qzvaj-lKinYMBT4,7926
33
44
  pyvale/generatorsrandom.py,sha256=Ly4a2CUVj9JgWNwNykXBh6mEJEdaKgH0t24bgyUn800,16604
34
- pyvale/imagedef2d.py,sha256=jqjW3mQqz62mxz-gypypA_5QhnMpHevvedpngEhl0e8,25117
45
+ pyvale/imagedef2d.py,sha256=QeAtizLQ-LsjVJnM_fYvPOHaLVDWsX7PxWH2QrfDpgM,25153
46
+ pyvale/imagetools.py,sha256=h4x8LwZqFkCAGdNMTQeqqTA2HyaDJ2WryQXMZAfXxlA,4339
35
47
  pyvale/integratorfactory.py,sha256=c4YfUuntnPFiXZGKmRrOIKlgtWjLSY5RNeLvv84eLEU,9620
36
48
  pyvale/integratorquadrature.py,sha256=0lVMH7NmVNVTuLHQRjp9gOSBpTDd8VFCxlfl8CyufZs,9035
37
49
  pyvale/integratorrectangle.py,sha256=MaJ5ygSL1H7tDwhzFV86t_MuT21ZeM5b8_WH460Ke3o,6695
@@ -40,27 +52,33 @@ pyvale/integratortype.py,sha256=jfxdyhgOeowWLkb_ab-OB5G67PmnW-Q_mFENBJ7V9l8,1305
40
52
  pyvale/output.py,sha256=OsAKbXMuSZT1yr_EKsslQsKQano7ge9H_8g9ep4AVt0,504
41
53
  pyvale/pyvaleexceptions.py,sha256=vhXGitvM72L6Iezho14waCOqDGGCPjbW1n7V-r-xCeY,349
42
54
  pyvale/raster.py,sha256=Z8YowjBPb8p4_c3xGu-CH0DT6Z5uajjTB8xuOZmDj6M,788
43
- pyvale/rastercy.py,sha256=ty-sHAE_OJWEf0P-TJIRmTrRiCTzmDWmHrN11ka_lRk,2881
44
- pyvale/rasternp.py,sha256=9EVae-M4-jtqr0vfkHQCshpeTO9NKQb0ASOYuGRY9Hc,25993
45
- pyvale/rendermesh.py,sha256=xa5AqbRIqvpVRoi603zKF4JadvojhEIrapG1jZJYdIA,5414
55
+ pyvale/rastercy.py,sha256=gkyGqe9KrccnEuQbxjwrb6MXjkcbXne_JiDKfdzppYw,3506
56
+ pyvale/rasternp.py,sha256=trLcFIQis-LHiGJ9JwM2W16S5Lo_Q9ZqEgPOuA5DxXM,25868
57
+ pyvale/rasteropts.py,sha256=oFEy_iol1T10VMctlqA6GG9M-hVlDJyhDk-W9vhx45I,2134
58
+ pyvale/renderer.py,sha256=F6t9y2fOxSTOK4Y_uSyV-3w7LDbFAPfJaM8Au5oPUDw,1286
59
+ pyvale/rendermesh.py,sha256=h2s3SXZOqUETly60TJ5uB6Sz2s_r5HYOSXtm7NoVMR0,5337
60
+ pyvale/renderscene.py,sha256=tkrIWvcL9kOqWZQM499aCcu3bf81MuIsjBXX7np4hEk,1537
46
61
  pyvale/sensorarray.py,sha256=HC7DOSQtC1q5XE4hNr0KeWufd7z1qk3HoK_AMw9YRJk,7019
47
- pyvale/sensorarrayfactory.py,sha256=3QCpwD_OpoQezoLT35WSzlnqojBoP9cbyLpBecvjUdg,7939
62
+ pyvale/sensorarrayfactory.py,sha256=WQIz7U10dhUvbQhnYDYqbOyz9Ee7KYh_zdFt_VjQYSE,7941
48
63
  pyvale/sensorarraypoint.py,sha256=d42O0SRQcK6qVxSx4Zhu-nJNZis1F2ncXPL6xq7fiTU,11214
49
64
  pyvale/sensordata.py,sha256=LFuROk6CcnDI1-0cSx83mk4sgrt4HnwswLItA8LsLVE,2764
50
65
  pyvale/sensordescriptor.py,sha256=6-quSWdSMjp7qwcSJULEiOhICyI0TH-tJTH68qbW7dY,7073
51
- pyvale/sensortools.py,sha256=2JDpUDG-18dtXRzEViqg9fdCmAhqrde6H9I5MpP_fC4,5731
52
- pyvale/simtools.py,sha256=i9XKHRdw0yymSLydYqV4DBSWgZZS5ea_gmp3m1ny22I,2280
66
+ pyvale/sensortools.py,sha256=Qi21qePhiuPoCXdxJJA1Eoc24NJK_Db2qjuo9u9EWmU,4935
67
+ pyvale/simtools.py,sha256=h_5MDg85tHLjkP77JQ_1k1VxU89HCdJosgylPFdruPo,2272
53
68
  pyvale/visualexpplotter.py,sha256=szJLchLXWjok3Nia0sl8v2amfePLUFLJbQtjkOWqyWs,7910
54
69
  pyvale/visualimagedef.py,sha256=xlcT51guewx2AlWZlZ70RcfqgcghtO_E51kmM2G0xWM,2823
55
70
  pyvale/visualimages.py,sha256=6u0FheaBdSLXYUBGOCTf-Zf7ylAYgY0HKXXj_PH0aIQ,2849
56
71
  pyvale/visualopts.py,sha256=1jYi6qKWGcMSwKnFTcBtLdv-GRUJ-pnS3DOq5sr-J-U,14928
57
72
  pyvale/visualsimanimator.py,sha256=ZhQyxaab82tAN3sVeIUs-Pg-3WggwsF3k-HS9e4MNFk,4456
73
+ pyvale/visualsimplotter.py,sha256=m5mPIMGvSF4hhefTilkhBhii9t6rcoRKkqSdx5MugSs,6807
58
74
  pyvale/visualsimsensors.py,sha256=hINsI73NQvHunJ3lUZX-F0RrN_u6gzF0tMHZwsxHr34,12405
59
75
  pyvale/visualtools.py,sha256=9nDMZHXv0N7HBl0vOL9QLeHlayYl6ng4dx2-5i2TJjw,4816
60
76
  pyvale/visualtraceplotter.py,sha256=y-GjToF5U2VIGO-YwR_tKi_vMUO3ayhaohaWrWNUFgQ,5487
61
- pyvale/cython/rastercyth.c,sha256=f6TYhK7o9cC48w9oU8LUrF7eDz7eCZrYGLVNExah1ng,1234060
62
- pyvale/cython/rastercyth.cpython-311-i386-linux-musl.so,sha256=R3oYCY0AWezr00x0mRFLd-i3CpHcztr8avJbkWz-M6s,1358124
63
- pyvale/cython/rastercyth.py,sha256=ji6XpRUk-POdwI0Oh1PdFBUCnY4RMiZEO77MyXTM6d0,24479
77
+ pyvale/cython/rastercyth.c,sha256=Z0i9h_7jZOPY8hJkiAr5JKKoUwTVMJzpMiXRgP57tWQ,1250303
78
+ pyvale/cython/rastercyth.cpython-311-i386-linux-musl.so,sha256=kkQv8veiQoY5YhLNk6JfPEDMi5YRS75Ktkfisn8tDk4,1347296
79
+ pyvale/cython/rastercyth.py,sha256=b-KJDysrc_LxBnWirXkNhKNy6jZ-d4xTFrXGSgDCp34,26411
80
+ pyvale/data/DIC_Challenge_Star_Noise_Def.tiff,sha256=no_q1L4_0plbVmg3TPEpgoRp3iLMrx2vH_X1fBwnLSw,2020090
81
+ pyvale/data/DIC_Challenge_Star_Noise_Ref.tiff,sha256=y0JSFyHvmO_cgabG8hOej5HioQ_9Bh7O8VYVTfVr_S8,2020102
64
82
  pyvale/data/__init__.py,sha256=h1zJBQZxFSPPUksp_ErTC1uTQLdSmoc-ry3D_naPKYE,271
65
83
  pyvale/data/cal_target.tiff,sha256=4dbDIm7h7gYDJOhWOZXO-rs162ZLqxb1bdrbTykMEMk,4718962
66
84
  pyvale/data/case00_HEX20_out.e,sha256=wTdEWvGyQBhP1D1bIy5YZKu7I_QISWLEjl9K9VOOnbI,241172
@@ -78,39 +96,58 @@ pyvale/data/case18_3_out.e,sha256=8dTnKLQOSCL-gle-1shL68GBQPW1go05aDvjO6AawAg,14
78
96
  pyvale/data/case25_out.e,sha256=LWnCKG7GDUvzCs7GI1h25dhIhq6_qJgXnkhiTmdynPw,93748
79
97
  pyvale/data/case26_out.e,sha256=UAoxPN0K1bbk9R0r2hDehuQZVCPHcAV5NA1PckRyXDY,225744
80
98
  pyvale/data/optspeckle_2464x2056px_spec5px_8bit_gblur1px.tiff,sha256=cRmbiTzxc8QJ_aO9dc7YT21lV1c9K7pH-L9uQZvUQ8M,5046422
99
+ pyvale/data/plate_hole_def0000.tiff,sha256=R9qDRQxVKnAIQQWDALDM5leIvb3NaGtjXEEuX0ykI_s,1601722
100
+ pyvale/data/plate_hole_def0001.tiff,sha256=4LmjGiqVCwxEG2rEDf-XU9Lw6f7NaUL3nAkOQ1yrDvE,1601722
101
+ pyvale/data/plate_hole_ref0000.tiff,sha256=nJ3WP5Aq7sgy02LTW8ThdZkLt_0Jls26e1--TZ1Ub4M,1601722
102
+ pyvale/data/plate_rigid_def0000.tiff,sha256=YlGU0lIlkh61StQku7lK7P6oDZDa-g5R98fUrR4WnO0,1601722
103
+ pyvale/data/plate_rigid_def0001.tiff,sha256=CFIveUYubbbUDpQfnsO0iPaBTzwbjQbcAOCG1mm2040,1601722
104
+ pyvale/data/plate_rigid_ref0000.tiff,sha256=EolObMm5QzGeewgq3bLhlkHor_6ASuNoYrV2AbYrFro,1601722
105
+ pyvale/dic/cpp/dicbruteforce.cpp,sha256=9Z9jx-K6_wgGX_Ezp1lf1ulqkLQ6X6EaOLwXAxw_Aeg,11915
106
+ pyvale/dic/cpp/dicfourier.cpp,sha256=W3RjzqsbUpNSxfozObFJQnpcAGeqWcJpiSXKoaJr-cs,23548
107
+ pyvale/dic/cpp/dicinterpolator.cpp,sha256=HkA_qKp70IePO6w50om13L5yqQqYDiYQD2V9i6klhhM,20325
108
+ pyvale/dic/cpp/dicmain.cpp,sha256=qZvuC3m42Dg-_cjTVoh8dThtw6enqqTCvhIHSEKwvxA,8860
109
+ pyvale/dic/cpp/dicoptimizer.cpp,sha256=krR7jLdLQEvX8iwNWjMKDseXu5Ka5szJTYrbcjOThak,25929
110
+ pyvale/dic/cpp/dicrg.cpp,sha256=uicGKxOAgsTZgOpG18NDN-SoD0pJFu2wYGhP1Xg3S9U,4351
111
+ pyvale/dic/cpp/dicscanmethod.cpp,sha256=MjzxECbRkn-fR211xJRDB4lsn-lf6dqHYXTOrLr2D-A,26766
112
+ pyvale/dic/cpp/dicsmooth.cpp,sha256=sKOyPTEBAcPzJjSc4jAl_JCLFBz5eJ8EXYh0iT7i0L4,4445
113
+ pyvale/dic/cpp/dicstrain.cpp,sha256=wrcRcx_Jn5EvRLlXc_zVJ15VJVpRBHLLpMbcot8UOCM,14017
114
+ pyvale/dic/cpp/dicutil.cpp,sha256=UEN3_Fm4gB_CRJY1wPvEUGGjjoBNwpPridPz32yPWPA,19829
81
115
  pyvale/examples/__init__.py,sha256=h1zJBQZxFSPPUksp_ErTC1uTQLdSmoc-ry3D_naPKYE,271
82
- pyvale/examples/basics/ex1_1_basicscalars_therm2d.py,sha256=j9g-rhWf4-gW2DwDr2ur-DOkgVYYx-rH01aAQ87Re5U,6146
83
- pyvale/examples/basics/ex1_2_sensormodel_therm2d.py,sha256=HzoJjJ_Pq1ukIeT7nn1Ao7hcywnfxx3K9MImD74eLGw,7145
84
- pyvale/examples/basics/ex1_3_customsens_therm3d.py,sha256=IfVtucEdaI-k1CsNwcboOCPmU0kM4tKIOQBoRDfw21M,9765
85
- pyvale/examples/basics/ex1_4_basicerrors_therm3d.py,sha256=BdFijiIzsZwExNq1xQFm8ut-sr3m1cZoUaDd7Eljcf4,6811
86
- pyvale/examples/basics/ex1_5_fielderrs_therm3d.py,sha256=xTYASxpj5hhvxVoZbcmnGQVOR5_XfM_D-Ei44HttUH4,7344
87
- pyvale/examples/basics/ex1_6_caliberrs_therm2d.py,sha256=5Q2n0aqDzOUheYgchGHWBn-kVPPce8MaEIIl_qcIVQw,5209
88
- pyvale/examples/basics/ex1_7_spatavg_therm2d.py,sha256=TbdBvL0SmsbbGfylwe-WSKSJmT8yoy-4I5c_fNk6KEg,5442
89
- pyvale/examples/basics/ex2_1_basicvectors_disp2d.py,sha256=HVb-d-TPOCjLsNf16N6bIUG35FUkf4Jb9136XANgiNo,4934
90
- pyvale/examples/basics/ex2_2_vectorsens_disp2d.py,sha256=xhyVYSBp8LuOuhrGhssaPwF_dyp3qUhg2ZXNMsM-grY,5107
91
- pyvale/examples/basics/ex2_3_sensangle_disp2d.py,sha256=PuZs3cVeb9Nol_9c6WgyD8TyA8UMDjs78AwdG-vBJqc,5643
92
- pyvale/examples/basics/ex2_4_chainfielderrs_disp2d.py,sha256=q6kMdly2b-SSUbeaTRq0w5RZyeSAcwgEWyPKdy4ttI8,8383
93
- pyvale/examples/basics/ex2_5_vectorfields3d_disp3d.py,sha256=LzI9P4lCAfzuwuE4DdGuw10WnmfS6Qk8CusOiS-zPyI,4439
94
- pyvale/examples/basics/ex3_1_basictensors_strain2d.py,sha256=1bfgLAFf8M2LwqxEhUqErdc3hrvlEyZU0jrxPhAP7Dg,5071
95
- pyvale/examples/basics/ex3_2_tensorsens2d_strain2d.py,sha256=vH2Trr3VGWhdPJM_3TNdfDXsOk-kDowftphPsqVoep8,4802
96
- pyvale/examples/basics/ex3_3_tensorsens3d_strain3d.py,sha256=0g0hxeIosc8RN7hN2v8qMpN23FOjUlKzjds7-K7M_Dw,8420
97
- pyvale/examples/basics/ex4_1_expsim2d_thermmech2d.py,sha256=SgO_luAOmAY7ZBuMZpPPnIYHwJsaDfhxonnIPh3iwwo,7926
98
- pyvale/examples/basics/ex4_2_expsim3d_thermmech3d.py,sha256=u81CMU9P9q5vgrnBP1MXo34V_zo3PoN5XAtpi8vzpSU,11163
116
+ pyvale/examples/basics/ex1_1_basicscalars_therm2d.py,sha256=tR8wGXoHUXaOCsJzSTFzgiTJpmoyVg6FCKoLnCmbq-4,5893
117
+ pyvale/examples/basics/ex1_2_sensormodel_therm2d.py,sha256=ar7w73Nt1rjZiw8ma3nIf7rTbVHhmCRgAdcNLb7tlUg,5898
118
+ pyvale/examples/basics/ex1_3_customsens_therm3d.py,sha256=vGxK0UxYVD4FgUzf8T-NoWjathH9vKRMzIC6oaGuCGY,8912
119
+ pyvale/examples/basics/ex1_4_basicerrors_therm3d.py,sha256=8_atq2znFiaP0f0xC5CmZkTo4fm77uDFxfSX9oXoBfU,6249
120
+ pyvale/examples/basics/ex1_5_fielderrs_therm3d.py,sha256=P8bd7Th5UVfILKeK79Q34GovmmntNPBmLPJLxefu6c0,6742
121
+ pyvale/examples/basics/ex1_6_caliberrs_therm2d.py,sha256=ezm3d-JVvOJ269mHKqLn_6ErTe6lry2S1jAAu5WE954,4718
122
+ pyvale/examples/basics/ex1_7_spatavg_therm2d.py,sha256=K5rqGqggKDDgWJy1Oz9KrXIhuc3RbfmP6ECQMwroN0U,4941
123
+ pyvale/examples/basics/ex2_1_basicvectors_disp2d.py,sha256=zt2o5Cyc65VPVNiq4Et4ldpsvIeKolPQcc-ozb30k60,4474
124
+ pyvale/examples/basics/ex2_2_vectorsens_disp2d.py,sha256=b5aHvgcSCBIFe8RwkXEGFgamc_2W7ySCtEV3HSxqYGw,4813
125
+ pyvale/examples/basics/ex2_3_sensangle_disp2d.py,sha256=KJ0__mipvtZRbdyg7yrE7lJy4VM7V6y_SzJ0jTSKzk0,5121
126
+ pyvale/examples/basics/ex2_4_chainfielderrs_disp2d.py,sha256=GsbEouFHSEEEikeFWod4ahLMrwdwBXE3Sq668J83QHQ,7710
127
+ pyvale/examples/basics/ex2_5_vectorfields3d_disp3d.py,sha256=YsApZvYMaKW-C7TVuSzPfhxwZyMM07997OG_qvAbmWE,4022
128
+ pyvale/examples/basics/ex3_1_basictensors_strain2d.py,sha256=fQe308dmM5gTHZ78uBjRBwWUZ5sF745rFpPYlg3COGg,4601
129
+ pyvale/examples/basics/ex3_2_tensorsens2d_strain2d.py,sha256=4f7H7VSWHRoMEIt_WLqjjbVmBml-dmGT5ROS0vFdeb4,4522
130
+ pyvale/examples/basics/ex3_3_tensorsens3d_strain3d.py,sha256=ztMltP5MV9wGjCARALkIf0b78MjYMIAYOtgN8c1AF0c,7902
131
+ pyvale/examples/basics/ex4_1_expsim2d_thermmech2d.py,sha256=qnr-eWTgwHFTNbqvxsLFWDdH1_Jaerll72Eg5xoNIvE,7465
132
+ pyvale/examples/basics/ex4_2_expsim3d_thermmech3d.py,sha256=rbaa85ytr7ZEcO3MrFqvSdvpElMzvZaOr9c8ZgPbiC0,10457
133
+ pyvale/examples/dic/ex1_region_of_interest.py,sha256=_sM9gshIz_NIRyeu9_EtWYQCfr-FT-X-fbUd4Bo4-vw,3330
134
+ pyvale/examples/dic/ex2_plate_with_hole.py,sha256=xNfotyAzCMRpsaHSUDNp8uxaukAaL3tkeWWGtMN8bUE,6048
135
+ pyvale/examples/dic/ex3_plate_with_hole_strain.py,sha256=R_B94dvc5eZHXLTzeZcNpGL6ynWby0ONGTBX_YuRixQ,3436
136
+ pyvale/examples/dic/ex4_dic_blender.py,sha256=XcKdDyxfvrc4RBXoADIMfD7x-x0HKm20j0VvJJXWQ9k,3152
137
+ pyvale/examples/dic/ex5_dic_challenge.py,sha256=JJNAVre6evK42_CY6r7-ZDwnEYU7XFZZHyggT82Z0us,3966
99
138
  pyvale/examples/genanalyticdata/ex1_1_scalarvisualisation.py,sha256=4AeQXlzKAgXA3SjXpKoj2Pi9WVHDPlWp2N3tNdYf4M0,938
100
139
  pyvale/examples/genanalyticdata/ex1_2_scalarcasebuild.py,sha256=E5eWebp-TQBH-46KqW5JfNZgo7OHpt_D-Yx_bVCsLgk,1272
101
140
  pyvale/examples/genanalyticdata/ex2_1_analyticsensors.py,sha256=-IoroBX6QKvlMUdnHWQLEF9JS56mvKmTk_7f9fpzqbQ,2845
102
- pyvale/examples/imagedef2d/ex_imagedef2d_todisk.py,sha256=hTSeDsDkDywl1M4zYelKE_u8RmX2qR5zwSYVrOoxwxg,2613
103
- pyvale/examples/renderblender/ex1_1_blenderscene.py,sha256=EN4hT5gS0wWfj-rthlw6UANCbnKZG_MAG2zJSZ66kcA,5023
104
- pyvale/examples/renderblender/ex1_2_blenderdeformed.py,sha256=BeWLlwcVvzH79vZ8bZ8A_a6Cfk4SgQfz7sEcvELanCk,5074
105
- pyvale/examples/renderblender/ex2_1_stereoscene.py,sha256=5PkiAm6C_Rz5MZvc0uJ76paB8nurh93hq8aqBU0Roro,5458
106
- pyvale/examples/renderblender/ex2_2_stereodeformed.py,sha256=kPCCiTckNAB6taQLiflFWmmtV2fWQKcwmxQmCcf2jmI,5629
107
- pyvale/examples/renderblender/ex3_1_blendercalibration.py,sha256=oXpVs7kTVsNgJU2ou1SOYOunDKheHaQnLU2vrMBfC7E,5258
108
- pyvale/examples/renderrasterisation/ex_rastenp.py,sha256=nkw42wsiLmVhNJcZpEySPrnTntJ6f6mS4ov5iLIxsRA,4848
109
- pyvale/examples/renderrasterisation/ex_rastercyth_oneframe.py,sha256=TpNMhpixM0OnUT4q2l2eoVqx53j9A-pYLoKIZ7yRKt4,7437
110
- pyvale/examples/renderrasterisation/ex_rastercyth_static_cypara.py,sha256=oyZYzYmkEyNUYwTBSHgWcrG4lKml7NKDO1sdlpKk8wE,6674
111
- pyvale/examples/renderrasterisation/ex_rastercyth_static_pypara.py,sha256=0n_LDEHspZ5zwWzf5tvpaLhXFxWy_nHXJarl0XaZF5I,6756
112
- pyvale/examples/visualisation/ex1_1_plot_traces.py,sha256=Vx4ZWOxwncyUHtXAOOR1YqEUFon8gkaTZ1Ne_K6AfO0,3252
113
- pyvale/examples/visualisation/ex2_1_animate_sim.py,sha256=OdQpu33z5QZYHYdZdsntBc8K8gXCNFVCylNqoQv5RvA,2985
141
+ pyvale/examples/imagedef2d/ex_imagedef2d_todisk.py,sha256=VpiUrfQ_LqrMtfleob5rv_1uL6PvZvZqTXxE5URFn0U,2706
142
+ pyvale/examples/renderblender/ex1_1_blenderscene.py,sha256=cP0edjPmmLdI9fZlYf8T1luzErsEuYudiDgGWhSyceM,6921
143
+ pyvale/examples/renderblender/ex1_2_blenderdeformed.py,sha256=iNXeHCvPnP1ZurJsynU4qMbluLugwqYE-cixE3bfgLc,7006
144
+ pyvale/examples/renderblender/ex2_1_stereoscene.py,sha256=55QPd21xNAgDHdAiyVE1FUUjLNQHpi6P22Rg_f9CKZc,8619
145
+ pyvale/examples/renderblender/ex2_2_stereodeformed.py,sha256=tqLNvdUpnMVQhHLFMkBCK9Wz6t53fWBXGbLCA0_Yg9A,9067
146
+ pyvale/examples/renderblender/ex3_1_blendercalibration.py,sha256=AES91WSQg2hj39vpBlX76t8f-4pdte0bss9C6724UPw,7857
147
+ pyvale/examples/renderrasterisation/ex_rastenp.py,sha256=G2QkitHDF79Hd1cgogsuKy-nint9uT8vzlbCkUds8U4,6211
148
+ pyvale/examples/renderrasterisation/ex_rastercyth_oneframe.py,sha256=bs-gsIEZSMHA16S4Rhfs8TpR-J9ORrVWwsER9QnnWF4,7268
149
+ pyvale/examples/renderrasterisation/ex_rastercyth_static_cypara.py,sha256=QQ7Wl98iZb9ulu855uyiZyyli20gwRzHZB_7hiKcdPw,6660
150
+ pyvale/examples/renderrasterisation/ex_rastercyth_static_pypara.py,sha256=PseFMWPXQBeYpzmGUIF3_JTiaoJgHhkYgkGQI17cYa8,6740
114
151
  pyvale/simcases/case00_HEX20.i,sha256=UiKSQOGgAQwS3cWLxSMVixmp-1RzpZS3nKxVaIgWWKg,5149
115
152
  pyvale/simcases/case00_HEX27.i,sha256=MJ3jXHf8hDQP-Y3Ew9FU3EAnD-7E4l8C4QjdeAoRrFc,5149
116
153
  pyvale/simcases/case00_HEX8.i,sha256=R4NiWVjoyG8_y6Hhh_I_QySYzbEQ70QuiD0I4auA4Bc,5159
@@ -152,7 +189,7 @@ pyvale/simcases/case19.i,sha256=jRDSAWaC-bTxCeFgSyj1gapbo6iqteySuPR5QhPLKqo,2191
152
189
  pyvale/simcases/case20.geo,sha256=TKBX8JKDwXKyXfXCi6fmOzDV_7_1Kpfpne9yeute11o,9102
153
190
  pyvale/simcases/case20.i,sha256=wAQGXJbY_VniZPG-PzeL5-Sk6_ZUiwuf8zRV3c8nEz0,6655
154
191
  pyvale/simcases/case21.geo,sha256=AzFNKkQp7-a9PojtR4y0GNI6g12BLvTRvkHDglYPRFQ,2387
155
- pyvale/simcases/case21.i,sha256=QjKU97PMsswLkaGkutC7gdJhGY8lRq5VEf5b-gRhT4E,3417
192
+ pyvale/simcases/case21.i,sha256=0W9r02t2sO3ksNvrgnBUr55Aq4gBP7t_MIeU2PxbIHk,3415
156
193
  pyvale/simcases/case22.geo,sha256=3OHJhFTm9P_G6vIB9fqgcpeT1DQt5xq5tWxOsRhvj2A,2491
157
194
  pyvale/simcases/case22.i,sha256=b3IeO0hs4IU0PJlS_MIkF1gtPkKYQXklfNs5rhy9KNc,3189
158
195
  pyvale/simcases/case23.geo,sha256=53NyuNJrPBgUWRHhgz0zS2fCZ8lavn_flpnfLUO2GNY,5448
@@ -163,12 +200,15 @@ pyvale/simcases/case25.geo,sha256=k33GLvsApxTbxDbnOGueA3rTIazqcgYQ5DP37kCAPA4,24
163
200
  pyvale/simcases/case25.i,sha256=8lArbbZOCJ4aLuJCaEO5FW1kzJI4JquOmbA-nVpNRRI,2994
164
201
  pyvale/simcases/case26.geo,sha256=7Qj0siF2FqgElxcmtX_7UDp4tdX6scnJgKffpP6iRQY,5468
165
202
  pyvale/simcases/case26.i,sha256=V-pS7MeAo9vl3QUDtu-i6MQyeftryxSj0r8n7t6hY0k,2992
166
- pyvale/simcases/run_1case.py,sha256=QmmZcawWmfkmImciEqM-8NedwlzuIOgLT2Te3fVb574,1928
203
+ pyvale/simcases/run_1case.py,sha256=Hbj5tkFGs99ZEbQ7raif0IeaUXWmVImPX0Gh3EfSkEQ,2038
167
204
  pyvale/simcases/run_all_cases.py,sha256=9b3JYcxC8PA2CR-htum7wCICwwnLNeC01xAhk0m6yxw,1903
168
205
  pyvale/simcases/run_build_case.py,sha256=IlyZC_VU095ayi7nz57xSSboTeJB54y7nsQXpBTUXFM,1938
169
206
  pyvale/simcases/run_example_cases.py,sha256=l5KOQvPMNRUkJMotaReG2nmrFtVBNWCwKVezNyRwKb0,1910
170
- pyvale-2025.5.3.dist-info/METADATA,sha256=yMGKopF-CTHHsZHzwzS1fv05ArhpJTVFSj4z7QM4S0M,7480
171
- pyvale-2025.5.3.dist-info/WHEEL,sha256=QrLtnJOm69bF55DVwgTvoZE5XRr5OJ7dg-9DbFKJ2f4,110
172
- pyvale-2025.5.3.dist-info/top_level.txt,sha256=u1d_f4iZ3b3_96Rb_zrs9hyrpC4yE5e1Lg6Ey_Wgr0c,7
173
- pyvale-2025.5.3.dist-info/RECORD,,
174
- pyvale-2025.5.3.dist-info/licenses/LICENSE,sha256=h2qWsRIazuLLhALyUsCP6aE0DFcswL9SSSt9sgMzZi4,1099
207
+ pyvale.libs/libgcc_s-887de51c.so.1,sha256=RNCpguSD0HdFtlL1g8NK7PFi5CjUceWeO3d0Hf_dMQ0,218145
208
+ pyvale.libs/libgomp-24921df4.so.1.0.0,sha256=lMjVoH2P173wo6IhKuey57hygWEZMM6EdzQwRh8s4sc,365613
209
+ pyvale.libs/libstdc++-d6415257.so.6.0.33,sha256=meIiZn0YlC5otOd-KKSYWFNdlouafStLQyPhNs_zcYQ,3597909
210
+ pyvale-2025.7.1.dist-info/METADATA,sha256=Gwjyim_YWdrAB_mdEHljvAVTqMVsbLVw_8QXOsjZ6sc,6387
211
+ pyvale-2025.7.1.dist-info/WHEEL,sha256=6ltumPE74Em2X1OXYv5iIjaGYcDTCG-wPLy9Dk1DJEw,110
212
+ pyvale-2025.7.1.dist-info/top_level.txt,sha256=u1d_f4iZ3b3_96Rb_zrs9hyrpC4yE5e1Lg6Ey_Wgr0c,7
213
+ pyvale-2025.7.1.dist-info/RECORD,,
214
+ pyvale-2025.7.1.dist-info/licenses/LICENSE,sha256=h2qWsRIazuLLhALyUsCP6aE0DFcswL9SSSt9sgMzZi4,1099
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.8.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp311-cp311-musllinux_1_2_i686
5
5
 
Binary file
Binary file
Binary file
@@ -1,102 +0,0 @@
1
- # ==============================================================================
2
- # pyvale: the python validation engine
3
- # License: MIT
4
- # Copyright (C) 2025 The Computer Aided Validation Team
5
- # ==============================================================================
6
-
7
- """
8
- Pyvale example: TODO
9
- --------------------------------------------------------------------------------
10
- TODO
11
-
12
- Test case: TODO
13
- """
14
-
15
- import numpy as np
16
- import matplotlib.pyplot as plt
17
- import mooseherder as mh
18
- import pyvale as pyv
19
-
20
- # TODO: comments and full description for this example like the basics examples
21
-
22
- def main() -> None:
23
-
24
- data_path = pyv.DataSet.thermal_2d_path()
25
- sim_data = mh.ExodusReader(data_path).read_all_sim_data()
26
- sim_data = pyv.scale_length_units(scale=1000.0,
27
- sim_data=sim_data,
28
- disp_comps=None)
29
-
30
- n_sens = (4,1,1)
31
- x_lims = (0.0,100.0)
32
- y_lims = (0.0,50.0)
33
- z_lims = (0.0,0.0)
34
- sens_pos = pyv.create_sensor_pos_array(n_sens,x_lims,y_lims,z_lims)
35
-
36
- sample_times = np.linspace(0.0,np.max(sim_data.time),12)
37
-
38
- sens_data = pyv.SensorData(positions=sens_pos,
39
- sample_times=sample_times)
40
-
41
- field_key = "temperature"
42
- tc_array = pyv.SensorArrayFactory \
43
- .thermocouples_basic_errs(sim_data,
44
- sens_data,
45
- field_key,
46
- elem_dims=2)
47
-
48
- err_int = pyv.ErrIntegrator([pyv.ErrSysOffset(offset=-5.0)],
49
- sens_data,
50
- tc_array.get_measurement_shape())
51
- tc_array.set_error_integrator(err_int)
52
-
53
- measurements = tc_array.get_measurements()
54
-
55
-
56
- print(80*"-")
57
-
58
- sens_print: int = 0
59
- time_print: int = 5
60
- comp_print: int = 0
61
-
62
- print(f"These are the last {time_print} virtual measurements of sensor "
63
- + f"{sens_print}:")
64
-
65
- pyv.print_measurements(sens_array=tc_array,
66
- sensors=(sens_print,sens_print+1),
67
- components=(comp_print,comp_print+1),
68
- time_steps=(measurements.shape[2]-time_print,
69
- measurements.shape[2]))
70
- print(80*"-")
71
-
72
-
73
- trace_props = pyv.TraceOptsSensor()
74
-
75
- trace_props.truth_line = None
76
- trace_props.sim_line = None
77
- pyv.plot_time_traces(tc_array,field_key,trace_props)
78
-
79
- trace_props.meas_line = "--o"
80
- trace_props.truth_line = "-x"
81
- trace_props.sim_line = ":+"
82
- pyv.plot_time_traces(tc_array,field_key,trace_props)
83
-
84
- trace_props.sensors_to_plot = np.arange(measurements.shape[0]-2
85
- ,measurements.shape[0])
86
- pyv.plot_time_traces(tc_array,field_key,trace_props)
87
-
88
- trace_props.sensors_to_plot = None
89
- trace_props.time_min_max = (0.0,100.0)
90
- pyv.plot_time_traces(tc_array,field_key,trace_props)
91
-
92
- plt.show()
93
-
94
- pv_plot = pyv.plot_point_sensors_on_sim(tc_array,field_key)
95
- pv_plot.camera_position = [(-7.547, 59.753, 134.52),
96
- (41.916, 25.303, 9.297),
97
- (0.0810, 0.969, -0.234)]
98
- pv_plot.show()
99
-
100
-
101
- if __name__ == "__main__":
102
- main()
@@ -1,89 +0,0 @@
1
- # ==============================================================================
2
- # pyvale: the python validation engine
3
- # License: MIT
4
- # Copyright (C) 2025 The Computer Aided Validation Team
5
- # ==============================================================================
6
-
7
- """
8
- Pyvale example: TODO
9
- --------------------------------------------------------------------------------
10
- TODO
11
-
12
- Test case: TODO
13
- """
14
-
15
- from pathlib import Path
16
- import numpy as np
17
- import mooseherder as mh
18
- import pyvale as pyv
19
-
20
-
21
- def main() -> None:
22
-
23
- data_path = pyv.DataSet.thermal_3d_path()
24
- sim_data = mh.ExodusReader(data_path).read_all_sim_data()
25
-
26
- sim_data = pyv.scale_length_units(scale=1000.0,
27
- sim_data=sim_data,
28
- disp_comps=None)
29
- sim_data.coords = sim_data.coords*1000.0 # type: ignore
30
-
31
- pyv.print_dimensions(sim_data)
32
-
33
- n_sens = (1,4,1)
34
- x_lims = (12.5,12.5)
35
- y_lims = (0,33.0)
36
- z_lims = (0.0,12.0)
37
- sens_pos = pyv.create_sensor_pos_array(n_sens,x_lims,y_lims,z_lims)
38
-
39
- sens_data = pyv.SensorData(positions=sens_pos)
40
-
41
- field_key = 'temperature'
42
- tc_array = pyv.SensorArrayFactory() \
43
- .thermocouples_basic_errs(sim_data,
44
- sens_data,
45
- field_key,
46
- elem_dims=3)
47
-
48
- measurements = tc_array.get_measurements()
49
- print(f'\nMeasurements for sensor at top of block:\n{measurements[-1,0,:]}\n')
50
-
51
- vis_opts = pyv.VisOptsSimSensors()
52
- vis_opts.window_size_px = (1200,800)
53
- vis_opts.camera_position = np.array([(59.354, 43.428, 69.946),
54
- (-2.858, 13.189, 4.523),
55
- (-0.215, 0.948, -0.233)])
56
-
57
- vis_mode = "vector"
58
- save_dir = Path.cwd() / "exampleoutput"
59
- if not save_dir.is_dir():
60
- save_dir.mkdir()
61
-
62
- if vis_mode == "animate":
63
- anim_opts = pyv.VisOptsAnimation()
64
-
65
- anim_opts.save_path = save_dir / "test_animation"
66
- anim_opts.save_animation = pyv.EAnimationType.MP4
67
-
68
- pv_anim = pyv.animate_sim_with_sensors(tc_array,
69
- field_key,
70
- time_steps=None,
71
- vis_opts=vis_opts,
72
- anim_opts=anim_opts)
73
-
74
- else:
75
- image_save_opts = pyv.VisOptsImageSave()
76
-
77
- image_save_opts.path = save_dir / "test_vector_graphics"
78
- image_save_opts.image_type = pyv.EImageType.SVG
79
-
80
- pv_plot = pyv.plot_point_sensors_on_sim(tc_array,
81
- field_key,
82
- time_step=-1,
83
- vis_opts=vis_opts,
84
- image_save_opts=image_save_opts)
85
- pv_plot.show()
86
-
87
-
88
- if __name__ == '__main__':
89
- main()