<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head></head><body><div style="font-size: 12pt; font-family: Calibri,sans-serif;"><div id="htc_header">----- Reply message -----<br>From: &quot;David van der Spoel&quot; &lt;spoel@xray.bmc.uu.se&gt;<br>To: &lt;gromacs.org_gmx-developers@maillist.sys.kth.se&gt;<br>Subject: [gmx-developers] Brainstorming ideas for minimally painless incorporation of an MC barostat (later MC moves in general)<br>Date: Thu, Jul 17, 2014 17:52</div></div><br><pre style="word-wrap: break-word; white-space: pre-wrap;">On 2014-07-17 16:41, Berk Hess wrote:
&gt; I understand that the virial is not needed for the pressure scaling
&gt; itself, but it will usually be calculated for reporting at a scaling
&gt; step, so we need to get it right, also with constraints.

Is there any reason not to use molecular (center of mass) scaling to 
avoid meddling with constraints?</pre><pre style="word-wrap: break-word; white-space: pre-wrap;">Yes: periodic molecules and COM (pull) constraints.</pre><pre style="word-wrap: break-word; white-space: pre-wrap;">Berk</pre><pre style="word-wrap: break-word; white-space: pre-wrap;">
&gt;
&gt; If we don't want to calculate the force 3x when a MC step is rejected,
&gt; we can directly reuse the storing mechanism implemented in minimize.c.
&gt;
&gt; Cheers,
&gt;
&gt; Berk
&gt;
&gt; On 07/17/2014 04:20 PM, Shirts, Michael R. (mrs5pt) wrote:
&gt;&gt; Hi, all-
&gt;&gt;
&gt;&gt;&gt;&gt;        a. For a MC barostat, no communication between nodes is
&gt;&gt;&gt; required, as
&gt;&gt;&gt;&gt; atoms are guaranteed stay on the same node -- everything only
&gt;&gt;&gt;&gt; changes by
&gt;&gt;&gt;&gt; scaling
&gt;&gt;&gt; This is not really true, since when constraints are present, these need
&gt;&gt;&gt; to be applied after scaling, which leads to (minor) coordinate changes
&gt;&gt;&gt; and requires communication. But we can probably do this without changing
&gt;&gt;&gt; the decomposition.
&gt;&gt; Hmm.  Maybe this can be avoided.  If the centers of coupled constraint
&gt;&gt; system were scaled, rather than all atoms, then no iterative constraining
&gt;&gt; would be required. . . If these constraint data structures already
&gt;&gt; contain
&gt;&gt; these sets of coupled constraints, then it would be easy to do this.
&gt;&gt; Note
&gt;&gt; that this is very close to molecular scaling.
&gt;&gt;
&gt;&gt; If all atoms were scaled, then yes, any coordinate change would be minor
&gt;&gt; and could likely be handled by the same communication algorithm.
&gt;&gt;
&gt;&gt;
&gt;&gt;
&gt;&gt;&gt; I don't think any changes are needed for the forces.
&gt;&gt;&gt; The constraining and calculating virial contributions are probably the
&gt;&gt;&gt; most tricky parts.
&gt;&gt; One great thing about a MC barostat is that no virtual contribution is
&gt;&gt; needed for the accept/reject step.  One never calculates the pressure,
&gt;&gt; only the change in (E(T(x,p) + PV(T(x,p))), where T(x,p) is some
&gt;&gt; transformation of the coordinates and the momentum. where V(T(x,p)) is
&gt;&gt; the
&gt;&gt; new volume after the transformation, and E(T(x,p)) is the total energy
&gt;&gt; after the transformation.  The pressure is the applied pressure, and is a
&gt;&gt; constant.   You also need to include a Jacobian factor calculated from
&gt;&gt; T(x,p) in the accept/reject criteria.
&gt;&gt;
&gt;&gt; There are two main choices I've seen for T(x,p) -- one leaves the
&gt;&gt; momentum
&gt;&gt; in place, and just scales the coordinates.  For isotropic, no
&gt;&gt; constraints,
&gt;&gt; then the Jacobian factor (this may be off by a factor of V) is
&gt;&gt; (Vold_/Vnew)^N-1.  If the momentum are scaled in the opposite
&gt;&gt; direction of
&gt;&gt; the coordinates, then the Jacobians cancel.  Parrinello-Rahman is
&gt;&gt; essentially a infinitesimal version of this second process.  For
&gt;&gt; constraints, then the exponent on V changes.
&gt;&gt;
&gt;&gt; The virial would only need to be calculated in the normal place, to
&gt;&gt; report
&gt;&gt; the average pressure, and would not be required to be calculated in the
&gt;&gt; accept-reject step.
&gt;&gt;
&gt;&gt;
&gt;&gt; The OpenMM developers have been playing around with choices for the MC
&gt;&gt; barostat, and I can get their opinions on which of these choices has
&gt;&gt; worked best.
&gt;&gt;
&gt;&gt; There biggest reason I haven't dived into this yet is that I'm still
&gt;&gt; trying to get my mind around how the data structures for the force
&gt;&gt; calculation should be saved and destroyed when accepting and rejecting in
&gt;&gt; a efficient way. That's the biggest roadblock for me.  Once I understand
&gt;&gt; how to do that (or someone else makes any changes necessary for that),
&gt;&gt; then I can probably at least get a single node version up and running and
&gt;&gt; validated for correct statistical mechanics in a relatively short time.
&gt;&gt;
&gt;&gt; Best,
&gt;&gt; ~~~~~~~~~~~~
&gt;&gt; Michael Shirts
&gt;&gt; Assistant Professor
&gt;&gt; Department of Chemical Engineering
&gt;&gt; University of Virginia
&gt;&gt; michael.shirts@virginia.edu
&gt;&gt; (434)-243-1821
&gt;&gt;
&gt;&gt;
&gt;&gt;
&gt;


-- 
David van der Spoel, Ph.D., Professor of Biology
Dept. of Cell &amp; Molec. Biol., Uppsala University.
Box 596, 75124 Uppsala, Sweden. Phone:        +46184714205.
spoel@xray.bmc.uu.se    <a href="http://folding.bmc.uu.se">http://folding.bmc.uu.se</a>
-- 
Gromacs Developers mailing list

* Please search the archive at <a href="http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List">http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List</a> before posting!

* Can't post? Read <a href="http://www.gromacs.org/Support/Mailing_Lists">http://www.gromacs.org/Support/Mailing_Lists</a>

* For (un)subscribe requests visit
<a href="https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers">https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers</a> or send a mail to gmx-developers-request@gromacs.org.
</pre></body></html>