I am running an REMD simulation with 40 replicas of a single polymer chain in water in LAMMPS. I want to calculate the free energy of radius of gyration F(Rg) at different temperatures.
I am outputting swap stats every 1000 timesteps. This is a snippet of the LAMMPS output:
LAMMPS (29 Aug 2024)
Running on 40 partitions of processors
Setting up tempering ...
Step T0 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 T16 T17 T18 T19 T20 T21 T22 T23 T24 T25 T26 T27 T28 T29 T30 T31 T32 T33 T34 T35 T36 T37 T38 T39
0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
1000 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
2000 0 1 2 4 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 21 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
3000 0 1 2 4 3 5 6 7 8 9 10 11 12 13 14 15 16 17 19 18 20 22 21 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
4000 0 1 2 4 3 6 5 7 8 10 9 11 12 13 14 15 16 17 20 18 19 22 21 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
5000 0 1 2 4 3 6 5 7 8 10 9 11 12 13 14 15 16 17 20 18 19 22 21 23 24 25 26 27 28 29 30 31 33 32 34 35 36 37 38 39
6000 0 1 2 3 4 6 5 7 8 10 9 11 12 13 14 15 16 17 20 18 19 22 21 23 24 25 26 27 28 29 30 32 33 31 34 35 36 37 38 39
7000 0 1 2 3 4 6 5 7 8 10 9 11 12 13 14 15 16 17 20 18 19 22 21 23 24 25 26 27 28 29 30 31 33 32 34 36 35 37 38 39
8000 0 1 2 3 5 6 4 7 9 10 8 11 12 13 15 14 16 17 20 18 19 22 21 23 24 25 26 27 28 29 30 31 33 32 34 37 35 36 38 39
9000 0 1 2 3 5 6 4 7 9 10 8 11 12 13 15 14 16 17 20 18 19 22 21 23 24 25 26 27 28 29 30 31 33 32 34 37 35 36 38 39
10000 0 1 2 4 5 6 3 7 9 10 8 11 12 13 15 14 16 17 20 18 19 22 21 23 24 25 26 27 28 29 30 31 33 32 34 37 36 35 38 39
11000 0 1 2 4 5 6 3 8 9 10 7 11 12 13 15 14 16 17 20 18 19 22 21 23 24 26 25 27 28 29 30 31 33 32 34 37 36 35 38 39
12000 0 1 2 4 5 6 3 8 9 10 7 11 12 14 15 13 16 17 20 18 19 22 21 23 24 26 25 27 28 29 30 31 33 32 34 37 36 35 38 39
13000 0 1 2 4 5 6 3 8 9 10 7 11 12 14 15 13 17 16 20 18 19 22 21 23 24 26 25 27 28 29 30 31 33 32 34 37 36 35 38 39
14000 0 1 2 4 5 6 3 8 9 10 7 11 12 14 15 13 17 16 21 18 19 22 20 23 24 26 25 27 28 29 30 31 33 32 34 37 36 35 38 39
15000 0 1 2 4 5 6 3 8 9 10 7 11 12 14 15 13 17 16 21 18 19 22 20 23 24 26 25 27 28 29 30 31 33 32 34 37 36 35 38 39
16000 0 1 2 4 5 6 3 8 9 10 7 11 12 14 15 13 17 16 21 18 19 22 20 23 24 26 25 27 28 29 30 31 33 32 34 37 36 35 38 39
Here is a initial snippet of the swap outputs:
variable Tarray world 275.00 277.18 279.36 281.54 283.72 285.90 288.08 290.26 292.44 294.62 296.79 298.97 301.15 303.33 305.51 307.69 309.87 312.05 314.23 316.41 318.59 320.77 322.95 325.13 327.31 329.49 331.67 333.85 336.03 338.21 340.38 342.56 344.74 346.92 349.10 351.28 353.46 355.64 357.82 360.00
variable Iarray world 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
compute rg_pol polymer gyration
fix rog_averages polymer ave/time 1 1 5000 c_rg_pol[0] c_rg_pol[1] c_rg_pol[2] c_rg_pol[3] file rad_gyr.${Iarray}.avg
The following is my interpretation of the output. I would appreciate any corrections to how I understand it.
- I am running 40 replicas with indices from 0 to 39 at temperatures from T0 to T39.
- I am outputting the radius of gyration into
rad_gyr.i.avg
of simulationi
as it is swapped around somewhere fromT0
toT39
. - To get F(Rg) at temperature
Ti
, I need to collect all Rg values from the timestep in the simulation under theTi
column, make a histogram H and take it’s Boltzmann inverse (-kTlogH).
Is this an accurate depiction of what needs to be done?