Hello everyone!
I would like to ask whether the particle simulation algorithms in the Chrono library include any implementation related to MPM (Material Point Method).
No, there’s no MPM implementation in Chrono.
There is a mature SPH implementation though. Used for CDF and terramechanics (in Chrono, CRM terramechanics draws on SPH).
Dan
------------------------------------------------
Bernard A. and Frances M. Weideman Professor
NVIDIA CUDA Fellow
Department of Mechanical & Aerospace Engineering
Department of Computer Science
University of Wisconsin - Madison
4150ME, 1513 University Avenue
Madison, WI 53706-1572
------------------------------------------------
--
You received this message because you are subscribed to the Google Groups "ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
projectchron...@googlegroups.com.
To view this discussion visit
https://groups.google.com/d/msgid/projectchrono/982c5f92-21ad-4405-864d-dbe9f04fbc8an%40googlegroups.com.
Hello everyone!
I would like to ask whether the particle simulation algorithms in the Chrono library include any implementation related to MPM (Material Point Method).
--
We had an MPM implementation in the Chrono::Multicore module, but we obsoleted it because it didn’t see any use or interest.
If you are interested in reviving it for your own use and assuming the SPH solver in the Chrono::FSI-SPH module cannot be used for your case, I can provide you information where we archived that capability.
--Radu
From: projec...@googlegroups.com <projec...@googlegroups.com>
On Behalf Of Zero
Sent: Thursday, May 7, 2026 2:14 PM
To: ProjectChrono <projec...@googlegroups.com>
Subject: [chrono] Does Chrono have an MPM algorithm?
Hello everyone!
I would like to ask whether the particle simulation algorithms in the Chrono library include any implementation related to MPM (Material Point Method).
--
When compiling the FSI-SPH module in version 10.0, I have consistently encountered the error: no instance of overloaded function "atomicAdd" matches the argument list, and my CUDA version is 12.9.
Hi Zero,
Could you please try on the latest main branch, and if it doesn't work, paste the full compiler error (including the specific file and line that the error occurs) to help use troubleshoot.
Best,
Bocheng Zou
To view this discussion visit https://groups.google.com/d/msgid/projectchrono/fc460342-c0ca-45a0-b384-445e6873384an%40googlegroups.com.
Hello, have you found this error?
My GPU is indeed a bit old; it is a GTX 980, Maxwell 5.3.
What is the minimum GPU configuration required now?
There is another error. When I compile Chrono::SENSOR, with CH_USE_SENSOR_NVDB set to Enable, the following error occurs:
2>F:\GitHub\chrono\src\chrono_sensor\cuda\cuda_utils.cu(26): fatal error C1083: Unable to open the included file: “nanovdb/util/GridHandle.h”: No such file or directory
2>cuda_utils.cu
2>D:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\BuildCustomizations\CUDA 12.9.targets(801,9): error MSB3721: Command“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\bin\nvcc.exe" --use-local-env -ccbin "D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\bin\HostX64\x64" -x cu -I"C:\ProgramData\NVIDIA Corporation\OptiX SDK 9.1.0\include" -IF:\GitHub\chrono\src -IE:\Workspace\Chrono\build -IF:\GitHub\chrono\src\chrono\collision\bullet -IF:\GitHub\chrono\src\chrono\collision\gimpact -IF:\GitHub\chrono\src\chrono_thirdparty\HACD -IF:\GitHub\chrono\src\chrono_thirdparty\HACDv2 -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\include" -I"D:\Vcpkg\vcpkg\installed\x64-windows\include" -I"D:\Vcpkg\vcpkg\installed\x64-windows\include\Imath" -I"C:\Program Files (x86)\Intel\oneAPI\tbb\2023.0\include" -I"D:\Vcpkg\vcpkg\installed\x64-windows\include\nanovdb" -I"E:\Workspace\Library\eigen-5.0.0" -I"E:\Workspace\Library\hdf5-2.0.0\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\include" --keep-dir x64\Debug -use_fast_math -maxrregcount=0 --machine 64 --compile -cudart static -std=c++17 -arch=all-major --extended-lambda -Wno-deprecated-gpu-targets -Xcompiler="/EHsc -Zi -Ob0 /Zc:__cplusplus /wd4324 /wd4996" -g -D_WINDOWS -DUSE_SENSOR_NVDB -DOPENVDB_DLL -D_WIN32 -DNOMINMAX -DOPENVDB_ABI_VERSION_NUMBER=12 -DOPENVDB_USE_DELAYED_LOADING -DBOOST_IOSTREAMS_NO_LIB -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_RANDOM_NO_LIB -DBOOST_RANDOM_DYN_LINK -DIMATH_DLL -D__TBB_NO_IMPLICIT_LINKAGE=1 -DGLFW_DLL -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DH5_BUILT_AS_DYNAMIC_LIB -D"CMAKE_INTDIR=\"Debug\"" -DChrono_sensor_EXPORTS -D_WINDLL -D_MBCS -DWIN32 -D_WINDOWS -DNOMINMAX -DUSE_CUDA_NVRTC -DUSE_SENSOR_GLFW -DUSE_SENSOR_NVDB -DCH_API_COMPILE_SENSOR -DOPENVDB_DLL -D_WIN32 -DOPENVDB_ABI_VERSION_NUMBER=12 -DOPENVDB_USE_DELAYED_LOADING -DBOOST_IOSTREAMS_NO_LIB -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_RANDOM_NO_LIB -DBOOST_RANDOM_DYN_LINK -DIMATH_DLL -D__TBB_NO_IMPLICIT_LINKAGE=1 -DGLFW_DLL -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -DDEBUG -D_DEBUG -DCH_IGNORE_DEPRECATED -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DH5_BUILT_AS_DYNAMIC_LIB -D"CMAKE_INTDIR=\"Debug\"" -DChrono_sensor_EXPORTS -Xcompiler "/EHsc /W4 /nologo /Od /FS /Zi /RTC1 /MDd /GR" -Xcompiler "/FdChrono_sensor.dir\Debug\vc143.pdb" -o Chrono_sensor.dir\Debug\cuda_utils.obj "F:\GitHub\chrono\src\chrono_sensor\cuda\cuda_utils.cu"”Exited, return code is 2.
Before this is chased, please use a 3000 series GPU, or more recent. Something like 3070, 3090 and above.
A Maxwell is very, very old – if this is what you use.
Dan
------------------------------------------------
Bernard A. and Frances M. Weideman Professor
NVIDIA CUDA Fellow
Department of Mechanical & Aerospace Engineering
Department of Computer Science
University of Wisconsin - Madison
4150ME, 1513 University Avenue
Madison, WI 53706-1572
------------------------------------------------
To view this discussion visit https://groups.google.com/d/msgid/projectchrono/f8e6618b-853a-4f2e-a3d2-6f8fd420cf56n%40googlegroups.com.
The error I encountered after enabling CH_USE_SENSOR_NVDB previously seems to be a version compatibility issue between OpenVDB and NanoVDB. Regarding the versions of OpenVDB and NanoVDB, I would like to ask which OpenVDB version the Chrono library uses.