Kinetic energy not being conserved

Submitted by RonMexico on Tue, 09/29/2020 - 17:28

I am trying to set up a basic homogeneous cooling simulation. I am loading in 1000 particles in a periodic domain. Initially, I run the simulation with coefficient of restitution equal to 1. To me, this should result in a nearly constant kinetic energy for the system. However, the velocities shoot way up (depending on time step size). Eventually the kinetic energy decreases as expected after a lower coefficient of restitution is set. My question is what is causing the kinetic energy to increase? This should not even be physically possible if there is no gravitational force.

I will attach my input file and data file (I had to change extensions in order to upload).

Thank you for any help!
Ron

mschramm | Tue, 09/29/2020 - 18:13

Hello,
You are getting a high KE value at the start of the simulation due to the high amount of overlap between the particles. Some particles are being accelerated to over 600 m/s.
Are you meaning to do this? The contact models do not like the amount of overlap that you have them starting at. Each contact will result is some energy loss simply due to
the integrator.

Yes the velocity verlet update is a symplectic integrator but IF AND ONLY IF the force term is separable. Due to how tangential overlap is calculated (history values) you cannot
sperate the force term as velocity is used there. By setting restitution to 1 you do turn of the velocity dependent damping terms of the contact force but this doesn't stop the
friction terms from needed to use velocity.

RonMexico | Tue, 09/29/2020 - 21:58

Oh, yes I just noticed the script I wrote to assign particles to unique points in spaced randomly is not quite right. When I spread them out properly, it works as it should. Thank you for the great insight!