Skip to content

Commit

Permalink
Efield: only track old branch if force calculation
Browse files Browse the repository at this point in the history
  • Loading branch information
juerghutter committed Nov 27, 2018
1 parent d4e4bcc commit a5af04e
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions src/qs_efield_berry.F
Original file line number Diff line number Diff line change
Expand Up @@ -1064,12 +1064,14 @@ SUBROUTINE qs_dispfield_derivatives(qs_env, just_energy, calculate_forces)
IF (cqi(idir) > pi) cqi(idir) = cqi(idir)-twopi
IF (cqi(idir) < -pi) cqi(idir) = cqi(idir)+twopi
! now check for log branch
IF (ABS(efield%polarisation(idir)-cqi(idir)) > pi) THEN
di(idir) = (efield%polarisation(idir)-cqi(idir))/pi
DO i = 1, 10
cqi(idir) = cqi(idir)+SIGN(1.0_dp, di(idir))*twopi
IF (ABS(efield%polarisation(idir)-cqi(idir)) < pi) EXIT
END DO
IF (calculate_forces) THEN
IF (ABS(efield%polarisation(idir)-cqi(idir)) > pi) THEN
di(idir) = (efield%polarisation(idir)-cqi(idir))/pi
DO i = 1, 10
cqi(idir) = cqi(idir)+SIGN(1.0_dp, di(idir))*twopi
IF (ABS(efield%polarisation(idir)-cqi(idir)) < pi) EXIT
END DO
END IF
END IF
END DO
DO idir = 1, 3
Expand Down

0 comments on commit a5af04e

Please sign in to comment.