AMBER Archive (2008)

Subject: RE: AMBER: process_mdout modify

From: Ross Walker (ross_at_rosswalker.co.uk)
Date: Tue Nov 04 2008 - 09:41:33 CST


Hi Naser,

 

You might find it more useful to adjust the code to print you the time to
more decimal places. Line 584 of dynlib.f in amber 10:

 

9018 format(/1x, 'NSTEP =',i9,3x,'TIME(PS) =',f12.3,2x, &

         'TEMP(K) =',f9.2,2x,'PRESS =',f8.1)

 

Change this to (f13.4 for Time and 2x to 1x)

 

9018 format(/1x, 'NSTEP =',i9,3x,'TIME(PS) =',f13.4,1x, &

         'TEMP(K) =',f9.2,2x,'PRESS =',f8.1)

 

And then recompile and you' get the time printed to 1/10 of a fs. I am
intrigued why you would want to be printing on every step and processing it
when you have a 0.2fs time step. I'm not sure you will learn a lot here but
the above should work to do what you want.

 

All the best

Ross

 

From: owner-amber_at_scripps.edu [mailto:owner-amber_at_scripps.edu] On Behalf Of
Naser Alijabbari
Sent: Monday, November 03, 2008 10:20 PM
To: amber_at_scripps.edu
Subject: AMBER: process_mdout modify

 

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