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