User Tools

Site Tools


exercises:2017_ethz_mmm:replica_2017

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
exercises:2017_ethz_mmm:replica_2017 [2017/05/11 08:05]
dpasserone
exercises:2017_ethz_mmm:replica_2017 [2017/05/11 08:29] (current)
dpasserone
Line 135: Line 135:
 </​code>​ </​code>​
  
-The next section is about writing out each 1000 steps the relecant ​information about temperature and energy. We also dump a restart file at the end, and every 10000 steps a structure in xyz format. ​+The next section is about writing out each 1000 steps the relevant ​information about temperature and energy. We also dump a restart file at the end, and every 10000 steps a structure in xyz format. ​
  
 <​code>​ <​code>​
Line 169: Line 169:
   - For all the ''​log.lammps.*''​ files from each replica take only the lines for which we also have a dump of the atomic coordinates. These lines are put in a file *.nxyz, one for each replica. Each line contains temperatures,​ potential energies, etc.   - For all the ''​log.lammps.*''​ files from each replica take only the lines for which we also have a dump of the atomic coordinates. These lines are put in a file *.nxyz, one for each replica. Each line contains temperatures,​ potential energies, etc.
   - Compute the **q4** order parameter for all structure files and create ''​*.q4''​ files, one for each replica.   - Compute the **q4** order parameter for all structure files and create ''​*.q4''​ files, one for each replica.
-  - now paste the ''​*.nxyz''​ and the ''​*.q4''​ files into a file ''​t_epot_q4_etot.*.out''​ containing the dump of temperature,​ energy, q4 every 10000 steps.+  - now paste the ''​*.nxyz''​ and the ''​*.q4''​ files into a file ''​t_q4_epot_etot.*.out''​ containing the dump of temperature,​ energy, q4 every 10000 steps.
 </​note>​ </​note>​
  
  
-===== Reordering the replica: one temperature,​ one files =====+===== Reordering the replica: one temperature,​ one file =====
  
-At this point, we have a set of ''​t_ene_q4_etot.*.out'',​ one for each replica (processor). But along each of these files, the temperatures change a lot due to the exchanges. So, we use the file ''​exchanges_nxyz.log''​ that keeps track of the exchanges, and tells us at a given timestep which replica has which temperature:​ we scramble the ''​t_ene_q4_etot.*.out''​ files, and at the end we will have one file for each temperature. This is accomplished by the script ''​02_reorder''​. ​+At this point, we have a set of ''​t_q4_epot_etot.*.out'',​ one for each replica (processor). But along each of these files, the temperatures change a lot due to the exchanges. So, we use the file ''​exchanges_nxyz.log''​ that keeps track of the exchanges, and tells us at a given timestep which replica has which temperature:​ we scramble the ''​t_q4_epot_etot.*.out''​ files, and at the end we will have one file for each temperature. This is accomplished by the script ''​02_reorder''​. ​
  
 <note tip> <note tip>
-  * Consider each file t_epot_q4_etot.*.out (processor by processor). Say you consider the number 5 (6th replica): ''​t_epot_q4_etot.5.out''​.+  * Consider each file t_q4_epot_etot.*.out (processor by processor). Say you consider the number 5 (6th replica): ''​t_epot_q4_etot.5.out''​.
   * At the step 50000, the file shows the following line:   * At the step 50000, the file shows the following line:
 ''​50000 6.7133746 -1.7636174 0.189 -1.7315099''​ ''​50000 6.7133746 -1.7636174 0.189 -1.7315099''​
Line 190: Line 190:
 </​note>​ </​note>​
  
-At the end of the procedure performed by the small script section:+At the end of the above procedure performed by the small script section:
 <code bash> <code bash>
 NP=16 NP=16
Line 203: Line 203:
    do    do
         i=$[i+1]         i=$[i+1]
