[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Langevin thermostat question

From: Florian Weik
Subject: Re: Langevin thermostat question
Date: Tue, 21 Jan 2020 18:03:55 +0100
User-agent: K-9 Mail for Android

the implementation in Espresso uses uniform noise from the intervall (-0.5, 0.5) which has a variance of 1/12, not 1 as assumed in the documentation. Hence the factor of \sqrt{12} to make it unit variance. I believe this to be correct, also we test that the thermostat produces the expected Maxwell-Boltzmann distribution for the set temperature.


On January 21, 2020 4:37:18 PM GMT+01:00, David Power <address@hidden> wrote:
I'm using a langevin thermostat in my simulation and I noticed that my test particle was bouncing around at a higher rate than I would have expected due to the noise term. I'm am trying to get some test particles to stick to a surface (the experimentalist tell me they should stick), but looking at the video output I see the particles just bouncing off the surface.

I noticed that the formula to calculate the noise coefficient in core/thermostat.cpp is:

sqrt(24 * temperature * langevin_gamma / time_step)

but from the description of the langevin thermostat in the documents ( it says that the noise coefficient is given by:

sqrt(2 * temperature * langevin_gamma / time_step)

A 2 instead of a 24. I changed this, recompiled and now I can see my particles sticking to the surface. I was just wanting to confirm if the 24  in the code is correct or should that be a 2?

I'm not sure if it's relevant but I have the MASS module enabled and my particle masses are around ~1000. I know that will change the units of time in my simulation, does the noise generation function account for this change?


Sent from my Android device with K-9 Mail. Please excuse my brevity.
reply via email to

[Prev in Thread] Current Thread [Next in Thread]