Re: How to keep Total Energy constant when an external force is added?

From: Fred (Rui FENG) (
Date: Thu Oct 23 2008 - 11:58:29 CDT

Hi Axel,

Thank you for your reply.

Actually I don't want to accelerate the atoms. I add an external force
by "addforce" parameter on all atoms, but I want to keep their
velocity constant. For example, a person pushs a wood cube on a rough
ground. The velocity of the wood can be constant if the external force
(from the person) equals the friction. Then the work performed by the
external force is totally transferred to the heat.

In my simulation, there're many atoms filled up a pipe. I add a force
on all of them to push them to move. If I don't keep the total energy
constant, there are accelerated. Now I want to keep the total energy
constant, that is, to draw out the heat energy performed by the
external force.

I found a way to keep the Kinetic Energy constant, that is, to
frequently rescale the temperature to a specific value. The
temperature increases because the atoms are accelerated (kinetic
energy is changed), I frequently rescale it to the previous value.

It doesn't work to me because there's also potential energy in my
system. The external mechanical work doesn't only totally transferred
to the kinetic energy, but also the potential energy. So if I keep the
kinetic energy the same, the potential energy will increase all the

Do you know how to keep the total energy constant? Thank you!

Have a nice day!


On Thu, Oct 23, 2008 at 10:58 AM, Axel Kohlmeyer
<> wrote:
> On Wed, 22 Oct 2008, Fred (Rui FENG) wrote:
> FR> Hi all,
> FR>
> FR> I'm trying to add an external force on all atoms to move them. The
> FR> force field among them is just Lennord Jones. They are accelerated,
> FR> but I need to keep their velocity constant. I cannot just use
> fred,
> please go back and think about this statement.
> it does not make sense at all.
> if you accelerate all atoms (all atoms), their
> velocity _cannot_ remain constant.
> perhaps you should first explain _what_ you want to achieve
> instead of _how_, and perhaps somebody can then give some
> advice of what you should do.
> cheers,
> axel.
> FR> "RescaleTemp" to keep the kinetic energy constant. Because if I do
> FR> that, the total energy will increase. I think what I really need to do
> FR> is to keep total energy (both VDW energy and kinetic energy) constant.
> FR> That equals drawing out the work that the external force made. Could
> FR> you tell me what parameters are in charge of that function? Thank you
> FR> so much!
> FR>
> FR> Have a nice day!
> FR>
> FR> Fred
> FR>
> --
> =======================================================================
> Axel Kohlmeyer
> Center for Molecular Modeling -- University of Pennsylvania
> Department of Chemistry, 231 S.34th Street, Philadelphia, PA 19104-6323
> tel: 1-215-898-1582, fax: 1-215-573-6233, office-tel: 1-215-898-5425
> =======================================================================
> If you make something idiot-proof, the universe creates a better idiot.

This archive was generated by hypermail 2.1.6 : Wed Feb 29 2012 - 15:50:00 CST