[gmx-developers] gromacs.org_gmx-developers Digest, Vol 144, Issue 3
Carl Christian Kjelgaard Mikkelsen
spock at cs.umu.se
Tue Apr 5 14:11:52 CEST 2016
On 04/05/2016 12:00 PM,
gromacs.org_gmx-developers-request at maillist.sys.kth.se wrote:
> Send gromacs.org_gmx-developers mailing list submissions to
> gromacs.org_gmx-developers at maillist.sys.kth.se
> To subscribe or unsubscribe via the World Wide Web, visit
> or, via email, send a message with subject or body 'help' to
> gromacs.org_gmx-developers-request at maillist.sys.kth.se
> You can reach the person managing the list at
> gromacs.org_gmx-developers-owner at maillist.sys.kth.se
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of gromacs.org_gmx-developers digest..."
> Today's Topics:
> 1. Re: Which nonlinear constraint equation is being solved in
> GROMACS subroutine cshake()? (Berk Hess)
> Message: 1
> Date: Mon, 4 Apr 2016 14:32:04 +0200
> From: Berk Hess <hess at kth.se>
> To: gmx-developers at gromacs.org
> Subject: Re: [gmx-developers] Which nonlinear constraint equation is
> being solved in GROMACS subroutine cshake()?
> Message-ID: <57025EC4.30403 at kth.se>
> Content-Type: text/plain; charset="windows-1252"; Format="flowed"
> You have identified the correct function.
> The exact Lagrange multiplier is described in a comment in the code:
> scaled_lagrange_multiplier Scaled Lagrange multiplier for each
> constraint (-2 * eta from p. 336
> * of the paper, divided by
> the constraint distance)
> But SHAKE is almost never used in GROMACS, because LINCS is faster and
> especially because SHAKE is ill suited for parallelization over MPI. The
> only other constraint method I know of that would be suitable is CG
> MSHAKE, for a comparison with SHAKE and LINCS see:
> But there would not be any significant advantage over LINCS.
Thank you very much for confirming that I have identified the exact
constraint functions used by cshake().
Would you please consider the second part of my conjecture and confirm
if I have the correct vector equation as well? Again, even the smallest
detail, such as the exact scaling of the Lagrange multiplier is
critical. As I stated in my first email, I believe that cshake() is
solving the non linear vector equation
g(rprime - inv(M)*Dg(r)*lambda) = 0
rprime is the unconstrained atomic coordinates for the next time step
r is the constrained atomic coordinates at at current time step
M is the diagonal mass matrix
lambda is a Lagrange multiplier
cshake return both the new constrained atomic coordinates rnew given by
rnew:=rprime - inv(M)*Dg(r)*lambda
and the vector lambda itself.
I am afraid that the comment in cshake() which you refer to has been a
source of confusion for me. In particular, there is no Greek letter eta
used on page 336 of the original SHAKE paper. Moreover, I have not been
able to find any evidence of any division with the constraint distance.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the gromacs.org_gmx-developers