[CPMD-list] Possible Bug?
Ali Hassanali
ahassana at chemistry.ohio-state.edu
Wed Nov 21 18:00:52 CET 2007
Dear cpmd users,
I am currently using CPMD_v3.11.1. For a VIBRATIONAL ANALYSIS
calculation, when calculating FINITE DIFFERENCES for only those atoms
within a specified sphere, I have found that when the ANGSTROM keyword
is specified in the SYSTEM section, the variables COORD_FDIFF and
R_FDIFF are only converted to Bohr on the PARENT processor. The effect
was for my parallel jobs to hang. Adding a few lines of code after line
1021 in setsys.f appears to have solved the problem, for my input files
at least.
IF(.NOT.PARENT) THEN ! < -- line 1056 in setsys.f
CALL MEMORY(IP_KGEMAX,NKPTS,'KGEMAX')
CALL AZZERO(KGEMAX,NKPTS)
CALL MEMORY(IP_KCNORM,NKPTS,'KCNORM')
CALL AZZERO(KCNORM,NKPTS)
ck ! < -- convert Angstrom to Bohr
IF(.NOT.BOHR) THEN
DO I=1,3
COORD_FDIFF(I) = COORD_FDIFF(I)*FBOHR
END DO
R_FDIFF = R_FDIFF*FBOHR
END IF
ck ! < -- convert Angstrom to Bohr
ENDIF
Also, purely cosmetic, I added an IF(PARENT) to the write statement on
line 307 of secder.f
IF(PARENT) WRITE(*,'(A,I7,4X,A4,4X,A,T54,1PE12.5)')
$ " **** ATOM=",IAT,EL(IATYP(IS)),"DISTANCE=",DIST
Can someone please check this for me? Did I make any mistakes?
Thanks,
Chris Knight
Ali
More information about the CPMD-list
mailing list