subroutine kenrgy(u,wkdx,wkdy,wkin,wki,wkj) c c Volume integral of (grad_perp u)**2 = 2.0*kinetic energy? c wkdx=volume integral of (d u/dx)**2 c wkdy=volume integral of (d u/dy)**2 c implicit none include 'itg.par' c real u(lz,mz,nz,nspecz),du1(lz,mz,nz,nspecz), * du2(lz,mz,nz,nspecz),wki(mz,nz),wkj(mz,nz), * coef,wx,wy,wkin,wkdx,wkdy integer l,m,n,mr include 'itg.cmn' c do 2 n=1,nd do 2 m=1,md mr=mrr(m,n) du1(1,m,n,1)=(u(2,m,n,1)-u(1,m,n,1))/(0.5*dr(1)) du2(1,m,n,1)=mr/y0*u(1,m,n,1) du1(ld,m,n,1)=(u(ld,m,n,1)-u(ldb,m,n,1))/(0.5*dr(ld)) du2(ld,m,n,1)=mr/y0*u(ld,m,n,1) do 2 l=2,ldb du1(l,m,n,1)=(u(l+1,m,n,1)-u(l-1,m,n,1))/dr(l) du2(l,m,n,1)=mr/y0*u(l,m,n,1) 2 continue c c Note that dr(l)=2.0*dx c normalize by delta=pi*y0 in the x-direction c coef=0.25/(pi*y0) wkin=0.0 wkdx=0.0 wkdy=0.0 c do 10 n=1,nd do 10 m=1,md wki(m,n)=0.0 wx=0.0 wy=0.0 wx=wx+dr(1)*du1(1,m,n,1)*du1(1,m,n,1)*0.5 wy=wy+dr(1)*du2(1,m,n,1)*du2(1,m,n,1)*0.5 do 20 l=2,ldb wx=wx+dr(l)*du1(l,m,n,1)*du1(l,m,n,1) wy=wy+dr(l)*du2(l,m,n,1)*du2(l,m,n,1) 20 continue wx=wx+dr(ld)*du1(ld,m,n,1)*du1(ld,m,n,1)*0.5 wy=wy+dr(ld)*du2(ld,m,n,1)*du2(ld,m,n,1)*0.5 wki(m,n)=coef*(wx+wy) wkj(m,n)=coef*wx wkin=wkin+wki(m,n) wkdx=wkdx+coef*wx wkdy=wkdy+coef*wy 10 continue c return end