      SUBROUTINE PRESS (GEOM,QLOK,XK,EPS,PRES,NODEL)
      DOUBLE PRECISION GEOM(*), QLOK(*), XK(*), EPS, PRES
      INTEGER DIM, NODEL, DOFEL, I, MNODEL, MDOF
      PARAMETER (DIM=2, MNODEL=8, MDOF=2*MNODEL)
      DOUBLE PRECISION SFUN(MNODEL), LDER(DIM,MNODEL), GDER(DIM,MNODEL)
      DOUBLE PRECISION JAC(DIM,DIM), JACIN(DIM,DIM), DIV(MDOF)
      DOUBLE PRECISION XI, ETA, DETK, SDOT
      DOFEL=2*NODEL

      XI = 0.D0
      ETA = 0.D0
      IF(NODEL.EQ.4) THEN
      ELSE
         print *,'NODEL IN PRESS'
         STOP
      ENDIF
      CALL MXM (SFUN,1,GEOM,NODEL,XK,DIM)
      CALL MXM (LDER,DIM,GEOM,NODEL,JAC,DIM)
      CALL INV2X2 (JAC,JACIN,DETK)
      CALL MXM (JACIN,DIM,LDER,DIM,GDER,NODEL)
      DO 100 I=1,NODEL
         DIV(2*I-1) = GDER(1,I)
         DIV(2*I)   = GDER(2,I)
 100  CONTINUE
      PRES = SDOT (DOFEL,QLOK,1,DIV,1)
      PRES = -PRES/EPS
      RETURN
      END
