mirror of https://gitlab.com/QEF/q-e.git
Fixed some bugs in the implementation of velocities from input.
C.S. git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1864 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
parent
8949481005
commit
7e7dd4b365
|
@ -23,11 +23,10 @@ MODULE ions_positions
|
|||
CONTAINS
|
||||
!
|
||||
!--------------------------------------------------------------------------
|
||||
SUBROUTINE ions_hmove( taus, tausm, vels, &
|
||||
iforce, pmass, fion, ainv, delt, na, nsp )
|
||||
SUBROUTINE ions_hmove( taus, tausm, iforce, pmass, fion, ainv, delt, na, nsp )
|
||||
!--------------------------------------------------------------------------
|
||||
!
|
||||
REAL(KIND=dbl), INTENT(IN) :: tausm(:,:), vels(:,:), pmass(:), fion(:,:)
|
||||
REAL(KIND=dbl), INTENT(IN) :: tausm(:,:), pmass(:), fion(:,:)
|
||||
INTEGER, INTENT(IN) :: iforce(:,:)
|
||||
REAL(KIND=dbl), INTENT(IN) :: ainv(3,3), delt
|
||||
REAL(KIND=dbl), INTENT(OUT) :: taus(:,:)
|
||||
|
@ -56,8 +55,7 @@ MODULE ions_positions
|
|||
!
|
||||
END DO
|
||||
!
|
||||
taus(:,isa) = tausm(:,isa) + &
|
||||
delt * vels(:,isa) + iforce(:,isa) * fac * fions(:)
|
||||
taus(:,isa) = tausm(:,isa) + iforce(:,isa) * fac * fions(:)
|
||||
!
|
||||
END DO
|
||||
|
||||
|
|
|
@ -265,14 +265,11 @@ MODULE from_restart_module
|
|||
!
|
||||
CALL r_to_s( vel, vels, na, nsp, h )
|
||||
!
|
||||
CALL ions_hmove( taus, tausm, vels, iforce, &
|
||||
pmass, fion, ainv, delt, na, nsp )
|
||||
taus(:,:) = tausm(:,:) + delt * vels(:,:)
|
||||
!
|
||||
ELSE
|
||||
!
|
||||
vels = 0.D0
|
||||
!
|
||||
CALL ions_hmove( taus, tausm, vels, iforce, &
|
||||
CALL ions_hmove( taus, tausm, iforce, &
|
||||
pmass, fion, ainv, delt, na, nsp )
|
||||
!
|
||||
END IF
|
||||
|
|
|
@ -159,13 +159,13 @@ MODULE read_cards_module
|
|||
!
|
||||
CALL card_setnfi( input_line )
|
||||
IF ( ( prog == 'PW' .OR. prog == 'CP' ) .AND. ionode ) &
|
||||
WRITE( stdout,'(A)') 'Warning: card '//trim(input_line)//' ignored'
|
||||
WRITE( stdout,'(A)') 'Warning: card '//TRIM(input_line)//' ignored'
|
||||
!
|
||||
ELSE IF ( TRIM(card) == 'OPTICAL' ) THEN
|
||||
!
|
||||
CALL card_optical( input_line )
|
||||
IF ( ( prog == 'PW' .OR. prog == 'CP' ) .AND. ionode ) &
|
||||
WRITE( stdout,'(A)') 'Warning: card '//trim(input_line)//' ignored'
|
||||
WRITE( stdout,'(A)') 'Warning: card '//TRIM(input_line)//' ignored'
|
||||
!
|
||||
ELSE IF ( TRIM(card) == 'CONSTRAINTS' ) THEN
|
||||
!
|
||||
|
@ -175,43 +175,41 @@ MODULE read_cards_module
|
|||
!
|
||||
CALL card_vhmean( input_line )
|
||||
IF ( ( prog == 'PW' .OR. prog == 'CP' ) .AND. ionode ) &
|
||||
WRITE( stdout,'(A)') 'Warning: card '//trim(input_line)//' ignored'
|
||||
WRITE( stdout,'(A)') 'Warning: card '//TRIM(input_line)//' ignored'
|
||||
!
|
||||
ELSE IF ( TRIM(card) == 'DIPOLE' ) THEN
|
||||
!
|
||||
CALL card_dipole( input_line )
|
||||
IF ( ( prog == 'PW' .OR. prog == 'CP' ) .AND. ionode ) &
|
||||
WRITE( stdout,'(A)') 'Warning: card '//trim(input_line)//' ignored'
|
||||
WRITE( stdout,'(A)') 'Warning: card '//TRIM(input_line)//' ignored'
|
||||
!
|
||||
ELSE IF ( TRIM(card) == 'ESR' ) THEN
|
||||
!
|
||||
CALL card_esr( input_line )
|
||||
IF ( ( prog == 'PW' .OR. prog == 'CP' ) .AND. ionode ) &
|
||||
WRITE( stdout,'(A)') 'Warning: card '//trim(input_line)//' ignored'
|
||||
WRITE( stdout,'(A)') 'Warning: card '//TRIM(input_line)//' ignored'
|
||||
!
|
||||
ELSE IF ( TRIM(card) == 'K_POINTS' ) THEN
|
||||
!
|
||||
CALL card_kpoints( input_line )
|
||||
IF ( prog == 'CP' .AND. ionode ) &
|
||||
WRITE( stdout,'(A)') 'Warning: card '//trim(input_line)//' ignored'
|
||||
WRITE( stdout,'(A)') 'Warning: card '//TRIM(input_line)//' ignored'
|
||||
!
|
||||
ELSE IF ( TRIM(card) == 'NEIGHBOURS' ) THEN
|
||||
!
|
||||
CALL card_neighbours( input_line )
|
||||
IF ( ( prog == 'PW' .OR. prog == 'CP' ) .AND. ionode ) &
|
||||
WRITE( stdout,'(A)') 'Warning: card '//trim(input_line)//' ignored'
|
||||
WRITE( stdout,'(A)') 'Warning: card '//TRIM(input_line)//' ignored'
|
||||
!
|
||||
ELSE IF ( TRIM(card) == 'OCCUPATIONS' ) THEN
|
||||
!
|
||||
CALL card_occupations( input_line )
|
||||
! IF ( prog == 'PW' .AND. ionode ) &
|
||||
! WRITE( stdout,'(A)') 'Warning: card '//trim(input_line)//' ignored'
|
||||
!
|
||||
ELSE IF ( TRIM(card) == 'PSTAB' ) THEN
|
||||
!
|
||||
CALL card_pstab( input_line )
|
||||
IF ( ( prog == 'PW' .OR. prog == 'CP' ) .AND. ionode ) &
|
||||
WRITE( stdout,'(A)') 'Warning: card '//trim(input_line)//' ignored'
|
||||
WRITE( stdout,'(A)') 'Warning: card '//TRIM(input_line)//' ignored'
|
||||
!
|
||||
ELSE IF ( TRIM(card) == 'CELL_PARAMETERS' ) THEN
|
||||
!
|
||||
|
@ -221,31 +219,31 @@ MODULE read_cards_module
|
|||
!
|
||||
CALL card_turbo( input_line )
|
||||
IF ( ( prog == 'PW' .OR. prog == 'CP' ) .AND. ionode ) &
|
||||
WRITE( stdout,'(A)') 'Warning: card '//trim(input_line)//' ignored'
|
||||
WRITE( stdout,'(A)') 'Warning: card '//TRIM(input_line)//' ignored'
|
||||
!
|
||||
ELSE IF ( TRIM(card) == 'ION_VELOCITIES' ) THEN
|
||||
!
|
||||
CALL card_ion_velocities( input_line )
|
||||
IF ( ( prog == 'PW' .OR. prog == 'CP' ) .AND. ionode ) &
|
||||
WRITE( stdout,'(A)') 'Warning: card '//trim(input_line)//' ignored'
|
||||
IF ( ( prog == 'PW' ) .AND. ionode ) &
|
||||
WRITE( stdout,'(A)') 'Warning: card '//TRIM(input_line)//' ignored'
|
||||
!
|
||||
ELSE IF ( TRIM(card) == 'KSOUT' ) THEN
|
||||
!
|
||||
CALL card_ksout( input_line )
|
||||
IF ( ( prog == 'PW' .OR. prog == 'CP' ) .AND. ionode ) &
|
||||
WRITE( stdout,'(a)') 'Warning: card '//trim(input_line)//' ignored'
|
||||
WRITE( stdout,'(a)') 'Warning: card '//TRIM(input_line)//' ignored'
|
||||
!
|
||||
ELSE IF ( TRIM(card) == 'KSOUT_EMPTY' ) THEN
|
||||
!
|
||||
CALL card_ksout_empty( input_line )
|
||||
IF ( ( prog == 'PW' .OR. prog == 'CP' ) .AND. ionode ) &
|
||||
WRITE( stdout,'(A)') 'Warning: card '//trim(input_line)//' ignored'
|
||||
WRITE( stdout,'(A)') 'Warning: card '//TRIM(input_line)//' ignored'
|
||||
!
|
||||
ELSE IF ( TRIM(card) == 'RHOOUT' ) THEN
|
||||
!
|
||||
CALL card_rhoout( input_line )
|
||||
IF ( ( prog == 'PW' .OR. prog == 'CP' ) .AND. ionode ) &
|
||||
WRITE( stdout,'(A)') 'Warning: card '//trim(input_line)//' ignored'
|
||||
WRITE( stdout,'(A)') 'Warning: card '//TRIM(input_line)//' ignored'
|
||||
!
|
||||
ELSE IF ( TRIM(card) == 'CLIMBING_IMAGES' ) THEN
|
||||
!
|
||||
|
|
Loading…
Reference in New Issue