[AMBER] about pressure calculation in Amber18

From: Li, Min <limin2.msu.edu>
Date: Mon, 10 Aug 2020 04:16:35 +0000

Hello, dear amber developers,

When I want to print the pressure in NVT simulations by the pmemd.MPI (Amber18),

I found that the pressure calculation is expressed as (runmd.F90 script):


if (need_virials) then

          press(m) = (pconv + pconv) * (ekcmt(m) - virial(m)) / si(si_volume)

          si(si_tot_press) = si(si_tot_press) + press(m)


I do not understand the meaning of (pconv + pconv) in the above expression. In my view, the developer want to do this:

  press(m) = (pconv + pconv) * (ekcmt(m) - virial(m)) / si(si_volume)

-> press(m) = 2* pconv * (ekcmt(m) - virial(m)) / si(si_volume)

-> press(m) = pconv * (2*ekcmt(m) -2* virial(m)) / si(si_volume)

The 2*ekcmt = total (m^2v^2) has no problem, while the 2*virial(m) means what ?

Th virial term have been multipled by 0.5 in the pme_force.F90 script, then here multiple by a factor of 2, so I can consider it unchange and it equals to addition of all i-j pair-potential. The overlap calculation happen? I search the pressure-calculation reference and the result only involve half of all i-j pair-potential. it is a bug or other reason?

Thank you !

AMBER mailing list
Received on Sun Aug 09 2020 - 21:30:02 PDT
Custom Search