Effect of contact stiffness in GPU module

72 views
Skip to first unread message

Yi Zhong

unread,
Nov 4, 2021, 9:56:26 PM11/4/21
to ProjectChrono
Hi,

I am working on a simulation of direct shear test using GPU module. In this paper, it shows that contact stiffness has an effect on the simulation results. And a higher contact stiffness (which is closer to the real value) has a much better result. I am wondering what happens in GPU module. Does a higher contact stiffness (closer to real value) result in a better value? 
Right now, the normal contact stiffness I used is the same as in the demo_GPU_ballcosim, which is 1e5 N/m. My code works fine, and after I increased the contact stiffness, I got an error "sphere xxx has negative local pos in SD xxx". I also tried to increase the contact stiffness in demo_GPU_compression. Then I got the same error. It seems that decrease time step and increase damping may solve the error. What is the cause of this error and how can I avoid it?

Best,
Yi  

Ruochun Zhang

unread,
Nov 4, 2021, 10:28:09 PM11/4/21
to ProjectChrono
Hi Yi,

This post should answer your question.

Ruochun

Yi Zhong

unread,
Nov 4, 2021, 11:19:16 PM11/4/21
to ProjectChrono
Hi Ruochun,

Thanks for the reply. That post answers part of my question, but not all of them. Does the contact stiffness in GPU module affect the results significantly as in that paper published by Radu and Dan? If yes, that means to get better results, larger contact stiffness is needed, indicating much smaller time step. If smaller time step is needed, the simulation time increases significantly. In all the demo, the largest contact stiffness I found is 1e5 N/m, which is quite low. Any comment on that value?

Best,
Yi

Ruochun Zhang

unread,
Nov 5, 2021, 12:17:36 AM11/5/21
to ProjectChrono
Hi Yi,

Certainly, particle size, stiffness and density are the key factors impacting DEM results and how challenging the simulation is (in that order, perhaps). And it is also a physics quantity, so if you are indeed trying to model a physics with high particle stiffness, then setting it higher is "better". However, considering real-world powders quite often have sizes of microns and Young's modulus of GPa, compromises are more often made. 

I believe in that demo our stiffness selection corresponds to around hundreds of MPa and is quite in line with many DEM simulations reported in literatures. Besides, we focus more on showcasing the scalability of this package with increasing numbers of particles (thus smaller particle sizes), rather than the other 2 factors (there you have this newly published paper). If your intention is to model materials such as glass exactly then the default you can argue is smaller than reality, and you should set your values (and step sizes) to suit your purpose. Demos mostly just give a demonstration of API usages.

Thank you,
Ruochun

Yi Zhong

unread,
Nov 5, 2021, 1:06:53 AM11/5/21
to ProjectChrono
Thanks Ruochun! The newly published paper helped a lot. I will take a closer look at it and work on my simulation. I will let you known if I have more questions.
Thanks again for your clear and patient answers.

Best,
Yi

Yi Zhong

unread,
Dec 1, 2021, 6:34:57 PM12/1/21
to ProjectChrono
Hi Ruochun,

I was trying to run the direct shear test using the code and json file provided on Github. I set the normal stress as 25 kPa. And in the paper you mentioned, the shear box size is 12cm x 12cm, while in the code, the shear box size is 6cm x 6cm. I simulated the both cases, and the results I got are not consistent. The peak shear stress using 12cm shear box is only half of that using 6cm shear box. Also, the results are noisy. The only things I changed from the code on Github are shear box sizes, and adding some output functions. Do you have an idea why this happens?

Best,
Yi

Ruochun Zhang

unread,
Dec 1, 2021, 8:08:46 PM12/1/21
to ProjectChrono
Hi Yi,

Sorry I don't know much about the shear test in the paper, that one is from Luning. I do know that most C::GPU test scripts on the chrono-project repo are quite old and I highly doubt if Luning used those for this paper. OK sorry for the management. And getting half shear for half-sized box sounds to me like some kind of conversion/post-processing inconsistency issue. I'll probably send Luning a notification to see if she has some bandwidth to provide insights.

Thank you,
Ruochun

Luning Fang

unread,
Dec 2, 2021, 3:37:33 PM12/2/21
to ProjectChrono
Hello Yi,

I just uploaded my version of the direct shear test to the repo you were using. Mine is supposed to replicate what Fleischmann did with Chrono::Multicore. I ran all four tests last night, results still match, both with Fleischmann's paper and the gpu paper. 

I used 40Mpa for Young's modulus, the higher one in Fleischmann's paper, since GPU is faster than Multicore, so it can afford smaller step size. Usually demos use smaller Young's modulus, which allows larger step size, and runs faster, since they are for demonstration purpose only. Simulation in GPU paper uses step size of 1e-6 to 1e-5, and the particles are stiffer. 

Thank you,
Luning

Yi Zhong

unread,
Dec 2, 2021, 3:43:07 PM12/2/21
to ProjectChrono
Thanks Luning. Really appreciate the quick response. I will take a look at it and keep you updated.

Best,
Yi

Reply all
Reply to author
Forward
0 new messages