fullwave25 1.0.7__py3-none-any.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 fullwave25 might be problematic. Click here for more details.

Files changed (225) hide show
  1. fullwave/__init__.py +28 -0
  2. fullwave/constants/__init__.py +5 -0
  3. fullwave/constants/material_properties.py +112 -0
  4. fullwave/grid.py +222 -0
  5. fullwave/medium.py +1042 -0
  6. fullwave/medium_builder/__init__.py +12 -0
  7. fullwave/medium_builder/domain.py +151 -0
  8. fullwave/medium_builder/medium_builder.py +198 -0
  9. fullwave/medium_builder/presets/__init__.py +8 -0
  10. fullwave/medium_builder/presets/data/.keep +0 -0
  11. fullwave/medium_builder/presets/data/abdominal_wall/i2365f_etfw1.mat +0 -0
  12. fullwave/medium_builder/presets/domain_abdominal_wall.py +293 -0
  13. fullwave/medium_builder/presets/domain_background.py +140 -0
  14. fullwave/medium_builder/presets/domain_scatterer.py +179 -0
  15. fullwave/medium_builder/presets/domain_simple.py +92 -0
  16. fullwave/medium_builder/presets/domain_water_gel.py +1 -0
  17. fullwave/sensor.py +161 -0
  18. fullwave/solver/__init__.py +1 -0
  19. fullwave/solver/bins/database/relaxation_params_database_num_relax=2_20251027_1437.mat +0 -0
  20. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenu +0 -0
  21. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_100_cuda129 +0 -0
  22. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_101_cuda129 +0 -0
  23. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_120_cuda129 +0 -0
  24. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_61_cuda118 +0 -0
  25. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_61_cuda124 +0 -0
  26. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_61_cuda126 +0 -0
  27. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_61_cuda129 +0 -0
  28. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_70_cuda118 +0 -0
  29. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_70_cuda124 +0 -0
  30. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_70_cuda126 +0 -0
  31. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_70_cuda129 +0 -0
  32. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_75_cuda118 +0 -0
  33. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_75_cuda124 +0 -0
  34. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_75_cuda126 +0 -0
  35. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_75_cuda129 +0 -0
  36. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_80_cuda118 +0 -0
  37. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_80_cuda124 +0 -0
  38. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_80_cuda126 +0 -0
  39. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_80_cuda129 +0 -0
  40. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_86_cuda118 +0 -0
  41. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_86_cuda124 +0 -0
  42. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_86_cuda126 +0 -0
  43. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_86_cuda129 +0 -0
  44. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_89_cuda118 +0 -0
  45. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_89_cuda126 +0 -0
  46. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_89_cuda129 +0 -0
  47. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_90_cuda118 +0 -0
  48. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_90_cuda124 +0 -0
  49. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_90_cuda126 +0 -0
  50. fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_90_cuda129 +0 -0
  51. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_100_cuda129 +0 -0
  52. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_101_cuda129 +0 -0
  53. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_120_cuda129 +0 -0
  54. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_61_cuda118 +0 -0
  55. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_61_cuda124 +0 -0
  56. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_61_cuda126 +0 -0
  57. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_61_cuda129 +0 -0
  58. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_70_cuda118 +0 -0
  59. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_70_cuda124 +0 -0
  60. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_70_cuda126 +0 -0
  61. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_70_cuda129 +0 -0
  62. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_75_cuda118 +0 -0
  63. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_75_cuda124 +0 -0
  64. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_75_cuda126 +0 -0
  65. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_75_cuda129 +0 -0
  66. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_80_cuda118 +0 -0
  67. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_80_cuda124 +0 -0
  68. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_80_cuda126 +0 -0
  69. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_80_cuda129 +0 -0
  70. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_86_cuda118 +0 -0
  71. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_86_cuda124 +0 -0
  72. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_86_cuda126 +0 -0
  73. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_86_cuda129 +0 -0
  74. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_89_cuda118 +0 -0
  75. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_89_cuda124 +0 -0
  76. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_89_cuda126 +0 -0
  77. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_89_cuda129 +0 -0
  78. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_90_cuda118 +0 -0
  79. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_90_cuda124 +0 -0
  80. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_90_cuda126 +0 -0
  81. fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_90_cuda129 +0 -0
  82. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_100_cuda129 +0 -0
  83. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_101_cuda129 +0 -0
  84. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_120_cuda129 +0 -0
  85. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_61_cuda118 +0 -0
  86. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_61_cuda124 +0 -0
  87. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_61_cuda126 +0 -0
  88. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_61_cuda129 +0 -0
  89. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_70_cuda118 +0 -0
  90. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_70_cuda124 +0 -0
  91. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_70_cuda126 +0 -0
  92. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_70_cuda129 +0 -0
  93. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_75_cuda118 +0 -0
  94. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_75_cuda124 +0 -0
  95. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_75_cuda126 +0 -0
  96. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_75_cuda129 +0 -0
  97. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_80_cuda118 +0 -0
  98. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_80_cuda124 +0 -0
  99. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_80_cuda126 +0 -0
  100. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_80_cuda129 +0 -0
  101. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_86_cuda118 +0 -0
  102. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_86_cuda124 +0 -0
  103. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_86_cuda126 +0 -0
  104. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_86_cuda129 +0 -0
  105. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_89_cuda118 +0 -0
  106. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_89_cuda124 +0 -0
  107. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_89_cuda126 +0 -0
  108. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_89_cuda129 +0 -0
  109. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_90_cuda118 +0 -0
  110. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_90_cuda124 +0 -0
  111. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_90_cuda126 +0 -0
  112. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_90_cuda129 +0 -0
  113. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_100_cuda129 +0 -0
  114. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_101_cuda129 +0 -0
  115. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_120_cuda129 +0 -0
  116. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_61_cuda118 +0 -0
  117. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_61_cuda124 +0 -0
  118. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_61_cuda126 +0 -0
  119. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_61_cuda129 +0 -0
  120. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_70_cuda118 +0 -0
  121. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_70_cuda124 +0 -0
  122. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_70_cuda126 +0 -0
  123. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_70_cuda129 +0 -0
  124. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_75_cuda118 +0 -0
  125. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_75_cuda124 +0 -0
  126. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_75_cuda126 +0 -0
  127. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_75_cuda129 +0 -0
  128. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_80_cuda118 +0 -0
  129. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_80_cuda124 +0 -0
  130. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_80_cuda126 +0 -0
  131. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_80_cuda129 +0 -0
  132. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_86_cuda118 +0 -0
  133. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_86_cuda124 +0 -0
  134. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_86_cuda126 +0 -0
  135. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_86_cuda129 +0 -0
  136. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_89_cuda118 +0 -0
  137. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_89_cuda124 +0 -0
  138. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_89_cuda126 +0 -0
  139. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_89_cuda129 +0 -0
  140. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_90_cuda118 +0 -0
  141. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_90_cuda124 +0 -0
  142. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_90_cuda126 +0 -0
  143. fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_90_cuda129 +0 -0
  144. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_100_cuda129 +0 -0
  145. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_101_cuda129 +0 -0
  146. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_120_cuda129 +0 -0
  147. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_61_cuda118 +0 -0
  148. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_61_cuda124 +0 -0
  149. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_61_cuda126 +0 -0
  150. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_61_cuda129 +0 -0
  151. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_70_cuda118 +0 -0
  152. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_70_cuda124 +0 -0
  153. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_70_cuda126 +0 -0
  154. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_70_cuda129 +0 -0
  155. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_75_cuda118 +0 -0
  156. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_75_cuda124 +0 -0
  157. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_75_cuda126 +0 -0
  158. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_75_cuda129 +0 -0
  159. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_80_cuda118 +0 -0
  160. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_80_cuda124 +0 -0
  161. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_80_cuda126 +0 -0
  162. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_80_cuda129 +0 -0
  163. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_86_cuda118 +0 -0
  164. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_86_cuda124 +0 -0
  165. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_86_cuda126 +0 -0
  166. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_86_cuda129 +0 -0
  167. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_89_cuda118 +0 -0
  168. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_89_cuda124 +0 -0
  169. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_89_cuda126 +0 -0
  170. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_89_cuda129 +0 -0
  171. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_90_cuda118 +0 -0
  172. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_90_cuda124 +0 -0
  173. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_90_cuda126 +0 -0
  174. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_90_cuda129 +0 -0
  175. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_100_cuda129 +0 -0
  176. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_101_cuda129 +0 -0
  177. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_120_cuda129 +0 -0
  178. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_61_cuda118 +0 -0
  179. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_61_cuda124 +0 -0
  180. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_61_cuda126 +0 -0
  181. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_61_cuda129 +0 -0
  182. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_70_cuda118 +0 -0
  183. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_70_cuda124 +0 -0
  184. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_70_cuda126 +0 -0
  185. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_70_cuda129 +0 -0
  186. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_75_cuda118 +0 -0
  187. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_75_cuda124 +0 -0
  188. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_75_cuda126 +0 -0
  189. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_75_cuda129 +0 -0
  190. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_80_cuda118 +0 -0
  191. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_80_cuda124 +0 -0
  192. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_80_cuda126 +0 -0
  193. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_80_cuda129 +0 -0
  194. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_86_cuda118 +0 -0
  195. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_86_cuda124 +0 -0
  196. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_86_cuda126 +0 -0
  197. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_86_cuda129 +0 -0
  198. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_89_cuda118 +0 -0
  199. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_89_cuda124 +0 -0
  200. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_89_cuda126 +0 -0
  201. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_89_cuda129 +0 -0
  202. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_90_cuda118 +0 -0
  203. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_90_cuda124 +0 -0
  204. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_90_cuda126 +0 -0
  205. fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_90_cuda129 +0 -0
  206. fullwave/solver/cuda_utils.py +392 -0
  207. fullwave/solver/input_file_writer.py +853 -0
  208. fullwave/solver/launcher.py +134 -0
  209. fullwave/solver/pml_builder.py +1923 -0
  210. fullwave/solver/solver.py +750 -0
  211. fullwave/solver/utils.py +83 -0
  212. fullwave/source.py +173 -0
  213. fullwave/transducer.py +1003 -0
  214. fullwave/utils/__init__.py +12 -0
  215. fullwave/utils/check_functions.py +48 -0
  216. fullwave/utils/coordinates.py +155 -0
  217. fullwave/utils/memory_tempfile.py +439 -0
  218. fullwave/utils/numerical.py +111 -0
  219. fullwave/utils/plot_utils.py +1122 -0
  220. fullwave/utils/pulse.py +72 -0
  221. fullwave/utils/relaxation_parameters.py +212 -0
  222. fullwave/utils/signal_process.py +197 -0
  223. fullwave25-1.0.7.dist-info/METADATA +292 -0
  224. fullwave25-1.0.7.dist-info/RECORD +225 -0
  225. fullwave25-1.0.7.dist-info/WHEEL +4 -0
