35
36
37
38#include "implicit_f.inc"
39
40
41
42#include "mvsiz_p.inc"
43
44
45
46#include "com08_c.inc"
47
48
49
50 INTEGER, INTENT(IN) :: NEL
51 INTEGER NCTRL
53 . dxx(*), dxy(*), dxz(*),
54 . dyx(*), dyy(*), dyz(*),
55 . dzx(*), dzy(*), dzz(*),
56 . d4(*), d5(*), d6(*),
57 . wxx(*), wyy(*), wzz(*)
59 . vx(nctrl,mvsiz),vy(nctrl,mvsiz),vz(nctrl,mvsiz),
60 . ba(6,mvsiz), a(3*nctrl,mvsiz),matb(3*nctrl,mvsiz)
61
62
63
64 INTEGER I, J, INCTRL
66
67
68 DO i=1,nel
69 dxx(i)=zero
70 dyy(i)=zero
71 dzz(i)=zero
72 dxy(i)=zero
73 dxz(i)=zero
74 dyx(i)=zero
75 dyz(i)=zero
76 dzx(i)=zero
77 dzy(i)=zero
78 wxx(i)=zero
79 wyy(i)=zero
80 wzz(i)=zero
81 ENDDO
82
83
84
85
86
87
88
89
90
91 DO i=1,nel
92 DO j=1,nctrl
93 inctrl = (j-1)*3
94 dxx(i)=dxx(i)+matb(inctrl+1,i)*vx(j,i)
95 dyy(i)=dyy(i)+matb(inctrl+2,i)*vy(j,i)
96 dzz(i)=dzz(i)+matb(inctrl+3,i)*vz(j,i)
97 dxy(i)=dxy(i)+matb(inctrl+2,i)*vx(j,i)
98 dyx(i)=dyx(i)+matb(inctrl+1,i)*vy(j,i)
99 dyz(i)=dyz(i)+matb(inctrl+3,i)*vy(j,i)
100 dzy(i)=dzy(i)+matb(inctrl+2,i)*vz(j,i)
101 dzx(i)=dzx(i)+matb(inctrl+1,i)*vz(j,i)
102 dxz(i)=dxz(i)+matb(inctrl+3,i)*vx(j,i)
103 ENDDO
104 ENDDO
105
106 dt1d2=half*dt1
107
108 DO i=1,nel
109 dxx(i) = dxx(i)
110 . -dt1d2*(dxx(i)*dxx(i)+dyx(i)*dyx(i)+dzx(i)*dzx(i))
111 dyy(i) = dyy(i)
112 . -dt1d2*(dyy(i)*dyy(i)+dzy(i)*dzy(i)+dxy(i)*dxy(i))
113 dzz(i) = dzz(i)
114 . -dt1d2*(dzz(i)*dzz(i)+dxz(i)*dxz(i)+dyz(i)*dyz(i))
115 aaa = dt1d2*(dxx(i)*dxy(i)+dyx(i)*dyy(i)+dzx(i)*dzy(i))
116 dxy(i) = dxy(i) - aaa
117 dyx(i) = dyx(i) - aaa
118 d4(i) = dxy(i)+dyx(i)
119 aaa = dt1d2*(dyy(i)*dyz(i)+dzy(i)*dzz(i)+dxy(i)*dxz(i))
120 dyz(i) = dyz(i) - aaa
121 dzy(i) = dzy(i) - aaa
122 d5(i) = dyz(i)+dzy(i)
123 aaa = dt1d2*(dzz(i)*dzx(i)+dxz(i)*dxx(i)+dyz(i)*dyx(i))
124 dxz(i) = dxz(i) - aaa
125 dzx(i) = dzx(i) - aaa
126 d6(i) = dxz(i)+dzx(i)
127
128 wxx(i)=dt1d2*(dzy(i)-dyz(i))
129 wyy(i)=dt1d2*(dxz(i)-dzx(i))
130 wzz(i)=dt1d2*(dyx(i)-dxy(i))
131 ENDDO
132
133
134
135
136 RETURN