DEME 0.2.4__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 (439) hide show
  1. {DEME-0.2.4 → DEME-0.2.6}/CMakeLists.txt +7 -2
  2. {DEME-0.2.4 → DEME-0.2.6/DEME.egg-info}/PKG-INFO +8 -1
  3. {DEME-0.2.4 → DEME-0.2.6}/DEME.egg-info/SOURCES.txt +1 -4
  4. {DEME-0.2.4/src → DEME-0.2.6}/DEME.egg-info/requires.txt +4 -0
  5. {DEME-0.2.4/DEME.egg-info → DEME-0.2.6}/PKG-INFO +8 -1
  6. DEME-0.2.6/pyproject.toml +4 -0
  7. {DEME-0.2.4 → DEME-0.2.6}/setup.py +28 -16
  8. {DEME-0.2.4 → DEME-0.2.6}/src/DEM/CMakeLists.txt +47 -42
  9. {DEME-0.2.4 → DEME-0.2.6}/src/DEM/PyDEME.cpp +28 -2
  10. {DEME-0.2.4 → DEME-0.2.6}/src/algorithms/CMakeLists.txt +1 -0
  11. {DEME-0.2.4 → DEME-0.2.6}/src/core/CMakeLists.txt +82 -81
  12. {DEME-0.2.4 → DEME-0.2.6}/src/core/utils/RuntimeData.cpp.in +7 -0
  13. {DEME-0.2.4 → DEME-0.2.6}/src/core/utils/RuntimeData.h +3 -0
  14. {DEME-0.2.4 → DEME-0.2.6}/src/demo/CMakeLists.txt +1 -0
  15. DEME-0.2.4/src/UNKNOWN.egg-info/PKG-INFO +0 -4
  16. DEME-0.2.4/src/UNKNOWN.egg-info/SOURCES.txt +0 -426
  17. DEME-0.2.4/src/UNKNOWN.egg-info/dependency_links.txt +0 -1
  18. DEME-0.2.4/src/UNKNOWN.egg-info/top_level.txt +0 -5
  19. {DEME-0.2.4 → DEME-0.2.6}/DEME.egg-info/dependency_links.txt +0 -0
  20. {DEME-0.2.4 → DEME-0.2.6}/DEME.egg-info/not-zip-safe +0 -0
  21. {DEME-0.2.4 → DEME-0.2.6}/DEME.egg-info/top_level.txt +0 -0
  22. {DEME-0.2.4 → DEME-0.2.6}/LICENSE.md +0 -0
  23. {DEME-0.2.4 → DEME-0.2.6}/MANIFEST.in +0 -0
  24. {DEME-0.2.4 → DEME-0.2.6}/README.md +0 -0
  25. {DEME-0.2.4 → DEME-0.2.6}/cmake/CudaSupportedArchitectures.cmake +0 -0
  26. {DEME-0.2.4 → DEME-0.2.6}/cmake/CxxStdAutodetect.cmake +0 -0
  27. {DEME-0.2.4 → DEME-0.2.6}/cmake/DEMEConfig.cmake.in +0 -0
  28. {DEME-0.2.4 → DEME-0.2.6}/cmake/FixNinjaColors.cmake +0 -0
  29. {DEME-0.2.4 → DEME-0.2.6}/data/clumps/3_clump.csv +0 -0
  30. {DEME-0.2.4 → DEME-0.2.6}/data/clumps/6_clump.csv +0 -0
  31. {DEME-0.2.4 → DEME-0.2.6}/data/clumps/TeddyBear.csv +0 -0
  32. {DEME-0.2.4 → DEME-0.2.6}/data/clumps/ViperWheelSimple.csv +0 -0
  33. {DEME-0.2.4 → DEME-0.2.6}/data/clumps/ellipsoid_2_1_1.csv +0 -0
  34. {DEME-0.2.4 → DEME-0.2.6}/data/clumps/molecule.csv +0 -0
  35. {DEME-0.2.4 → DEME-0.2.6}/data/clumps/spiky_sphere.csv +0 -0
  36. {DEME-0.2.4 → DEME-0.2.6}/data/clumps/triangular_flat.csv +0 -0
  37. {DEME-0.2.4 → DEME-0.2.6}/data/clumps/triangular_flat_6comp.csv +0 -0
  38. {DEME-0.2.4 → DEME-0.2.6}/data/mesh/GPBR_Vessel_Fine.obj +0 -0
  39. {DEME-0.2.4 → DEME-0.2.6}/data/mesh/cone.obj +0 -0
  40. {DEME-0.2.4 → DEME-0.2.6}/data/mesh/cube.obj +0 -0
  41. {DEME-0.2.4 → DEME-0.2.6}/data/mesh/cyl_r1_h2.obj +0 -0
  42. {DEME-0.2.4 → DEME-0.2.6}/data/mesh/excavator.obj +0 -0
  43. {DEME-0.2.4 → DEME-0.2.6}/data/mesh/funnel.obj +0 -0
  44. {DEME-0.2.4 → DEME-0.2.6}/data/mesh/hourglass.obj +0 -0
  45. {DEME-0.2.4 → DEME-0.2.6}/data/mesh/hourglass_cap.obj +0 -0
  46. {DEME-0.2.4 → DEME-0.2.6}/data/mesh/internal_mixer.obj +0 -0
  47. {DEME-0.2.4 → DEME-0.2.6}/data/mesh/plane_20by20.obj +0 -0
  48. {DEME-0.2.4 → DEME-0.2.6}/data/mesh/rover_wheels/curiosity_wheel.obj +0 -0
  49. {DEME-0.2.4 → DEME-0.2.6}/data/mesh/rover_wheels/curiosity_wheel_surface.obj +0 -0
  50. {DEME-0.2.4 → DEME-0.2.6}/data/mesh/rover_wheels/viper_wheel_right.obj +0 -0
  51. {DEME-0.2.4 → DEME-0.2.6}/data/mesh/silo.obj +0 -0
  52. {DEME-0.2.4 → DEME-0.2.6}/data/mesh/sphere.obj +0 -0
  53. {DEME-0.2.4 → DEME-0.2.6}/data/mesh/thin_plate.obj +0 -0
  54. {DEME-0.2.4 → DEME-0.2.6}/data/sim_data/example_cnt_pairs.csv +0 -0
  55. {DEME-0.2.4 → DEME-0.2.6}/setup.cfg +0 -0
  56. {DEME-0.2.4 → DEME-0.2.6}/src/DEM/API.h +0 -0
  57. {DEME-0.2.4 → DEME-0.2.6}/src/DEM/APIPrivate.cpp +0 -0
  58. {DEME-0.2.4 → DEME-0.2.6}/src/DEM/APIPublic.cpp +0 -0
  59. {DEME-0.2.4 → DEME-0.2.6}/src/DEM/AuxClasses.cpp +0 -0
  60. {DEME-0.2.4 → DEME-0.2.6}/src/DEM/AuxClasses.h +0 -0
  61. {DEME-0.2.4 → DEME-0.2.6}/src/DEM/BdrsAndObjs.h +0 -0
  62. {DEME-0.2.4 → DEME-0.2.6}/src/DEM/Defines.h +0 -0
  63. {DEME-0.2.4 → DEME-0.2.6}/src/DEM/HostSideHelpers.hpp +0 -0
  64. {DEME-0.2.4 → DEME-0.2.6}/src/DEM/MeshUtils.cpp +0 -0
  65. {DEME-0.2.4 → DEME-0.2.6}/src/DEM/Models.h +0 -0
  66. {DEME-0.2.4 → DEME-0.2.6}/src/DEM/Structs.h +0 -0
  67. {DEME-0.2.4 → DEME-0.2.6}/src/DEM/VariableTypes.h +0 -0
  68. {DEME-0.2.4 → DEME-0.2.6}/src/DEM/dT.cpp +0 -0
  69. {DEME-0.2.4 → DEME-0.2.6}/src/DEM/dT.h +0 -0
  70. {DEME-0.2.4 → DEME-0.2.6}/src/DEM/kT.cpp +0 -0
  71. {DEME-0.2.4 → DEME-0.2.6}/src/DEM/kT.h +0 -0
  72. {DEME-0.2.4 → DEME-0.2.6}/src/DEM/utils/Samplers.hpp +0 -0
  73. {DEME-0.2.4 → DEME-0.2.6}/src/DEME.egg-info/PKG-INFO +0 -0
  74. {DEME-0.2.4 → DEME-0.2.6}/src/DEME.egg-info/SOURCES.txt +0 -0
  75. {DEME-0.2.4 → DEME-0.2.6}/src/DEME.egg-info/dependency_links.txt +0 -0
  76. {DEME-0.2.4 → DEME-0.2.6}/src/DEME.egg-info/not-zip-safe +0 -0
  77. {DEME-0.2.4 → DEME-0.2.6/src}/DEME.egg-info/requires.txt +0 -0
  78. {DEME-0.2.4 → DEME-0.2.6}/src/DEME.egg-info/top_level.txt +0 -0
  79. {DEME-0.2.4 → DEME-0.2.6}/src/algorithms/DEMCubBasedSubroutines.h +0 -0
  80. {DEME-0.2.4 → DEME-0.2.6}/src/algorithms/DEMCubContactDetection.cu +0 -0
  81. {DEME-0.2.4 → DEME-0.2.6}/src/algorithms/DEMCubForceCollection.cu +0 -0
  82. {DEME-0.2.4 → DEME-0.2.6}/src/algorithms/DEMCubUtilities.cu +0 -0
  83. {DEME-0.2.4 → DEME-0.2.6}/src/algorithms/DEMCubWrappers.cu +0 -0
  84. {DEME-0.2.4 → DEME-0.2.6}/src/core/ApiVersion.h.in +0 -0
  85. {DEME-0.2.4 → DEME-0.2.6}/src/core/DebugInfo.cpp +0 -0
  86. {DEME-0.2.4 → DEME-0.2.6}/src/core/utils/DEMEPaths.cpp +0 -0
  87. {DEME-0.2.4 → DEME-0.2.6}/src/core/utils/DEMEPaths.h +0 -0
  88. {DEME-0.2.4 → DEME-0.2.6}/src/core/utils/GpuError.h +0 -0
  89. {DEME-0.2.4 → DEME-0.2.6}/src/core/utils/GpuManager.cpp +0 -0
  90. {DEME-0.2.4 → DEME-0.2.6}/src/core/utils/GpuManager.h +0 -0
  91. {DEME-0.2.4 → DEME-0.2.6}/src/core/utils/HeaderGenerator.h +0 -0
  92. {DEME-0.2.4 → DEME-0.2.6}/src/core/utils/JitHelper.cpp +0 -0
  93. {DEME-0.2.4 → DEME-0.2.6}/src/core/utils/JitHelper.h +0 -0
  94. {DEME-0.2.4 → DEME-0.2.6}/src/core/utils/ManagedAllocator.hpp +0 -0
  95. {DEME-0.2.4 → DEME-0.2.6}/src/core/utils/ManagedMemory.hpp +0 -0
  96. {DEME-0.2.4 → DEME-0.2.6}/src/core/utils/ThreadManager.h +0 -0
  97. {DEME-0.2.4 → DEME-0.2.6}/src/core/utils/Timer.hpp +0 -0
  98. {DEME-0.2.4 → DEME-0.2.6}/src/core/utils/WavefrontMeshLoader.hpp +0 -0
  99. {DEME-0.2.4 → DEME-0.2.6}/src/core/utils/csv.hpp +0 -0
  100. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DEMdemo_BallDrop.cpp +0 -0
  101. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DEMdemo_Centrifuge.cpp +0 -0
  102. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DEMdemo_ConePenetration.cpp +0 -0
  103. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DEMdemo_Electrostatic.cpp +0 -0
  104. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DEMdemo_FlexibleMesh.cpp +0 -0
  105. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DEMdemo_GRCPrep_Part1.cpp +0 -0
  106. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DEMdemo_GRCPrep_Part2.cpp +0 -0
  107. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DEMdemo_GameOfLife.cpp +0 -0
  108. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DEMdemo_Indentation.cpp +0 -0
  109. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DEMdemo_Mixer.cpp +0 -0
  110. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DEMdemo_Plow.cpp +0 -0
  111. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DEMdemo_Repose.cpp +0 -0
  112. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DEMdemo_RotatingDrum.cpp +0 -0
  113. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DEMdemo_Shake.cpp +0 -0
  114. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DEMdemo_Sieve.cpp +0 -0
  115. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DEMdemo_SingleSphereCollide.cpp +0 -0
  116. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DEMdemo_SolarSystem.cpp +0 -0
  117. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DEMdemo_TestPack.cpp +0 -0
  118. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DEMdemo_WheelDP.cpp +0 -0
  119. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DEMdemo_WheelDPSimplified.cpp +0 -0
  120. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DEMdemo_WheelSlopeSlip.cpp +0 -0
  121. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DemoOutput_BallDrop/DEMdemo_mesh_0000.vtk +0 -0
  122. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DemoOutput_BallDrop/DEMdemo_mesh_0001.vtk +0 -0
  123. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DemoOutput_BallDrop/DEMdemo_output_0000.csv +0 -0
  124. {DEME-0.2.4 → DEME-0.2.6}/src/demo/DemoOutput_BallDrop/DEMdemo_output_0001.csv +0 -0
  125. {DEME-0.2.4 → DEME-0.2.6}/src/demo/pyDEME_BallDrop.py +0 -0
  126. {DEME-0.2.4 → DEME-0.2.6}/src/demo/pyDEME_Centrifuge.py +0 -0
  127. {DEME-0.2.4 → DEME-0.2.6}/src/demo/pyDEME_ConePenetration.py +0 -0
  128. {DEME-0.2.4 → DEME-0.2.6}/src/demo/pyDEME_Electrostatic.py +0 -0
  129. {DEME-0.2.4 → DEME-0.2.6}/src/demo/pyDEME_FlexibleMesh.py +0 -0
  130. {DEME-0.2.4 → DEME-0.2.6}/src/demo/pyDEME_GRCPrep_Part1.py +0 -0
  131. {DEME-0.2.4 → DEME-0.2.6}/src/demo/pyDEME_GameOfLife.py +0 -0
  132. {DEME-0.2.4 → DEME-0.2.6}/src/demo/pyDEME_WheelDPSimplified.py +0 -0
  133. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/CUDAMathHelpers.cu +0 -0
  134. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMBinSphereKernels.cu +0 -0
  135. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMBinTriangleKernels.cu +0 -0
  136. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMCalcForceKernels.cu +0 -0
  137. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMCollectForceKernels.cu +0 -0
  138. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMCollectForceKernels_Compact.cu +0 -0
  139. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMCollisionKernels.cu +0 -0
  140. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMContactKernels_SphereSphere.cu +0 -0
  141. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMContactKernels_SphereTriangle.cu +0 -0
  142. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/AnalyticalCompDefJitify.cu +0 -0
  143. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/ClumpCompAcqStratAllFlatten.cu +0 -0
  144. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/ClumpCompAcqStratAllJitify.cu +0 -0
  145. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/ClumpCompAcqStratPartialJitify.cu +0 -0
  146. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/ClumpCompDefJitify.cu +0 -0
  147. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/ContactInfoWriteBack.cu +0 -0
  148. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/ForceInKernelReductionStrat.cu +0 -0
  149. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/FrictionlessHertzianForceModel.cu +0 -0
  150. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/FullHertzianForceModel.cu +0 -0
  151. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/IntegrationVelPassOnCenteredDiff.cu +0 -0
  152. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/IntegrationVelPassOnExtendedTaylor.cu +0 -0
  153. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/IntegrationVelPassOnForwardEuler.cu +0 -0
  154. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/MOIAcqStratFlatten.cu +0 -0
  155. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/MOIAcqStratJitify.cu +0 -0
  156. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/MOIDefJitify.cu +0 -0
  157. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/MassAcqStratFlatten.cu +0 -0
  158. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/MassAcqStratJitify.cu +0 -0
  159. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/MassDefJitify.cu +0 -0
  160. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMHelperKernels.cu +0 -0
  161. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMHistoryMappingKernels.cu +0 -0
  162. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMIntegrationKernels.cu +0 -0
  163. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMMiscKernels.cu +0 -0
  164. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMModeratorKernels.cu +0 -0
  165. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMOwnerQueryKernels.cu +0 -0
  166. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMPrepForceKernels.cu +0 -0
  167. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMSphereQueryKernels.cu +0 -0
  168. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMTriangleBoxIntersect.cu +0 -0
  169. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMUserScripts/ForceModelWithCohesion.cu +0 -0
  170. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMUserScripts/ForceModelWithElectrostatic.cu +0 -0
  171. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/DEMUserScripts/ForceModelWithGravity.cu +0 -0
  172. {DEME-0.2.4 → DEME-0.2.6}/src/kernel/hello.cu +0 -0
  173. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/jitify/.clang-format +0 -0
  174. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/jitify/.git +0 -0
  175. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/jitify/.gitignore +0 -0
  176. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/jitify/Doxyfile +0 -0
  177. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/jitify/LICENSE +0 -0
  178. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/jitify/Makefile +0 -0
  179. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/jitify/README.md +0 -0
  180. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/jitify/example_headers/class_arg_kernel.cuh +0 -0
  181. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/jitify/example_headers/constant_header.cuh +0 -0
  182. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/jitify/example_headers/my_header1.cuh +0 -0
  183. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/jitify/example_headers/my_header2.cuh +0 -0
  184. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/jitify/example_headers/my_header3.cuh +0 -0
  185. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/jitify/jitify.hpp +0 -0
  186. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/jitify/jitify_example.cpp +0 -0
  187. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/jitify/jitify_test.cu +0 -0
  188. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/jitify/nvrtc_cli.cpp +0 -0
  189. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/jitify/nvrtc_cli_test.sh +0 -0
  190. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/jitify/stringify.cpp +0 -0
  191. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/nvidia_helper_math/nvmath/helper_math.cuh +0 -0
  192. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.appveyor.yml +0 -0
  193. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.clang-format +0 -0
  194. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.clang-tidy +0 -0
  195. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.cmake-format.yaml +0 -0
  196. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.codespell-ignore-lines +0 -0
  197. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.git +0 -0
  198. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.gitattributes +0 -0
  199. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.github/CODEOWNERS +0 -0
  200. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.github/CONTRIBUTING.md +0 -0
  201. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  202. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.github/ISSUE_TEMPLATE/config.yml +0 -0
  203. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.github/dependabot.yml +0 -0
  204. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.github/labeler.yml +0 -0
  205. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.github/labeler_merged.yml +0 -0
  206. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.github/matchers/pylint.json +0 -0
  207. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.github/pull_request_template.md +0 -0
  208. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.github/workflows/ci.yml +0 -0
  209. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.github/workflows/configure.yml +0 -0
  210. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.github/workflows/format.yml +0 -0
  211. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.github/workflows/labeler.yml +0 -0
  212. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.github/workflows/pip.yml +0 -0
  213. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.github/workflows/upstream.yml +0 -0
  214. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.gitignore +0 -0
  215. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.pre-commit-config.yaml +0 -0
  216. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/.readthedocs.yml +0 -0
  217. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/CMakeLists.txt +0 -0
  218. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/LICENSE +0 -0
  219. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/MANIFEST.in +0 -0
  220. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/README.rst +0 -0
  221. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/Doxyfile +0 -0
  222. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/Makefile +0 -0
  223. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/_static/css/custom.css +0 -0
  224. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/chrono.rst +0 -0
  225. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/custom.rst +0 -0
  226. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/eigen.rst +0 -0
  227. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/functional.rst +0 -0
  228. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/index.rst +0 -0
  229. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/overview.rst +0 -0
  230. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/stl.rst +0 -0
  231. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/strings.rst +0 -0
  232. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/classes.rst +0 -0
  233. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/embedding.rst +0 -0
  234. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/exceptions.rst +0 -0
  235. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/functions.rst +0 -0
  236. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/misc.rst +0 -0
  237. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/pycpp/index.rst +0 -0
  238. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/pycpp/numpy.rst +0 -0
  239. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/pycpp/object.rst +0 -0
  240. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/pycpp/utilities.rst +0 -0
  241. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/smart_ptrs.rst +0 -0
  242. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/basics.rst +0 -0
  243. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/benchmark.py +0 -0
  244. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/benchmark.rst +0 -0
  245. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/changelog.rst +0 -0
  246. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/classes.rst +0 -0
  247. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/cmake/index.rst +0 -0
  248. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/compiling.rst +0 -0
  249. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/conf.py +0 -0
  250. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/faq.rst +0 -0
  251. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/index.rst +0 -0
  252. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/installing.rst +0 -0
  253. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/limitations.rst +0 -0
  254. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/pybind11-logo.png +0 -0
  255. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/pybind11_vs_boost_python1.png +0 -0
  256. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/pybind11_vs_boost_python1.svg +0 -0
  257. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/pybind11_vs_boost_python2.png +0 -0
  258. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/pybind11_vs_boost_python2.svg +0 -0
  259. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/reference.rst +0 -0
  260. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/release.rst +0 -0
  261. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/requirements.txt +0 -0
  262. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/docs/upgrade.rst +0 -0
  263. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/attr.h +0 -0
  264. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/buffer_info.h +0 -0
  265. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/cast.h +0 -0
  266. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/chrono.h +0 -0
  267. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/common.h +0 -0
  268. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/complex.h +0 -0
  269. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/detail/class.h +0 -0
  270. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/detail/common.h +0 -0
  271. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/detail/descr.h +0 -0
  272. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/detail/init.h +0 -0
  273. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/detail/internals.h +0 -0
  274. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/detail/type_caster_base.h +0 -0
  275. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/detail/typeid.h +0 -0
  276. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/eigen/matrix.h +0 -0
  277. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/eigen/tensor.h +0 -0
  278. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/eigen.h +0 -0
  279. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/embed.h +0 -0
  280. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/eval.h +0 -0
  281. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/functional.h +0 -0
  282. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/gil.h +0 -0
  283. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/iostream.h +0 -0
  284. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/numpy.h +0 -0
  285. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/operators.h +0 -0
  286. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/options.h +0 -0
  287. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/pybind11.h +0 -0
  288. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/pytypes.h +0 -0
  289. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/stl/filesystem.h +0 -0
  290. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/stl.h +0 -0
  291. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/stl_bind.h +0 -0
  292. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/noxfile.py +0 -0
  293. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/pybind11/__init__.py +0 -0
  294. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/pybind11/__main__.py +0 -0
  295. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/pybind11/_version.py +0 -0
  296. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/pybind11/commands.py +0 -0
  297. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/pybind11/py.typed +0 -0
  298. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/pybind11/setup_helpers.py +0 -0
  299. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/pyproject.toml +0 -0
  300. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/setup.cfg +0 -0
  301. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/setup.py +0 -0
  302. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/CMakeLists.txt +0 -0
  303. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/conftest.py +0 -0
  304. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/constructor_stats.h +0 -0
  305. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/cross_module_gil_utils.cpp +0 -0
  306. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/cross_module_interleaved_error_already_set.cpp +0 -0
  307. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/eigen_tensor_avoid_stl_array.cpp +0 -0
  308. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/env.py +0 -0
  309. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/extra_python_package/pytest.ini +0 -0
  310. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/extra_python_package/test_files.py +0 -0
  311. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/extra_setuptools/pytest.ini +0 -0
  312. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/extra_setuptools/test_setuphelper.py +0 -0
  313. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/local_bindings.h +0 -0
  314. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/object.h +0 -0
  315. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/pybind11_cross_module_tests.cpp +0 -0
  316. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/pybind11_tests.cpp +0 -0
  317. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/pybind11_tests.h +0 -0
  318. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/pytest.ini +0 -0
  319. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/requirements.txt +0 -0
  320. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_async.cpp +0 -0
  321. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_async.py +0 -0
  322. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_buffers.cpp +0 -0
  323. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_buffers.py +0 -0
  324. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_builtin_casters.cpp +0 -0
  325. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_builtin_casters.py +0 -0
  326. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_call_policies.cpp +0 -0
  327. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_call_policies.py +0 -0
  328. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_callbacks.cpp +0 -0
  329. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_callbacks.py +0 -0
  330. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_chrono.cpp +0 -0
  331. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_chrono.py +0 -0
  332. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_class.cpp +0 -0
  333. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_class.py +0 -0
  334. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/CMakeLists.txt +0 -0
  335. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/embed.cpp +0 -0
  336. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt +0 -0
  337. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt +0 -0
  338. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt +0 -0
  339. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/main.cpp +0 -0
  340. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt +0 -0
  341. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt +0 -0
  342. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt +0 -0
  343. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/test.py +0 -0
  344. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_const_name.cpp +0 -0
  345. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_const_name.py +0 -0
  346. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_constants_and_functions.cpp +0 -0
  347. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_constants_and_functions.py +0 -0
  348. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_copy_move.cpp +0 -0
  349. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_copy_move.py +0 -0
  350. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_custom_type_casters.cpp +0 -0
  351. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_custom_type_casters.py +0 -0
  352. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_custom_type_setup.cpp +0 -0
  353. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_custom_type_setup.py +0 -0
  354. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_docstring_options.cpp +0 -0
  355. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_docstring_options.py +0 -0
  356. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eigen_matrix.cpp +0 -0
  357. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eigen_matrix.py +0 -0
  358. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eigen_tensor.cpp +0 -0
  359. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eigen_tensor.inl +0 -0
  360. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eigen_tensor.py +0 -0
  361. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_embed/CMakeLists.txt +0 -0
  362. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_embed/catch.cpp +0 -0
  363. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_embed/external_module.cpp +0 -0
  364. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_embed/test_interpreter.cpp +0 -0
  365. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_embed/test_interpreter.py +0 -0
  366. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_embed/test_trampoline.py +0 -0
  367. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_enum.cpp +0 -0
  368. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_enum.py +0 -0
  369. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eval.cpp +0 -0
  370. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eval.py +0 -0
  371. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eval_call.py +0 -0
  372. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_exceptions.cpp +0 -0
  373. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_exceptions.h +0 -0
  374. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_exceptions.py +0 -0
  375. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_factory_constructors.cpp +0 -0
  376. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_factory_constructors.py +0 -0
  377. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_gil_scoped.cpp +0 -0
  378. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_gil_scoped.py +0 -0
  379. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_iostream.cpp +0 -0
  380. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_iostream.py +0 -0
  381. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_kwargs_and_defaults.cpp +0 -0
  382. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_kwargs_and_defaults.py +0 -0
  383. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_local_bindings.cpp +0 -0
  384. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_local_bindings.py +0 -0
  385. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_methods_and_attributes.cpp +0 -0
  386. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_methods_and_attributes.py +0 -0
  387. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_modules.cpp +0 -0
  388. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_modules.py +0 -0
  389. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_multiple_inheritance.cpp +0 -0
  390. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_multiple_inheritance.py +0 -0
  391. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_numpy_array.cpp +0 -0
  392. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_numpy_array.py +0 -0
  393. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_numpy_dtypes.cpp +0 -0
  394. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_numpy_dtypes.py +0 -0
  395. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_numpy_vectorize.cpp +0 -0
  396. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_numpy_vectorize.py +0 -0
  397. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_opaque_types.cpp +0 -0
  398. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_opaque_types.py +0 -0
  399. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_operator_overloading.cpp +0 -0
  400. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_operator_overloading.py +0 -0
  401. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_pickling.cpp +0 -0
  402. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_pickling.py +0 -0
  403. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_pytypes.cpp +0 -0
  404. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_pytypes.py +0 -0
  405. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_sequences_and_iterators.cpp +0 -0
  406. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_sequences_and_iterators.py +0 -0
  407. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_smart_ptr.cpp +0 -0
  408. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_smart_ptr.py +0 -0
  409. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_stl.cpp +0 -0
  410. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_stl.py +0 -0
  411. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_stl_binders.cpp +0 -0
  412. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_stl_binders.py +0 -0
  413. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_tagbased_polymorphic.cpp +0 -0
  414. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_tagbased_polymorphic.py +0 -0
  415. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_thread.cpp +0 -0
  416. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_thread.py +0 -0
  417. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_union.cpp +0 -0
  418. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_union.py +0 -0
  419. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_virtual_functions.cpp +0 -0
  420. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/test_virtual_functions.py +0 -0
  421. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/valgrind-numpy-scipy.supp +0 -0
  422. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tests/valgrind-python.supp +0 -0
  423. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tools/FindCatch.cmake +0 -0
  424. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tools/FindEigen3.cmake +0 -0
  425. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tools/FindPythonLibsNew.cmake +0 -0
  426. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tools/JoinPaths.cmake +0 -0
  427. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tools/check-style.sh +0 -0
  428. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tools/cmake_uninstall.cmake.in +0 -0
  429. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tools/codespell_ignore_lines_from_errors.py +0 -0
  430. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tools/libsize.py +0 -0
  431. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tools/make_changelog.py +0 -0
  432. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tools/pybind11.pc.in +0 -0
  433. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tools/pybind11Common.cmake +0 -0
  434. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tools/pybind11Config.cmake.in +0 -0
  435. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tools/pybind11NewTools.cmake +0 -0
  436. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tools/pybind11Tools.cmake +0 -0
  437. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tools/pyproject.toml +0 -0
  438. {DEME-0.2.4 → DEME-0.2.6}/thirdparty/pybind11/tools/setup_global.py.in +0 -0
  439. {DEME-0.2.4 → 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)
