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.scripps.edu
To unsubscribe, send "unsubscribe amber" (in the *body* of the email)
to majordomo.scripps.edu
Received on Fri Dec 05 2008 - 10:37:00 PST