AMBER Archive (2008)

Subject: AMBER: process_mdout modify

From: Naser Alijabbari (na3m_at_virginia.edu)
Date: Tue Nov 04 2008 - 00:20:07 CST


I needed a quick modification of the process_mdout.perl code to print
everything vs NSTEP instead of time. Once you go below 1fs time step with
ntpr=1 the output time intervals are truncated to 1fs. For example, multple
steps would have the same time:
NSTEP = 3 TIME(PS) = 116.001 TEMP(K) = 300.04 PRESS =
0.0
 Etot = -27701.6678 EKtot = 7491.6008 EPtot =
-35193.2686
 BOND = 312.5384 ANGLE = 876.3279 DIHED =
1136.3668
 1-4 NB = 392.6529 1-4 EEL = 5940.3176 VDWAALS =
4059.5920
 EELEC = -47911.0642 EHBOND = 0.0000 RESTRAINT =
0.0000
 Ewald error estimate: 0.2806E-04
 ------------------------------------------------------------------------------

 NSTEP = 4 TIME(PS) = 116.001 TEMP(K) = 298.48 PRESS =
0.0
 Etot = -27701.6341 EKtot = 7452.6978 EPtot =
-35154.3319
 BOND = 317.3204 ANGLE = 891.9842 DIHED =
1137.7979
 1-4 NB = 393.1169 1-4 EEL = 5941.1097 VDWAALS =
4061.7963
 EELEC = -47897.4572 EHBOND = 0.0000 RESTRAINT =
0.0000
 Ewald error estimate: 0.2840E-04
 ------------------------------------------------------------------------------

 NSTEP = 5 TIME(PS) = 116.001 TEMP(K) = 296.98 PRESS =
0.0
 Etot = -27701.6027 EKtot = 7415.3336 EPtot =
-35116.9363
 BOND = 321.6989 ANGLE = 906.8489 DIHED =
1139.1966
 1-4 NB = 393.5432 1-4 EEL = 5941.9198 VDWAALS =
4063.9960
 EELEC = -47884.1397 EHBOND = 0.0000 RESTRAINT =
0.0000
 Ewald error estimate: 0.2879E-04
 ------------------------------------------------------------------------------

 NSTEP = 6 TIME(PS) = 116.001 TEMP(K) = 295.56 PRESS =
0.0
 Etot = -27701.5814 EKtot = 7379.9188 EPtot =
-35081.5003
 BOND = 325.5899 ANGLE = 920.6791 DIHED =
1140.5501
 1-4 NB = 393.9271 1-4 EEL = 5942.7437 VDWAALS =
4066.1768
 EELEC = -47871.1671 EHBOND = 0.0000 RESTRAINT =
0.0000
 Ewald error estimate: 0.2892E-04
 ------------------------------------------------------------------------------

 NSTEP = 7 TIME(PS) = 116.002 TEMP(K) = 294.24 PRESS =
0.0
 Etot = -27701.5630 EKtot = 7346.8308 EPtot =
-35048.3937
 BOND = 328.9197 ANGLE = 933.2512 DIHED =
1141.8464
 1-4 NB = 394.2643 1-4 EEL = 5943.5774 VDWAALS =
4068.3392
 EELEC = -47858.5921 EHBOND = 0.0000 RESTRAINT =
0.0000
 Ewald error estimate: 0.2894E-04

I have just started trying to understand perl so things are a bit condusing.
I tried simpilistically:

@sortedkeys = sort by_number keys(%NSTEP);
@sortedavgkeys = sort by_number keys(%AVG_TIME);
foreach $i ( TEMP, TSOLUTE, TSOLVENT, PRES, EKCMT, ETOT, EKTOT, EPTOT,
DENSITY, VOLUME ) {
    print "Outputing summary.$i\n";
    open(OUTPUT, "> $i.txt");
    %outarray = eval "\%$i";
    foreach $j ( @sortedkeys ) {
 print OUTPUT "$j ", $outarray{$j}, "\n";
    }
    close (OUTPUT);

And added
# update arrays
 $NSTEP =$nstep;
 $TIME{$time} = $time;
  $TEMP{$time} = $temp;
  $PRES{$time} = $pres;
  $ETOT{$time} = $etot;

This just prints the last energy value. Isn't there a NSTEP hash?

-----------------------------------------------------------------------
The AMBER Mail Reflector
To post, send mail to amber_at_scripps.edu
To unsubscribe, send "unsubscribe amber" (in the *body* of the email)
      to majordomo_at_scripps.edu