72 AA11,AA12,AA13,AA21,AA22,AA23,&
73 AA31,AA32,AA33,BB11,BB12,BB13,&
74 BB21,BB22,BB23,BB31,BB32,BB33,&
75 GG1,GG2,GG3,DD1,DD2,DD3,&
76 ia,ib,ja,jb,ka,kb,ux,uy,uz,vx,vy,vz,fx,fy,fz)
84 integer*4 :: ia,ib,ja,jb,ka,kb
85 integer*4 :: i,j,k,p,q,r
87 real*8 :: aa11,aa12,aa13,aa21,aa22,aa23,aa31,aa32,aa33
88 real*8 :: bb11,bb12,bb13,bb21,bb22,bb23,bb31,bb32,bb33
89 real*8 :: gg1,gg2,gg3,dd1,dd2,dd3
90 real*8 :: dxdx,dxdy,dxdz,dydx,dydy,dydz,dzdx,dzdy,dzdz,det_j
91 real*8 :: duxdx,duxdy,duxdz,duydx,duydy,duydz,duzdx,duzdy,duzdz
92 real*8 :: dut1dt1,dut2dt2,dut3dt1,dut3dt2
93 real*8 :: dxdu,dxdv,dydu,dydv,dzdu,dzdv
94 real*8 :: s1,s2,s3,vt1,vt2,vt3,r8t
95 real*8 :: t1x,t1y,t1z,t2x,t2y,t2z,t3x,t3y,t3z
96 real*8 :: t1ux,t2ux,t3ux,t1uy,t2uy,t3uy,t1uz,t2uz,t3uz
98 real*8,
dimension(nn) :: xq,wq
100 real*8,
dimension(nn,nn) :: dd
102 real*8,
dimension(nn,nn,nn) :: rho,lambda,mu
103 real*8,
dimension(nn,nn,nn) :: ux,uy,uz
104 real*8,
dimension(nn,nn,nn) :: vx,vy,vz
105 real*8,
dimension(nn,nn,nn) :: fx,fy,fz
106 real*8,
dimension(nn,nn,nn) :: alfa,beta
111 alfa(p,q,r) = dsqrt((lambda(p,q,r) + 2.0d0*mu(p,q,r))/rho
112 beta(p,q,r) = dsqrt(mu(p,q,r)/rho(p,q,r))
120 fx(p,q,r) = 0.0d0; fy(p,q,r) = 0.0d0; fz(p,q,r) = 0.0d0
128 t1ux = 0.d0; t1uy = 0.d0; t1uz = 0.d0
129 t2ux = 0.d0; t2uy = 0.d0; t2uz = 0.d0
130 t3ux = 0.d0; t3uy = 0.d0; t3uz = 0.d0
132 dxdx = aa11 + bb12*xq(r) + bb13*xq(q) + gg1*xq(q)*xq(r)
133 dydx = aa21 + bb22*xq(r) + bb23*xq(q) + gg2*xq(q)*xq(r)
134 dzdx = aa31 + bb32*xq(r) + bb33*xq(q) + gg3*xq(q)*xq(r)
136 dxdy = aa12 + bb11*xq(r) + bb13*xq(p) + gg1*xq(r)*xq(p)
137 dydy = aa22 + bb21*xq(r) + bb23*xq(p) + gg2*xq(r)*xq(p)
138 dzdy = aa32 + bb31*xq(r) + bb33*xq(p) + gg3*xq(r)*xq(p)
140 dxdz = aa13 + bb11*xq(q) + bb12*xq(p) + gg1*xq(p)*xq(q)
141 dydz = aa23 + bb21*xq(q) + bb22*xq(p) + gg2*xq(p)*xq(q)
142 dzdz = aa33 + bb31*xq(q) + bb32*xq(p) + gg3*xq(p)*xq(q)
144 det_j = dxdz * (dydx*dzdy - dzdx*dydy) &
145 - dydz * (dxdx*dzdy - dzdx*dxdy) &
146 + dzdz * (dxdx*dydy - dydx*dxdy)
150 t1ux = t1ux + ux(i,q,r) * dd(p,i)
151 t1uy = t1uy + uy(i,q,r) * dd(p,i)
152 t1uz = t1uz + uz(i,q,r) * dd(p,i)
156 t2ux = t2ux + ux(p,j,r) * dd(q,j)
157 t2uy = t2uy + uy(p,j,r) * dd(q,j)
158 t2uz = t2uz + uz(p,j,r) * dd(q,j)
162 t3ux = t3ux + ux(p,q,k) * dd(r,k)
163 t3uy = t3uy + uy(p,q,k) * dd(r,k)
164 t3uz = t3uz + uz(p,q,k) * dd(r,k)
168 duxdx = 1.0d0 / det_j *(&
169 ((dydy*dzdz - dydz*dzdy) * t1ux) + &
170 ((dydz*dzdx - dydx*dzdz) * t2ux) + &
171 ((dydx*dzdy - dydy*dzdx) * t3ux))
173 duydx = 1.0d0 / det_j *(&
174 ((dydy*dzdz - dydz*dzdy) * t1uy) + &
175 ((dydz*dzdx - dydx*dzdz) * t2uy) + &
176 ((dydx*dzdy - dydy*dzdx) * t3uy))
178 duzdx = 1.0d0 / det_j *(&
179 ((dydy*dzdz - dydz*dzdy) * t1uz) + &
180 ((dydz*dzdx - dydx*dzdz) * t2uz) + &
181 ((dydx*dzdy - dydy*dzdx) * t3uz))
183 duxdy = 1.0d0 / det_j *(&
184 ((dzdy*dxdz - dzdz*dxdy) * t1ux) + &
185 ((dzdz*dxdx - dzdx*dxdz) * t2ux) + &
186 ((dzdx*dxdy - dzdy*dxdx) * t3ux))
188 duydy = 1.0d0 / det_j *(&
189 ((dzdy*dxdz - dzdz*dxdy) * t1uy) + &
190 ((dzdz*dxdx - dzdx*dxdz) * t2uy) + &
191 ((dzdx*dxdy - dzdy*dxdx) * t3uy))
193 duzdy = 1.0d0 / det_j *(&
194 ((dzdy*dxdz - dzdz*dxdy) * t1uz) + &
195 ((dzdz*dxdx - dzdx*dxdz) * t2uz) + &
196 ((dzdx*dxdy - dzdy*dxdx) * t3uz))
198 duxdz = 1.0d0 / det_j *(&
199 ((dxdy*dydz - dxdz*dydy) * t1ux) + &
200 ((dxdz*dydx - dxdx*dydz) * t2ux) + &
201 ((dxdx*dydy - dxdy*dydx) * t3ux))
203 duydz = 1.0d0 / det_j *(&
204 ((dxdy*dydz - dxdz*dydy) * t1uy) + &
205 ((dxdz*dydx - dxdx*dydz) * t2uy) + &
206 ((dxdx*dydy - dxdy*dydx) * t3uy))
208 duzdz = 1.0d0 / det_j *(&
209 ((dxdy*dydz - dxdz*dydy) * t1uz) + &
210 ((dxdz*dydx - dxdx*dydz) * t2uz) + &
211 ((dxdx*dydy - dxdy*dydx) * t3uz))
213 if ((ia.eq.ib).and.(ia.eq.1))
then
223 if ((ja.eq.jb).and.(ja.eq.1))
then
233 if ((ka.eq.kb).and.(ka.eq.1))
then
243 if ((ia.eq.ib).and.(ia.eq.nn))
then
253 if ((ja.eq.jb).and.(ja.eq.nn))
then
263 if ((ka.eq.kb).and.(ka.eq.nn))
then
281 t3x = t1y*t2z - t1z*t2y
282 t3y = t1z*t2x - t1x*t2z
283 t3z = t1x*t2y - t1y*t2x
285 r8t = dsqrt(t1x*t1x +t1y*t1y +t1z*t1z)
290 r8t = dsqrt(t3x*t3x +t3y*t3y +t3z*t3z)
295 t2x = t3y*t1z - t3z*t1y
296 t2y = t3z*t1x - t3x*t1z
297 t2z = t3x*t1y - t3y*t1x
300 dut1dt1 = t1x*t1x*duxdx + t1x*t1y*duydx + t1x*t1z*duzdx &
301 + t1y*t1x*duxdy + t1y*t1y*duydy + t1y*t1z*duzdy &
302 + t1z*t1x*duxdz + t1z*t1y*duydz + t1z*t1z*duzdz
304 dut2dt2 = t2x*t2x*duxdx + t2x*t2y*duydx + t2x*t2z*duzdx &
305 + t2y*t2x*duxdy + t2y*t2y*duydy + t2y*t2z*duzdy &
306 + t2z*t2x*duxdz + t2z*t2y*duydz + t2z*t2z*duzdz
308 dut3dt1 = t1x*t3x*duxdx + t1x*t3y*duydx + t1x*t3z*duzdx &
309 + t1y*t3x*duxdy + t1y*t3y*duydy + t1y*t3z*duzdy &
310 + t1z*t3x*duxdz + t1z*t3y*duydz + t1z*t3z*duzdz
312 dut3dt2 = t2x*t3x*duxdx + t2x*t3y*duydx + t2x*t3z*duzdx &
313 + t2y*t3x*duxdy + t2y*t3y*duydy + t2y*t3z*duzdy &
314 + t2z*t3x*duxdz + t2z*t3y*duydz + t2z*t3z*duzdz
316 vt1 = t1x*vx(p,q,r) + t1y*vy(p,q,r) + t1z*vz(p,q,r)
317 vt2 = t2x*vx(p,q,r) + t2y*vy(p,q,r) + t2z*vz(p,q,r)
318 vt3 = t3x*vx(p,q,r) + t3y*vy(p,q,r) + t3z*vz(p,q,r)
320 s1 = (mu(p,q,r)*(2.0d0*beta(p,q,r) -alfa(p,q,r))) &
321 /beta(p,q,r) * dut3dt1 - mu(p,q,r)/beta(p
322 s2 = (mu(p,q,r)*(2.0d0*beta(p,q,r) -alfa(p,q,r))) &
323 /beta(p,q,r) * dut3dt2 - mu(p,q,r)/beta(p
324 s3 = (lambda(p,q,r)*beta(p,q,r) +2.0d0*mu(p,q,r)* &
325 (beta(p,q,r) -alfa(p,q,r)))/alfa(p,q,r)
326 * (dut1dt1 +dut2dt2) - (lambda(p,q,r) +2.0d0*mu(p,q,r
328 det_j = dsqrt(((dxdu*dxdu +dydu*dydu +dzdu*dzdu) &
329 * (dxdv*dxdv +dydv*dydv +dzdv*dzdv)) &
330 -((dxdu*dxdv +dydu*dydv +dzdu*dzdv) &
331 * (dxdu*dxdv +dydu*dydv +dzdu*dzdv)))
333 fx(p,q,r) = fx(p,q,r) - wq(p)*wq(q)*wq(r)*det_j/wq(1) &
334 * (s1*t1x + s2*t2x + s3*t3x)
335 fy(p,q,r) = fy(p,q,r) - wq(p)*wq(q)*wq(r)*det_j/wq(1) &
336 * (s1*t1y + s2*t2y + s3*t3y)
337 fz(p,q,r) = fz(p,q,r) - wq(p)*wq(q)*wq(r)*det_j/wq(1) &
338 * (s1*t1z + s2*t2z + s3*t3z)