49 I NFT, ISMSTR, JEUL, JHBE,
65#include "implicit_f.inc"
77 INTEGER,
INTENT(IN) :: NEL
78 INTEGER,
INTENT(IN) :: NFT
79 INTEGER,
INTENT(IN) :: ISMSTR
80 INTEGER,
INTENT(IN) :: JEUL
81 INTEGER,
INTENT(IN) :: JHBE
82 INTEGER,
INTENT(IN) :: JCVT
83 INTEGER,
INTENT(IN) :: ISROT
85 . VX1(*), VX2(*), VX3(*), VX4(*), VX5(*), VX6(*), VX7(*), VX8(*),
86 . VY1(*), VY2(*), VY3(*), VY4(*), VY5(*), VY6(*), VY7(*), (*),
87 . VZ1(*), VZ2(*), VZ3(*), VZ4(*), VZ5(*), VZ6(*), VZ7(*), VZ8(*),
88 . PX1(*), PX2(*), PX3(*), PX4(*),
89 . PY1(*), PY2(*), PY3(*), PY4(*),
90 . PZ1(*), PZ2(*), PZ3(*), PZ4(*),
91 . PX5(*), PX6(*), PX7(*), PX8(*),
92 . PY5(*), PY6(*), PY7(*), PY8(*),
93 . PZ5(*), PZ6(*), PZ7(*), PZ8(*),
94 . DXX(*), DXY(*), DXZ(*),
95 . DYX(*), DYY(*), DYZ(*),
96 . dzx(*), dzy(*), dzz(*), d4(*), d5(*), d6(*),
97 . wxx(*), wyy(*), wzz(*), vxr(*),vyr(*),vzr(*)
106 . vx46, vy46, vz46, dt1d2, dt1d
108 . pxx2,pyy2,pzz2,pxx2p,pyy2p,pzz2p,aaa,bbb,fac,
109 . exx,exy,exz,eyx,eyy,eyz,ezx,ezy,ezz
113 IF(integ8*jeul==0)
THEN
128 dxx(i)=px1(i)*vx17+px2(i)*vx28+px3(i)*vx35+px4(i)*vx46
129 dyy(i)=py1(i)*vy17+py2(i)*vy28+py3(i)*vy35+py4(i)*vy46
130 dzz(i)=pz1(i)*vz17+pz2(i)*vz28+pz3(i)*vz35+pz4(i)*vz46
131 dxy(i)=py1(i)*vx17+py2(i)*vx28+py3(i)*vx35+py4(i)*vx46
132 dxz(i)=pz1(i)*vx17+pz2(i)*vx28+pz3(i)*vx35+pz4(i)*vx46
133 dyx(i)=px1(i)*vy17+px2(i)*vy28+px3(i)*vy35+px4(i)*vy46
134 dyz(i)=pz1(i)*vy17+pz2(i)*vy28+pz3(i)*vy35+pz4(i)*vy46
135 dzx(i)=px1(i)*vz17+px2(i)*vz28+px3(i)*vz35+px4(i)*vz46
136 dzy(i)=py1(i)*vz17+py2(i)*vz28+py3(i)*vz35+py4(i)*vz46
141 dxx(i)=px1(i)*vx1(i)+px2(i)*vx2(i)+px3(i)*vx3(i)+px4(i)*vx4(i)+px5(i)*vx5(i)+px6(i)*vx6(i)+px7(i)*vx7(i)+px8(i)*vx8(i)
142 dyy(i)=py1(i)*vy1(i)+py2(i)*vy2(i)+py3(i)*vy3(i)+py4(i)*vy4(i)+py5(i)*vy5(i)+py6(i)*vy6(i)+py7(i)*vy7(i)+py8(i)*vy8(i)
143 dzz(i)=pz1(i)*vz1(i)+pz2(i)*vz2(i)+pz3(i)*vz3(i)+pz4(i)*vz4(i)+pz5(i)*vz5(i)+pz6(i)*vz6(i)+pz7(i)*vz7(i)+pz8(i)*vz8(i)
144 dxy(i)=py1(i)*vx1(i)+py2(i)*vx2(i)+py3(i)*vx3(i)+py4(i)*vx4(i)+py5(i)*vx5(i)+py6(i)*vx6(i)+py7(i)*vx7(i)+py8(i)*vx8(i)
145 dxz(i)=pz1(i)*vx1(i)+pz2(i)*vx2(i)+pz3(i)*vx3(i)+pz4(i)*vx4(i)+pz5(i)*vx5(i)+pz6(i)*vx6(i)+pz7(i)*vx7(i)+pz8(i)*vx8(i)
146 dyx(i)=px1(i)*vy1(i)+px2(i)*vy2(i)+px3(i)*vy3(i)+px4(i)*vy4(i)+px5(i)*vy5(i)+px6(i)*vy6(i)+px7(i)*vy7(i)+px8(i)*vy8(i)
147 dyz(i)=pz1(i)*vy1(i)+pz2(i)*vy2(i)+pz3(i)*vy3(i)+pz4(i)*vy4(i)+pz5(i)*vy5(i)+pz6(i)*vy6(i)+pz7(i)*vy7(i)+pz8(i)*vy8(i)
148 dzx(i)=px1(i)*vz1(i)+px2(i)*vz2(i)+px3(i)*vz3(i)+px4(i)*vz4(i)+px5(i)*vz5(i)+px6(i)*vz6(i)+px7(i)*vz7(i
149 dzy(i)=py1(i)*vz1(i)+py2(i)*vz2(i)+py3(i)*vz3(i)+py4(i)*vz4(i)+py5(i)*vz5(i)+py6(i)*vz6(i)+py7(i)*vz7(i)+py8(i)*vz8(i)
154 IF(iscau>0 .OR. imp_lr>0)dt1d2=dt1
162 wzz(i)=dt1d2*(dyx(i)-dxy(i))
163 wyy(i)=dt1d2*(dxz(i)-dzx(i))
164 wxx(i)=dt1d2*(dzy(i)-dyz(i))
172 IF (impl_s == 0 .OR. (idyna > 0 .AND. ismdisp == 0))
THEN
183 dxx(i)=dxx(i)-dt1d2*(exx*exx+eyx*eyx+ezx*ezx)
184 dyy(i)=dyy(i)-dt1d2*(eyy*eyy+ezy*ezy+exy*exy)
185 dzz(i)=dzz(i)-dt1d2*(ezz*ezz+exz*exz+eyz*eyz)
186 aaa=dt1d2*(exx*exy+eyx*eyy+ezx*ezy)
190 aaa=dt1d2*(eyy*eyz+ezy*ezz+exy*exz)
194 aaa=dt1d2*(ezz*ezx+exz*exx+eyz*eyx)
199 ELSEIF (ismdisp>0.AND.iscau==0)
THEN
202 d4(i) = dxy(i)+dyx(i)
203 d5(i) = dyz(i)+dzy(i)
204 d6(i) = dxz(i)+dzx(i)
209 d4(i)=dxy(i)+dyx(i)-dt1d*(dxx(i)*dxy(i)+dyx(i)*dyy(i)+dzx(i)*dzy(i))
210 d5(i)=dyz(i)+dzy(i)-dt1d*(dyy(i)*dyz(i)+dzy(i)*dzz(i)+dxy(i)*dxz(i))
211 d6(i)=dxz(i)+dzx(i)-dt1d*(dzz(i)*dzx(i)+dxz(i)*dxx(i)+dyz(i)*dyx(i))
212 dxx(i)=dxx(i)-dt1d2*(dxx(i)*dxx(i)+dyx(i)*dyx(i)+dzx(i)*dzx(i))
213 dyy(i)=dyy(i)-dt1d2*(dyy(i)*dyy(i)+dzy(i)*dzy(i)+dxy(i)*dxy(i))
214 dzz(i)=dzz(i)-dt1d2*(dzz(i)*dzz(i)+dxz(i)*dxz(i)+dyz(i)*dyz(i))
219 ELSEIF (jhbe>=2)
THEN
231 dxx(i) = dxx(i)-dt1d2*(exx*exx+eyx*eyx+ezx*ezx)
232 dyy(i) = dyy(i)-dt1d2*(eyy*eyy+ezy*ezy+exy*exy)
233 dzz(i) = dzz(i)-dt1d2*(ezz*ezz+exz*exz+eyz*eyz)
234 aaa = dt1d2*(exx*exy+eyx*eyy+ezx*ezy)
237 d4(i) = dxy(i)+dyx(i)
238 aaa = dt1d2*(eyy*eyz+ezy*ezz+exy*exz)
241 d5(i) = dyz(i)+dzy(i)
242 aaa = dt1d2*(ezz*ezx+exz*exx+eyz*eyx)
245 d6(i) = dxz(i)+dzx(i)
247 pxx2 = px1(i)*px1(i)+px2(i)*px2(i)+px3(i)*px3(i)+px4(i)*px4(i)
248 pyy2 = py1(i)*py1(i)+py2(i)*py2(i)+py3(i)*py3(i)+py4(i)*py4(i)
249 pzz2 = pz1(i)*pz1(i)+pz2(i)*pz2(i)+pz3(i)*pz3(i)+pz4(i)*pz4(i)
250 wzz(i) = dt1*(pyy2*dyx(i)-pxx2*dxy(i))/(pxx2+pyy2)
251 wxx(i) = dt1*(pzz2*dzy(i)-pyy2*dyz(i))/(pyy2+pzz2)
252 wyy(i) = dt1*(pxx2*dxz(i)-pzz2*dzx(i))/(pzz2+pxx2)
257 d4(i) = dxy(i)+dyx(i)
258 d5(i) = dyz(i)+dzy(i)
259 d6(i) = dxz(i)+dzx(i)
263 wzz(i) = dt1d2*(dyx(i)-dxy(i))
264 wyy(i) = dt1d2*(dxz(i)-dzx(i))
265 wxx(i) = dt1d2*(dzy(i)-dyz(i))
272 dxy(i)=dxy(i) + vzr(i)
273 dyx(i)=dyx(i) - vzr(i)
274 dyz(i)=dyz(i) + vxr(i)
275 dzy(i)=dzy(i) - vxr(i)
276 dzx(i)=dzx(i) + vyr(i)
277 dxz(i)=dxz(i) - vyr(i)
282 wxx(i) = aaa*wxx(i) + bbb*vxr(i)
283 wyy(i) = aaa*wyy(i) + bbb*vyr(i)
284 wzz(i) = aaa*wzz(i) + bbb*vzr(i)
subroutine sdefo3(px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px5, px6, px7, px8, py5, py6, py7, py8, pz5, pz6, pz7, pz8, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, d4, d5, d6, wxx, wyy, wzz, vxr, vyr, vzr, nel, nft, ismstr, jeul, jhbe, jcvt, isrot)