21 vol =
vlsum(bm1(1,1,1,ie),nxyz)
22 x0 =
vlsc2(xm1(1,1,1,ie),bm1(1,1,1,ie),nxyz)/vol
23 y0 =
vlsc2(ym1(1,1,1,ie),bm1(1,1,1,ie),nxyz)/vol
24 z0 =
vlsc2(zm1(1,1,1,ie),bm1(1,1,1,ie),nxyz)/vol
28 x10 = xm1(i,1,1,ie) - x0
29 y10 = ym1(i,1,1,ie) - y0
30 z10 = zm1(i,1,1,ie) - z0
32 xx(1) = xx(1) + bm1(i,1,1,ie)*x10*x10
33 xx(2) = xx(2) + bm1(i,1,1,ie)*x10*y10
34 xx(3) = xx(3) + bm1(i,1,1,ie)*x10*z10
35 xx(4) = xx(4) + bm1(i,1,1,ie)*y10*x10
36 xx(5) = xx(5) + bm1(i,1,1,ie)*y10*y10
37 xx(6) = xx(6) + bm1(i,1,1,ie)*y10*z10
38 xx(7) = xx(7) + bm1(i,1,1,ie)*z10*x10
39 xx(8) = xx(8) + bm1(i,1,1,ie)*z10*y10
40 xx(9) = xx(9) + bm1(i,1,1,ie)*z10*z10
45 call eig2(xx,eign,eig1)
46 ar(ie) = sqrt(eign/eig1)
50 vol =
vlsum(bm1(1,1,1,ie),nxyz)
51 x0 =
vlsc2(xm1(1,1,1,ie),bm1(1,1,1,ie),nxyz)/vol
52 y0 =
vlsc2(ym1(1,1,1,ie),bm1(1,1,1,ie),nxyz)/vol
56 x10 = xm1(i,1,1,ie) - x0
57 y10 = ym1(i,1,1,ie) - y0
58 xx(1) = xx(1) + bm1(i,1,1,ie)*x10*x10
59 xx(2) = xx(2) + bm1(i,1,1,ie)*x10*y10
60 xx(3) = xx(3) + bm1(i,1,1,ie)*y10*x10
61 xx(4) = xx(4) + bm1(i,1,1,ie)*y10*y10
65 call eig2(xx,eign,eig1)
68 ar(ie) = sqrt(eign/eig1)
79 subroutine eig2(AA,eign,eig1)
112 write(6,10) x1,x2,a,b,c
126 if (d.gt.0) d = sqrt(d)
128 q = -0.5 * (b + b/abs(b) * d)
132 if (abs(x2).gt.abs(x1))
then
138 10
format(
'ERROR: Both a & b zero in routine quadratic NO ROOTS.'
140 11
format(
'ERROR: a = 0 in routine quadratic, only one root.'
142 12
format(
'ERROR: negative discriminate in routine quadratic.'
155 open(unit=33,
file=
'v1')
158 write(33,33) xm1( 1, 1,1,ie),ym1( 1, 1,1,ie)
159 write(33,33) xm1(lx1, 1,1,ie),ym1(lx1, 1,1,ie)
160 write(33,33) xm1(lx1,ly1,1,ie),ym1(lx1,ly1,1,ie)
161 write(33,33) xm1( 1,ly1,1,ie),ym1( 1,ly1,1,ie)
165 write(33,33) xm1( 1, 1,1,ie),ym1( 1, 1,1,ie)
166 write(33,33) xm1(lx1, 1,1,ie),ym1(lx1, 1,1,ie)
167 write(33,33) xm1(lx1,ly1,1,ie),ym1(lx1,ly1,1,ie)
168 write(33,33) xm1( 1,ly1,1,ie),ym1( 1,ly1,1,ie)
187 parameter(lxyz=lx1*ly1*lz1)
188 real ux(lxyz),uy(lxyz),uz(lxyz),u(lxyz,1)
190 common /ctmp1/ ur(lxyz),us(lxyz),ut(lxyz)
199 ux(i) = jacmi(i,e)*(ur(i)*rxm1(i,1,1,e)
200 $ + us(i)*sxm1(i,1,1,e)
201 $ + ut(i)*txm1(i,1,1,e) )
202 uy(i) = jacmi(i,e)*(ur(i)*rym1(i,1,1,e)
203 $ + us(i)*sym1(i,1,1,e)
204 $ + ut(i)*tym1(i,1,1,e) )
205 uz(i) = jacmi(i,e)*(ur(i)*rzm1(i,1,1,e)
206 $ + us(i)*szm1(i,1,1,e)
207 $ + ut(i)*tzm1(i,1,1,e) )
210 if (ifaxis)
call setaxdy (ifrzer(e))
213 ux(i) =jacmi(i,e)*(ur(i)*rxm1(i,1,1,e)
214 $ + us(i)*sxm1(i,1,1,e) )
215 uy(i) =jacmi(i,e)*(ur(i)*rym1(i,1,1,e)
216 $ + us(i)*sym1(i,1,1,e) )
real function vlsum(vec, n)
real function vlsc2(x, y, n)
subroutine cmult(a, const, n)
subroutine eig2(AA, eign, eig1)
subroutine aspect_ratios(ar)
subroutine quadratic_h(x1, x2, a, b, c)
subroutine gradm11(ux, uy, uz, u, e)
subroutine local_grad2(ur, us, u, N, e, D, Dt)
subroutine local_grad3(ur, us, ut, u, N, e, D, Dt)
subroutine setaxdy(ifaxdy)