C C $Id: pbcxyz.F,v 1.4 1999/04/06 20:54:50 arjan Exp arjan $ C C------------------------------------------------------------------------ SUBROUTINE PBCXYZ(I,J,XJ,YJ,ZJ) C C RETURNS MINIMUM IMAGE COORDINATES FOR ATOM J BASED ON ITS C LOCATION RELATIVE TO ATOM I (ATOMWISE) C C note that in case of push, the values of gcres correspond to the C original (non-pushed) configuration. This way, the correct geometry C will be taken (since else dxij would always be larger than dhalf) C IMPLICIT DOUBLE PRECISION (A-H,O-Z) #include "divcon.dim" #include "divcon.h" C XJ = XYZ(1,J) YJ = XYZ(2,J) ZJ = XYZ(3,J) C C CENTER-OF-RESIDUE COORDINATE DIFFERENCES: C c DXIJ = XYZ(1,I) - XYZ(1,J) c DYIJ = XYZ(2,I) - XYZ(2,J) c DZIJ = XYZ(3,I) - XYZ(3,J) DXIJ = gcres(1,I) - gcres(1,J) DYIJ = gcres(2,I) - gcres(2,J) DZIJ = gcres(3,I) - gcres(3,J) C C USE MINIMUM IMAGE FOR J IF THE RESIDUE CENTERS ARE SEPARATED C BY MORE THAN HALF THE BOX DIMENSION. C IF(ABS(DXIJ).GT.DHALF(1)) XJ = XJ + SIGN(DBOX(1),DXIJ) IF(ABS(DYIJ).GT.DHALF(2)) YJ = YJ + SIGN(DBOX(2),DYIJ) IF(ABS(DZIJ).GT.DHALF(3)) ZJ = ZJ + SIGN(DBOX(3),DZIJ) C RETURN END