61 alfa11,alfa12,alfa13,alfa21,alfa22,alfa23,&
62 alfa31,alfa32,alfa33,beta11,beta12,beta13,&
63 beta21,beta22,beta23,beta31,beta32,beta33,&
64 gamma1,gamma2,gamma3,delta1,delta2,delta3,&
65 ux,uy,uz,div,rotx,roty,rotz)
70 integer*4 :: i,j,k,p,q,r
72 real*8 :: alfa11,alfa12,alfa13,alfa21,alfa22,alfa23,alfa31,alfa32,alfa33
73 real*8 :: beta11,beta12,beta13,beta21,beta22,beta23,beta31,beta32,beta33
74 real*8 :: gamma1,gamma2,gamma3,delta1,delta2,delta3
75 real*8 :: dxdx,dxdy,dxdz,dydx,dydy,dydz,dzdx,dzdy,dzdz,det_j
76 real*8 :: duxdx,duxdy,duxdz,duydx,duydy,duydz,duzdx,duzdy,duzdz
77 real*8 :: t1ux,t2ux,t3ux,t1uy,t2uy,t3uy,t1uz,t2uz,t3uz
79 real*8,
dimension(nn) :: ct,ww
81 real*8,
dimension(nn,nn) :: dd
83 real*8,
dimension(nn,nn,nn) :: ux,uy,uz
84 real*8,
dimension(nn,nn,nn) :: div,rotx,roty,rotz
101 dxdx = alfa11 + beta12*ct(r) + beta13*ct(q) &
103 dydx = alfa21 + beta22*ct(r) + beta23*ct(q) &
105 dzdx = alfa31 + beta32*ct(r) + beta33*ct(q) &
108 dxdy = alfa12 + beta11*ct(r) + beta13*ct(p) &
110 dydy = alfa22 + beta21*ct(r) + beta23*ct(p) &
112 dzdy = alfa32 + beta31*ct(r) + beta33*ct(p) &
115 dxdz = alfa13 + beta11*ct(q) + beta12*ct(p) &
117 dydz = alfa23 + beta21*ct(q) + beta22*ct(p) &
119 dzdz = alfa33 + beta31*ct(q) + beta32*ct(p) &
122 det_j = dxdz * (dydx*dzdy - dzdx*dydy) &
123 - dydz * (dxdx*dzdy - dzdx*dxdy) &
124 + dzdz * (dxdx*dydy - dydx*dxdy)
128 t1ux = t1ux + ux(i,q,r) * dd(p,i)
129 t1uy = t1uy + uy(i,q,r) * dd(p,i)
130 t1uz = t1uz + uz(i,q,r) * dd(p,i)
134 t2ux = t2ux + ux(p,j,r) * dd(q,j)
135 t2uy = t2uy + uy(p,j,r) * dd(q,j)
136 t2uz = t2uz + uz(p,j,r) * dd(q,j)
140 t3ux = t3ux + ux(p,q,k) * dd(r,k)
141 t3uy = t3uy + uy(p,q,k) * dd(r,k)
142 t3uz = t3uz + uz(p,q,k) * dd(r,k)
146 duxdx = 1.0d0 / det_j *(&
147 ((dydy*dzdz - dydz*dzdy) * t1ux) + &
148 ((dydz*dzdx - dydx*dzdz) * t2ux) + &
149 ((dydx*dzdy - dydy*dzdx) * t3ux))
151 duydx = 1.0d0 / det_j *(&
152 ((dydy*dzdz - dydz*dzdy) * t1uy) + &
153 ((dydz*dzdx - dydx*dzdz) * t2uy) + &
154 ((dydx*dzdy - dydy*dzdx) * t3uy))
156 duzdx = 1.0d0 / det_j *(&
157 ((dydy*dzdz - dydz*dzdy) * t1uz) + &
158 ((dydz*dzdx - dydx*dzdz) * t2uz) + &
159 ((dydx*dzdy - dydy*dzdx) * t3uz))
161 duxdy = 1.0d0 / det_j *(&
162 ((dzdy*dxdz - dzdz*dxdy) * t1ux) + &
163 ((dzdz*dxdx - dzdx*dxdz) * t2ux) + &
164 ((dzdx*dxdy - dzdy*dxdx) * t3ux))
166 duydy = 1.0d0 / det_j *(&
167 ((dzdy*dxdz - dzdz*dxdy) * t1uy) + &
168 ((dzdz*dxdx - dzdx*dxdz) * t2uy) + &
169 ((dzdx*dxdy - dzdy*dxdx) * t3uy))
171 duzdy = 1.0d0 / det_j *(&
172 ((dzdy*dxdz - dzdz*dxdy) * t1uz) + &
173 ((dzdz*dxdx - dzdx*dxdz) * t2uz) + &
174 ((dzdx*dxdy - dzdy*dxdx) * t3uz))
176 duxdz = 1.0d0 / det_j *(&
177 ((dxdy*dydz - dxdz*dydy) * t1ux) + &
178 ((dxdz*dydx - dxdx*dydz) * t2ux) + &
179 ((dxdx*dydy - dxdy*dydx) * t3ux))
181 duydz = 1.0d0 / det_j *(&
182 ((dxdy*dydz - dxdz*dydy) * t1uy) + &
183 ((dxdz*dydx - dxdx*dydz) * t2uy) + &
184 ((dxdx*dydy - dxdy*dydx) * t3uy))
186 duzdz = 1.0d0 / det_j *(&
187 ((dxdy*dydz - dxdz*dydy) * t1uz) + &
188 ((dxdz*dydx - dxdx*dydz) * t2uz) + &
189 ((dxdx*dydy - dxdy*dydx) * t3uz))
192 div(p,q,r) = duxdx +duydy +duzdz
193 rotx(p,q,r) = duzdy -duydz
194 roty(p,q,r) = duxdz -duzdx
195 rotz(p,q,r) = duydx -duxdy
subroutine make_div_rot(nn, ct, ww, dd, alfa11, alfa12, alfa13, alfa21, alfa22, alfa23, alfa31, alfa32, alfa33, beta11, beta12, beta13, beta21, beta22, beta23, beta31, beta32, beta33, gamma1, gamma2, gamma3, delta1, delta2, delta3, ux, uy, uz, div, rotx, roty, rotz)
Computes div(u) and rot(u).