[CPMD-list] some bugs in the "PATH SAMPLING" option

Titus Van Erp Titus.VanErp at biw.kuleuven.be
Tue Sep 11 14:14:12 CET 2007


Hi,

I am using 'transition interface sampling' via my own program that
communicates with cpmd via the "PATH SAMPLING" option. However, to let
it work I had to change the cpmd code a bit due to 2 bugs that I found
in the cpmd code (latest version 3.11.1). I list them here together
with my possible solution:


in mdmain.F around position 117 I needed to add a single line

 C    ==--------------------------------------------------------------==
99999 IF(TSAMPL) THEN
        EXSOFT=.FALSE.     !THIS IS A NEW LINE, ADDED BY TITUS:15-06-07
        CALL SAMPLE_WAIT
        IF(NOMORE.LT.0) GOTO 10000
      ENDIF
      NFNOW=1
C     ==--------------------------------------------------------------==

without this line, the program performs a single timestep even if I ask
him to do more.


Then, I had to add 5 more lines add the beginning of detdof.F


C     ==================================================================
      SUBROUTINE DETDOF(TAU0,TSCR)
C     ==--------------------------------------------------------------==
C     == DETermination of Degrees Of Freedom                          ==
C     ==--------------------------------------------------------------==
      IMPLICIT NONE
      INCLUDE 'system.h'
      INCLUDE 'ions.inc'
      INCLUDE 'cotr.inc'
      INCLUDE 'rmas.inc'
      INCLUDE 'tpar.inc'
      INCLUDE 'adat.inc'
      INCLUDE 'ener.inc'
      INCLUDE 'nose.inc'
      INCLUDE 'isos.inc'
      INCLUDE 'mm_input.inc'
      INCLUDE 'mm_dim.inc'
C     Arguments
      REAL*8    TAU0(3,NAX,*),TSCR(*)
C     Variables
      REAL*8    DXPAR(*)
      POINTER   (IP_DXPAR,DXPAR)
      CHARACTER INFOUT(0:1)*5
      DATA      INFOUT /'  FIX','  VAR'/
      REAL*8    DUMMY,CVAL
      INTEGER   I,K,IAT,L,IS,IA,IFIX,ITYP,IB,IC,ID,IIF,L1,L2,L3,NFIX
      !!NEW LINES ADDED BY TITUS  7-8-2007
      INTEGER   IFIRST
      SAVE      IFIRST
      DATA      IFIRST /0/
      IF (IFIRST/=0) RETURN
      IFIRST=1
      !!END OF NEW LINES BY TITUS

Otherwise the memory function is called for IP_DTM and IP_PMALL
in each cycle of the path-sampling loop which finally makes the program
crash after ~460 trajectories.

I guess not so many people are using the "PATH SAMPLING" option yet, but
I hope those who do can hopefully profit from this.

sincerely

Titus

-- 
Titus van Erp
Centre for Surface Chemistry and Catalysis
Catholic University of Leuven
Kasteelpark Arenberg 23
B-3001 Heverlee (Leuven), Belgium
K.U.Leuven postbus 2461-COK/LAB VOOR COLLOIDCHEMIE
Tel: + 32 (0)16 32 1591
Fax: + 32 (0)16 32 1998

(ps I tried to post this mail before, but it didn't work. Hopefully it
works now) 

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm



More information about the CPMD-list mailing list