37
38
39
40#include "implicit_f.inc"
41
42
43
44#include "mvsiz_p.inc"
45
46
47
48
49
50
51 INTEGER, INTENT(IN) :: NEL
52 INTEGER, INTENT(IN) :: JTHE
53 INTEGER NC1(MVSIZ),NC2(MVSIZ),NC3(MVSIZ)
55 . f(3,*),sti(*),stifn(*),
56 . fx1(mvsiz),fy1(mvsiz),fz1(mvsiz),
57 . fx2(mvsiz),fy2(mvsiz),fz2(mvsiz),
58 . e1x(mvsiz),e1y(mvsiz),e1z(mvsiz),
59 . e2x(mvsiz),e2y(mvsiz),e2z(mvsiz),
60 . e3x(mvsiz),e3y(mvsiz),e3z(mvsiz),
61 . f11(mvsiz),f12(mvsiz),f21(mvsiz),
62 . f22(mvsiz),f31(mvsiz),f32(mvsiz),
63 . fphi(mvsiz,2),fthe(*)
64
65
66
67 INTEGER I
69 . g11(mvsiz),g12(mvsiz),g21(mvsiz),
70 . g22(mvsiz),g31(mvsiz),g32(mvsiz)
71
72 DO i=1,nel
73 g11(i)=f11(i)
74 g21(i)=f21(i)
75 g31(i)=f31(i)
76 g12(i)=f12(i)
77 g22(i)=f22(i)
78 g32(i)=f32(i)
79 ENDDO
80
81 DO i=1,nel
82 f11(i)=e1x(i)*g11(i)+e2x(i)*g21(i)+e3x(i)*g31(i)
83 f21(i)=e1y(i)*g11(i)+e2y(i)*g21(i)+e3y(i)*g31(i)
84 f31(i)=e1z(i)*g11(i)+e2z(i)*g21(i)+e3z(i)*g31(i)
85 f12(i)=e1x(i)*g12(i)+e2x(i)*g22(i)+e3x(i)*g32(i)
86 f22(i)=e1y(i)*g12(i)+e2y(i)*g22(i)+e3y(i)*g32(i)
87 f32(i)=e1z(i)*g12(i)+e2z(i)*g22(i)+e3z(i)*g32(i)
88 ENDDO
89
90
91
92 IF(jthe > 0) THEN
93 DO i=1,nel
94 f(1,nc1(i))=f(1,nc1(i))-f11(i)
95 f(2,nc1(i))=f(2,nc1(i))-f21(i)
96 f(3,nc1(i))=f(3,nc1(i))-f31(i)
97 fthe(nc1(i))= fthe(nc1(i)) + fphi(i,1)
98 fx1(i) = f11(i)
99 fy1(i) = f21(i)
100 fz1(i) = f31(i)
101 stifn(nc1(i))=stifn(nc1(i)) + sti(i)
102
103 f(1,nc2(i))=f(1,nc2(i))-f12(i)
104 f(2,nc2(i))=f(2,nc2(i))-f22(i)
105 f(3,nc2(i))=f(3,nc2(i))-f32(i)
106 fthe(nc2(i))= fthe(nc2(i)) + fphi(i,2)
107 fx2(i) = f12(i)
108 fy2(i) = f22(i)
109 fz2(i) = f32(i)
110 stifn(nc2(i))=stifn(nc2(i))+sti(i)
111 ENDDO
112 ELSE
113 DO i=1,nel
114 f(1,nc1(i))=f(1,nc1(i))-f11(i)
115 f(2,nc1(i))=f(2,nc1(i))-f21(i)
116 f(3,nc1(i))=f(3,nc1(i))-f31(i)
117 fx1(i) = f11(i)
118 fy1(i) = f21(i)
119 fz1(i) = f31(i)
120 stifn(nc1(i))=stifn(nc1(i))+sti(i)
121
122 f(1,nc2(i))=f(1,nc2(i))-f12(i)
123 f(2,nc2(i))=f(2,nc2(i))-f22(i)
124 f(3,nc2(i))=f(3,nc2(i))-f32(i)
125 fx2(i) = f12(i)
126 fy2(i) = f22(i)
127 fz2(i) = f32(i)
128 stifn(nc2(i))=stifn(nc2(i))+sti(i)
129 ENDDO
130
131 ENDIF
132
133 RETURN