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.
- {DEME-0.2.5 → DEME-0.2.6}/CMakeLists.txt +6 -1
- {DEME-0.2.5 → DEME-0.2.6/DEME.egg-info}/PKG-INFO +8 -1
- {DEME-0.2.5 → DEME-0.2.6}/DEME.egg-info/SOURCES.txt +1 -0
- {DEME-0.2.5/src → DEME-0.2.6}/DEME.egg-info/requires.txt +4 -0
- {DEME-0.2.5/DEME.egg-info → DEME-0.2.6}/PKG-INFO +8 -1
- DEME-0.2.6/pyproject.toml +4 -0
- {DEME-0.2.5 → DEME-0.2.6}/setup.py +28 -16
- {DEME-0.2.5 → DEME-0.2.6}/src/DEM/CMakeLists.txt +47 -42
- {DEME-0.2.5 → DEME-0.2.6}/src/DEM/PyDEME.cpp +28 -2
- {DEME-0.2.5 → DEME-0.2.6}/src/core/CMakeLists.txt +81 -81
- {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/RuntimeData.cpp.in +7 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/RuntimeData.h +3 -0
- {DEME-0.2.5 → DEME-0.2.6}/DEME.egg-info/dependency_links.txt +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/DEME.egg-info/not-zip-safe +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/DEME.egg-info/top_level.txt +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/LICENSE.md +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/MANIFEST.in +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/README.md +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/cmake/CudaSupportedArchitectures.cmake +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/cmake/CxxStdAutodetect.cmake +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/cmake/DEMEConfig.cmake.in +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/cmake/FixNinjaColors.cmake +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/clumps/3_clump.csv +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/clumps/6_clump.csv +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/clumps/TeddyBear.csv +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/clumps/ViperWheelSimple.csv +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/clumps/ellipsoid_2_1_1.csv +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/clumps/molecule.csv +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/clumps/spiky_sphere.csv +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/clumps/triangular_flat.csv +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/clumps/triangular_flat_6comp.csv +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/mesh/GPBR_Vessel_Fine.obj +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/mesh/cone.obj +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/mesh/cube.obj +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/mesh/cyl_r1_h2.obj +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/mesh/excavator.obj +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/mesh/funnel.obj +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/mesh/hourglass.obj +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/mesh/hourglass_cap.obj +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/mesh/internal_mixer.obj +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/mesh/plane_20by20.obj +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/mesh/rover_wheels/curiosity_wheel.obj +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/mesh/rover_wheels/curiosity_wheel_surface.obj +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/mesh/rover_wheels/viper_wheel_right.obj +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/mesh/silo.obj +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/mesh/sphere.obj +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/mesh/thin_plate.obj +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/data/sim_data/example_cnt_pairs.csv +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/setup.cfg +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/DEM/API.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/DEM/APIPrivate.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/DEM/APIPublic.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/DEM/AuxClasses.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/DEM/AuxClasses.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/DEM/BdrsAndObjs.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/DEM/Defines.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/DEM/HostSideHelpers.hpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/DEM/MeshUtils.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/DEM/Models.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/DEM/Structs.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/DEM/VariableTypes.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/DEM/dT.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/DEM/dT.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/DEM/kT.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/DEM/kT.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/DEM/utils/Samplers.hpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/DEME.egg-info/PKG-INFO +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/DEME.egg-info/SOURCES.txt +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/DEME.egg-info/dependency_links.txt +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/DEME.egg-info/not-zip-safe +0 -0
- {DEME-0.2.5 → DEME-0.2.6/src}/DEME.egg-info/requires.txt +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/DEME.egg-info/top_level.txt +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/algorithms/CMakeLists.txt +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/algorithms/DEMCubBasedSubroutines.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/algorithms/DEMCubContactDetection.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/algorithms/DEMCubForceCollection.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/algorithms/DEMCubUtilities.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/algorithms/DEMCubWrappers.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/core/ApiVersion.h.in +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/core/DebugInfo.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/DEMEPaths.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/DEMEPaths.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/GpuError.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/GpuManager.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/GpuManager.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/HeaderGenerator.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/JitHelper.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/JitHelper.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/ManagedAllocator.hpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/ManagedMemory.hpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/ThreadManager.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/Timer.hpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/WavefrontMeshLoader.hpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/core/utils/csv.hpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/CMakeLists.txt +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_BallDrop.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_Centrifuge.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_ConePenetration.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_Electrostatic.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_FlexibleMesh.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_GRCPrep_Part1.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_GRCPrep_Part2.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_GameOfLife.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_Indentation.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_Mixer.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_Plow.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_Repose.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_RotatingDrum.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_Shake.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_Sieve.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_SingleSphereCollide.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_SolarSystem.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_TestPack.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_WheelDP.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_WheelDPSimplified.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DEMdemo_WheelSlopeSlip.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DemoOutput_BallDrop/DEMdemo_mesh_0000.vtk +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DemoOutput_BallDrop/DEMdemo_mesh_0001.vtk +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DemoOutput_BallDrop/DEMdemo_output_0000.csv +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/DemoOutput_BallDrop/DEMdemo_output_0001.csv +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/pyDEME_BallDrop.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/pyDEME_Centrifuge.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/pyDEME_ConePenetration.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/pyDEME_Electrostatic.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/pyDEME_FlexibleMesh.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/pyDEME_GRCPrep_Part1.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/pyDEME_GameOfLife.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/demo/pyDEME_WheelDPSimplified.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/CUDAMathHelpers.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMBinSphereKernels.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMBinTriangleKernels.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCalcForceKernels.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCollectForceKernels.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCollectForceKernels_Compact.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCollisionKernels.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMContactKernels_SphereSphere.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMContactKernels_SphereTriangle.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/AnalyticalCompDefJitify.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/ClumpCompAcqStratAllFlatten.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/ClumpCompAcqStratAllJitify.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/ClumpCompAcqStratPartialJitify.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/ClumpCompDefJitify.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/ContactInfoWriteBack.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/ForceInKernelReductionStrat.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/FrictionlessHertzianForceModel.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/FullHertzianForceModel.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/IntegrationVelPassOnCenteredDiff.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/IntegrationVelPassOnExtendedTaylor.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/IntegrationVelPassOnForwardEuler.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/MOIAcqStratFlatten.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/MOIAcqStratJitify.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/MOIDefJitify.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/MassAcqStratFlatten.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/MassAcqStratJitify.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMCustomizablePolicies/MassDefJitify.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMHelperKernels.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMHistoryMappingKernels.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMIntegrationKernels.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMMiscKernels.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMModeratorKernels.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMOwnerQueryKernels.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMPrepForceKernels.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMSphereQueryKernels.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMTriangleBoxIntersect.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMUserScripts/ForceModelWithCohesion.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMUserScripts/ForceModelWithElectrostatic.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/DEMUserScripts/ForceModelWithGravity.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/src/kernel/hello.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/.clang-format +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/.git +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/.gitignore +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/Doxyfile +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/LICENSE +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/Makefile +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/README.md +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/example_headers/class_arg_kernel.cuh +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/example_headers/constant_header.cuh +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/example_headers/my_header1.cuh +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/example_headers/my_header2.cuh +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/example_headers/my_header3.cuh +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/jitify.hpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/jitify_example.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/jitify_test.cu +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/nvrtc_cli.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/nvrtc_cli_test.sh +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/jitify/stringify.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/nvidia_helper_math/nvmath/helper_math.cuh +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.appveyor.yml +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.clang-format +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.clang-tidy +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.cmake-format.yaml +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.codespell-ignore-lines +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.git +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.gitattributes +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/CODEOWNERS +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/CONTRIBUTING.md +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/dependabot.yml +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/labeler.yml +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/labeler_merged.yml +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/matchers/pylint.json +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/pull_request_template.md +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/workflows/ci.yml +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/workflows/configure.yml +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/workflows/format.yml +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/workflows/labeler.yml +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/workflows/pip.yml +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.github/workflows/upstream.yml +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.gitignore +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.pre-commit-config.yaml +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/.readthedocs.yml +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/CMakeLists.txt +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/LICENSE +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/MANIFEST.in +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/README.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/Doxyfile +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/Makefile +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/_static/css/custom.css +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/chrono.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/custom.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/eigen.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/functional.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/index.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/overview.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/stl.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/cast/strings.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/classes.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/embedding.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/exceptions.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/functions.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/misc.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/pycpp/index.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/pycpp/numpy.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/pycpp/object.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/pycpp/utilities.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/advanced/smart_ptrs.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/basics.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/benchmark.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/benchmark.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/changelog.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/classes.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/cmake/index.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/compiling.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/conf.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/faq.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/index.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/installing.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/limitations.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/pybind11-logo.png +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/pybind11_vs_boost_python1.png +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/pybind11_vs_boost_python1.svg +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/pybind11_vs_boost_python2.png +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/pybind11_vs_boost_python2.svg +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/reference.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/release.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/requirements.txt +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/docs/upgrade.rst +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/attr.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/buffer_info.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/cast.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/chrono.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/common.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/complex.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/detail/class.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/detail/common.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/detail/descr.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/detail/init.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/detail/internals.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/detail/type_caster_base.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/detail/typeid.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/eigen/matrix.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/eigen/tensor.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/eigen.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/embed.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/eval.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/functional.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/gil.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/iostream.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/numpy.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/operators.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/options.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/pybind11.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/pytypes.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/stl/filesystem.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/stl.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/include/pybind11/stl_bind.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/noxfile.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/pybind11/__init__.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/pybind11/__main__.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/pybind11/_version.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/pybind11/commands.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/pybind11/py.typed +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/pybind11/setup_helpers.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/pyproject.toml +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/setup.cfg +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/setup.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/CMakeLists.txt +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/conftest.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/constructor_stats.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/cross_module_gil_utils.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/cross_module_interleaved_error_already_set.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/eigen_tensor_avoid_stl_array.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/env.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/extra_python_package/pytest.ini +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/extra_python_package/test_files.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/extra_setuptools/pytest.ini +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/extra_setuptools/test_setuphelper.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/local_bindings.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/object.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/pybind11_cross_module_tests.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/pybind11_tests.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/pybind11_tests.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/pytest.ini +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/requirements.txt +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_async.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_async.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_buffers.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_buffers.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_builtin_casters.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_builtin_casters.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_call_policies.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_call_policies.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_callbacks.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_callbacks.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_chrono.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_chrono.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_class.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_class.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/CMakeLists.txt +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/embed.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/main.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_cmake_build/test.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_const_name.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_const_name.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_constants_and_functions.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_constants_and_functions.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_copy_move.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_copy_move.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_custom_type_casters.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_custom_type_casters.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_custom_type_setup.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_custom_type_setup.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_docstring_options.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_docstring_options.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eigen_matrix.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eigen_matrix.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eigen_tensor.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eigen_tensor.inl +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eigen_tensor.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_embed/CMakeLists.txt +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_embed/catch.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_embed/external_module.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_embed/test_interpreter.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_embed/test_interpreter.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_embed/test_trampoline.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_enum.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_enum.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eval.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eval.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_eval_call.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_exceptions.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_exceptions.h +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_exceptions.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_factory_constructors.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_factory_constructors.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_gil_scoped.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_gil_scoped.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_iostream.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_iostream.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_kwargs_and_defaults.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_kwargs_and_defaults.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_local_bindings.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_local_bindings.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_methods_and_attributes.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_methods_and_attributes.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_modules.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_modules.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_multiple_inheritance.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_multiple_inheritance.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_numpy_array.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_numpy_array.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_numpy_dtypes.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_numpy_dtypes.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_numpy_vectorize.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_numpy_vectorize.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_opaque_types.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_opaque_types.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_operator_overloading.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_operator_overloading.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_pickling.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_pickling.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_pytypes.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_pytypes.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_sequences_and_iterators.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_sequences_and_iterators.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_smart_ptr.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_smart_ptr.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_stl.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_stl.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_stl_binders.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_stl_binders.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_tagbased_polymorphic.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_tagbased_polymorphic.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_thread.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_thread.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_union.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_union.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_virtual_functions.cpp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/test_virtual_functions.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/valgrind-numpy-scipy.supp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tests/valgrind-python.supp +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/FindCatch.cmake +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/FindEigen3.cmake +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/FindPythonLibsNew.cmake +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/JoinPaths.cmake +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/check-style.sh +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/cmake_uninstall.cmake.in +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/codespell_ignore_lines_from_errors.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/libsize.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/make_changelog.py +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/pybind11.pc.in +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/pybind11Common.cmake +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/pybind11Config.cmake.in +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/pybind11NewTools.cmake +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/pybind11Tools.cmake +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/pyproject.toml +0 -0
- {DEME-0.2.5 → DEME-0.2.6}/thirdparty/pybind11/tools/setup_global.py.in +0 -0
- {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 "${
|
|
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.
|
|
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
|
+
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: DEME
|
|
3
|
-
Version: 0.2.
|
|
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
|
+
|
|
@@ -5,7 +5,8 @@ import sys
|
|
|
5
5
|
from pathlib import Path
|
|
6
6
|
|
|
7
7
|
from setuptools import Extension, setup
|
|
8
|
-
from
|
|
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
|
-
|
|
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'
|
|
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(
|
|
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)
|
|
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 += [
|
|
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 += [
|
|
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(
|
|
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 += [
|
|
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.
|
|
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
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
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
|
+
}
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|