espressomd-devel
[Top][All Lists]
Advanced

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

Re: [ESPResSo-devel] Thoughts on implementing an improved thermostat for


From: Florian Weik
Subject: Re: [ESPResSo-devel] Thoughts on implementing an improved thermostat for ESPResSo
Date: Wed, 03 Jun 2015 12:38:46 +0000

Hi,
I think an explicit copy of the previous forces is much more clean than a "hackish" solution with artificial particles. If you need some inspiration, there are algorithms in the code that need the old positions or velocities of particles and make copies of those. You could do it the same way with the forces. Also I wanted to add that Espresso also has a one step integrator which can be called by integrate_sd, which does Borwnian or Stokesian Dynamics, albeit I'm not sure if this code is production quality. Also the integration code in integrate.cpp is already quit messy and will undergo major refactoring by me within the next two months or so. You have been warned. As to the benefits of a different thermostat / integrator I assume you have good reasons to believe that your simulations will benefit from that and that it is worthwhile to do that work. Technically speaking and without having looked at your equations I'd say that adding an other two-step integrator isn't that hard. This should work as you proposed by updating the existing update functions of the VV.

Cheers,
Florian


On Wed, Jun 3, 2015 at 12:56 PM Evyatar Arad <address@hidden> wrote:
Hello Ulf,

Thanks for the PDF and replying!

I may have been a little unclear as to what I want to achieve.
The new integrator is purposed to be used with NVT ensembles (specifically, I'd like for it to specifically run on the simplebilayer.tcl simulation).

It, like the existing integrator, has two specific steps for updating the velocity and position of a particle. These equations are slightly different and do use the forces from the previous configuration (both F(n) and F(n+1) are needed for the velocity update). A good suggestion was to create a new particle field for the additional prev_force data needed.

Do you think adding the the two integration steps into the existing code (position update to void propagate_vel_pos in integrate.cpp and velocity update right next to the 4th velocity verlet step in integrate_vv under integrate.cpp) is a right line of thought?

Thanks again,
Evyatar.

reply via email to

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