AMBER Archive (2003)Subject: Beyond 1,000,000 atoms...
From: Vlad (vvv900_at_anusf.anu.edu.au)
Date: Thu Feb 27 2003 - 19:45:14 CST
New computers whet the appetites of Computational Chemists...
Amber (Sander) needs some changes to meet them.
1) sander/ew_setup.f
Subroutine peek_ewald_inpcrd reads in number of atoms from coordinate file
in either i5 or i6 format. Temporary solution is to extend reading to i7, i8, etc.
format. Global solution, I think, is to introduce a new format for the
coordinate/restart files in the spirit of the new topology file format.
read(9,'(a)') line
if( line(6:6).eq.' ' ) then ! this is an old, i5 file
READ(line,'(i5,e15.7)') NATOM,TT
else if( line(7:7).eq.' ' ) then ! assume a new, i6 file
READ(line,'(i6,e15.7)') NATOM,TT
else if( line(8:8).eq.' ' ) then ! i7 file
READ(line,'(i7,e15.7)') NATOM,TT
else if( line(9:9).eq.' ' ) then ! i8 file
READ(line,'(i8,e15.7)') NATOM,TT
else
write(6,*) 'peek_ewald_inpcrd: Error reading NATOM,TT'
call mexit(6,1)
end if
write(6,*)'peek_ewald_inpcrd: NATOM=',NATOM
2) sander/getcor.f
The same problem with reading number of atoms from coordinate file.
Temporary solution is to extend reading to i7, i8, etc. format.
if( line_test(6:6).eq.' ' ) then ! this is an old, i5 file
READ(line_test,9010) NATOM,TT
else if( line_test(7:7).eq.' ' ) then ! assume a new, i6 file
READ(line_test,9011) NATOM,TT
else if( line_test(8:8).eq.' ' ) then ! assume i7 file
READ(line_test,9012) NATOM,TT
else if( line_test(9:9).eq.' ' ) then ! assume i8 file
READ(line_test,9013) NATOM,TT
else
WRITE(6,*) 'Error reading NATOM,TT in getcor.f...'
call mexit(6, 1)
end if
9010 format(i5,e15.7)
9011 format(i6,e15.7)
9012 format(i7,e15.7)
9013 format(i8,e15.7)
3) lib/nxtsec.f
One needs to change two “DO I = 1,999999” loops into “DO WHILE( .true.
)” to be able to read large topology files.
After these basic changes it will be possible to simulate systems with >
1,000,000 atoms (if you have corresponding computer resources, of course)…
:-)
Dr. V. Vasilyev
ANUSF, ANU, AU
|