CHARMM Development Project
Posted By: Rohit printing array to file - 06/19/19 04:56 PM
Hi,

I was trying to save the interaction energies in array and dump them in the file at the end of the loop completion.

I tried things mentioned in miscom.doc but still I get this error I might not have understood the miscom.doc completely.

Below is the snippet and error which I encounter.

snippet
Code:
OPEN UNIT 28 WRITE FORM NAME dummyfile.dat

SET frame 0
LABEL TimeFrameTernary
TRAJ READ

inter SELECT some1 END SELECT some2 END
set @wbvdw@@frame ?vdw
set @wbelec@@frame ?elec
set @wbtot@@frame ?ener

increment frame
if frame .LT. ?NFILE GOTO TimeFrameTernary
echu 28
echo @wbvdw @wbelec @wbtot 



Error

Code:
 CHARMM>    set @wbvdw@@frame ?vdw
 Parameter: FRAME -> "0"
  * WARNING * <PARSUB> Command ignored. Token not found: >WBVDW0<


Regards,
Rohit Modee
Posted By: rmv Re: printing array to file - 06/19/19 06:01 PM
Multiple syntax errors. For setting the values, you do not use the initial @ or the double @@ e.g.

set wbvdw@frame ?vdw

To obtain the stored value, both are necessary

echo @wbvdw@@frame

Also, you cannot print the entire array via

echo @wbvdw

but must again loop over the indices.


It may be easier to write the data to a file as it being generated, e.g.

! OPEN FILE, SET ECHO UNIT
open unit 11 form write name intere.txt
echu 11
SET frame 0
LABEL TimeFrameTernary
TRAJ READ
inter SELECT some1 END SELECT some2 END
echo @FRAME ?VDW ?ELEC ?ENER
increment frame
if frame .LT. ?NFILE GOTO TimeFrameTernary
© CHARMM forums