34
35
36
37#include "implicit_f.inc"
38
39
40
41#include "mvsiz_p.inc"
42
43
44
45
46
47
48 INTEGER, INTENT(IN) :: NEL
49 INTEGER NC1(MVSIZ),NC2(MVSIZ)
51 . f(3,*),
for(*),stifn(*),sti(*),
52 . fx1(mvsiz),fy1(mvsiz
53 . fx2(mvsiz),fy2(mvsiz),fz2(mvsiz),
54 . offg(mvsiz),off(mvsiz),ex(mvsiz),ey(mvsiz),ez(mvsiz)
55
56
57
58 INTEGER I,
60 . f11(mvsiz),f21(mvsiz),f31(mvsiz),off_l
61
62 DO i=1,nel
66 ENDDO
67
68 off_l=zero
69 DO i=1,nel
70 IF (off(i) < one) offg(i) = off(i)
71 off_l =
min(off_l,offg(i))
72 ENDDO
73
74 IF (off_l < zero) THEN
75 DO i=1,nel
76 IF (offg(i) < zero) THEN
77 f11(i)=zero
78 f21(i)=zero
79 f31(i)=zero
80 sti(i)=zero
81 ENDIF
82 ENDDO
83 ENDIF
84
85
86
87 DO i=1,nel
88 f(1,nc1(i))=f(1,nc1(i))+f11(i)
89 f(2,nc1(i))=f(2,nc1(i))+f21(i)
90 f(3,nc1(i))=f(3,nc1(i))+f31(i)
91 fx1(i) = -f11(i)
92 fy1(i) = -f21(i)
93 fz1(i) = -f31(i)
94
95 f(1,nc2(i))=f(1,nc2(i))-f11(i)
96 f(2,nc2(i))=f(2,nc2(i))-f21(i)
97 f(3,nc2(i))=f(3,nc2(i))-f31(i)
98 fx2(i) = f11(i)
99 fy2(i) = f21(i)
100 fz2(i) = f31(i)
101
102 stifn(nc1(i)) = stifn(nc1(i))+sti(i)
103 stifn(nc2(i)) = stifn(nc2(i))+sti(i)
104 ENDDO
105
106 RETURN
for(i8=*sizetab-1;i8 >=0;i8--)