@@ -0,0 +1,292 @@
1
+ Metadata-Version: 2.4
2
+ Name: fullwave25
3
+ Version: 1.0.7
4
+ Author-email: Masashi Sode <masashi.sode@gmail.com>
5
+ Requires-Python: >=3.12
6
+ Requires-Dist: matplotlib>=3.10.0
7
+ Requires-Dist: numpy>=2.0.0
8
+ Requires-Dist: opencv-python>=4.11.0.86
9
+ Requires-Dist: scipy>=1.16.3
10
+ Requires-Dist: tqdm>=4.67.1
11
+ Provides-Extra: dev
12
+ Requires-Dist: pre-commit==4.1.0; extra == 'dev'
13
+ Requires-Dist: pytest>=8.3.5; extra == 'dev'
14
+ Requires-Dist: ruff>=0.12.9; extra == 'dev'
15
+ Provides-Extra: examples
16
+ Requires-Dist: ipykernel>=6.28.0; extra == 'examples'
17
+ Requires-Dist: jupyter>=1.0.0; extra == 'examples'
18
+ Provides-Extra: test
19
+ Requires-Dist: coverage==7.6.12; extra == 'test'
20
+ Requires-Dist: pytest; extra == 'test'
21
+ Description-Content-Type: text/markdown
22
+
23
+ # Fullwave 2.5: Ultrasound wave propagation simulation with heterogeneous power law attenuation modelling capabilities
24
+
25
+ Fullwave 2.5 is a Python package for high-fidelity ultrasound wave propagation simulation with the following features:
26
+
27
+ - State-of-the-art attenuation modelling capabilities for ultrasound wave propagation in complex biological tissues
28
+ - Heterogeneous power law attenuation ($\alpha=\alpha_0 f^\gamma$) modeling, where **both the attenuation coefficient $\alpha_0$ and exponent $\gamma$ can vary** spatially.
29
+ - High-performance simulation engine
30
+ - High accuracy staggered-grid finite-difference time-domain (FDTD) scheme (8th-order in space and 4th-order in time).
31
+ - 2D and 3D ultrasound wave propagation simulation.
32
+ - Multiple GPU execution support.
33
+ - Easy-to-use Python interface with CUDA/C backend
34
+ - Python wrapper for easy usability and extensibility, with the core simulation engine implemented in CUDA/C for high performance on NVIDIA GPUs.
35
+
36
+ | Computational medium | Wave propagation |
37
+ | ---------------------------------------- | -------------------------------------------------------------------------- |
38
+ | <img src="figs/medium.png" width="600"/> | <img src="figs/linear_transducer_focused_abdominal_wall.gif" width="200"/> |
39
+
40
+ Building upon the original Fullwave 2 simulator, Fullwave 2.5 enhances its capabilities to model ultrasound wave propagation in media where **both the attenuation coefficient and exponent can vary spatially**. This enables more accurate simulations of biological tissues, which often exhibit complex attenuation behaviours that cannot be captured by uniform exponent models.
41
+
42
+ The library is designed with a Python wrapper for ease of use and extensibility, while the core simulation engine is implemented in CUDA/C to leverage high-performance computing on NVIDIA GPUs. Fullwave 2.5 supports 2D and 3D simulations, including multi-GPU execution for enhanced performance.
43
+
44
+ ## Theoretical Background
45
+
46
+ Fullwave 2.5 models multiple relaxation processes to approximate frequency-dependent power-law attenuation in heterogeneous media.
47
+ It solves the stretched-coordinate pressure-velocity formulation using a staggered-grid finite-difference schemes with 8th-order accuracy in space and 4th-order accuracy in time.
48
+ The formulation is expressed as follows:
49
+
50
+ $$\nabla_1 p + \rho \cfrac{\partial {\bf{v}}}{\partial t} = 0$$
51
+ $$\nabla_2 \cdot {\bf{v}} + \kappa \cfrac{\partial p}{\partial t} = 0$$
52
+
53
+ The stretched-coordinate derivatives, denoted by $\nabla_1$ and $\nabla_2$, control frequency-dependent power-law attenuation and dispersion by selecting the optimal relaxation parameters.
54
+
55
+ The following figure illustrates the performance of the attenuation modeling in Fullwave 2.5.
56
+ The graph shows a comparison of the target power-law attenuation $\alpha=\alpha_0 f^\gamma$ (red line) and the simulated attenuation (black dots) for various spatially varying attenuation coefficients ($\alpha_0 =$ 0.25, 0.5, and 0.75) and exponents ($\gamma =$ 0.4, 0.7, 1.0, 1.3, and 1.6).
57
+
58
+ ![attenuation modeling performance](./figs/attenuation_modeling.svg)
59
+
60
+ ## Citation
61
+
62
+ Fullwave 2.5 is developed and maintained by [Pinton Lab](https://github.com/pinton-lab) at the University of North Carolina at Chapel Hill.
63
+
64
+ If you use Fullwave 2.5 in your research, please cite this repository as:
65
+
66
+ ```bibtex
67
+ @software{Sode2025-fullwave25,
68
+ author = {Sode, Masashi and Pinton, Gianmarco},
69
+ title = {Fullwave 2.5: Ultrasound wave propagation simulation with heterogeneous power law attenuation modelling capabilities},
70
+ year = 2025,
71
+ month = oct,
72
+ publisher = {GitHub},
73
+ journal = {GitHub repository},
74
+ version = {v1.0.7},
75
+ url = {https://github.com/pinton-lab/fullwave25}
76
+ }
77
+
78
+ @ARTICLE{Pinton2021-fullwave2,
79
+ title = "A fullwave model of the nonlinear wave equation with
80
+ multiple relaxations and relaxing perfectly matched layers
81
+ for high-order numerical finite-difference solutions",
82
+ author = "Pinton, Gianmarco",
83
+ month = jun,
84
+ year = 2021,
85
+ copyright = "http://creativecommons.org/licenses/by/4.0/",
86
+ archivePrefix = "arXiv",
87
+ primaryClass = "physics.med-ph",
88
+ eprint = "2106.11476"
89
+ }
90
+ ```
91
+
92
+ ---
93
+
94
+ ## Hardware prerequisite
95
+
96
+ - This system operates in a Linux environment.
97
+ - This simulation requires an NVIDIA GPU to execute.
98
+ - You may need multiple GPUs for 3D simulation.
99
+
100
+ ## Technical recommendation
101
+
102
+ - We recommend setting up an SSH key for GitHub, if you haven't done already. The repository changes over time to fix bugs and add new features. Cloning through SSH is more convenient than HTTPS in the long run.
103
+ - for ssh key generation
104
+ - please see: [Generating a new SSH key and adding it to the ssh-agent](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)
105
+ - for ssh key registration to your github account
106
+ - please see: [Adding a new SSH key to your GitHub account](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)
107
+ - after that, you can clone the repository through
108
+
109
+ ```sh
110
+ git clone git@github.com:pinton-lab/fullwave-python.git
111
+ ```
112
+
113
+ ## Technical references
114
+
115
+ - If you are not familiar with the tools below, please refer to the provided links.
116
+ - VSCode
117
+ - [Official Visual Studio Code documentation](https://code.visualstudio.com/docs)
118
+ - [Visual Studio Code Tutorial for Beginners by Udacity](https://www.udacity.com/blog/2025/09/visual-studio-code-tutorial-for-beginners-productivity-tips-and-extensions.html)
119
+ - Git
120
+ - [Git Tutorial by GeeksForGeeks](https://www.geeksforgeeks.org/git/git-tutorial/)
121
+ - [Git Tutorial by W3 schools](https://www.w3schools.com/git/default.asp)
122
+ - [Using Git source control in VS Code](https://code.visualstudio.com/docs/sourcecontrol/overview)
123
+ - UV
124
+ - [Python UV: The Ultimate Guide to the Fastest Python Package Manager](https://www.datacamp.com/tutorial/python-uv)
125
+
126
+ ---
127
+
128
+ ## installation for users
129
+
130
+ ```sh
131
+ pip install fullwave25
132
+ ```
133
+
134
+ ## installation for development
135
+
136
+ We use [uv](https://docs.astral.sh/uv/) for package project and virtual environment management.
137
+
138
+ If uv is not installed, run below.
139
+
140
+ ```sh
141
+ curl -LsSf https://astral.sh/uv/install.sh | sh
142
+ ```
143
+
144
+ Run below to install the development environment.
145
+
146
+ ```sh
147
+ git clone git@github.com:pinton-lab/fullwave-python.git
148
+ cd fullwave-python
149
+ make install-all-extras # for running examples
150
+ # or
151
+ make install # for the core library installation
152
+ ```
153
+
154
+ To test the installation, run
155
+
156
+ ```sh
157
+ make test
158
+ ```
159
+
160
+ ---
161
+
162
+ ## Tutorial: Basic Usage
163
+
164
+ Please start from [example_simple_plane_wave.ipynb](https://github.com/pinton-lab/fullwave25/blob/main/examples/simple_plane_wave/example_simple_plane_wave.ipynb).
165
+
166
+ or try the Google Colab tutorial:
167
+ [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://drive.google.com/file/d/1QqCmF9A0JKfDjnFO66_hRO_eP04suwrk/view?usp=sharing)
168
+
169
+ Here are the main steps to run the Fullwave simulation
170
+
171
+ 1. Define the computational grid.
172
+ 2. Define the properties of the acoustic medium.
173
+ 3. Define the acoustic source.
174
+ 4. Define the sensor.
175
+ 5. Execute the simulation.
176
+
177
+ ## New simulation development instruction
178
+
179
+ - after the [installation](#installation)
180
+ - make a directory for your simulation under your favorite path.
181
+ - e.g. `examples/my_simulation/`
182
+ - make a `.py` file or copy the example files below to use the boilerplate.
183
+ - 2D plane wave
184
+ - [examples/simple_plane_wave/simple_plane_wave_demo.py](https://github.com/pinton-lab/fullwave25/blob/main/examples/simple_plane_wave/simple_plane_wave.py)
185
+ - 3D plane wave
186
+ - [examples/wave_3d/simple_plane_wave_3d.py](https://github.com/pinton-lab/fullwave25/blob/main/examples/wave_3d/simple_plane_wave_3d.py)
187
+ - after that follow [Usage 2D](#tutorial-basic-usage) to define the simulation code.
188
+
189
+ ## Tutorial: Advanced Usages
190
+
191
+ Please see the following examples for more advanced usage.
192
+
193
+ - 2D plane wave
194
+ - Basic usage
195
+ - [Simple plane wave](https://github.com/pinton-lab/fullwave25/blob/main/examples/simple_plane_wave/simple_plane_wave.py)
196
+ - <img src="figs/simple_plane_wave.gif" width="200"/>
197
+ - [Simple plane wave with air](https://github.com/pinton-lab/fullwave25/blob/main/examples/simple_plane_wave/simple_plane_wave.py)
198
+ - <img src="figs/simple_plane_wave_with_air.gif" width="200"/>
199
+ - Linear transducer
200
+ - [Linear transducer](https://github.com/pinton-lab/fullwave25/blob/main/examples/linear_transducer/linear_transducer.py)
201
+ - [Linear transducer (plane wave transmit) with animation settings](https://github.com/pinton-lab/fullwave25/blob/main/examples/linear_transducer/linear_transducer_animation.py)
202
+ - <img src="figs/linear_transducer.gif" width="200"/>
203
+ - [Linear transducer (focused transmit) with animation settings](https://github.com/pinton-lab/fullwave25/blob/main/examples/linear_transducer/linear_transducer_animation.py)
204
+ - <img src="figs/linear_transducer_focused.gif" width="200"/>
205
+ - [Linear transducer (focused transmit) with abdominal wall](https://github.com/pinton-lab/fullwave25/blob/main/examples/linear_transducer/linear_transducer.py)
206
+ - <img src="figs/linear_transducer_focused_abdominal_wall.gif" width="200"/>
207
+ - Convex transducer
208
+ - [Convex transducer with abdominal wall](https://github.com/pinton-lab/fullwave25/blob/main/examples/convex_transducer/convex_transducer_abdominal_wall.py)
209
+ - <img src="figs/convex_transducer_abdominal_wall.gif" width="200"/>
210
+ - 3D plane wave
211
+
212
+ - Basic usage
213
+
214
+ - [Simple plane wave in 3D](https://github.com/pinton-lab/fullwave25/blob/main/examples/wave_3d/simple_plane_wave_3d.py)
215
+ <table>
216
+ <tr>
217
+ <td style="text-align: center;" colspan="2">Computational medium</td>
218
+ </tr>
219
+ <tr>
220
+ <td style="text-align: center;" colspan="2"><img src="figs/medium_3d.png" width="600"/></td>
221
+ </tr>
222
+ <tr>
223
+ <td style="text-align: center;" >x-y slice propagation</td>
224
+ <td style="text-align: center;" >x-z slice propagation</td>
225
+ </tr>
226
+ <tr>
227
+ <td style="text-align: center;" ><img src="figs/wave_propagation_x-y.gif" width="300"/></td>
228
+ <td style="text-align: center;" ><img src="figs/wave_propagation_x-z.gif" width="300"/></td>
229
+ </tr>
230
+ </table>
231
+ - [Simple plane wave in 3D with air inclusion](https://github.com/pinton-lab/fullwave25/blob/main/examples/wave_3d/simple_plane_wave_3d_with_air.py)
232
+ <table>
233
+ <tr>
234
+ <td style="text-align: center;" colspan="2">Computational medium with air inclusion</td>
235
+ </tr>
236
+ <tr>
237
+ <td style="text-align: center;" colspan="2"><img src="figs/medium_3d_air.png" width="600"/></td>
238
+ </tr>
239
+ <tr>
240
+ <td style="text-align: center;" >x-y slice propagation</td>
241
+ <td style="text-align: center;" >x-z slice propagation</td>
242
+ </tr>
243
+ <tr>
244
+ <td style="text-align: center;" ><img src="figs/wave_propagation_x-y_air.gif" width="300"/></td>
245
+ <td style="text-align: center;" ><img src="figs/wave_propagation_x-z_air.gif" width="300"/></td>
246
+ </tr>
247
+ </table>
248
+
249
+ - Medium builder usage
250
+ - Medium builder is a utility to create computational medium from simple geometric operations. This is especially useful when you want to create complex heterogeneous media.
251
+ - [simple medium builder usage](https://github.com/pinton-lab/fullwave25/blob/main/examples/medium_builder/medium_builder_example.py)
252
+ - [simple medium builder usage with abdominal wall](https://github.com/pinton-lab/fullwave25/blob/main/examples/medium_builder/medium_builder_abdominal_example.py)
253
+ - [medium builder in 3D](https://github.com/pinton-lab/fullwave25/blob/main/examples/medium_builder/medium_builder_example_3d.py)
254
+
255
+ ---
256
+
257
+ ## Attention
258
+
259
+ - The simulation grid is defined as follows:
260
+ - (x, y, z) = (depth, lateral, elevational).
261
+ - This order is due to the efficiency of the multiple-GPU execution.
262
+ - Multi-GPU domain decomposition is processed in the depth dimension.
263
+ - The index of the input coordinates (i.e. the acoustic source location) is defined in C-array order (i.e. row-major) within the simulation, regardless of your setup. This is to improve the efficiency of multi-GPU development.
264
+ - This might be confusing, so please be careful when you define the source and source signal definition.
265
+ - GPU memory requirement
266
+ - A 3D simulation requires a lot of GPU memory.
267
+ - Please reduce the grid size or use multiple GPUs if you run out of memory.
268
+ - You can check GPU memory usage with the 'nvidia-smi' or 'nvtop' commands.
269
+ - Multi-GPU execution
270
+ - The current implementation supports multiple GPU execution in 2D and 3D simulations.
271
+ - Our implementation demonstrates linear performance scaling with the number of GPUs.
272
+ - Before 3D simulation:
273
+ - If you want to run a 3D simulation, it is recommended that you start with a 2D simulation first to understand the basic usage.
274
+ - The 3D simulation code is similar to the 2D code, but some plot functions are unavailable in 3D.
275
+ - The 3D simulation takes longer to run, so starting with 2D will help you debug your code faster.
276
+
277
+ ## Note for developers
278
+
279
+ - Contributions are welcome!
280
+ - When developing something new, please create a new branch such as `TYPE/BRANCH_NAME`.
281
+ - TYPE can be `feature`, `bugfix`, `hotfix`, `docs`, `refactor`, `release`, `test`, or `experiment`.
282
+ - `BRANCH_NAME` should be descriptive of the feature or fix you are working on.
283
+ - see also: [GitHub Branching Name Best Practices](https://dev.to/jps27cse/github-branching-name-best-practices-49ei)
284
+ - Please write clear and concise commit messages.
285
+ - please see [CONTRIBUTING.md](CONTRIBUTING.md) for more details.
286
+
287
+ ---
288
+
289
+ ## Maintainers
290
+
291
+ - Masashi Sode (GitHub: [MasashiSode](https://github.com/MasashiSode))
292
+ - Gianmarco Pinton (GitHub: [gfpinton](https://github.com/gfpinton))
@@ -0,0 +1,225 @@
1
+ fullwave/__init__.py,sha256=DN7EjpwbZi_EhY6Y5eJPdwAGLbhWApZtXVud5Um-OTc,570
2
+ fullwave/grid.py,sha256=-PpTr6kjrBesGAwnDP3hmajuXE0ZIzSflmjbK_C6kxc,7258
3
+ fullwave/medium.py,sha256=XEQGtYQApbJxFUZNgDxzEFHxcbWnUbsM__zgrTItl_Y,37008
4
+ fullwave/sensor.py,sha256=6Sww9DpMwSlFpvybxPhJr6BIuZNnfHnmESn6BGtuYdY,4712
5
+ fullwave/source.py,sha256=tXCaE-NZRIinrQKsDkbfhxw0bIdU4d2xF8NdNvQqH5s,4977
6
+ fullwave/transducer.py,sha256=JVYuqmj1Xw06J09oWH9mK5kE7hp50iqUpe7eBGAu0fA,38353
7
+ fullwave/constants/__init__.py,sha256=WOmkhLsSe86D71gwKsa4Tz8QPeOdayLGgvBCh7UEOPk,104
8
+ fullwave/constants/material_properties.py,sha256=SouMKD4ONzYl0VU8ZsC2I_85y-ZLj9scRNwAArCD7bg,2729
9
+ fullwave/medium_builder/__init__.py,sha256=QVz0sA4niq51O94RnXUVlHutx7FYEIa1TRcR5fDc_Ps,201
10
+ fullwave/medium_builder/domain.py,sha256=ZcENNdh_ywexr9endxw-7TtKRUg3-BSKCRr3UhxqbPE,4885
11
+ fullwave/medium_builder/medium_builder.py,sha256=6Tr1x29wDZ6tx-FYwIKn9S3UNRCBJn09cG17jbiWN4Q,7241
12
+ fullwave/medium_builder/presets/__init__.py,sha256=7e570OK22Raaag-QDmPf4oKHr2mqnWZexkQj3Gd9MnM,302
13
+ fullwave/medium_builder/presets/domain_abdominal_wall.py,sha256=FFd72C06lRX51LAM86ZO8SIDVGZGiFTMK04rakGT3qU,10720
14
+ fullwave/medium_builder/presets/domain_background.py,sha256=oypXnPL5iLGFUae1OPz6eHU20tgRHXCBRx4KPzfhdnI,4875
15
+ fullwave/medium_builder/presets/domain_scatterer.py,sha256=4115ShJ2VTsY7knMywlP-qTemaGX_kFhmq1v8bNxeEY,5744
16
+ fullwave/medium_builder/presets/domain_simple.py,sha256=oRs5DCzGbs_FIkIfxdtEcfPnVlmp1ExdqqYoxB0tmAQ,2874
17
+ fullwave/medium_builder/presets/domain_water_gel.py,sha256=nFiL0CkmDeJWo7aR2Khn0LBO3MDj2x0iwzZ7mjz01p4,24
18
+ fullwave/medium_builder/presets/data/.keep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
+ fullwave/medium_builder/presets/data/abdominal_wall/i2365f_etfw1.mat,sha256=N3JFFxc9HW1S-NaTPcPlFgXWGIzlrr9X40JbDapTo4g,67348
20
+ fullwave/solver/__init__.py,sha256=E0Jg5akBpicqTjku1puw9rAIoKiw7TwtYNDPiv8G5IY,30
21
+ fullwave/solver/cuda_utils.py,sha256=-BEAw3AVITXQ2CTTXXXrh1xOJ54U6hC9RiIGTh4NA2Q,11368
22
+ fullwave/solver/input_file_writer.py,sha256=1r7a86ZgfvMl4sMkqEQIzZI9oRsYapZsbawVDw_6c5c,34963
23
+ fullwave/solver/launcher.py,sha256=kjoYSyg5_hGw_dZ_dvDohUm5VQ5Ewl9zj692WAnlydQ,4588
24
+ fullwave/solver/pml_builder.py,sha256=476Ja_gKtqtfjCzprA0zgJ5WIgog9-R6vd6AK54ZBBA,76124
25
+ fullwave/solver/solver.py,sha256=PJ6CqREA4AaoM1F-d7qtsiK544GfHi56QUec76P_D3Y,29259
26
+ fullwave/solver/utils.py,sha256=PpocCZ56YStnBYg6gz2mQNKlBOgYwm20GQDFPoR85VQ,2666
27
+ fullwave/solver/bins/database/relaxation_params_database_num_relax=2_20251027_1437.mat,sha256=SwZNDPbmGyMd6jLi07QnU8QwPqantyBe129EeljoEPo,9067552
28
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenu,sha256=RUmaarVPSIQGJDeJb5Og2e2-TVvFvkQUCtetrQ4OzqM,1042960
29
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_100_cuda129,sha256=cK78WRet09SpxGonhcgVF70vYQ6IDoKoZBAR3FxAgHQ,1083248
30
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_101_cuda129,sha256=wm3mRIdZlpeo6pslGw834ElUvM949ZY2Bgu33WSjKw8,1083248
31
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_120_cuda129,sha256=Bdnu-3_pe4NctzDisBiiJ6_uvm5lkQNVw6v0XiwMRVI,1083248
32
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_61_cuda118,sha256=UXwpSsv7j4bIiPcM7bBD8hV1wIupcAicy6oJX-ZQ3BY,872232
33
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_61_cuda124,sha256=j_QB3DaNkH-rN0mYYjh9-tpn5HT5_WDhUbpn85jAf-8,1034768
34
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_61_cuda126,sha256=EHRzPkujXBkqTF1kqkC56SOtZf71eFMcsbeSPV5xGuA,1040960
35
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_61_cuda129,sha256=msh5ZyRuR7eiS1FnCeOd0i_4yJ-1-0M7Ahu2nrdkvAo,1062768
36
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_70_cuda118,sha256=_N2iyDwrOJ7vFDjJ8iWoTL8lTCbplr_XtFSOWCgH6E4,876328
37
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_70_cuda124,sha256=GxjE9o71d4iKQ5vzW8jzTr6Q9ZXBeQvsLRaG38ksmzY,1042960
38
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_70_cuda126,sha256=yI_PGYCShyA1Up21rGuO4KGjLJsbZSjAxNGi3uDIiqU,1045056
39
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_70_cuda129,sha256=DiWr6WRJy0a0rDkK6MLdGDqVEZCAyA9AFXrdtBrxzY8,1066864
40
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_75_cuda118,sha256=enOm_16fNvBpP2EoFVi9bLa8uiuxgsEDVOxHzPI5gDc,876328
41
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_75_cuda124,sha256=CtfLQxHwL5iFObuSsC47xxIGDDrN5JJ3G9LBOur4M6U,1042960
42
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_75_cuda126,sha256=-xj1rFdvQfWVypN3JJ-8qlJJKvvyEGJIpOXst5s8X8Q,1045056
43
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_75_cuda129,sha256=AuIKVZ_P4ps88rn8EPZFHel63DEDyX0snjkkBQ1Un24,1066864
44
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_80_cuda118,sha256=1Q_4ApSIiWe3x144MFST36SATjue2GYKOsqZpYXQxRA,876328
45
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_80_cuda124,sha256=K33m15VG-ggbOep-Bi7FxTIBc4hbbfpUezto3Fr678I,1042960
46
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_80_cuda126,sha256=oP7WZBXwB8jf_VGCEbrPtEGIViYJytjTQR8mR2o7Blk,1045056
47
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_80_cuda129,sha256=VNIbVE6CDbXL9mCdgEygNGEwRySapWNz3eyJY5rkuRw,1066864
48
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_86_cuda118,sha256=uX1x9ocf96t7UWzYZA_u-mYoCVZ_OAi94VjCUZd8xcQ,876328
49
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_86_cuda124,sha256=8McqI2yojHPNktt0cFNPOHepaArm75AhqXKFmSpYJEc,1042960
50
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_86_cuda126,sha256=YGFAcog0DZEyibSFwa6Qfi493UZm21qv2sXW2CNo14I,1045056
51
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_86_cuda129,sha256=_dXoyg7ZK6kQdAn6ACioaqHQywyWYd9ntV-HK2MRnHE,1066864
52
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_89_cuda118,sha256=UAGtb6FPgg55y65hNFq_SyxQt-ZIAGxiPmjBWGwSUBc,876328
53
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_89_cuda126,sha256=18YSt43-sxFamrd8VYoRjZHIh1m6GJ8I0QU0tZrnvu4,1045056
54
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_89_cuda129,sha256=s_vvhEp-VRh4YlHJtpoxqwMhfzAgeEmkeY9z-BO3BpQ,1066864
55
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_90_cuda118,sha256=cf9uKFgKX_4XDLQE-q0FGoDp2WcQt8PidNN-YHfvhqM,880424
56
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_90_cuda124,sha256=RV3UymxRmhAGdCwaNemIb-o_RJfJ0x2L8p_rJmhd8XA,1042960
57
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_90_cuda126,sha256=QFSCS48zhupV8E6tf050tk3wXlyPUMpUbtyiCAPiEl8,1049152
58
+ fullwave/solver/bins/exponential_attenuation/gpu/2d/fullwave2_2d_exponential_attenuation_gpu_sm_90_cuda129,sha256=xhMz8tzwtkUuhqsZpmcdkFOp0qayJ_14nFaJ5q_DCwk,1070960
59
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_100_cuda129,sha256=-pnGSwUF3ERpaY9YnwGPes6gwg-9bFY_t8XjwJ5ow78,1099760
60
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_101_cuda129,sha256=ge95qJAYNU-uoiC5sJ7CtL_IszYjHdPEolODucXqC_I,1099760
61
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_120_cuda129,sha256=7ZWsEIiVXWwfiXrNTPOSy5L8EJnG55bpCJrsakfjmEU,1099760
62
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_61_cuda118,sha256=DPuoYfsAOX9VAPUC2xHcrQt1Ww1GegCx4sIKg6Fv6S8,876456
63
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_61_cuda124,sha256=KLplfTPxag9s2LRL-jmuL4DwZGhfHC4Cj8DXNrocA6A,1043088
64
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_61_cuda126,sha256=jEPvcqzQR46xGv9RDVZOWXl0eqO4E7kFRCkh2PERNWM,1049280
65
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_61_cuda129,sha256=cvOwaAh1P_mJEvQBOrQumNrRaoETbRtQRSivcxy7yVQ,1071088
66
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_70_cuda118,sha256=FW0kgF8PBbdsp-tmyZW634svbAJ-NMsyHj5U39ChZ_s,880552
67
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_70_cuda124,sha256=rBNwSRJcSGGAXp8ud1hZ1mqpPZgACSXmxq23x4CC9A8,1047184
68
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_70_cuda126,sha256=OGIcxrV9YF0bGZUHL158bXXJ0F8pe6baQ142c9cVOyk,1053376
69
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_70_cuda129,sha256=xXxTdRURZFHYli_bdQ69LKXsBXFbsgxPjGMSidr-Q_E,1075184
70
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_75_cuda118,sha256=qldA9mBnEmqptqkTa-oCj8jpi8nHrfVuqE7syAGi62c,880552
71
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_75_cuda124,sha256=9thMo-CuqpUQLnembMWRRlkV6clwqL-aCtS9Cl1mGGE,1047184
72
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_75_cuda126,sha256=AdTBf8YPtcoFPV-Oa-bZYrz6mxobG09qNERfrXpzVmA,1053376
73
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_75_cuda129,sha256=GnAMPdgCFLr8xG8ccLDZo0SWAyj5LySxH0A-q0IabyI,1075184
74
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_80_cuda118,sha256=mgRNFFWA_3Kv2VI5_zGxSimov34Y7mFcnPfSNsyrwKQ,880552
75
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_80_cuda124,sha256=XOSpQbV9H0kL6EJIg2aIB-6j4SwUhgmbdzyp2K8RrBY,1047184
76
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_80_cuda126,sha256=CG0wjM3evPSUQNAF2qSvKUkjXgD5luCG98XFVaAd2_4,1053376
77
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_80_cuda129,sha256=xxD574sPnJo7niZQRfRl0dJ2B6BKGDThYKRU7k7XbsM,1075184
78
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_86_cuda118,sha256=VFT7Fv_1fOb0vSSlq2MBDZcTmZ_kQAjxFGFc1zzSHXc,880552
79
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_86_cuda124,sha256=IZ6hJ1254uK586w3BviQ3rd73POK7rFVsTUIunBDPwE,1047184
80
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_86_cuda126,sha256=5VRoxfdDL_7pvpTOgK2Zxu9gpUqoG0ucmiDffRJPfcs,1053376
81
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_86_cuda129,sha256=oXit9Fa0UcL_0BR4tUQXglvPFulaYwt24g3cspEHSms,1075184
82
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_89_cuda118,sha256=VUPa1duyUGaXWIsf0SSaUNW1vAxcH8gj-i9kn4BypfA,880552
83
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_89_cuda124,sha256=huvNWu-o17gC1zcUWyztdJhDkzo8qg2WMrSzAtl_7b8,1047184
84
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_89_cuda126,sha256=iwgMBtBw6ZpTqdZCPrqz92flfIN0oaduTst-UYU5I4Y,1053376
85
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_89_cuda129,sha256=3UYEJzg3OeUF7aOryWtc_AJH2WHHimN2CXYiq58_NKg,1075184
86
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_90_cuda118,sha256=xYK9JIXpQ9_kSPzcVlR4ttGGiELXGk7R9D4hZAhRFFQ,884648
87
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_90_cuda124,sha256=rw1-3vYNPadaiyr4yiS1zffI9_BZ86skyHUXrIiIAL4,1051280
88
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_90_cuda126,sha256=zcynjDOTjuX_dBxLbhW0BQKrQ11St9DSapJKDgEmm6U,1057472
89
+ fullwave/solver/bins/exponential_attenuation/gpu/3d/fullwave2_3d_exponential_attenuation_gpu_sm_90_cuda129,sha256=ynWKBWi9GFhCzYKbYq60L92YxO7dvqGQ1atdsJ5SyVw,1079280
90
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_100_cuda129,sha256=TIZOzsV3lhwJaek657IsvGBalCxj_mgcayp3HdRiQ7E,1107952
91
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_101_cuda129,sha256=hhRwVpZh_bqGTydhCLDMNLJKQ_ksqoqglkJT3OWUI8s,1107952
92
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_120_cuda129,sha256=A3KSIg-LnBBXvFvwFNwUbRHtVafBJqxne9RM3EFe2f8,1107952
93
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_61_cuda118,sha256=RRiueLSRmZOhRC_fdVHQzHXaKHynAGQ-WEuehwuzOSo,884656
94
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_61_cuda124,sha256=alOjvZC-krgQiZwoRfTxOvS1bGeXnhmMW-JutldUKIM,1051288
95
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_61_cuda126,sha256=7HWYvTG74X81nQiQywLJUdrMkuzWXoCGF5YcZciXJP4,1057480
96
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_61_cuda129,sha256=kmuDHvb9ZXSaiV50hG53pTCvCnWNoT9ek7VFk-soqrg,1079280
97
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_70_cuda118,sha256=jU9ZFMMnSNVdToYCOD8nSCTuk-ahjcDqcn2Lx_4D_MM,892848
98
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_70_cuda124,sha256=O15aocHznxDzgQujJ_o5XjN-_cx4ARXHONA8BwOf3Bw,1055384
99
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_70_cuda126,sha256=cW8W-SwEb-WE-G6ahQGAbedvzAQqtO1ieri86yJoB2s,1065672
100
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_70_cuda129,sha256=EGL8uSwQZ5dYuI8Ph-Y6tDGTj9HFcw_gqrChdaNcgiA,1083376
101
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_75_cuda118,sha256=TtLZoJIyU6qZEKIWr1klAuvMHCpykr-xLLKVbUC_m5A,888752
102
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_75_cuda124,sha256=PBFjBstsJssQXVS0nfT_-g-DpulXmnsPPz-12JP8vUk,1055384
103
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_75_cuda126,sha256=-pHrmJHsuEG3IInJw6Nedgr43eLT4JwmN66fo777l2g,1061576
104
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_75_cuda129,sha256=MycUm-Sw1JLVNtWatheL7OZdo4Lvg7BY3ApvkLG8x2o,1083376
105
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_80_cuda118,sha256=NZTwjkF13PNos1_KC1dFawDqTz_XptxsU9U5YtL5l6A,892848
106
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_80_cuda124,sha256=t9UL3AQ-oq9l_48wZ32EHfKznJJ6oP9SZuYfF9lSZ-w,1055384
107
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_80_cuda126,sha256=rKxknFmMi7HfXlZHfgeU7O48YS711RPJFnKe8UlZz7Y,1065672
108
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_80_cuda129,sha256=tuT2rBP5U0nhAPn4vfCw3nOKypdL8jtNovj7u67A_MU,1083376
109
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_86_cuda118,sha256=D342rhBZ5nQWOJadMoeo_fmgJbW8HAK__oIVdKazuFo,892848
110
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_86_cuda124,sha256=r76mmFUviFcWpHvEjWZgqV9XmEwXPH_HUCEjFqJaypA,1055384
111
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_86_cuda126,sha256=EoZwtopBItZC4rtFOKyWNQbdF1woYuu9jecRxljPk6w,1065672
112
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_86_cuda129,sha256=C9iveHwNX5MH_bb_6vBtKsdWhAcrEKCMs6ARysNbHSE,1083376
113
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_89_cuda118,sha256=o4HEHkrezHDCV2ucWZK0ucl_Rg1KzG9cKpZxd26V2yc,892848
114
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_89_cuda124,sha256=4TbYfQXg4-EZ4_ryKq-gCSkcdpRszf_cgnfQg3pIUKk,1055384
115
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_89_cuda126,sha256=LENUUO0nmycfNlNzvhJBYglVpr9yxkNgHMPNeo0Ks_s,1065672
116
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_89_cuda129,sha256=AyUpu4A56HWVxPXb2FKtEKSkffJsX4mx402-rq4z8rk,1083376
117
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_90_cuda118,sha256=vYVS8tDxWBB9aOosZtzvqUTU8sFdcnNlIl12jc-XhnA,896944
118
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_90_cuda124,sha256=XC5zqyxDZ-wNCOkWZejBxEA-Gxv4xDbSmbzxFQFANpU,1059480
119
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_90_cuda126,sha256=oaXlGtTThH2FVqEuedg_aYqQACs2OoNrKb3ZjG-aPEc,1065672
120
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_isotropic_multi_gpu_sm_90_cuda129,sha256=1gO0LdI1PWwhv0eaaVmFishVAj9Pam-nWuGWataTtE4,1087472
121
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_100_cuda129,sha256=csNvokzLXuV4PEb8YgRzZt7uMWtuAFt4egrrZd31YE8,1103832
122
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_101_cuda129,sha256=mZi5spFOWzwILCJqu_UwLGnLPNWFHYrG-M-vHFe7e0g,1103832
123
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_120_cuda129,sha256=x7MifvUGOdNLw-d94DxJJI30VXY4WfxbPZfBYZLbtS4,1103832
124
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_61_cuda118,sha256=OADVGAo4ss1qT4mXHI0YE97EDfvUXE_M_610JhFGuD8,884632
125
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_61_cuda124,sha256=PIsbBkajF4sl6ZXUo6_K_nmb4ser1316GVPr4vFxuXU,1051264
126
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_61_cuda126,sha256=ZwY-Dnn8FJrkoR_64XgbRUCgZP7OIFu-lnMqDIUz27o,1057456
127
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_61_cuda129,sha256=ScTk4bWafayQgZOTTFiKXHFhwPfq_qZpTLETntows2o,1079256
128
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_70_cuda118,sha256=hX3yen8EzS6B7tWZ-HrYHBxYqBcWATaA4-13oLI2Ug0,888728
129
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_70_cuda124,sha256=JUZ1kGWJvNtqMmImI68tHlqJoYtvhaBQgEgxUeYdf0o,1055360
130
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_70_cuda126,sha256=jUPEyu-aXiVbq24wbyT9G38CI_X35P6nuf9q19NvxZo,1061552
131
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_70_cuda129,sha256=0BkIwBovUzknW2upP1a8VOPnuEbU3SHzItYfAzzuQfA,1083352
132
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_75_cuda118,sha256=Luhs9E68Z_o36Sc_iU4sAIG5xQv_f2bzhZcoBBdDcY0,888728
133
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_75_cuda124,sha256=yuEnlRr5atb-7_H319JCu-knCsX9fGe00W3owIlYEa0,1055360
134
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_75_cuda126,sha256=VFLJD-GkXBBfBGSd_LuSRtq1LBfI2c17FKe_uSCTOXY,1061552
135
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_75_cuda129,sha256=-bJoGTq0YfB5yodsWWlvjUYIpZVWtRw2c_-xwObaqVM,1083352
136
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_80_cuda118,sha256=LMLrqdjfMB6_dmrROSoiW8isS079T1OCvFmqbmcDako,888728
137
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_80_cuda124,sha256=9cgbb1f112Vecy-xHpIGSLHRwdH7Ucw4Yiu58ATCFrs,1055360
138
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_80_cuda126,sha256=2X9Yf50xXBAxabOhKkVkq0VcXm4YkTLoUGVZeAf6XKM,1061552
139
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_80_cuda129,sha256=kZ7puoWeRIMJPxS5RXmRsJr0aqU2zaKzQsIJXghHAFE,1083352
140
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_86_cuda118,sha256=poHLlstzed2AU_cWOv7VejdNuuWPEyMJYd8bsqdD05M,888728
141
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_86_cuda124,sha256=OiH87lN3OKs0kFlHk6L1xgUUdPEPaM2sACRQAyb5FDU,1055360
142
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_86_cuda126,sha256=tBqiYTe2QHl9SqZSeaKhvBaN1o5Rp8ya6UsmdHx0nEQ,1061552
143
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_86_cuda129,sha256=yUrh5DHn_lBBUBLhua5GtH0u8dXleuMTBSCrChtgPvE,1083352
144
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_89_cuda118,sha256=x_VXMQ-TN4TId7lybVsH03q9XHDt7SRQs2wkNDPx_LE,888728
145
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_89_cuda124,sha256=-8u_pjtJettko5vBypQtteilzwrggrxT49kSK-MDYkw,1055360
146
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_89_cuda126,sha256=CBiYfh6s-hbEXgnvjBZsIjwQ7lN6kidkYtVOtcLpoJ4,1061552
147
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_89_cuda129,sha256=e2rt9JBpI9zxbDaqUwKX1oRi5OYt4_0Es4lfsyrTiYg,1083352
148
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_90_cuda118,sha256=4dfEqxsCdLr2lI07b-BFhVpkBYJkUa74FBUTh_03zTQ,892824
149
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_90_cuda124,sha256=_XhQqe2lgczztcm3SyxTYuNHJ0SpdP-DIHG4Tp-HH44,1059456
150
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_90_cuda126,sha256=Pe-ua4GvGwuQWspOlxn9ZBvueAsJ4NUY6KLe7iYEBHU,1065648
151
+ fullwave/solver/bins/gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_sm_90_cuda129,sha256=2QHpqS5p-eVxJstesUQPlN9DvnBbhgzXSKpMBEP5MFs,1087448
152
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_100_cuda129,sha256=6CijLBuEQzcNVZrUiHngCkNPg3bYgE4Bof6JL241kyo,1124496
153
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_101_cuda129,sha256=KczNq4FgfIozW7HQvse7A6tJ3wuY_DORjxTqM0Be3HU,1128592
154
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_120_cuda129,sha256=YsS5nBfxtQ852380hrB2QEY4LblJvszFxPEaJOIj4OU,1124496
155
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_61_cuda118,sha256=3VTgUmYqIkFMt6OOyyzw80Z6xXXLpH_FqC01fpav4fU,897104
156
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_61_cuda124,sha256=dcUZdbNcmgi0EGrgc9wouSB4SJ03uIexZE1mvc0SJ9M,1063736
157
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_61_cuda126,sha256=BBnwhdsWhi5OGPStDNzugI8poINeeDZJH8IIzayteRE,1069928
158
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_61_cuda129,sha256=trVGwfAV0RMfKWX6_DrvgBuQgS5ulgYQeIzkUqbWqIM,1091728
159
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_70_cuda118,sha256=KXQ48i75yVKJStZ5Yh86y8Wh-g-qjEJEpzOAw_wlACU,901200
160
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_70_cuda124,sha256=oMS5V0Q0LdYWiDCh2lvIH189WADqBw7Y1QAoDQ_7-Wo,1067832
161
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_70_cuda126,sha256=FShBzZLOyIpAcWtm3eOtmCHfer3dU-kGg0grJOt85J8,1074024
162
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_70_cuda129,sha256=6Ushp9GV5OP6DmPDd51zhMSOJTXeO2vU1G5bx8JCeUk,1095824
163
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_75_cuda118,sha256=6koHovQZ82lTgQg0O_x5HzL-m5jd4CwQhGshCWwDt88,901200
164
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_75_cuda124,sha256=j2NZch3-J3IM6cCZrVjSM_iv4541mf4r5drKJGHzOTA,1067832
165
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_75_cuda126,sha256=pMlqyt5DhpKLaofSTwa-FMLKuq6S0tc2Yem2zXINgRY,1074024
166
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_75_cuda129,sha256=WWvEsx0G7g-PgT90Jkjcbvdc4bdCKYF6ZICs78XzFEY,1095824
167
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_80_cuda118,sha256=pBGJPjp5_FTFYNIHD2DYqm7cqczhDnb_Bsh8mqKihsY,905296
168
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_80_cuda124,sha256=vI7ZP0xj9QrTS50Ew16OsDb3Gu2pRdurxcY7adn8c8s,1067832
169
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_80_cuda126,sha256=yb8wpUR8XS1clCMRLSWFhTX5LV073T-b2ElzTCDkPko,1078120
170
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_80_cuda129,sha256=YXMTUNB7dCfrpcxq8sQKRyM69TeIhwI3S-jEVxV2bZY,1095824
171
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_86_cuda118,sha256=7QDS_QyrpWXUVFEHCEjyQn4HJ3cXVUzJjByysdjaWt4,905296
172
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_86_cuda124,sha256=gbNl671i31G1Ldph_NMyVqA28FmCiWnu63D_4hzHRNI,1067832
173
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_86_cuda126,sha256=N7SgzwgeCSAIR2fBH6gvso_KDEbIJdCC63J59Nb_sLg,1078120
174
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_86_cuda129,sha256=NtAeAyIAKDaK0MU9o1DdEPbbOpL-eSp0RzDSPvJt9ac,1095824
175
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_89_cuda118,sha256=amFduicBLmxVHy40OOUhR6Vkl87p9YKdX7_sufuG4HY,905296
176
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_89_cuda124,sha256=9igKYPlM9qalTVwh8B4PFMkwzheKfS0mdDW69v9gvf4,1067832
177
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_89_cuda126,sha256=zVGpEmx9KdLL3giEmRj268feMb-y9slC1V9NgS11vSc,1074024
178
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_89_cuda129,sha256=nxJ9tvgHSf3H8Tc_e439yIGgZRMfev99v8lAasVUdy0,1095824
179
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_90_cuda118,sha256=jf_wvHLpxqh3Lcs_-1qmhIbvvS1aHFdcJus4xs515eA,909392
180
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_90_cuda124,sha256=NxkzLbQwwMP-a1xocp00XcAce09mXPsHTjz7qUz5V1w,1071928
181
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_90_cuda126,sha256=XZGDqjm1hlMtlqZAn-SpOjDmevwSHOHi2gbDz6Hb5Uk,1078120
182
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_isotropic_multi_gpu_sm_90_cuda129,sha256=gVZtn-7wBFEaJFAMktaly7zUf-FyMjGzEDQWu1CEA1o,1099920
183
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_100_cuda129,sha256=Ryd4hCql2b2VxoGUbPt0ppz41qGJCj6g3AhKDEyzIYU,1128616
184
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_101_cuda129,sha256=HRzjR2dYyyICMjUwGJBbGN6R0WXFPJN0_BmCxNR0Sos,1128616
185
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_120_cuda129,sha256=ksThpntZQe-GwDeBUDj9fXCC2VdgVNDlFd0SSUKprs8,1128616
186
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_61_cuda118,sha256=TN-huFdMg9SW-fZMHmw3LL3QRC9Q1hFmK-JoPq0uuFk,905320
187
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_61_cuda124,sha256=ZDooRrjEixBzmuYRgVaQFmhukgz_iFeGHADwS4blB0Y,1067856
188
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_61_cuda126,sha256=0NV16aOX2lEEQxU_QAcqyMniEv-edvdN6sP434b1Ni4,1074048
189
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_61_cuda129,sha256=cn7ouY2Qhq584cyYpTz8Yt4WO7QxHqc9BYPbs_rPeiA,1095848
190
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_70_cuda118,sha256=wyFwdYUS-9Lx3lr_TvgjnskK-eUqnLNmQksHMLh8q1o,909416
191
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_70_cuda124,sha256=oRQLpzvAtJLycBEohge-AV55XkAc7BIdb7iyLtOKd2o,1071952
192
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_70_cuda126,sha256=aUV4OSEsm0DSYRQ9pC8aZ3tpTuQ2OUUswVyUpovrpXk,1078144
193
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_70_cuda129,sha256=58ibNPKNEqq8wKzCo9IW6t5mBFpn_2X6eRAyiLvHqJI,1099944
194
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_75_cuda118,sha256=WNq7aiL0BAZjRAGyNaXs_EMzQhnfY9dNCthcPBKD9rY,909416
195
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_75_cuda124,sha256=Ej2sBhmLGCdAdidUiOkgq7lg0-HjgmqORm5EFklNzAg,1071952
196
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_75_cuda126,sha256=66c_yr8z8zeNruu6_51dEM_xQgMfP-w35s04PSuHX4o,1078144
197
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_75_cuda129,sha256=M3oH4P0ihSd-hOVGUCBx_57OqYfNkaw6xKZT1lxxS3w,1099944
198
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_80_cuda118,sha256=Aq1L9-k9Fmh2YSAeMJD8kHX-GbyjqC7-rhC9n9h48kc,913512
199
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_80_cuda124,sha256=m2a3L1_XHpEK4t4wd7x0sYqcuLhU0RSGbmhj1l9Wk2g,1071952
200
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_80_cuda126,sha256=B-GWdSRMjlY2mkWweoRCezO3sEWreqDzukSfcgKzOdw,1078144
201
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_80_cuda129,sha256=lXH3p3gSLkUr3AdOvzGs-ZXNboiz2rOzYGG-kmAjH8o,1099944
202
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_86_cuda118,sha256=faXv7vGHDSMt6tKjDUOxImWUIhKntds7OsSXjcZjZCI,913512
203
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_86_cuda124,sha256=uSmcPEcJEVUTxt9DNb0yk7mC-EDHSs_2hiEDtsTdlsw,1071952
204
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_86_cuda126,sha256=K-_aUEa5_ejZ3pMJ7M-bwfY4apOddWiaJx0Z_guUx3k,1078144
205
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_86_cuda129,sha256=m_pIksQwA0gawFn61gXqXH5P4naAxfuWj4NUkxq3dkg,1099944
206
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_89_cuda118,sha256=0g4tEYskg8V0S2dMNLWc61KxQXx7_d9cOthk-4xY-G8,913512
207
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_89_cuda124,sha256=SH-skPto2ys_BoQ9foZ-vIh9tuAYgKWwJhv-pNs13dc,1071952
208
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_89_cuda126,sha256=v4WB0MmnLPW64KBgMc_ZB8EJ4vIh9ynHw_V6FcSyLcw,1078144
209
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_89_cuda129,sha256=C9hYldP2Wu9K7neLTD2QiNL7eFG8jfRMjv-gm5HciCI,1099944
210
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_90_cuda118,sha256=n86ywrAMN-YuGueqZliY5flp504xf8bN09oUE2vjonY,917608
211
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_90_cuda124,sha256=0ebR8oJ2IleKNZS9sSbNVO0RZko01fzTkYdNWH7KQZ4,1076048
212
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_90_cuda126,sha256=oWWCcDelmltOuT3D6ppnPicGOO7W_2pY1hdKjdQR1uA,1082240
213
+ fullwave/solver/bins/gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_sm_90_cuda129,sha256=a2L_WkUd5PmN4GkvTKRauFFHaJccjXj9oQKYr72Zz18,1104040
214
+ fullwave/utils/__init__.py,sha256=uyfU2QAJzcO2lp5ehqAxMzaJVhUDFzJ92pWrHHaq5T8,264
215
+ fullwave/utils/check_functions.py,sha256=AQcEJeBXpJSdMNUlPqXAi_85zAecBcOVBBqdp-WpuuQ,1363
216
+ fullwave/utils/coordinates.py,sha256=RdQ9IqXVXVJtMOW5bHwN8Kx-S13gQcxbl76kKTIZOJg,4624
217
+ fullwave/utils/memory_tempfile.py,sha256=_PVS3aa0fx7JrNo18DSGIhtyKEIvaVIaO8yt6rHtAPE,14329
218
+ fullwave/utils/numerical.py,sha256=DZ1VTrSvcf0cIRy54IjyXM9jOLbB9wjgrLQVYqkZgOo,3238
219
+ fullwave/utils/plot_utils.py,sha256=AXKJL9xmCdnPYYcKqlZMO-mGMEtfIbRgQR8qFWLCaJg,37363
220
+ fullwave/utils/pulse.py,sha256=m7hO-J3mSYWCB55oDfJwS2dEnxAYT2y0CsrWbml_fOk,2268
221
+ fullwave/utils/relaxation_parameters.py,sha256=u_Qsz8YyTghgwWHtRa9NWErLRhQwxe-1vr9pYZClNG0,7809
222
+ fullwave/utils/signal_process.py,sha256=_zy7Eg3rvJqFqywIAGSFjysh9kGa9at3LfEOnOYEgHk,4957
223
+ fullwave25-1.0.7.dist-info/METADATA,sha256=c6-orxZj8LL7_2nptZ4nfK9bXlePrAnB0_ICtRRM1Fc,14788
224
+ fullwave25-1.0.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
225
+ fullwave25-1.0.7.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.27.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any