C         SUBROUTINE TO FILL OBJ
C
          SUBROUTINE FILMOD(INMOD)
          COMMON/PROD/PAC(3,3,15)
          COMMON/SUMIT/PSUM(3,16,5)
          COMMON/POINTS/LNS(2,15),PTS(6,100)
          COMMON/BULK/I3STRT,I3END,OBJ(6,100)
          COMMON/LINKIT/ISTRT,LINKS(6,15)
          MODULE=INMOD
          INDEX=2
2         IMOD=LINKS(1,MODULE)
          CALL PRTPRD(IMOD,MODULE)
          CALL PRTSUM(IMOD,MODULE)
          IF(IMOD.EQ.0)IMOD=16
          I3STRT=LNS(1,MODULE)
          I3END=LNS(2,MODULE)
          DO 69 K=I3STRT,I3END
          DO 69 I=1,3
          SUM=0.
          DO 68 L=1,3
68        SUM=PAC(I,L,MODULE)*PTS(L,K)+SUM
69        OBJ(I,K)=SUM
          DO 79 K=I3STRT,I3END
          DO 79 I=1,3
          SUM=0.
          II=I+3
          DO 78 L=1,3
78        SUM=PAC(I,L,MODULE)*PTS(L+3,K)+SUM
79        OBJ(II,K)=SUM
          IF(IMOD.EQ.16)GO TO 12
          I=1
10        I=I+1
          INSON=LINKS(I,IMOD)
          IF(INSON.NE.MODULE)GO TO 10
          INSON=I-1
          GO TO 13
12        INSON=1
13        DO 96 K=I3STRT,I3END
          DO 96 I=1,6
          II=I
          IF(I.GT.3)II=I-3
96        OBJ(I,K)=OBJ(I,K)+PSUM(II,IMOD,INSON)
          CALL NEXT(MODULE,INMOD)
          IF(MODULE.EQ.INMOD)GO TO 99
          GO TO 2
99        RETURN
          END