@@ -149,7 +154,7 @@ target_link_libraries(simulator_multi_gpu
149
154
  PUBLIC CUDA::nvrtc
150
155
  PUBLIC CUDA::cuda_driver
151
156
  PUBLIC ${ChPF_IMPORTED_NAME}
152
- PUBLIC DEMERuntimeDataHelper
157
+ PUBLIC DEMERuntimeDataHelper_install
153
158
  PUBLIC ${PYTHON_LIBRARIES}
154
159
  )
155
160
 
@@ -1,9 +1,16 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: DEME
3
- Version: 0.2.4
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
@@ -64,10 +65,6 @@ src/DEME.egg-info/dependency_links.txt
64
65
  src/DEME.egg-info/not-zip-safe
65
66
  src/DEME.egg-info/requires.txt
66
67
  src/DEME.egg-info/top_level.txt
67
- src/UNKNOWN.egg-info/PKG-INFO
68
- src/UNKNOWN.egg-info/SOURCES.txt
69
- src/UNKNOWN.egg-info/dependency_links.txt
70
- src/UNKNOWN.egg-info/top_level.txt
71
68
  src/algorithms/CMakeLists.txt
72
69
  src/algorithms/DEMCubBasedSubroutines.h
73
70
  src/algorithms/DEMCubContactDetection.cu
