********> bugfix.53 Author: Bill Ross Date: 11/7/95 Programs: Sander Severity: Moderate Problem: Box dimensions printed in mden file are equal to prmtop (wrong for constant pressure) or garbage, depending on whether partial fix was done. Fix: Make the following change to dynlib.f: substitute the following for the MDENG() routine: ------------------------------------------------------------------------ SUBROUTINE MDENG(nf,NSTEP,TIME,ENER,FAC) C C************************************************************************ C AMBER ** C ** C Copyright (c) 1986, 1991, 1995 ** C Regents of the University of California ** C All Rights Reserved. ** C ** C This software provided pursuant to a license agreement containing ** C restrictions on its disclosure, duplication, and use. This software ** C contains confidential and proprietary information, and may not be ** C extracted or distributed, in whole or in part, for any purpose ** C whatsoever, without the express written permission of the authors. ** C This notice, and the associated author list, must be attached to ** C all copies, or extracts, of this software. Any additional ** C restrictions set forth in the license agreement also apply to this ** C software. ** C************************************************************************ #ifdef DPREC implicit double precision (a-h,o-z) #endif DIMENSION ENER(*),FAC(*) #include "box.h" logical first character*16 labs(40) save first save labs data first/.true./ data labs/'Nsteps ','time(ps) ','Etot ','EKinetic ', . 'Temp ','T_solute ','T_solv ','Pres_scal_solu ', . 'Pres_scal_solv ','BoxX ','BoxY ','BoxZ ', . 'volume ','pres_X ','pres_Y ','pres_Z ', . 'Pressure ','EKCoM_x ','EKCoM_y ','EKCoM_z', . 'EKComTot ','VIRIAL_x ','VIRIAL_y ','VIRIAL_z ', . 'VIRIAL_tot ','E_pot ','E_vdw ','E_el ', . 'E_hbon ','E_bon ','E_angle ','E_dih ', . 'E_14vdw ','E_14el ','E_const ','E_pol ', . 'AV_permMoment ','AV_indMoment ','AV_totMoment ', . 'Density'/ C C ----- DEFINE VARIOUS TERMS ----- C if (first) then write(nf,1) (labs(i),i=1,40) 1 format(40(1x,a)) first = .false. endif write(nf, 2) nstep, time, ener(1), ener(2), ENER(2)/FAC(1), . ENER(3)/fac(2), ENER(4)/fac(3), ener(5), ener(6), . box(1), box(2), box(3), (ener(i), i=10,36), ener(42) 2 format(i8, 39(2x,e16.10)) RETURN END ------------------------------------------------------------------------ Temporary workarounds: None. --