Good morning,
I am a PhD student working on off-road vehicle navigation, and I found ProjectChrono very interesting for testing my algorithms.
I would like to use the HMMWV vehicle with ANCF tires for more realistic behavior. However, when I run the demo script demo_VEH_SCMTerrain_WheeledVehicle.cpp with TireType::FEA, the simulation becomes unstable and extremely slow. It runs fine with other tire types.
Does anyone have a demo script using HMMWV with ANCF tires that is both stable and performs well (accelerated and reliable)?
Thank you very much!
Hi there - can you please describe what you try to accomplish?
We might be able to help with the ANCF tire model, but before that, please tell us what you want to accomplish since there might be easier paths forward. ANCF is heavy duty.
Dan
---------------------------------------------
Bernard A. and Frances M. Weideman Professor
NVIDIA CUDA Fellow
Department of Mechanical 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/18ae5673-3e2f-40fe-80a4-ceac72d16a63n%40googlegroups.com.
Hello,
I would like to study the interactions between a tire and various terrain obstacles while the vehicle is in motion. I saw that several tire models are available, such as TMeasy, Pacejka02, ANCF, and Reissner.
According to the documentation, force-based tire models (e.g., Pac02, TMeasy) cannot be used with soft obstacles or deformable terrain (such as sand, snow, or grass). On the other hand, the ANCF tire model is specifically designed to accurately capture soil–tire interactions.
Therefore, for my use case, the ANCF tire model seems to be the most appropriate choice.
I tried using it with the demo script demo_VEH_SCMTerrain_WheeledVehicle.cpp, but after just a few milliseconds of simulation, the tire explodes, and the simulation is extremely slow (even with SetNumThreads set to the maximum number of available threads).
I’m wondering if anyone has successfully run the ANCF tire model with the HMMWV (or other vehicles) in a simulation that utilizes hardware resources efficiently (CPU, GPU, etc.).
Thank you for your help! 😊
Thanks for your email.
You say “such as sand, snow, or grass”.
I doubt that there is any deformable tire model in the world that will allow you to gauge its interplay with grass. Snow is hard too, but more plausible.
Sand is possible in Chrono, as are other homogenized terrain types, e.g., silt, clay. You’ll need reasonable material properties to capture these soil types. This is not trivial.
That being said, in many cases, for off-road mobility one can do ok with rigid wheels. The wheels can have features (lugs, tread pattern, etc.) – the sim is much faster in that case (compared to deformable tires).
We’ll send you in this thread an example of how to combine deformable terrain (CRM-based) and vehicle dynamics, when the vehicle uses deformable tires. The tires are modeled using ANCF shell elements. This relies on GPU computing, you will need an NVIDIA GPU to run the sim.
Hopefully that’ll happen early next week.
To view this discussion visit https://groups.google.com/d/msgid/projectchrono/c1db45a5-6d82-49bd-b5b1-d771300481d6n%40googlegroups.com.
Hello,
We have a working demo that combines Vehicle, ANCF tires and deformable terrain (CRM-based) in this branch: https://github.com/uwsbel/chrono-wisc/tree/testing/benchmark3. The build instructions are the same as those for Project Chrono with FSI and Vehicle modules enabled.
The name of the demo is ./benchmark_DemoOFTech_VEH_CRMTerrain_DefTIre_Pressure and it accepts the following CLI parameters:
--soil_type: soft/hard/rigid
--tire_type: rigid/deformable
--tire_pressure: pressure in kPa (for deformable tires)
--control_type: speed_control/throttle
Let me know if you have any questions!
Ganesh
The Chrono model sent out by Ganesh (thanks, Ganesh) is used in this arxiv paper, which describes the terramechanics in detail: https://arxiv.org/pdf/2507.05643.
Dan
---------------------------------------------
Bernard A. and Frances M. Weideman Professor
NVIDIA CUDA Fellow
Department of Mechanical 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/226a67c9-7d71-4d9e-a2c6-e4b84a7890d6n%40googlegroups.com.
Some clarifications and comments:
You are correct. As indicated in the documentation, handling tire models (aka force-element) tire models cannot be used with deformable terrain.
For that, you need a tire model that carries collision shapes. That can be an FEA-based tire model or, as already pointed out, a rigid tire model. The latter is appropriate in soft soils (when the soil strength is below the tire inflation pressure).
So, you should first decide if you indeed need flexible tires or if a rigid tire model will be good enough. Not that, should you use an FEA tire model, you also need to come up with appropriate parameters for the tire geometry and materials, data that is not easily obtainable.
If you stick with FEA (ANCF) tires, whether you use the SCM terrain (as you first intended) or the CRM terrain (as Dan suggested), the bottleneck will be the FEA calculation. The computationally cost will be that much higher if you simulate all tires on a single node. I do not see any crashes with demo_VEH_SCMTerrain_WheeledVehicle if I switch the tire model to an FEA-based one, but simulation is indeed very slow. Note that the code that Ganesh shared with you also uses a single CPU node to simulate all 4 tires. That simulation ran about 500 times slower than real time (on a relatively potent CPU).
The solution to this is to use the vehicle co-simulation framework which would allow you to run individual tires on their own node. Of course, to really benefit from that, you now need access to a cluster. Note that I am aware of an issue with the co-simulation code when using FEA tires and CRM terrain which I plan on looking at soon. I don’t know if that same issue shows up when using SCM terrain and FEA tires.
We’ll also make some changes to the HHT integrator that will help with performance of integrating large FEA problems. That should also come in Chrono in the near future.
--Radu
From: projec...@googlegroups.com <projec...@googlegroups.com> On Behalf Of juju
Sent: Friday, August 1, 2025 3:05 PM
To: ProjectChrono <projec...@googlegroups.com>
To view this discussion visit https://groups.google.com/d/msgid/projectchrono/c1db45a5-6d82-49bd-b5b1-d771300481d6n%40googlegroups.com.
Good morning,
Thank you very much for your replies and the examples you gave me. I had to reinstall the entire simulator because some modules (PardisoMKL) were missing. Now I am able to run FEA/ANCF/Reissner models on tire test rigs.
However, the simulation is extremely slow, even when using all my CPU cores. I was wondering if there are any plans to implement FEA computation on NVIDIA GPUs in the future.
For now, I will stick with rigid tires, since the simulation time is close to real time and works well when the terrain is softer than the tire.
I noticed that several rigid tires are available, such as HMMWV_RigidMeshTire_CoarseClosed, HMMWV_RigidMeshTire_Coarse, HMMWV_RigidMeshTire, and HMMWV_RigidTire. Could you please explain the differences between them?
Thank you for your help! 😊
There is a project that seeks to accelerate the ANCF solution on the GPU.
There’s no support for that project right now, so progress might be slow. The target date for the alpha is December 31st.
To view this discussion visit https://groups.google.com/d/msgid/projectchrono/26a2f350-f711-4dc6-8e04-096006f1a040n%40googlegroups.com.