-        head -$i t_epot_q4_etot.$repl.out | tail -1  >> torder.$a+        head -$i t_q4_epot_etot.$repl.out | tail -1  >> torder.$a
    done    done
 done done
 </​code>​ </​code>​
  
 +we will have a set of files, one for each temperature. The file **torder.6** (showing the temperature log around **T=6.63 K** shows something like that:
 +<​code>​
 +110000 6.0832407 0.188 -1.7669426 -1.7378488
 +300000 5.3292135 0.189 -1.7741021 -1.7486144
 +460000 7.270977 0.188 -1.7594967 -1.7247223
 +850000 5.547995 0.189 -1.7583209 -1.7317869
 +900000 6.0463203 0.190 -1.7563726 -1.7274553
 +1100000 7.4527984 0.189 -1.7608437 -1.7251998
 +1160000 7.660013 0.189 -1.7653205 -1.7286855
 +1290000 7.634912 0.188 -1.7551173 -1.7186023
 +1520000 6.7791476 0.190 -1.7719473 -1.7395252
 +1530000 5.562028 0.189 -1.7551797 -1.7285786
 +1540000 5.9499865 0.189 -1.7682706 -1.739814
 +1560000 8.0181451 0.186 -1.7549744 -1.7166267
 +1670000 6.4413007 0.189 -1.7601051 -1.7292988
 +1740000 5.5362416 0.188 -1.7592589 -1.7327812
 +1750000 6.8539271 0.189 -1.7645124 -1.7317327
 +2030000 7.8928443 0.188 -1.7657447 -1.7279962
 +2040000 5.3275227 0.189 -1.763795 -1.7383155
 +2100000 5.7265507 0.189 -1.7645332 -1.7371452
 +2550000 8.1985344 0.189 -1.7581595 -1.7189489
 +2580000 7.3481203 0.190 -1.7668799 -1.7317366
 +2780000 6.7587102 0.189 -1.7581622 -1.7258378
 +2800000 7.1581346 0.188 -1.7609368 -1.7267022
 +...
 +</​code>​
 +
 +As you see, the number of steps is not ordered. This is easily achieved by the last part of the script ''​02_reorder''​
 +
 +<code bash>
 +for repl in `seq 0 $NP1` 
 +do
 +    sort -nk1 torder.$repl > temp 
 +    mv temp torder.$repl
 +done
 +</​code>​
 +
 +and now the same file **torder.6** shows the following lines:
 +<​code>​
 +0 6.5781351 0.191 -1.7950808 -1.7636201
 +10000 5.4632389 0.188 -1.7609687 -1.7348401
 +20000 5.498244 0.189 -1.7597787 -1.7334826
 +30000 5.5142334 0.190 -1.7559687 -1.7295962
 +40000 7.4876442 0.189 -1.7622814 -1.7264708
 +50000 6.7133746 0.189 -1.7636174 -1.7315099
 +60000 5.9256132 0.188 -1.7593177 -1.7309777
 +70000 5.8414791 0.182 -1.7619757 -1.7340381
 +80000 3.9373038 0.189 -1.7687489 -1.7499183
 +90000 9.949782 0.189 -1.7640962 -1.7165101
 +100000 7.5855163 0.189 -1.7616613 -1.7253826
 +110000 6.0832407 0.188 -1.7669426 -1.7378488
 +120000 7.047375 0.189 -1.7588753 -1.7251703
 +130000 6.3651424 0.188 -1.7596141 -1.729172
 +140000 8.268057 0.188 -1.7647263 -1.7251833
 +150000 5.9081219 0.189 -1.7641776 -1.7359213
 +160000 5.2026849 0.188 -1.7603192 -1.7354367
 +170000 7.1694387 0.190 -1.762217 -1.7279282
 +180000 5.3619579 0.188 -1.7596472 -1.7340029
 +190000 7.9061423 0.188 -1.7631399 -1.7253278
 +200000 8.0048742 0.188 -1.7612416 -1.7229573
 +210000 9.5218385 0.189 -1.758481 -1.7129416
 +220000 6.3793891 0.189 -1.7658995 -1.7353892
 +230000 7.5105967 0.189 -1.7545324 -1.7186121
 +240000 7.6066407 0.188 -1.7643938 -1.7280141
 +250000 5.969687 0.189 -1.7611185 -1.7325677
 +260000 6.6266784 0.189 -1.761914 -1.730221
 +270000 6.8500414 0.181 -1.7615648 -1.7288036
 +280000 4.0299504 0.187 -1.7663177 -1.747044
 +...
 +</​code>​
 +
 +===== Extract averages =====
 +Now we are ready to extract averages at each temperature. This is achieved by the m_* function **m_average** (hint: look for the code of this function in the file ''/​share/​apps/​m_functions.bash''​),​ which is used in the script ''​03_extract_allaverages''​.
 +
 +<code bash>
 +. /​share/​apps/​m_functions.bash
 +rm averages_t_q4_epot_etot
 +for a in torder.? torder.??
 +do
 + ​t=`m_average $a 2`
 + ​q4=`m_average $a 4`
 + ​epot=`m_average $a 3`
 + ​etot=`m_average $a 5`
 + echo $t $q4 $epot $etot  >> averages_t_q4_epot_etot
 +done
 +</​code>​
 +
 +At this point you have a file ''​averages_t_q4_epot_etot''​ with the corresponding averages for each temperature. ​
 +
 +
 +
 +===== ASSIGNMENTS =====
 +
 +<note important>​
 +  - Using ''​gnuplot'',​ plot the steps vs. q4 (columns 1 and 3) from the file ''​t_q4_epot_etot.0.out'',​ ''​t_q4_epot_etot.13.out'',​ ''​t_q4_epot_etot.15.out''​. Comment what you observe.
 +  - Compare using gnuplot the plot of the nsteps vs. potential energy (columns 1 and 4) for ''​t_q4_epot_etot.13.out''​ and ''​torder.13''​. Comment the differences
 +  - Plot the ''​q4''​ in ''​torder.0'',​ ''​torder.5'',​ ''​torder.10'',​ ''​torder.15''​. Comment the differences.
 +  - Using the averages file, try to reproduce figure 2, top panel of the paper  [[doi>​10.1063/​1.481671]].
 +  - ** ADVANCED **. Describe what you would need to reproduce Fig. 1 of the same paper. What does this figure show? Find the reference to this figure in the text of the paper. ​
 +  - ** ADVANCED **. Using the ''​torder.*''​ files, and using eq. (14), obtain Fig. 1 of the paper. ​
 +</​note>​
exercises/2017_ethz_mmm/replica_2017.txt ยท Last modified: 2017/05/11 08:29 by dpasserone