Adaptive Timestepping using HHT

57 views
Skip to first unread message

Raunak Singh

unread,
Aug 1, 2025, 11:40:25 AMAug 1
to ProjectChrono
Hello,

I am conducting a simulation modeling different forces on many cylinders in a box. As their are many collisions, I have to set the time step size to 1e-5. 

I would like to use adaptive timestepping with the HHT timestepper (https://api.chrono.projectchrono.org/classchrono_1_1_ch_timestepper_h_h_t.html), however I was wondering if anybody had an example on how to utilize it in simulation, as my attempts to utilize it so far have been unsuccesful.

Luning Bakke

unread,
Aug 2, 2025, 2:03:25 PMAug 2
to ProjectChrono
Hello Raunak,

Thank you for using Chrono and posting questions on the forum! Could you please provide more details about your simulation so we can better assist you. 
  • How many cylinders do you have? Are they deformable or rigid? Only contacts? Are there any external forces, joints?
  • Why do you want to use HHT? Are you trying to improve accuracy, stability or speed? You mentioned that the step size is 1e-5. HHT won't go larger than that since that's the step size at which collision detection needs to happen. 
  • What's the application goal? Are you trying to implement different contact force models? Is it for validation? 
  • Can you be more specific about unsuccessful attempts at HHT? What solver parameters have you tried (alpha, tolerance, etc) When you say unsuccessful, do you mean non-convergence or simply slower than expected? Any warnings or error messages? 
Thank you,
Luning

Radu Serban

unread,
Aug 6, 2025, 6:20:27 AMAug 6
to ProjectChrono

A few clarifications and comments.

 

Raunak – you say that you need to set the step size to 1e-5 because “there are many collisions”.  The two are not really related.

  • What is “many collisions”? How many cylinders do you have in your simulation?
  • What really dictates the need for the smaller step size? You do not mention, but I assume you use the SCM contact formulation with relatively high contact material Young modulus?
  • Have you considered using NSC (non-smooth contact)? That will allow you taking larger time steps, at the cost of having to solve an optimization problem at each time step.
  • Have you considered using the Chrono::Multicore module? HHT is not available in that case, but I’m not sure you need that anyway.

 

About HHT:

  • The time adaptivity implemented in HHT works only “within” the step size provided by the user.
  • In other words, for collision problems, in between the time steps where collision detection is performed.
  • For the NSC formulation, HHT is *not* an option.  For SMC formulation, HHT could be used in principle, but the calculation of the Jacobians of contact forces is currently disabled.
  • In other words, there is no point in trying HHT for the type of problem you are interested in.

 

Please provide more details on the problem you are trying to solve and we can point you in the right direction.

--Radu

--
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/f1f721c8-ac73-4fdf-ab14-8bff0b10ff12n%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages