33
34
35
36#include "implicit_f.inc"
37
38
39
40 INTEGER IPG,NEL,NPG
41 my_real,
DIMENSION(NEL) :: areapg,signzz,signyz,signzx,soft,
42 . fx1,fx2,fx3,fx4,fx5,fx6,fx7,fx8,fy1,fy2,fy3,fy4,fy5,fy6,fy7,fy8,
43 . fz1,fz2,fz3,fz4,fz5,fz6,fz7,fz8
44 my_real,
DIMENSION(NPG,NPG) :: hh
45
46
47
48 INTEGER I
50 my_real,
DIMENSION(NEL) :: dfx1,dfx2,dfx3,dfx4,dfx5,dfx6,dfx7,dfx8,
51 . dfy1,dfy2,dfy3,dfy4,dfy5,dfy6,dfy7,dfy8,
52 . dfz1,dfz2,dfz3,dfz4,dfz5,dfz6,dfz7,dfz8
53
54 DO i=1,nel
55 fzz = signzz(i)*areapg(i)*soft(i)
56 fyz = signyz(i)*areapg(i)*soft(i)
57 fzx = signzx(i)*areapg(i)*soft(i)
58
59 dfx1(i) = fzx*hh(1,ipg)
60 dfx2(i) = fzx*hh(2,ipg)
61 dfx3(i) = fzx*hh(3,ipg)
62 dfx4(i) = fzx*hh(4,ipg)
63 dfy1(i) = fyz*hh(1,ipg)
64 dfy2(i) = fyz*hh(2,ipg)
65 dfy3(i) = fyz*hh(3,ipg)
66 dfy4(i) = fyz*hh(4,ipg)
67 dfz1(i) = fzz*hh(1,ipg)
68 dfz2(i) = fzz*hh(2,ipg)
69 dfz3(i) = fzz*hh(3,ipg)
70 dfz4(i) = fzz*hh(4,ipg)
71
72 dfx5(i) =-fzx*hh(1,ipg)
73 dfx6(i) =-fzx*hh(2,ipg)
74 dfx7(i) =-fzx*hh(3,ipg)
75 dfx8(i) =-fzx*hh(4,ipg)
76 dfy5(i) =-fyz*hh(1,ipg)
77 dfy6(i) =-fyz*hh(2,ipg)
78 dfy7(i) =-fyz*hh(3,ipg)
79 dfy8(i) =-fyz*hh(4,ipg)
80 dfz5(i) =-fzz*hh(1,ipg)
81 dfz6(i) =-fzz*hh(2,ipg)
82 dfz7(i) =-fzz*hh(3,ipg)
83 dfz8(i) =-fzz*hh(4,ipg)
84 ENDDO
85
86 DO i=1,nel
87
88 fx1(i) = fx1(i) + dfx1(i)
89 fx2(i) = fx2(i) + dfx2(i)
90 fx3(i) = fx3(i) + dfx3(i)
91 fx4(i) = fx4(i) + dfx4(i)
92 fy1(i) = fy1(i) + dfy1(i)
93 fy2(i) = fy2(i) + dfy2(i)
94 fy3(i) = fy3(i) + dfy3(i)
95 fy4(i) = fy4(i) + dfy4(i)
96 fz1(i) = fz1(i) + dfz1(i)
97 fz2(i) = fz2(i) + dfz2(i)
98 fz3(i) = fz3(i) + dfz3(i)
99 fz4(i) = fz4(i) + dfz4(i)
100
101 fx5(i) = fx5(i) + dfx5(i)
102 fx6(i) = fx6(i) + dfx6(i)
103 fx7(i) = fx7(i) + dfx7(i)
104 fx8(i) = fx8(i) + dfx8(i)
105 fy5(i) = fy5(i) + dfy5(i)
106 fy6(i) = fy6(i) + dfy6(i)
107 fy7(i) = fy7(i) + dfy7(i)
108 fy8(i) = fy8(i) + dfy8(i)
109 fz5(i) = fz5(i) + dfz5(i)
110 fz6(i) = fz6(i) + dfz6(i)
111 fz7(i) = fz7(i) + dfz7(i)
112 fz8(i) = fz8(i) + dfz8(i)
113 ENDDO
114
115 RETURN