@@ -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.4
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.4",
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
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")
@@ -20,6 +20,7 @@ target_include_directories(
20
20
 
21
21
  target_link_libraries(
22
22
  algorithms
23
+ PUBLIC DEMERuntimeDataHelper_install
23
24
  PUBLIC CUB::CUB
24
25
  )
25
26
 
@@ -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}>
@@ -34,6 +113,7 @@ target_include_directories(
34
113
 
35
114
  target_link_libraries(
36
115
  core
116
+ PUBLIC DEMERuntimeDataHelper_install
37
117
  PUBLIC CUB::CUB
38
118
  INTERFACE ${ChPF_IMPORTED_NAME}
39
119
  )
@@ -102,82 +182,3 @@ install(
102
182
  ${CMAKE_INSTALL_INCLUDEDIR}/jitify
103
183
  )
104
184
 
105
-
106
- # --------------------------------------------------------- #
107
- # Runtime data path helper library
108
- # --------------------------------------------------------- #
109
-
110
-
111
- message(STATUS "${core_message} Generating Runtime Data helper (build)...")
112
-
113
- set(RUNTIME_DATA_DIRECTORY "${CMAKE_BINARY_DIR}")
114
- set(RUNTIME_INCLUDE_DIRECTORY "${CMAKE_BINARY_DIR}")
115
-
116
- configure_file(
117
- utils/RuntimeData.cpp.in utils/RuntimeDataBuild.cpp
118
- @ONLY
119
- )
120
-
121
- message(STATUS "${core_message} Generating Runtime Data helper (install)... ${CONDA_PREFIX}")
122
-
123
- set(RUNTIME_DATA_DIRECTORY "$ENV{CONDA_PREFIX}/lib/python3.10/site-packages/share/DEME")
124
- set(RUNTIME_INCLUDE_DIRECTORY "$ENV{CONDA_PREFIX}/lib/python3.10/site-packages/include")
125
-
126
- configure_file(
127
- utils/RuntimeData.cpp.in utils/RuntimeDataInstall.cpp
128
- @ONLY
129
- )
130
-
131
- # Build tree version
132
-
133
- add_library(DEMERuntimeDataHelper)
134
-
135
- target_sources(DEMERuntimeDataHelper
136
- PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/utils/RuntimeData.h> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/core/utils/RuntimeData.h>
137
- PRIVATE "${CMAKE_BINARY_DIR}/src/core/utils/RuntimeDataBuild.cpp"
138
- )
139
-
140
- target_include_directories(
141
- DEMERuntimeDataHelper
142
- PUBLIC $<BUILD_INTERFACE:${ProjectIncludeSource}> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
143
- )
144
-
145
- set_target_properties(
146
- DEMERuntimeDataHelper PROPERTIES
147
- POSITION_INDEPENDENT_CODE True
148
- CXX_STANDARD "${CXXSTD_SUPPORTED}"
149
- )
150
-
151
- # Install tree version
152
-
153
- ##
154
- ## This MUST be installed after the Build tree version as it overwrites the .so file
155
- ##
156
-
157
- add_library(DEMERuntimeDataHelper_install)
158
-
159
- target_sources(DEMERuntimeDataHelper_install
160
- PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/utils/RuntimeData.h> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/core/utils/RuntimeData.h>
161
- PRIVATE "${CMAKE_BINARY_DIR}/src/core/utils/RuntimeDataInstall.cpp"
162
- )
163
-
164
- target_include_directories(
165
- DEMERuntimeDataHelper_install
166
- PUBLIC $<BUILD_INTERFACE:${ProjectIncludeSource}> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
167
- )
168
-
169
- set_target_properties(
170
- DEMERuntimeDataHelper_install PROPERTIES
171
- POSITION_INDEPENDENT_CODE True
172
- CXX_STANDARD "${CXXSTD_SUPPORTED}"
173
- # LIBRARY_OUTPUT_NAME "DEMERuntimeDataHelper"
174
- )
175
-
176
- #install(TARGETS
177
- # DEMERuntimeDataHelper_install
178
- # LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/lib"
179
- # RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
180
-
181
- # Make sure this target is generated **AFTER** the build-tree version
182
- add_dependencies(DEMERuntimeDataHelper_install DEMERuntimeDataHelper)
183
-
@@ -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
@@ -52,6 +52,7 @@ FOREACH(PROGRAM ${DEMOS})
52
52
 
53
53
  target_link_libraries(${PROGRAM}
54
54
  PUBLIC ${LIBRARIES}
55
+ PUBLIC DEMERuntimeDataHelper_install
55
56
  PUBLIC ${EXTERNAL_LIBRARIES}
56
57
  )
57
58
 
@@ -1,4 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: UNKNOWN
3
- Version: 0.0.0
4
- License-File: LICENSE.md