[gmx-users] Replica exchange: Coordinates and simulation box size?

Justin Lemkul jalemkul at vt.edu
Mon Mar 23 17:34:19 CET 2020



On 3/23/20 12:30 PM, Daniel Burns wrote:
> Hi Johannes,
>
> Somebody please correct me if I'm wrong but I believe it is just the
> thermostats that are exchanged.

There's a lot of information that is exchanged, including temperature 
and pressure coupling information, coordinates, velocities, and the box.

static void exchange_state(const gmx_multisim_t* ms, int b, t_state* state)
{
     /* When t_state changes, this code should be updated. */
     int ngtc, nnhpres;
     ngtc    = state->ngtc * state->nhchainlength;
     nnhpres = state->nnhpres * state->nhchainlength;
     exchange_rvecs(ms, b, state->box, DIM);
     exchange_rvecs(ms, b, state->box_rel, DIM);
     exchange_rvecs(ms, b, state->boxv, DIM);
     exchange_reals(ms, b, &(state->veta), 1);
     exchange_reals(ms, b, &(state->vol0), 1);
     exchange_rvecs(ms, b, state->svir_prev, DIM);
     exchange_rvecs(ms, b, state->fvir_prev, DIM);
     exchange_rvecs(ms, b, state->pres_prev, DIM);
     exchange_doubles(ms, b, state->nosehoover_xi.data(), ngtc);
     exchange_doubles(ms, b, state->nosehoover_vxi.data(), ngtc);
     exchange_doubles(ms, b, state->nhpres_xi.data(), nnhpres);
     exchange_doubles(ms, b, state->nhpres_vxi.data(), nnhpres);
     exchange_doubles(ms, b, state->therm_integral.data(), state->ngtc);
     exchange_doubles(ms, b, &state->baros_integral, 1);
     exchange_rvecs(ms, b, state->x.rvec_array(), state->natoms);
     exchange_rvecs(ms, b, state->v.rvec_array(), state->natoms);
}

-Justin

> A given simulation box's velocities are rescaled accordingly after the
> exchange and the simulation continues with its own fluctuations in box size
> assuming it is pressure-coupled.
>
> I don't know anything about incorporating free energy calculations with
> replica exchange though.
>
> Aloha,
>
> Dan
>
> On Mon, Mar 23, 2020 at 11:07 AM Johannes Hermann <johannes.hermann at tum.de>
> wrote:
>
>> Dear all,
>>
>> I have slightly different Position Restrains and Box sizes over my
>> lambda windows in an alchemical Free Energy Calculation in NVT ensemble
>> (I know that my calculated Free Energy Difference will not solely depend
>> on the mutation alone..)
>>
>> What happens if I use replica exchange? What exactly is exchanged within
>> different windows: Only the coordinates or also the current simulation
>> box size?
>>
>> Thanks in advance!
>>
>> All the best
>>
>> Johannes
>>
>>
>> --
>> Gromacs Users mailing list
>>
>> * Please search the archive at
>> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
>> posting!
>>
>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>>
>> * For (un)subscribe requests visit
>> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
>> send a mail to gmx-users-request at gromacs.org.
>>

-- 
==================================================

Justin A. Lemkul, Ph.D.
Assistant Professor
Office: 301 Fralin Hall
Lab: 303 Engel Hall

Virginia Tech Department of Biochemistry
340 West Campus Dr.
Blacksburg, VA 24061

jalemkul at vt.edu | (540) 231-3129
http://www.thelemkullab.com

==================================================



More information about the gromacs.org_gmx-users mailing list