DEME 0.2.5__tar.gz → 0.2.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (435) hide show
  1. {DEME-0.2.5 → DEME-0.2.6}/CMakeLists.txt +6 -1
  2. {DEME-0.2.5 → DEME-0.2.6/DEME.egg-info}/PKG-INFO +8 -1
  3. {DEME-0.2.5 → DEME-0.2.6}/DEME.egg-info/SOURCES.txt +1 -0
  4. {DEME-0.2.5/src → DEME-0.2.6}/DEME.egg-info/requires.txt +4 -0
  5. {DEME-0.2.5/DEME.egg-info → DEME-0.2.6}/PKG-INFO +8 -1
  6. DEME-0.2.6/pyproject.toml +4 -0
  7. {DEME-0.2.5 → DEME-0.2.6}/setup.py +28 -16
  8. {DEME-0.2.5 → DEME-0.2.6}/src/DEM/CMakeLists.txt +47 -42
  9. {DEME-0.2.5 → DEME-0.2.6}/src/DEM/PyDEME.cpp +28 -2
  10. {DEME-0.2.5 → DEME-0.2.6}/src/core/CMakeLists.txt +81 -81
  11. {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/RuntimeData.cpp.in +7 -0
  12. {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/RuntimeData.h +3 -0
  13. {DEME-0.2.5 → DEME-0.2.6}/DEME.egg-info/dependency_links.txt +0 -0
  14. {DEME-0.2.5 → DEME-0.2.6}/DEME.egg-info/not-zip-safe +0 -0
  15. {DEME-0.2.5 → DEME-0.2.6}/DEME.egg-info/top_level.txt +0 -0
  16. {DEME-0.2.5 → DEME-0.2.6}/LICENSE.md +0 -0
  17. {DEME-0.2.5 → DEME-0.2.6}/MANIFEST.in +0 -0
  18. {DEME-0.2.5 → DEME-0.2.6}/README.md +0 -0
  19. {DEME-0.2.5 → DEME-0.2.6}/cmake/CudaSupportedArchitectures.cmake +0 -0
  20. {DEME-0.2.5 → DEME-0.2.6}/cmake/CxxStdAutodetect.cmake +0 -0
  21. {DEME-0.2.5 → DEME-0.2.6}/cmake/DEMEConfig.cmake.in +0 -0
  22. {DEME-0.2.5 → DEME-0.2.6}/cmake/FixNinjaColors.cmake +0 -0
  23. {DEME-0.2.5 → DEME-0.2.6}/data/clumps/3_clump.csv +0 -0
  24. {DEME-0.2.5 → DEME-0.2.6}/data/clumps/6_clump.csv +0 -0
  25. {DEME-0.2.5 → DEME-0.2.6}/data/clumps/TeddyBear.csv +0 -0
  26. {DEME-0.2.5 → DEME-0.2.6}/data/clumps/ViperWheelSimple.csv +0 -0
  27. {DEME-0.2.5 → DEME-0.2.6}/data/clumps/ellipsoid_2_1_1.csv +0 -0
  28. {DEME-0.2.5 → DEME-0.2.6}/data/clumps/molecule.csv +0 -0
  29. {DEME-0.2.5 → DEME-0.2.6}/data/clumps/spiky_sphere.csv +0 -0
  30. {DEME-0.2.5 → DEME-0.2.6}/data/clumps/triangular_flat.csv +0 -0
  31. {DEME-0.2.5 → DEME-0.2.6}/data/clumps/triangular_flat_6comp.csv +0 -0
  32. {DEME-0.2.5 → DEME-0.2.6}/data/mesh/GPBR_Vessel_Fine.obj +0 -0
  33. {DEME-0.2.5 → DEME-0.2.6}/data/mesh/cone.obj +0 -0
  34. {DEME-0.2.5 → DEME-0.2.6}/data/mesh/cube.obj +0 -0
  35. {DEME-0.2.5 → DEME-0.2.6}/data/mesh/cyl_r1_h2.obj +0 -0
  36. {DEME-0.2.5 → DEME-0.2.6}/data/mesh/excavator.obj +0 -0
  37. {DEME-0.2.5 → DEME-0.2.6}/data/mesh/funnel.obj +0 -0
  38. {DEME-0.2.5 → DEME-0.2.6}/data/mesh/hourglass.obj +0 -0
  39. {DEME-0.2.5 → DEME-0.2.6}/data/mesh/hourglass_cap.obj +0 -0
  40. {DEME-0.2.5 → DEME-0.2.6}/data/mesh/internal_mixer.obj +0 -0
  41. {DEME-0.2.5 → DEME-0.2.6}/data/mesh/plane_20by20.obj +0 -0
  42. {DEME-0.2.5 → DEME-0.2.6}/data/mesh/rover_wheels/curiosity_wheel.obj +0 -0
  43. {DEME-0.2.5 → DEME-0.2.6}/data/mesh/rover_wheels/curiosity_wheel_surface.obj +0 -0
  44. {DEME-0.2.5 → DEME-0.2.6}/data/mesh/rover_wheels/viper_wheel_right.obj +0 -0
  45. {DEME-0.2.5 → DEME-0.2.6}/data/mesh/silo.obj +0 -0
  46. {DEME-0.2.5 → DEME-0.2.6}/data/mesh/sphere.obj +0 -0
  47. {DEME-0.2.5 → DEME-0.2.6}/data/mesh/thin_plate.obj +0 -0
  48. {DEME-0.2.5 → DEME-0.2.6}/data/sim_data/example_cnt_pairs.csv +0 -0
  49. {DEME-0.2.5 → DEME-0.2.6}/setup.cfg +0 -0
  50. {DEME-0.2.5 → DEME-0.2.6}/src/DEM/API.h +0 -0
  51. {DEME-0.2.5 → DEME-0.2.6}/src/DEM/APIPrivate.cpp +0 -0
  52. {DEME-0.2.5 → DEME-0.2.6}/src/DEM/APIPublic.cpp +0 -0
  53. {DEME-0.2.5 → DEME-0.2.6}/src/DEM/AuxClasses.cpp +0 -0
  54. {DEME-0.2.5 → DEME-0.2.6}/src/DEM/AuxClasses.h +0 -0
  55. {DEME-0.2.5 → DEME-0.2.6}/src/DEM/BdrsAndObjs.h +0 -0
  56. {DEME-0.2.5 → DEME-0.2.6}/src/DEM/Defines.h +0 -0
  57. {DEME-0.2.5 → DEME-0.2.6}/src/DEM/HostSideHelpers.hpp +0 -0
  58. {DEME-0.2.5 → DEME-0.2.6}/src/DEM/MeshUtils.cpp +0 -0
  59. {DEME-0.2.5 → DEME-0.2.6}/src/DEM/Models.h +0 -0
  60. {DEME-0.2.5 → DEME-0.2.6}/src/DEM/Structs.h +0 -0
  61. {DEME-0.2.5 → DEME-0.2.6}/src/DEM/VariableTypes.h +0 -0
  62. {DEME-0.2.5 → DEME-0.2.6}/src/DEM/dT.cpp +0 -0
  63. {DEME-0.2.5 → DEME-0.2.6}/src/DEM/dT.h +0 -0
  64. {DEME-0.2.5 → DEME-0.2.6}/src/DEM/kT.cpp +0 -0
  65. {DEME-0.2.5 → DEME-0.2.6}/src/DEM/kT.h +0 -0
  66. {DEME-0.2.5 → DEME-0.2.6}/src/DEM/utils/Samplers.hpp +0 -0
  67. {DEME-0.2.5 → DEME-0.2.6}/src/DEME.egg-info/PKG-INFO +0 -0
  68. {DEME-0.2.5 → DEME-0.2.6}/src/DEME.egg-info/SOURCES.txt +0 -0
  69. {DEME-0.2.5 → DEME-0.2.6}/src/DEME.egg-info/dependency_links.txt +0 -0
  70. {DEME-0.2.5 → DEME-0.2.6}/src/DEME.egg-info/not-zip-safe +0 -0
  71. {DEME-0.2.5 → DEME-0.2.6/src}/DEME.egg-info/requires.txt +0 -0
  72. {DEME-0.2.5 → DEME-0.2.6}/src/DEME.egg-info/top_level.txt +0 -0
  73. {DEME-0.2.5 → DEME-0.2.6}/src/algorithms/CMakeLists.txt +0 -0
  74. {DEME-0.2.5 → DEME-0.2.6}/src/algorithms/DEMCubBasedSubroutines.h +0 -0
  75. {DEME-0.2.5 → DEME-0.2.6}/src/algorithms/DEMCubContactDetection.cu +0 -0
  76. {DEME-0.2.5 → DEME-0.2.6}/src/algorithms/DEMCubForceCollection.cu +0 -0
  77. {DEME-0.2.5 → DEME-0.2.6}/src/algorithms/DEMCubUtilities.cu +0 -0
  78. {DEME-0.2.5 → DEME-0.2.6}/src/algorithms/DEMCubWrappers.cu +0 -0
  79. {DEME-0.2.5 → DEME-0.2.6}/src/core/ApiVersion.h.in +0 -0
  80. {DEME-0.2.5 → DEME-0.2.6}/src/core/DebugInfo.cpp +0 -0
  81. {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/DEMEPaths.cpp +0 -0
  82. {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/DEMEPaths.h +0 -0
  83. {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/GpuError.h +0 -0
  84. {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/GpuManager.cpp +0 -0
  85. {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/GpuManager.h +0 -0
  86. {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/HeaderGenerator.h +0 -0
  87. {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/JitHelper.cpp +0 -0
  88. {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/JitHelper.h +0 -0
  89. {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/ManagedAllocator.hpp +0 -0
  90. {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/ManagedMemory.hpp +0 -0
  91. {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/ThreadManager.h +0 -0
  92. {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/Timer.hpp +0 -0
  93. {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/WavefrontMeshLoader.hpp +0 -0
  94. {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/csv.hpp +0 -0
  95. {DEME-0.2.5 → DEME-0.2.6}/src/demo/CMakeLists.txt +0 -0
  96. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_BallDrop.cpp +0 -0
  97. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_Centrifuge.cpp +0 -0
  98. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_ConePenetration.cpp +0 -0
  99. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_Electrostatic.cpp +0 -0
  100. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_FlexibleMesh.cpp +0 -0
  101. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_GRCPrep_Part1.cpp +0 -0
  102. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_GRCPrep_Part2.cpp +0 -0
  103. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_GameOfLife.cpp +0 -0
  104. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_Indentation.cpp +0 -0
  105. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_Mixer.cpp +0 -0
  106. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_Plow.cpp +0 -0
  107. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_Repose.cpp +0 -0
  108. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_RotatingDrum.cpp +0 -0
  109. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_Shake.cpp +0 -0
  110. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_Sieve.cpp +0 -0
  111. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_SingleSphereCollide.cpp +0 -0
  112. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_SolarSystem.cpp +0 -0
  113. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_TestPack.cpp +0 -0
  114. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_WheelDP.cpp +0 -0
  115. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_WheelDPSimplified.cpp +0 -0
  116. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_WheelSlopeSlip.cpp +0 -0
  117. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DemoOutput_BallDrop/DEMdemo_mesh_0000.vtk +0 -0
  118. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DemoOutput_BallDrop/DEMdemo_mesh_0001.vtk +0 -0
  119. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DemoOutput_BallDrop/DEMdemo_output_0000.csv +0 -0
  120. {DEME-0.2.5 → DEME-0.2.6}/src/demo/DemoOutput_BallDrop/DEMdemo_output_0001.csv +0 -0
  121. {DEME-0.2.5 → DEME-0.2.6}/src/demo/pyDEME_BallDrop.py +0 -0
  122. {DEME-0.2.5 → DEME-0.2.6}/src/demo/pyDEME_Centrifuge.py +0 -0
  123. {DEME-0.2.5 → DEME-0.2.6}/src/demo/pyDEME_ConePenetration.py +0 -0
  124. {DEME-0.2.5 → DEME-0.2.6}/src/demo/pyDEME_Electrostatic.py +0 -0
  125. {DEME-0.2.5 → DEME-0.2.6}/src/demo/pyDEME_FlexibleMesh.py +0 -0
  126. {DEME-0.2.5 → DEME-0.2.6}/src/demo/pyDEME_GRCPrep_Part1.py +0 -0
  127. {DEME-0.2.5 → DEME-0.2.6}/src/demo/pyDEME_GameOfLife.py +0 -0
  128. {DEME-0.2.5 → DEME-0.2.6}/src/demo/pyDEME_WheelDPSimplified.py +0 -0
  129. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/CUDAMathHelpers.cu +0 -0
  130. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMBinSphereKernels.cu +0 -0
  131. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMBinTriangleKernels.cu +0 -0
  132. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCalcForceKernels.cu +0 -0
  133. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCollectForceKernels.cu +0 -0
  134. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCollectForceKernels_Compact.cu +0 -0
  135. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCollisionKernels.cu +0 -0
  136. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMContactKernels_SphereSphere.cu +0 -0
  137. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMContactKernels_SphereTriangle.cu +0 -0
  138. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/AnalyticalCompDefJitify.cu +0 -0
  139. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/ClumpCompAcqStratAllFlatten.cu +0 -0
  140. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/ClumpCompAcqStratAllJitify.cu +0 -0
  141. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/ClumpCompAcqStratPartialJitify.cu +0 -0
  142. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/ClumpCompDefJitify.cu +0 -0
  143. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/ContactInfoWriteBack.cu +0 -0
  144. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/ForceInKernelReductionStrat.cu +0 -0
  145. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/FrictionlessHertzianForceModel.cu +0 -0
  146. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/FullHertzianForceModel.cu +0 -0
  147. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/IntegrationVelPassOnCenteredDiff.cu +0 -0
  148. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/IntegrationVelPassOnExtendedTaylor.cu +0 -0
  149. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/IntegrationVelPassOnForwardEuler.cu +0 -0
  150. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/MOIAcqStratFlatten.cu +0 -0
  151. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/MOIAcqStratJitify.cu +0 -0
  152. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/MOIDefJitify.cu +0 -0
  153. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/MassAcqStratFlatten.cu +0 -0
  154. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/MassAcqStratJitify.cu +0 -0
  155. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/MassDefJitify.cu +0 -0
  156. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMHelperKernels.cu +0 -0
  157. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMHistoryMappingKernels.cu +0 -0
  158. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMIntegrationKernels.cu +0 -0
  159. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMMiscKernels.cu +0 -0
  160. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMModeratorKernels.cu +0 -0
  161. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMOwnerQueryKernels.cu +0 -0
  162. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMPrepForceKernels.cu +0 -0
  163. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMSphereQueryKernels.cu +0 -0
  164. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMTriangleBoxIntersect.cu +0 -0
  165. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMUserScripts/ForceModelWithCohesion.cu +0 -0
  166. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMUserScripts/ForceModelWithElectrostatic.cu +0 -0
  167. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMUserScripts/ForceModelWithGravity.cu +0 -0
  168. {DEME-0.2.5 → DEME-0.2.6}/src/kernel/hello.cu +0 -0
  169. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/.clang-format +0 -0
  170. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/.git +0 -0
  171. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/.gitignore +0 -0
  172. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/Doxyfile +0 -0
  173. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/LICENSE +0 -0
  174. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/Makefile +0 -0
  175. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/README.md +0 -0
  176. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/example_headers/class_arg_kernel.cuh +0 -0
  177. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/example_headers/constant_header.cuh +0 -0
  178. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/example_headers/my_header1.cuh +0 -0
  179. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/example_headers/my_header2.cuh +0 -0
  180. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/example_headers/my_header3.cuh +0 -0
  181. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/jitify.hpp +0 -0
  182. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/jitify_example.cpp +0 -0
  183. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/jitify_test.cu +0 -0
  184. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/nvrtc_cli.cpp +0 -0
  185. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/nvrtc_cli_test.sh +0 -0
  186. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/stringify.cpp +0 -0
  187. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/nvidia_helper_math/nvmath/helper_math.cuh +0 -0
  188. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.appveyor.yml +0 -0
  189. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.clang-format +0 -0
  190. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.clang-tidy +0 -0
  191. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.cmake-format.yaml +0 -0
  192. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.codespell-ignore-lines +0 -0
  193. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.git +0 -0
  194. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.gitattributes +0 -0
  195. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/CODEOWNERS +0 -0
  196. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/CONTRIBUTING.md +0 -0
  197. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  198. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/ISSUE_TEMPLATE/config.yml +0 -0
  199. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/dependabot.yml +0 -0
  200. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/labeler.yml +0 -0
  201. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/labeler_merged.yml +0 -0
  202. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/matchers/pylint.json +0 -0
  203. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/pull_request_template.md +0 -0
  204. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/workflows/ci.yml +0 -0
  205. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/workflows/configure.yml +0 -0
  206. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/workflows/format.yml +0 -0
  207. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/workflows/labeler.yml +0 -0
  208. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/workflows/pip.yml +0 -0
  209. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/workflows/upstream.yml +0 -0
  210. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.gitignore +0 -0
  211. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.pre-commit-config.yaml +0 -0
  212. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.readthedocs.yml +0 -0
  213. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/CMakeLists.txt +0 -0
  214. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/LICENSE +0 -0
  215. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/MANIFEST.in +0 -0
  216. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/README.rst +0 -0
  217. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/Doxyfile +0 -0
  218. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/Makefile +0 -0
  219. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/_static/css/custom.css +0 -0
  220. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/chrono.rst +0 -0
  221. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/custom.rst +0 -0
  222. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/eigen.rst +0 -0
  223. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/functional.rst +0 -0
  224. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/index.rst +0 -0
  225. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/overview.rst +0 -0
  226. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/stl.rst +0 -0
  227. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/strings.rst +0 -0
  228. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/classes.rst +0 -0
  229. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/embedding.rst +0 -0
  230. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/exceptions.rst +0 -0
  231. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/functions.rst +0 -0
  232. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/misc.rst +0 -0
  233. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/pycpp/index.rst +0 -0
  234. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/pycpp/numpy.rst +0 -0
  235. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/pycpp/object.rst +0 -0
  236. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/pycpp/utilities.rst +0 -0
  237. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/smart_ptrs.rst +0 -0
  238. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/basics.rst +0 -0
  239. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/benchmark.py +0 -0
  240. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/benchmark.rst +0 -0
  241. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/changelog.rst +0 -0
  242. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/classes.rst +0 -0
  243. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/cmake/index.rst +0 -0
  244. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/compiling.rst +0 -0
  245. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/conf.py +0 -0
  246. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/faq.rst +0 -0
  247. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/index.rst +0 -0
  248. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/installing.rst +0 -0
  249. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/limitations.rst +0 -0
  250. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/pybind11-logo.png +0 -0
  251. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/pybind11_vs_boost_python1.png +0 -0
  252. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/pybind11_vs_boost_python1.svg +0 -0
  253. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/pybind11_vs_boost_python2.png +0 -0
  254. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/pybind11_vs_boost_python2.svg +0 -0
  255. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/reference.rst +0 -0
  256. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/release.rst +0 -0
  257. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/requirements.txt +0 -0
  258. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/upgrade.rst +0 -0
  259. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/attr.h +0 -0
  260. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/buffer_info.h +0 -0
  261. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/cast.h +0 -0
  262. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/chrono.h +0 -0
  263. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/common.h +0 -0
  264. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/complex.h +0 -0
  265. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/detail/class.h +0 -0
  266. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/detail/common.h +0 -0
  267. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/detail/descr.h +0 -0
  268. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/detail/init.h +0 -0
  269. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/detail/internals.h +0 -0
  270. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/detail/type_caster_base.h +0 -0
  271. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/detail/typeid.h +0 -0
  272. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/eigen/matrix.h +0 -0
  273. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/eigen/tensor.h +0 -0
  274. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/eigen.h +0 -0
  275. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/embed.h +0 -0
  276. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/eval.h +0 -0
  277. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/functional.h +0 -0
  278. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/gil.h +0 -0
  279. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/iostream.h +0 -0
  280. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/numpy.h +0 -0
  281. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/operators.h +0 -0
  282. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/options.h +0 -0
  283. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/pybind11.h +0 -0
  284. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/pytypes.h +0 -0
  285. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/stl/filesystem.h +0 -0
  286. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/stl.h +0 -0
  287. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/stl_bind.h +0 -0
  288. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/noxfile.py +0 -0
  289. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/pybind11/__init__.py +0 -0
  290. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/pybind11/__main__.py +0 -0
  291. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/pybind11/_version.py +0 -0
  292. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/pybind11/commands.py +0 -0
  293. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/pybind11/py.typed +0 -0
  294. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/pybind11/setup_helpers.py +0 -0
  295. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/pyproject.toml +0 -0
  296. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/setup.cfg +0 -0
  297. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/setup.py +0 -0
  298. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/CMakeLists.txt +0 -0
  299. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/conftest.py +0 -0
  300. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/constructor_stats.h +0 -0
  301. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/cross_module_gil_utils.cpp +0 -0
  302. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/cross_module_interleaved_error_already_set.cpp +0 -0
  303. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/eigen_tensor_avoid_stl_array.cpp +0 -0
  304. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/env.py +0 -0
  305. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/extra_python_package/pytest.ini +0 -0
  306. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/extra_python_package/test_files.py +0 -0
  307. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/extra_setuptools/pytest.ini +0 -0
  308. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/extra_setuptools/test_setuphelper.py +0 -0
  309. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/local_bindings.h +0 -0
  310. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/object.h +0 -0
  311. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/pybind11_cross_module_tests.cpp +0 -0
  312. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/pybind11_tests.cpp +0 -0
  313. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/pybind11_tests.h +0 -0
  314. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/pytest.ini +0 -0
  315. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/requirements.txt +0 -0
  316. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_async.cpp +0 -0
  317. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_async.py +0 -0
  318. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_buffers.cpp +0 -0
  319. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_buffers.py +0 -0
  320. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_builtin_casters.cpp +0 -0
  321. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_builtin_casters.py +0 -0
  322. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_call_policies.cpp +0 -0
  323. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_call_policies.py +0 -0
  324. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_callbacks.cpp +0 -0
  325. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_callbacks.py +0 -0
  326. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_chrono.cpp +0 -0
  327. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_chrono.py +0 -0
  328. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_class.cpp +0 -0
  329. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_class.py +0 -0
  330. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/CMakeLists.txt +0 -0
  331. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/embed.cpp +0 -0
  332. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt +0 -0
  333. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt +0 -0
  334. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt +0 -0
  335. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/main.cpp +0 -0
  336. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt +0 -0
  337. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt +0 -0
  338. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt +0 -0
  339. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/test.py +0 -0
  340. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_const_name.cpp +0 -0
  341. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_const_name.py +0 -0
  342. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_constants_and_functions.cpp +0 -0
  343. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_constants_and_functions.py +0 -0
  344. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_copy_move.cpp +0 -0
  345. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_copy_move.py +0 -0
  346. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_custom_type_casters.cpp +0 -0
  347. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_custom_type_casters.py +0 -0
  348. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_custom_type_setup.cpp +0 -0
  349. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_custom_type_setup.py +0 -0
  350. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_docstring_options.cpp +0 -0
  351. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_docstring_options.py +0 -0
  352. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eigen_matrix.cpp +0 -0
  353. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eigen_matrix.py +0 -0
  354. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eigen_tensor.cpp +0 -0
  355. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eigen_tensor.inl +0 -0
  356. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eigen_tensor.py +0 -0
  357. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_embed/CMakeLists.txt +0 -0
  358. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_embed/catch.cpp +0 -0
  359. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_embed/external_module.cpp +0 -0
  360. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_embed/test_interpreter.cpp +0 -0
  361. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_embed/test_interpreter.py +0 -0
  362. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_embed/test_trampoline.py +0 -0
  363. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_enum.cpp +0 -0
  364. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_enum.py +0 -0
  365. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eval.cpp +0 -0
  366. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eval.py +0 -0
  367. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eval_call.py +0 -0
  368. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_exceptions.cpp +0 -0
  369. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_exceptions.h +0 -0
  370. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_exceptions.py +0 -0
  371. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_factory_constructors.cpp +0 -0
  372. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_factory_constructors.py +0 -0
  373. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_gil_scoped.cpp +0 -0
  374. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_gil_scoped.py +0 -0
  375. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_iostream.cpp +0 -0
  376. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_iostream.py +0 -0
  377. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_kwargs_and_defaults.cpp +0 -0
  378. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_kwargs_and_defaults.py +0 -0
  379. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_local_bindings.cpp +0 -0
  380. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_local_bindings.py +0 -0
  381. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_methods_and_attributes.cpp +0 -0
  382. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_methods_and_attributes.py +0 -0
  383. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_modules.cpp +0 -0
  384. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_modules.py +0 -0
  385. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_multiple_inheritance.cpp +0 -0
  386. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_multiple_inheritance.py +0 -0
  387. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_numpy_array.cpp +0 -0
  388. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_numpy_array.py +0 -0
  389. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_numpy_dtypes.cpp +0 -0
  390. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_numpy_dtypes.py +0 -0
  391. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_numpy_vectorize.cpp +0 -0
  392. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_numpy_vectorize.py +0 -0
  393. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_opaque_types.cpp +0 -0
  394. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_opaque_types.py +0 -0
  395. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_operator_overloading.cpp +0 -0
  396. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_operator_overloading.py +0 -0
  397. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_pickling.cpp +0 -0
  398. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_pickling.py +0 -0
  399. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_pytypes.cpp +0 -0
  400. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_pytypes.py +0 -0
  401. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_sequences_and_iterators.cpp +0 -0
  402. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_sequences_and_iterators.py +0 -0
  403. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_smart_ptr.cpp +0 -0
  404. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_smart_ptr.py +0 -0
  405. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_stl.cpp +0 -0
  406. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_stl.py +0 -0
  407. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_stl_binders.cpp +0 -0
  408. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_stl_binders.py +0 -0
  409. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_tagbased_polymorphic.cpp +0 -0
  410. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_tagbased_polymorphic.py +0 -0
  411. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_thread.cpp +0 -0
  412. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_thread.py +0 -0
  413. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_union.cpp +0 -0
  414. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_union.py +0 -0
  415. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_virtual_functions.cpp +0 -0
  416. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_virtual_functions.py +0 -0
  417. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/valgrind-numpy-scipy.supp +0 -0
  418. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/valgrind-python.supp +0 -0
  419. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/FindCatch.cmake +0 -0
  420. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/FindEigen3.cmake +0 -0
  421. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/FindPythonLibsNew.cmake +0 -0
  422. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/JoinPaths.cmake +0 -0
  423. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/check-style.sh +0 -0
  424. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/cmake_uninstall.cmake.in +0 -0
  425. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/codespell_ignore_lines_from_errors.py +0 -0
  426. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/libsize.py +0 -0
  427. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/make_changelog.py +0 -0
  428. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/pybind11.pc.in +0 -0
  429. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/pybind11Common.cmake +0 -0
  430. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/pybind11Config.cmake.in +0 -0
  431. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/pybind11NewTools.cmake +0 -0
  432. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/pybind11Tools.cmake +0 -0
  433. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/pyproject.toml +0 -0
  434. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/setup_global.py.in +0 -0
  435. {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/setup_main.py.in +0 -0
@@ -46,7 +46,7 @@ add_subdirectory(thirdparty/pybind11)
46
46
  set(CMAKE_SKIP_BUILD_RPATH FALSE)
47
47
  set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
48
48
 
49
- set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
49
+ set(CMAKE_INSTALL_RPATH "$ENV{CONDA_PREFIX}/lib/python3.10/site-packages/lib")
50
50
  set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
51
51
 
52
52
  # Find CUB library (this might need to be done in source-level config)
@@ -93,6 +93,11 @@ set_property(
93
93
  STRINGS STD_AUTODETECT STD_CXX11 STD_CXX14 STD_CXX17 STD_CXX20
94
94
  )
95
95
 
96
+ # Defining option to build PyDEME wrapper
97
+
98
+ option(PYTHON_BUILD "Sets the build process for Python wrapper around DEME" OFF)
99
+ mark_as_advanced(PYTHON_BUILD)
100
+
96
101
  # Convert the standard into something CMake will understand
97
102
  if(TargetCXXStandard STREQUAL STD_CXX11)
98
103
  set(CXXSTD_MAX 11)
@@ -1,9 +1,16 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: DEME
3
- Version: 0.2.5
3
+ Version: 0.2.6
4
4
  Summary: PyBind Wrapper Library for DEM-Engine
5
+ Home-page: UNKNOWN
5
6
  Author: Rouchun Zhang
6
7
  Author-email: noreply@wisc.edu
8
+ License: UNKNOWN
9
+ Platform: UNKNOWN
7
10
  Requires-Python: >=3.8
11
+ Provides-Extra: dev
8
12
  Provides-Extra: test
9
13
  License-File: LICENSE.md
14
+
15
+ UNKNOWN
16
+
@@ -2,6 +2,7 @@ CMakeLists.txt
2
2
  LICENSE.md
3
3
  MANIFEST.in
4
4
  README.md
5
+ pyproject.toml
5
6
  setup.py
6
7
  DEME.egg-info/PKG-INFO
7
8
  DEME.egg-info/SOURCES.txt
@@ -1,4 +1,8 @@
1
1
  numpy
2
+ pybind11
3
+
4
+ [dev]
5
+ pybind11
2
6
 
3
7
  [test]
4
8
  pytest>=6.0
@@ -1,9 +1,16 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: DEME
3
- Version: 0.2.5
3
+ Version: 0.2.6
4
4
  Summary: PyBind Wrapper Library for DEM-Engine
5
+ Home-page: UNKNOWN
5
6
  Author: Rouchun Zhang
6
7
  Author-email: noreply@wisc.edu
8
+ License: UNKNOWN
9
+ Platform: UNKNOWN
7
10
  Requires-Python: >=3.8
11
+ Provides-Extra: dev
8
12
  Provides-Extra: test
9
13
  License-File: LICENSE.md
14
+
15
+ UNKNOWN
16
+
@@ -0,0 +1,4 @@
1
+ [build-system]
2
+ requires = ["setuptools ~= 58.0", "pybind11", "cython ~= 0.29.0"]
3
+
4
+
@@ -5,7 +5,8 @@ import sys
5
5
  from pathlib import Path
6
6
 
7
7
  from setuptools import Extension, setup
8
- from setuptools.command.build_ext import build_ext
8
+ from pybind11.setup_helpers import Pybind11Extension, build_ext
9
+ # from setuptools.command.build_ext import build_ext
9
10
 
10
11
  # Convert distutils Windows platform specifiers to CMake -A arguments
11
12
  PLAT_TO_CMAKE = {
@@ -18,13 +19,16 @@ PLAT_TO_CMAKE = {
18
19
  # A CMakeExtension needs a sourcedir instead of a file list.
19
20
  # The name must be the _single_ output extension from the CMake build.
20
21
  # If you need multiple extensions, see scikit-build.
21
- class CMakeExtension(Extension):
22
+
23
+
24
+ class CMakeExtension(Pybind11Extension):
22
25
  def __init__(self, name: str, sourcedir: str = "") -> None:
23
-
26
+
24
27
  # Obtaining conda_prefix environment variable
25
28
  conda_prefix = os.environ.get("CONDA_PREFIX")
26
29
 
27
- super().__init__(name, sources=[], extra_link_args=['-Wl,-rpath,' + conda_prefix + '/lib/python3.10/site-packages/lib', '-Wl,-rpath,$ORIGIN/lib'], runtime_library_dirs=[conda_prefix + "/lib/python3.10/site-packages/lib/"], libraries=["libDEMERuntimeDataHelper"], include_dirs=["./src/DEM/", "./src/DEM/VariableTypes"], extra_objects=["./build"])
30
+ super().__init__(name, sources=[], extra_link_args=['--no-as-needed', '-Wl,-rpath,' + conda_prefix + '/lib/python3.10/site-packages/lib'], runtime_library_dirs=[conda_prefix +
31
+ '/lib/python3.10/site-packages/lib'], libraries=["libDEMERuntimeDataHelper"], include_dirs=["./src/DEM/", "./src/DEM/VariableTypes"], extra_objects=["./build"])
28
32
  self.sourcedir = os.fspath(Path(sourcedir).resolve())
29
33
 
30
34
 
@@ -32,13 +36,15 @@ class CMakeBuild(build_ext):
32
36
  def build_extension(self, ext: CMakeExtension) -> None:
33
37
  # Must be in this form due to bug in .resolve() only fixed in Python 3.10+
34
38
  ext_fullpath = Path.cwd() / self.get_ext_fullpath(ext.name)
35
-
36
- extdir = os.path.abspath(os.path.dirname(self.get_ext_fullpath(ext.name)))
39
+
40
+ extdir = os.path.abspath(os.path.dirname(
41
+ self.get_ext_fullpath(ext.name)))
37
42
 
38
43
  # Using this requires trailing slash for auto-detection & inclusion of
39
44
  # auxiliary "native" libs
40
45
 
41
- debug = int(os.environ.get("DEBUG", 0)) if self.debug is None else self.debug
46
+ debug = int(os.environ.get("DEBUG", 0)
47
+ ) if self.debug is None else self.debug
42
48
  cfg = "Debug" if debug else "Release"
43
49
 
44
50
  # CMake lets you override the generator - we need to check this.
@@ -49,6 +55,7 @@ class CMakeBuild(build_ext):
49
55
  # EXAMPLE_VERSION_INFO shows you how to pass a value into the C++ code
50
56
  # from Python.
51
57
  cmake_args = [
58
+ f"-DPYTHON_BUILD=ON",
52
59
  f"-DCMAKE_LIBRARY_OUTPUT_DIRECTORY={extdir}{os.sep}",
53
60
  f"-DPYTHON_EXECUTABLE={sys.executable}",
54
61
  f"-DCMAKE_INSTALL_PREFIX={extdir}{os.sep}",
@@ -60,10 +67,12 @@ class CMakeBuild(build_ext):
60
67
  # Adding CMake arguments set as environment variable
61
68
  # (needed e.g. to build for ARM OSx on conda-forge)
62
69
  if "CMAKE_ARGS" in os.environ:
63
- cmake_args += [item for item in os.environ["CMAKE_ARGS"].split(" ") if item]
70
+ cmake_args += [
71
+ item for item in os.environ["CMAKE_ARGS"].split(" ") if item]
64
72
 
65
73
  # In this example, we pass in the version to C++. You might not need to.
66
- cmake_args += [f"-DEXAMPLE_VERSION_INFO={self.distribution.get_version()}"]
74
+ cmake_args += [
75
+ f"-DEXAMPLE_VERSION_INFO={self.distribution.get_version()}"]
67
76
 
68
77
  if self.compiler.compiler_type != "msvc":
69
78
  # Using Ninja-build since it a) is available as a wheel and b)
@@ -85,7 +94,8 @@ class CMakeBuild(build_ext):
85
94
 
86
95
  else:
87
96
  # Single config generators are handled "normally"
88
- single_config = any(x in cmake_generator for x in {"NMake", "Ninja"})
97
+ single_config = any(
98
+ x in cmake_generator for x in {"NMake", "Ninja"})
89
99
 
90
100
  # CMake allows an arch-in-generator style for backward compatibility
91
101
  contains_arch = any(x in cmake_generator for x in {"ARM", "Win64"})
@@ -107,7 +117,8 @@ class CMakeBuild(build_ext):
107
117
  # Cross-compile support for macOS - respect ARCHFLAGS if set
108
118
  archs = re.findall(r"-arch (\S+)", os.environ.get("ARCHFLAGS", ""))
109
119
  if archs:
110
- cmake_args += ["-DCMAKE_OSX_ARCHITECTURES={}".format(";".join(archs))]
120
+ cmake_args += [
121
+ "-DCMAKE_OSX_ARCHITECTURES={}".format(";".join(archs))]
111
122
 
112
123
  # Set CMAKE_BUILD_PARALLEL_LEVEL to control the parallel build level
113
124
  # across all generators.
@@ -129,14 +140,15 @@ class CMakeBuild(build_ext):
129
140
  subprocess.run(
130
141
  ["cmake", "--build", ".", "-j 8", *build_args], cwd=build_temp, check=True
131
142
  )
132
-
143
+
133
144
  subprocess.run(["make", "install"], cwd=build_temp, check=True)
134
-
145
+
146
+
135
147
  # The information here can also be placed in setup.cfg - better separation of
136
148
  # logic and declaration, and simpler if you include description/version in a file.
137
149
  setup(
138
150
  name="DEME",
139
- version="0.2.5",
151
+ version="0.2.6",
140
152
  author="Rouchun Zhang",
141
153
  author_email="noreply@wisc.edu",
142
154
  description="PyBind Wrapper Library for DEM-Engine",
@@ -146,7 +158,7 @@ setup(
146
158
  zip_safe=False,
147
159
  include_package_data=True,
148
160
  sources=["./src/"],
149
- install_requires=['numpy'],
150
- extras_require={"test": ["pytest>=6.0"]},
161
+ install_requires=['numpy', 'pybind11'],
162
+ extras_require={"dev": ['pybind11'], "test": ["pytest>=6.0"]},
151
163
  python_requires=">=3.8",
152
164
  )
@@ -25,6 +25,7 @@ target_link_libraries(
25
25
  PUBLIC ${PYTHON_LIBRARIES}
26
26
  PUBLIC ${CMAKE_INSTALL_INCLUDEDIR}/DEM
27
27
  PUBLIC core
28
+ PUBLIC DEMERuntimeDataHelper_install
28
29
  PUBLIC algorithms
29
30
  pybind11::headers
30
31
  -static-libgcc -static-libstdc++
@@ -87,6 +88,7 @@ target_link_libraries(
87
88
  PUBLIC ${PYTHON_LIBRARIES}
88
89
  PUBLIC ${CMAKE_INSTALL_INCLUDEDIR}/DEM
89
90
  PUBLIC pybind11::headers
91
+ PUBLIC DEMERuntimeDataHelper_install
90
92
  PUBLIC core
91
93
  PUBLIC algorithms
92
94
  -static-libgcc -static-libstdc++
@@ -110,45 +112,48 @@ install(
110
112
  PATTERN "utils/*.hpp"
111
113
  )
112
114
 
113
- message(STATUS "==== Building PyDEME Components ====")
114
-
115
- pybind11_add_module(DEME ${DEM_headers} ${DEM_sources} ${PyDEME_sources})
116
-
117
- set_target_properties(DEME PROPERTIES LINKER_LANGUAGE CXX)
118
-
119
- target_include_directories(
120
- DEME
121
- PUBLIC ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}
122
- PUBLIC ${ProjectIncludeSource}
123
- PUBLIC ${ProjectIncludeGenerated}
124
- PUBLIC ${NVIDIAMathDir}
125
- PUBLIC ${CMAKE_INSTALL_INCLUDEDIR}/DEM
126
- PUBLIC ${CMAKE_INSTALL_INCLUDEDIR}/core
127
- PUBLIC ${CMAKE_INSTALL_INCLUDEDIR}/algorithms
128
- )
129
-
130
- target_link_libraries(
131
- DEME
132
- PUBLIC CUDA::cudart
133
- PUBLIC CUDA::nvrtc
134
- PUBLIC CUDA::cuda_driver
135
- PUBLIC ${ChPF_IMPORTED_NAME}
136
- PUBLIC ${PYTHON_LIBRARIES}
137
- PUBLIC core
138
- PUBLIC DEMERuntimeDataHelper_install
139
- PUBLIC algorithms
140
- PUBLIC pybind11::headers
141
- -static-libgcc -static-libstdc++
142
- )
143
-
144
- set_target_properties(
145
- DEME PROPERTIES
146
- POSITION_INDEPENDENT_CODE True
147
- CXX_STANDARD ${CXXSTD_SUPPORTED}
148
- PUBLIC_HEADER "${DEM_headers}"
149
- INSTALL_RPATH "$ENV{CONDA_PREFIX}/lib/python3.10/site-packages/lib"
150
- )
151
-
152
- add_compile_options(-fno-lto)
153
-
154
- message(STATUS "==== Completed Building PyDEME Components ====")
115
+ if(PYTHON_BUILD)
116
+ message(STATUS "==== Building PyDEME Components ====")
117
+
118
+ pybind11_add_module(DEME ${DEM_headers} ${DEM_sources} ${PyDEME_sources})
119
+
120
+ set_target_properties(DEME PROPERTIES LINKER_LANGUAGE CXX)
121
+
122
+ target_include_directories(
123
+ DEME
124
+ PUBLIC ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}
125
+ PUBLIC ${ProjectIncludeSource}
126
+ PUBLIC ${ProjectIncludeGenerated}
127
+ PUBLIC ${NVIDIAMathDir}
128
+ PUBLIC ${CMAKE_INSTALL_INCLUDEDIR}/DEM
129
+ PUBLIC ${CMAKE_INSTALL_INCLUDEDIR}/core
130
+ PUBLIC ${CMAKE_INSTALL_INCLUDEDIR}/algorithms
131
+ )
132
+
133
+ target_link_libraries(
134
+ DEME
135
+ PUBLIC CUDA::cudart
136
+ PUBLIC CUDA::nvrtc
137
+ PUBLIC CUDA::cuda_driver
138
+ PUBLIC ${ChPF_IMPORTED_NAME}
139
+ PUBLIC ${PYTHON_LIBRARIES}
140
+ PUBLIC core
141
+ PUBLIC DEMERuntimeDataHelper_install
142
+ PUBLIC algorithms
143
+ PUBLIC pybind11::headers
144
+ PRIVATE pybind11::embed
145
+ -static-libgcc -static-libstdc++
146
+ )
147
+
148
+ set_target_properties(
149
+ DEME PROPERTIES
150
+ POSITION_INDEPENDENT_CODE True
151
+ CXX_STANDARD ${CXXSTD_SUPPORTED}
152
+ PUBLIC_HEADER "${DEM_headers}"
153
+ INSTALL_RPATH "$ENV{CONDA_PREFIX}/lib/python3.10/site-packages/lib"
154
+ )
155
+
156
+ add_compile_options(-fno-lto)
157
+
158
+ message(STATUS "==== Completed Building PyDEME Components ====")
159
+ endif()
@@ -13,7 +13,9 @@
13
13
  #include <sstream>
14
14
  #include <array>
15
15
  #include <cmath>
16
+ #include <string>
16
17
 
18
+ #include <core/utils/RuntimeData.h>
17
19
  #include <nvmath/helper_math.cuh>
18
20
  #include <DEM/Defines.h>
19
21
  #include <DEM/Structs.h>
@@ -23,21 +25,35 @@
23
25
 
24
26
  namespace py = pybind11;
25
27
 
26
- // Defining PyBind11 inclusion code
27
-
28
28
  PYBIND11_MODULE(DEME, obj) {
29
+ // Obtaining the location of python's site-packages dynamically and setting it
30
+ // as path prefix
31
+
32
+ py::module _site = py::module_::import("site");
33
+ std::string loc = _site.attr("getsitepackages")().cast<py::list>()[0].cast<py::str>();
34
+
35
+ std::filesystem::path path = loc;
36
+
37
+ RuntimeDataHelper::SetPathPrefix(path);
38
+
29
39
  obj.def("GetDEMEDataFile", &deme::GetDEMEDataFile);
30
40
  obj.def("DEMBoxGridSampler",
31
41
  static_cast<std::vector<std::vector<float>> (*)(const std::vector<float>&, const std::vector<float>&, float,
32
42
  float, float)>(&deme::DEMBoxGridSampler),
33
43
  py::arg("BoxCenter"), py::arg("HalfDims"), py::arg("GridSizeX"), py::arg("GridSizeY") = -1.0,
34
44
  py::arg("GridSizeZ") = -1.0);
45
+
35
46
  obj.def(
36
47
  "DEMBoxHCPSampler",
37
48
  static_cast<std::vector<std::vector<float>> (*)(const std::vector<float>&, const std::vector<float>&, float)>(
38
49
  &deme::DEMBoxHCPSampler));
50
+
39
51
  obj.attr("PI") = py::float_(3.14);
40
52
 
53
+ py::class_<RuntimeDataHelper>(obj, "RuntimeDataHelper")
54
+ .def(py::init<>())
55
+ .def_static("SetPathPrefix", &RuntimeDataHelper::SetPathPrefix);
56
+
41
57
  py::class_<deme::GridSampler>(obj, "GridSampler")
42
58
  .def(py::init<float>())
43
59
  .def("SetSeparation", &deme::GridSampler::SetSeparation)
@@ -45,15 +61,20 @@ PYBIND11_MODULE(DEME, obj) {
45
61
  static_cast<std::vector<std::vector<float>> (deme::GridSampler::*)(
46
62
  const std::vector<float>& center, const std::vector<float>& halfDim)>(&deme::GridSampler::SampleBox),
47
63
  "Generates a sample box")
64
+
48
65
  .def("SampleSphere",
49
66
  static_cast<std::vector<std::vector<float>> (deme::GridSampler::*)(const std::vector<float>&, float)>(
50
67
  &deme::GridSampler::SampleSphere))
68
+
51
69
  .def("SampleCylinderX", static_cast<std::vector<std::vector<float>> (deme::GridSampler::*)(
52
70
  const std::vector<float>&, float, float)>(&deme::GridSampler::SampleCylinderX))
71
+
53
72
  .def("SampleCylinderY", static_cast<std::vector<std::vector<float>> (deme::GridSampler::*)(
54
73
  const std::vector<float>&, float, float)>(&deme::GridSampler::SampleCylinderY))
74
+
55
75
  .def("SampleCylinderZ", static_cast<std::vector<std::vector<float>> (deme::GridSampler::*)(
56
76
  const std::vector<float>&, float, float)>(&deme::GridSampler::SampleCylinderZ))
77
+
57
78
  .def("GetSeparation", &deme::Sampler::GetSeparation);
58
79
 
59
80
  py::class_<deme::HCPSampler>(obj, "HCPSampler")
@@ -62,22 +83,27 @@ PYBIND11_MODULE(DEME, obj) {
62
83
  static_cast<std::vector<std::vector<float>> (deme::HCPSampler::*)(
63
84
  const std::vector<float>& center, const std::vector<float>& halfDim)>(&deme::HCPSampler::SampleBox),
64
85
  "Generates a sample box")
86
+
65
87
  .def("SetSeparation", &deme::HCPSampler::SetSeparation)
66
88
  .def("SampleSphere",
67
89
  static_cast<std::vector<std::vector<float>> (deme::HCPSampler::*)(const std::vector<float>&, float)>(
68
90
  &deme::HCPSampler::SampleSphere))
91
+
69
92
  .def(
70
93
  "SampleCylinderX",
71
94
  static_cast<std::vector<std::vector<float>> (deme::HCPSampler::*)(const std::vector<float>&, float, float)>(
72
95
  &deme::HCPSampler::SampleCylinderX))
96
+
73
97
  .def(
74
98
  "SampleCylinderY",
75
99
  static_cast<std::vector<std::vector<float>> (deme::HCPSampler::*)(const std::vector<float>&, float, float)>(
76
100
  &deme::HCPSampler::SampleCylinderY))
101
+
77
102
  .def(
78
103
  "SampleCylinderZ",
79
104
  static_cast<std::vector<std::vector<float>> (deme::HCPSampler::*)(const std::vector<float>&, float, float)>(
80
105
  &deme::HCPSampler::SampleCylinderZ))
106
+
81
107
  .def("GetSeparation", &deme::HCPSampler::GetSeparation);
82
108
 
83
109
  py::class_<deme::DEMInspector, std::shared_ptr<deme::DEMInspector>>(obj, "DEMInspector")
@@ -5,6 +5,85 @@
5
5
 
6
6
  message(STATUS "==== Configuring Core Components ====")
7
7
 
8
+ # --------------------------------------------------------- #
9
+ # Runtime data path helper library
10
+ # --------------------------------------------------------- #
11
+
12
+
13
+ message(STATUS "${core_message} Generating Runtime Data helper (build)...")
14
+
15
+ set(RUNTIME_DATA_DIRECTORY "${CMAKE_BINARY_DIR}")
16
+ set(RUNTIME_INCLUDE_DIRECTORY "${CMAKE_BINARY_DIR}")
17
+
18
+ configure_file(
19
+ utils/RuntimeData.cpp.in utils/RuntimeDataBuild.cpp
20
+ @ONLY
21
+ )
22
+
23
+ message(STATUS "${core_message} Generating Runtime Data helper (install)... ${CONDA_PREFIX}")
24
+
25
+ set(RUNTIME_DATA_DIRECTORY "$ENV{CONDA_PREFIX}/lib/python3.10/site-packages/share/DEME")
26
+ set(RUNTIME_INCLUDE_DIRECTORY "$ENV{CONDA_PREFIX}/lib/python3.10/site-packages/include")
27
+
28
+ configure_file(
29
+ utils/RuntimeData.cpp.in utils/RuntimeDataInstall.cpp
30
+ @ONLY
31
+ )
32
+
33
+ ## if not a python build, use these
34
+
35
+ # Build tree version
36
+
37
+ add_library(DEMERuntimeDataHelper SHARED)
38
+
39
+ target_sources(DEMERuntimeDataHelper
40
+ PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/utils/RuntimeData.h> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/core/utils/RuntimeData.h>
41
+ PRIVATE "${CMAKE_BINARY_DIR}/src/core/utils/RuntimeDataBuild.cpp"
42
+ )
43
+
44
+ target_include_directories(
45
+ DEMERuntimeDataHelper
46
+ PUBLIC $<BUILD_INTERFACE:${ProjectIncludeSource}> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
47
+ )
48
+
49
+ set_target_properties(
50
+ DEMERuntimeDataHelper PROPERTIES
51
+ POSITION_INDEPENDENT_CODE True
52
+ CXX_STANDARD "${CXXSTD_SUPPORTED}"
53
+ )
54
+
55
+ # Install tree version
56
+
57
+ ##
58
+ ## This MUST be installed after the Build tree version as it overwrites the .so file
59
+ ##
60
+
61
+ add_library(DEMERuntimeDataHelper_install SHARED)
62
+
63
+ target_sources(DEMERuntimeDataHelper_install
64
+ PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/utils/RuntimeData.h> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/core/utils/RuntimeData.h>
65
+ PRIVATE "${CMAKE_BINARY_DIR}/src/core/utils/RuntimeDataInstall.cpp"
66
+ )
67
+
68
+ target_include_directories(
69
+ DEMERuntimeDataHelper_install
70
+ PUBLIC $<BUILD_INTERFACE:${ProjectIncludeSource}> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
71
+ )
72
+
73
+ set_target_properties(
74
+ DEMERuntimeDataHelper_install PROPERTIES
75
+ POSITION_INDEPENDENT_CODE True
76
+ CXX_STANDARD "${CXXSTD_SUPPORTED}"
77
+ LIBRARY_OUTPUT_NAME "DEMERuntimeDataHelper")
78
+
79
+ install(TARGETS
80
+ DEMERuntimeDataHelper_install
81
+ LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/lib"
82
+ RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
83
+
84
+ # Make sure this target is generated **AFTER** the build-tree version
85
+ add_dependencies(DEMERuntimeDataHelper_install DEMERuntimeDataHelper)
86
+
8
87
  set (core_message "[core]")
9
88
  message(STATUS "${core_message} Generating API version header...")
10
89
  configure_file(
@@ -13,7 +92,8 @@ configure_file(
13
92
  @ONLY
14
93
  )
15
94
 
16
-
95
+ ## If a python package, build the library as STATIC, expecting the value
96
+ ## to be overwritten by __init__.py
17
97
 
18
98
  message(STATUS "${core_message} Extracting NVIDIA Jitify header...")
19
99
  configure_file(
@@ -24,7 +104,6 @@ configure_file(
24
104
 
25
105
  add_library(core OBJECT)
26
106
 
27
-
28
107
  target_include_directories(
29
108
  core
30
109
  PUBLIC $<BUILD_INTERFACE:${ProjectIncludeSource}> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
@@ -103,82 +182,3 @@ install(
103
182
  ${CMAKE_INSTALL_INCLUDEDIR}/jitify
104
183
  )
105
184
 
106
-
107
- # --------------------------------------------------------- #
108
- # Runtime data path helper library
109
- # --------------------------------------------------------- #
110
-
111
-
112
- message(STATUS "${core_message} Generating Runtime Data helper (build)...")
113
-
114
- set(RUNTIME_DATA_DIRECTORY "${CMAKE_BINARY_DIR}")
115
- set(RUNTIME_INCLUDE_DIRECTORY "${CMAKE_BINARY_DIR}")
116
-
117
- configure_file(
118
- utils/RuntimeData.cpp.in utils/RuntimeDataBuild.cpp
119
- @ONLY
120
- )
121
-
122
- message(STATUS "${core_message} Generating Runtime Data helper (install)... ${CONDA_PREFIX}")
123
-
124
- set(RUNTIME_DATA_DIRECTORY "$ENV{CONDA_PREFIX}/lib/python3.10/site-packages/share/DEME")
125
- set(RUNTIME_INCLUDE_DIRECTORY "$ENV{CONDA_PREFIX}/lib/python3.10/site-packages/include")
126
-
127
- configure_file(
128
- utils/RuntimeData.cpp.in utils/RuntimeDataInstall.cpp
129
- @ONLY
130
- )
131
-
132
- # Build tree version
133
-
134
- add_library(DEMERuntimeDataHelper)
135
-
136
- target_sources(DEMERuntimeDataHelper
137
- PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/utils/RuntimeData.h> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/core/utils/RuntimeData.h>
138
- PRIVATE "${CMAKE_BINARY_DIR}/src/core/utils/RuntimeDataBuild.cpp"
139
- )
140
-
141
- target_include_directories(
142
- DEMERuntimeDataHelper
143
- PUBLIC $<BUILD_INTERFACE:${ProjectIncludeSource}> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
144
- )
145
-
146
- set_target_properties(
147
- DEMERuntimeDataHelper PROPERTIES
148
- POSITION_INDEPENDENT_CODE True
149
- CXX_STANDARD "${CXXSTD_SUPPORTED}"
150
- )
151
-
152
- # Install tree version
153
-
154
- ##
155
- ## This MUST be installed after the Build tree version as it overwrites the .so file
156
- ##
157
-
158
- add_library(DEMERuntimeDataHelper_install)
159
-
160
- target_sources(DEMERuntimeDataHelper_install
161
- PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/utils/RuntimeData.h> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/core/utils/RuntimeData.h>
162
- PRIVATE "${CMAKE_BINARY_DIR}/src/core/utils/RuntimeDataInstall.cpp"
163
- )
164
-
165
- target_include_directories(
166
- DEMERuntimeDataHelper_install
167
- PUBLIC $<BUILD_INTERFACE:${ProjectIncludeSource}> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
168
- )
169
-
170
- set_target_properties(
171
- DEMERuntimeDataHelper_install PROPERTIES
172
- POSITION_INDEPENDENT_CODE True
173
- CXX_STANDARD "${CXXSTD_SUPPORTED}"
174
- # LIBRARY_OUTPUT_NAME "DEMERuntimeDataHelper"
175
- )
176
-
177
- #install(TARGETS
178
- # DEMERuntimeDataHelper_install
179
- # LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/lib"
180
- # RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
181
-
182
- # Make sure this target is generated **AFTER** the build-tree version
183
- add_dependencies(DEMERuntimeDataHelper_install DEMERuntimeDataHelper)
184
-
@@ -14,3 +14,10 @@ std::filesystem::path RuntimeDataHelper::data_path = std::filesystem::path(RUNTI
14
14
  // This include path is for the included headers in the kernels that need jitification
15
15
  std::filesystem::path RuntimeDataHelper::include_path = std::filesystem::path(RUNTIME_INCLUDE_DIRECTORY);
16
16
 
17
+ // p should be something like /path/to/pip/prefix/bin/../lib/python${PY_VER}/site-packages
18
+ // can get path from python's sys.executable, then run os.path.dirname on it to strip away the binary name
19
+
20
+ void RuntimeDataHelper::SetPathPrefix(std::filesystem::path& p) {
21
+ data_path = p / "share/DEME";
22
+ include_path = p / "include";
23
+ }
@@ -12,6 +12,9 @@ class RuntimeDataHelper {
12
12
  public:
13
13
  static std::filesystem::path data_path;
14
14
  static std::filesystem::path include_path;
15
+
16
+ // or std::string
17
+ static void SetPathPrefix(std::filesystem::path& p);
15
18
  };
16
19
 
17
20
  #endif
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes