From d7fc7413be1a7ea614294cd80ba89dd40db44df3 Mon Sep 17 00:00:00 2001 From: ignis Date: Mon, 29 Apr 2019 15:17:51 +0900 Subject: [PATCH] remove existing codes and comments / add abs to syntax --- code/code_gen/code_gen.py | 8 +- code/code_gen/terms.input | 25 +- code/m_calculate.f90 | 3 + code/m_terms.f90 | 397 ++++++---- code/post.f90 | 1551 ++----------------------------------- 5 files changed, 335 insertions(+), 1649 deletions(-) diff --git a/code/code_gen/code_gen.py b/code/code_gen/code_gen.py index 5fdfa30..e569aa4 100644 --- a/code/code_gen/code_gen.py +++ b/code/code_gen/code_gen.py @@ -47,14 +47,15 @@ calc_grammar = """ ?mathfunc: "log" -> log | "exp" -> exp | "sqrt" -> sqrt + | "abs" -> abs | "rxn_rate" -> rxn_rate ?derivative: "ddx" -> ddx - | "dd2x" -> dd2x + | "d2dx" -> d2dx | "ddy" -> ddy - | "dd2y" -> dd2y + | "d2dy" -> d2dy | "ddz" -> ddz - | "dd2z" -> dd2z + | "d2dz" -> d2dz %import common.CNAME -> NAME %import common.NUMBER @@ -190,6 +191,7 @@ class ToFortran(Transformer): log = lambda self : "log" exp = lambda self : "exp" sqrt = lambda self : "sqrt" + abs = lambda self : "dabs" rxn_rate = lambda self : "rxn_rate" class CheckPass(Visitor): diff --git a/code/code_gen/terms.input b/code/code_gen/terms.input index 1eafc9b..02ec9e2 100644 --- a/code/code_gen/terms.input +++ b/code/code_gen/terms.input @@ -1,17 +1,24 @@ [u, v, w, y] -c_auto = 1.0 - y -wrate_auto = rxn_rate(c_auto) -fsd_auto = sqrt (sqr(ddx(c_auto)) + sqr(ddy(c_auto)) + sqr(ddz(c_auto))) +c = 1.0 - y +wrate = rxn_rate(c) +fsd = sqrt (sqr(ddx(c)) + sqr(ddy(c)) + sqr(ddz(c))) -k = (sqr(u')+sqr(v')+sqr(w'))/2.0 +sd = ((d2dx(c) + d2dy(c) + d2dz(c)) * $rod + wrate) / fsd -tflux = u' * c_auto' +nx = - ddx(c) / fsd +ny = - ddy(c) / fsd +nz = - ddz(c) / fsd -avg { u, v, w, c_auto, tflux, y, fsd_auto} +vn = u * nx + v * ny + w * nz -avg c_auto { u, v, w } +absk = abs(ddx(nx) + ddy(ny) + ddz(nz)) -avg y { u, v, w, tflux, c_auto } +fu = (vn + sd) * nx -avg fsd_auto { u } +t1 = sqr(fu') +t2 = sqr(absk') + +avg { fsd } + +avg fsd { t1, t2, fu, absk} diff --git a/code/m_calculate.f90 b/code/m_calculate.f90 index fba419f..6b1dc34 100644 --- a/code/m_calculate.f90 +++ b/code/m_calculate.f90 @@ -201,6 +201,9 @@ contains real :: c + if(c.lt.0.) c=0. + if(c.gt.1.) c=1. + if (c.le.c_cut) then rxn_rate = min_wr diff --git a/code/m_terms.f90 b/code/m_terms.f90 index 97a2702..4f7168a 100644 --- a/code/m_terms.f90 +++ b/code/m_terms.f90 @@ -6,29 +6,32 @@ use m_calculate implicit none -real*8, allocatable, dimension(:) :: fsd_auto_avg_u -real*8, allocatable, dimension(:,:,:) :: fsd_auto -real*8, allocatable, dimension(:) :: avg_c_auto -real*8, allocatable, dimension(:,:,:) :: ddz_c_auto -real*8, allocatable, dimension(:,:,:) :: tflux_y -real*8, allocatable, dimension(:) :: c_auto_avg_w -real*8, allocatable, dimension(:) :: c_auto_avg_v -real*8, allocatable, dimension(:) :: c_auto_avg_u -real*8, allocatable, dimension(:) :: y_avg_w -real*8, allocatable, dimension(:) :: avg_fsd_auto -real*8, allocatable, dimension(:) :: y_avg_v -real*8, allocatable, dimension(:,:,:) :: c_auto -real*8, allocatable, dimension(:) :: y_avg_u -real*8, allocatable, dimension(:,:,:) :: ddy_c_auto -real*8, allocatable, dimension(:) :: y_avg_c_auto -real*8, allocatable, dimension(:) :: avg_u -real*8, allocatable, dimension(:) :: avg_v -real*8, allocatable, dimension(:) :: avg_w -real*8, allocatable, dimension(:) :: avg_y -real*8, allocatable, dimension(:,:,:) :: tflux_ -real*8, allocatable, dimension(:) :: y_avg_tflux -real*8, allocatable, dimension(:,:,:) :: ddx_c_auto -real*8, allocatable, dimension(:) :: avg_tflux +real*8, allocatable, dimension(:,:,:) :: ddx_nx +real*8, allocatable, dimension(:,:,:) :: t1_fsd +real*8, allocatable, dimension(:,:,:) :: t2_fsd +real*8, allocatable, dimension(:,:,:) :: ddz_c +real*8, allocatable, dimension(:,:,:) :: vn +real*8, allocatable, dimension(:,:,:) :: ddy_c +real*8, allocatable, dimension(:,:,:) :: ddx_c +real*8, allocatable, dimension(:) :: fsd_avg_fu +real*8, allocatable, dimension(:) :: fsd_avg_t2 +real*8, allocatable, dimension(:) :: fsd_avg_t1 +real*8, allocatable, dimension(:,:,:) :: ny +real*8, allocatable, dimension(:,:,:) :: wrate +real*8, allocatable, dimension(:) :: avg_fsd +real*8, allocatable, dimension(:) :: fsd_avg_absk +real*8, allocatable, dimension(:,:,:) :: nx +real*8, allocatable, dimension(:,:,:) :: ddy_ny +real*8, allocatable, dimension(:,:,:) :: nz +real*8, allocatable, dimension(:,:,:) :: ddz_nz +real*8, allocatable, dimension(:,:,:) :: fu +real*8, allocatable, dimension(:,:,:) :: c +real*8, allocatable, dimension(:,:,:) :: fsd +real*8, allocatable, dimension(:,:,:) :: d2dy_c +real*8, allocatable, dimension(:,:,:) :: d2dx_c +real*8, allocatable, dimension(:,:,:) :: d2dz_c +real*8, allocatable, dimension(:,:,:) :: absk +real*8, allocatable, dimension(:,:,:) :: sd contains @@ -37,29 +40,32 @@ subroutine m_terms_init integer :: ierr -allocate(fsd_auto_avg_u(nxp), stat=ierr) ; fsd_auto_avg_u = 0. -allocate(fsd_auto(nxp,nyp,nzp), stat=ierr) ; fsd_auto = 0. -allocate(avg_c_auto(nxp), stat=ierr) ; avg_c_auto = 0. -allocate(ddz_c_auto(nxp,nyp,nzp), stat=ierr) ; ddz_c_auto = 0. -allocate(tflux_y(nxp,nyp,nzp), stat=ierr) ; tflux_y = 0. -allocate(c_auto_avg_w(nxp), stat=ierr) ; c_auto_avg_w = 0. -allocate(c_auto_avg_v(nxp), stat=ierr) ; c_auto_avg_v = 0. -allocate(c_auto_avg_u(nxp), stat=ierr) ; c_auto_avg_u = 0. -allocate(y_avg_w(nxp), stat=ierr) ; y_avg_w = 0. -allocate(avg_fsd_auto(nxp), stat=ierr) ; avg_fsd_auto = 0. -allocate(y_avg_v(nxp), stat=ierr) ; y_avg_v = 0. -allocate(c_auto(nxp,nyp,nzp), stat=ierr) ; c_auto = 0. -allocate(y_avg_u(nxp), stat=ierr) ; y_avg_u = 0. -allocate(ddy_c_auto(nxp,nyp,nzp), stat=ierr) ; ddy_c_auto = 0. -allocate(y_avg_c_auto(nxp), stat=ierr) ; y_avg_c_auto = 0. -allocate(avg_u(nxp), stat=ierr) ; avg_u = 0. -allocate(avg_v(nxp), stat=ierr) ; avg_v = 0. -allocate(avg_w(nxp), stat=ierr) ; avg_w = 0. -allocate(avg_y(nxp), stat=ierr) ; avg_y = 0. -allocate(tflux_(nxp,nyp,nzp), stat=ierr) ; tflux_ = 0. -allocate(y_avg_tflux(nxp), stat=ierr) ; y_avg_tflux = 0. -allocate(ddx_c_auto(nxp,nyp,nzp), stat=ierr) ; ddx_c_auto = 0. -allocate(avg_tflux(nxp), stat=ierr) ; avg_tflux = 0. +allocate(ddx_nx(nxp,nyp,nzp), stat=ierr) ; ddx_nx = 0. +allocate(t1_fsd(nxp,nyp,nzp), stat=ierr) ; t1_fsd = 0. +allocate(t2_fsd(nxp,nyp,nzp), stat=ierr) ; t2_fsd = 0. +allocate(ddz_c(nxp,nyp,nzp), stat=ierr) ; ddz_c = 0. +allocate(vn(nxp,nyp,nzp), stat=ierr) ; vn = 0. +allocate(ddy_c(nxp,nyp,nzp), stat=ierr) ; ddy_c = 0. +allocate(ddx_c(nxp,nyp,nzp), stat=ierr) ; ddx_c = 0. +allocate(fsd_avg_fu(nxp), stat=ierr) ; fsd_avg_fu = 0. +allocate(fsd_avg_t2(nxp), stat=ierr) ; fsd_avg_t2 = 0. +allocate(fsd_avg_t1(nxp), stat=ierr) ; fsd_avg_t1 = 0. +allocate(ny(nxp,nyp,nzp), stat=ierr) ; ny = 0. +allocate(wrate(nxp,nyp,nzp), stat=ierr) ; wrate = 0. +allocate(avg_fsd(nxp), stat=ierr) ; avg_fsd = 0. +allocate(fsd_avg_absk(nxp), stat=ierr) ; fsd_avg_absk = 0. +allocate(nx(nxp,nyp,nzp), stat=ierr) ; nx = 0. +allocate(ddy_ny(nxp,nyp,nzp), stat=ierr) ; ddy_ny = 0. +allocate(nz(nxp,nyp,nzp), stat=ierr) ; nz = 0. +allocate(ddz_nz(nxp,nyp,nzp), stat=ierr) ; ddz_nz = 0. +allocate(fu(nxp,nyp,nzp), stat=ierr) ; fu = 0. +allocate(c(nxp,nyp,nzp), stat=ierr) ; c = 0. +allocate(fsd(nxp,nyp,nzp), stat=ierr) ; fsd = 0. +allocate(d2dy_c(nxp,nyp,nzp), stat=ierr) ; d2dy_c = 0. +allocate(d2dx_c(nxp,nyp,nzp), stat=ierr) ; d2dx_c = 0. +allocate(d2dz_c(nxp,nyp,nzp), stat=ierr) ; d2dz_c = 0. +allocate(absk(nxp,nyp,nzp), stat=ierr) ; absk = 0. +allocate(sd(nxp,nyp,nzp), stat=ierr) ; sd = 0. end subroutine m_terms_init @@ -67,29 +73,32 @@ end subroutine m_terms_init subroutine m_terms_finalize -deallocate(fsd_auto_avg_u) -deallocate(fsd_auto) -deallocate(avg_c_auto) -deallocate(ddz_c_auto) -deallocate(tflux_y) -deallocate(c_auto_avg_w) -deallocate(c_auto_avg_v) -deallocate(c_auto_avg_u) -deallocate(y_avg_w) -deallocate(avg_fsd_auto) -deallocate(y_avg_v) -deallocate(c_auto) -deallocate(y_avg_u) -deallocate(ddy_c_auto) -deallocate(y_avg_c_auto) -deallocate(avg_u) -deallocate(avg_v) -deallocate(avg_w) -deallocate(avg_y) -deallocate(tflux_) -deallocate(y_avg_tflux) -deallocate(ddx_c_auto) -deallocate(avg_tflux) +deallocate(ddx_nx) +deallocate(t1_fsd) +deallocate(t2_fsd) +deallocate(ddz_c) +deallocate(vn) +deallocate(ddy_c) +deallocate(ddx_c) +deallocate(fsd_avg_fu) +deallocate(fsd_avg_t2) +deallocate(fsd_avg_t1) +deallocate(ny) +deallocate(wrate) +deallocate(avg_fsd) +deallocate(fsd_avg_absk) +deallocate(nx) +deallocate(ddy_ny) +deallocate(nz) +deallocate(ddz_nz) +deallocate(fu) +deallocate(c) +deallocate(fsd) +deallocate(d2dy_c) +deallocate(d2dx_c) +deallocate(d2dz_c) +deallocate(absk) +deallocate(sd) end subroutine m_terms_finalize @@ -103,7 +112,20 @@ integer :: i, j, k do k = 1, nzp do j = 1, nyp do i = 1, nxp -y_avg_w(i) = y_avg_w(i) + w(i,j,k) * y(i,j,k) +c(i,j,k) = ( 1.0 - y(i,j,k) ) +end do +end do +end do + +call ddz ( ddz_c, c ) +call ddy ( ddy_c, c ) +call d2dx ( d2dx_c, c ) +call ddx ( ddx_c, c ) + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd(i,j,k) = ( sqrt ( ( ( ((ddx_c(i,j,k))*(ddx_c(i,j,k))) + ((ddy_c(i,j,k))*(ddy_c(i,j,k))) ) + ((ddz_c(i,j,k))*(ddz_c(i,j,k))) ) ) ) end do end do end do @@ -112,7 +134,17 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -y_avg_v(i) = y_avg_v(i) + v(i,j,k) * y(i,j,k) +wrate(i,j,k) = ( rxn_rate ( c(i,j,k) ) ) +end do +end do +end do + +call d2dy ( d2dy_c, c ) + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +avg_fsd(i) = avg_fsd(i) + fsd(i,j,k) end do end do end do @@ -121,7 +153,27 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -c_auto(i,j,k) = ( 1.0 - y(i,j,k) ) +nx(i,j,k) = ( ( - ddx_c(i,j,k) ) / fsd(i,j,k) ) +end do +end do +end do + +call ddx ( ddx_nx, nx ) + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +ny(i,j,k) = ( ( - ddy_c(i,j,k) ) / fsd(i,j,k) ) +end do +end do +end do + +call ddy ( ddy_ny, ny ) + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +nz(i,j,k) = ( ( - ddz_c(i,j,k) ) / fsd(i,j,k) ) end do end do end do @@ -130,17 +182,18 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -avg_c_auto(i) = avg_c_auto(i) + c_auto(i,j,k) +vn(i,j,k) = ( ( ( u(i,j,k) * nx(i,j,k) ) + ( v(i,j,k) * ny(i,j,k) ) ) + ( w(i,j,k) * nz(i,j,k) ) ) end do end do end do -call ddz ( ddz_c_auto, c_auto ) +call ddz ( ddz_nz, nz ) +call d2dz ( d2dz_c, c ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -c_auto_avg_w(i) = c_auto_avg_w(i) + w(i,j,k) * c_auto(i,j,k) +sd(i,j,k) = ( ( ( ( ( d2dx_c(i,j,k) + d2dy_c(i,j,k) ) + d2dz_c(i,j,k) ) * rod ) + wrate(i,j,k) ) / fsd(i,j,k) ) end do end do end do @@ -149,7 +202,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -c_auto_avg_v(i) = c_auto_avg_v(i) + v(i,j,k) * c_auto(i,j,k) +fu(i,j,k) = ( ( vn(i,j,k) + sd(i,j,k) ) * nx(i,j,k) ) end do end do end do @@ -158,7 +211,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -c_auto_avg_u(i) = c_auto_avg_u(i) + u(i,j,k) * c_auto(i,j,k) +fsd_avg_fu(i) = fsd_avg_fu(i) + fu(i,j,k) * fsd(i,j,k) end do end do end do @@ -167,17 +220,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -y_avg_u(i) = y_avg_u(i) + u(i,j,k) * y(i,j,k) -end do -end do -end do - -call ddy ( ddy_c_auto, c_auto ) - -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -y_avg_c_auto(i) = y_avg_c_auto(i) + c_auto(i,j,k) * y(i,j,k) +absk(i,j,k) = ( dabs ( ( ( ddx_nx(i,j,k) + ddy_ny(i,j,k) ) + ddz_nz(i,j,k) ) ) ) end do end do end do @@ -186,62 +229,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -avg_u(i) = avg_u(i) + u(i,j,k) -end do -end do -end do - - -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -avg_v(i) = avg_v(i) + v(i,j,k) -end do -end do -end do - - -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -avg_w(i) = avg_w(i) + w(i,j,k) -end do -end do -end do - - -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -avg_y(i) = avg_y(i) + y(i,j,k) -end do -end do -end do - -call ddx ( ddx_c_auto, c_auto ) - -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -fsd_auto(i,j,k) = ( sqrt ( ( ( ((ddx_c_auto(i,j,k))*(ddx_c_auto(i,j,k))) + ((ddy_c_auto(i,j,k))*(ddy_c_auto(i,j,k))) ) + ((ddz_c_auto(i,j,k))*(ddz_c_auto(i,j,k))) ) ) ) -end do -end do -end do - - -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -fsd_auto_avg_u(i) = fsd_auto_avg_u(i) + u(i,j,k) * fsd_auto(i,j,k) -end do -end do -end do - - -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -avg_fsd_auto(i) = avg_fsd_auto(i) + fsd_auto(i,j,k) +fsd_avg_absk(i) = fsd_avg_absk(i) + absk(i,j,k) * fsd(i,j,k) end do end do end do @@ -258,20 +246,9 @@ real*8 :: denum denum=real(nfiles*nyp*nzp) -avg_u = avg_u / denum -avg_v = avg_v / denum -avg_w = avg_w / denum -avg_c_auto = avg_c_auto / denum -avg_y = avg_y / denum -avg_fsd_auto = avg_fsd_auto / denum -c_auto_avg_u = c_auto_avg_u / denum / avg_c_auto -c_auto_avg_v = c_auto_avg_v / denum / avg_c_auto -c_auto_avg_w = c_auto_avg_w / denum / avg_c_auto -y_avg_u = y_avg_u / denum / avg_y -y_avg_v = y_avg_v / denum / avg_y -y_avg_w = y_avg_w / denum / avg_y -y_avg_c_auto = y_avg_c_auto / denum / avg_y -fsd_auto_avg_u = fsd_auto_avg_u / denum / avg_fsd_auto +avg_fsd = avg_fsd / denum +fsd_avg_fu = fsd_avg_fu / denum / avg_fsd +fsd_avg_absk = fsd_avg_absk / denum / avg_fsd end subroutine m_terms_average_pass1 @@ -285,7 +262,19 @@ integer :: i, j, k do k = 1, nzp do j = 1, nyp do i = 1, nxp -c_auto(i,j,k) = ( 1.0 - y(i,j,k) ) +c(i,j,k) = ( 1.0 - y(i,j,k) ) +end do +end do +end do + +call ddz ( ddz_c, c ) +call ddy ( ddy_c, c ) +call ddx ( ddx_c, c ) + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd(i,j,k) = ( sqrt ( ( ( ((ddx_c(i,j,k))*(ddx_c(i,j,k))) + ((ddy_c(i,j,k))*(ddy_c(i,j,k))) ) + ((ddz_c(i,j,k))*(ddz_c(i,j,k))) ) ) ) end do end do end do @@ -294,7 +283,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -tflux_(i,j,k) = ( (u(i,j,k) - avg_u(i)) * (c_auto(i,j,k) - avg_c_auto(i)) ) +ny(i,j,k) = ( ( - ddy_c(i,j,k) ) / fsd(i,j,k) ) end do end do end do @@ -303,7 +292,29 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -avg_tflux(i) = avg_tflux(i) + tflux_(i,j,k) +wrate(i,j,k) = ( rxn_rate ( c(i,j,k) ) ) +end do +end do +end do + +call d2dy ( d2dy_c, c ) +call d2dx ( d2dx_c, c ) + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +nx(i,j,k) = ( ( - ddx_c(i,j,k) ) / fsd(i,j,k) ) +end do +end do +end do + +call ddx ( ddx_nx, nx ) +call ddy ( ddy_ny, ny ) + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +nz(i,j,k) = ( ( - ddz_c(i,j,k) ) / fsd(i,j,k) ) end do end do end do @@ -312,7 +323,18 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -tflux_y(i,j,k) = ( (u(i,j,k) - y_avg_u(i)) * (c_auto(i,j,k) - y_avg_c_auto(i)) ) +vn(i,j,k) = ( ( ( u(i,j,k) * nx(i,j,k) ) + ( v(i,j,k) * ny(i,j,k) ) ) + ( w(i,j,k) * nz(i,j,k) ) ) +end do +end do +end do + +call ddz ( ddz_nz, nz ) +call d2dz ( d2dz_c, c ) + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +absk(i,j,k) = ( dabs ( ( ( ddx_nx(i,j,k) + ddy_ny(i,j,k) ) + ddz_nz(i,j,k) ) ) ) end do end do end do @@ -321,7 +343,52 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -y_avg_tflux(i) = y_avg_tflux(i) + tflux_y(i,j,k) * y(i,j,k) +t2_fsd(i,j,k) = (((absk(i,j,k) - fsd_avg_absk(i)))*((absk(i,j,k) - fsd_avg_absk(i)))) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd_avg_t2(i) = fsd_avg_t2(i) + t2_fsd(i,j,k) * fsd(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +sd(i,j,k) = ( ( ( ( ( d2dx_c(i,j,k) + d2dy_c(i,j,k) ) + d2dz_c(i,j,k) ) * rod ) + wrate(i,j,k) ) / fsd(i,j,k) ) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fu(i,j,k) = ( ( vn(i,j,k) + sd(i,j,k) ) * nx(i,j,k) ) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +t1_fsd(i,j,k) = (((fu(i,j,k) - fsd_avg_fu(i)))*((fu(i,j,k) - fsd_avg_fu(i)))) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd_avg_t1(i) = fsd_avg_t1(i) + t1_fsd(i,j,k) * fsd(i,j,k) end do end do end do @@ -338,8 +405,8 @@ real*8 :: denum denum=real(nfiles*nyp*nzp) -avg_tflux = avg_tflux / denum -y_avg_tflux = y_avg_tflux / denum / avg_y +fsd_avg_t1 = fsd_avg_t1 / denum / avg_fsd +fsd_avg_t2 = fsd_avg_t2 / denum / avg_fsd end subroutine m_terms_average_pass2 diff --git a/code/post.f90 b/code/post.f90 index 79c6de5..cd58f1f 100644 --- a/code/post.f90 +++ b/code/post.f90 @@ -10,33 +10,9 @@ INTEGER :: countnum INTEGER :: num_, dummyu_ ! hybrid REAL :: tnow - REAL, DIMENSION(:), ALLOCATABLE :: favg_ndata - !REAL, DIMENSION(:,:), ALLOCATABLE :: SMF,SMC,FMS,KMS - REAL, DIMENSION(:,:), ALLOCATABLE :: SMF,SMC - - REAL, DIMENSION(:,:), ALLOCATABLE :: CM_b,CM_u,RMS,RMS_b,RMS_u,COV - REAL, DIMENSION(:,:), ALLOCATABLE :: RMS_g,RMS_b_g,RMS_u_g,COV_g - REAL, DIMENSION(:,:), ALLOCATABLE :: RMS_b_2,RMS_u_2 !uPrime - - !REAL, DIMENSION(:,:), ALLOCATABLE :: IRE1,IRE2,IRE3,IRE4,IRE5,IRE6,IRE7,IRE8,IRE9 !edge-cold-bc-3 - REAL, DIMENSION(:,:), ALLOCATABLE :: IRE1,IRE3,IRE4,IRE5,IRE6 - - !REAL, DIMENSION(:,:,:), ALLOCATABLE :: cgm,c,Wc,y,DivN,Div_V !,pres - !REAL, DIMENSION(:,:,:), ALLOCATABLE :: c_dot,c_dot_g,c_g,FSD_dot - !REAL, DIMENSION(:,:,:), ALLOCATABLE :: vn,GN_vn,GN_sd,G2N_c - !REAL, DIMENSION(:,:,:), ALLOCATABLE :: G2_Y - REAL, DIMENSION(:,:,:), ALLOCATABLE :: c,Wc - REAL, DIMENSION(:,:,:), ALLOCATABLE :: c_dot,c_dot_g,c_g,FSD_dot REAL, DIMENSION(:,:,:,:), ALLOCATABLE :: old_scalar, new_scalar - REAL, DIMENSION(:,:,:,:), ALLOCATABLE :: m_v,NV,G_C,sd,u_dot,G_V,G_FSD,ub_dot,uu_dot - !REAL, DIMENSION(:,:,:,:), ALLOCATABLE :: G_vn,G_sd,G_Y !G_Y is added for edge-cold-bc-3 - REAL, DIMENSION(:,:,:,:), ALLOCATABLE :: m_v_new - - REAL, DIMENSION(:,:,:,:), ALLOCATABLE :: CM_b_g,CM_u_g,u_g,u_dot_g,ub_dot_g,uu_dot_g - !REAL, DIMENSION(:,:,:,:), ALLOCATABLE :: d2gc - PUBLIC :: main CONTAINS @@ -66,13 +42,6 @@ countnum=countnum+1 CALL READ_FILE(fread) - CALL CAL_Yrs - ! CALL CAL_CGM_N - ! CALL CAL_Grad_Div - ! CALL CAL_Sds - ! CALL CAL_vnsd - CALL CAL_SUM ! Sum for each fort.xxxx - CALL SAVE_SUM ! Total sum CALL m_terms_calculate_pass1 @@ -82,8 +51,6 @@ write(*,*) '1st loop finished' - CALL AVERAGING - CALL m_terms_average_pass1(countnum) @@ -101,10 +68,6 @@ ELSE CALL READ_FILE(fread) - CALL CAL_Yrs - !CALL CAL_CGM_N !dhkim - CALL CAL_FLUCTUATION - CALL SAVE_SUM_FLUCTUATION CALL m_terms_calculate_pass2 @@ -112,12 +75,8 @@ ENDDO secondloop - CALL FLUCTUATION_AVG - CALL m_terms_average_pass2(countnum) - ! CALL FINAL_AVG ! edge-cold-bc-3 - CALL SAVE_AVG_RESULTS CALL DEALLOCATES_CLOSE @@ -163,1316 +122,101 @@ ' /',ncyc,' /',num,' || ',(num-startnum+1),' / ',(endnum-startnum+1) WRITE(*,*) ' Reading current data file and processing' - m_v(1,:,:,:)=1. ! density is fixed at 1. - num_=num IF(num.le.shiftnum) THEN WRITE(*,*) ' with an old fort data from Nueman-0X' READ (num) u,v,w,old_scalar - m_v(6,:,:,:) = old_scalar(2,:,:,:) + y(:,:,:) = old_scalar(2,:,:,:) ELSE WRITE(*,*) ' with a new fort data from Comb-Cluster' READ (num) u,v,w,new_scalar u = u + dummyu - m_v_new(:,:,:,2) = new_scalar(:,:,:,2) + y = new_scalar(:,:,:,2) ENDIF - m_v(2,:,:,:) = u - m_v(3,:,:,:) = v - m_v(4,:,:,:) = w - CLOSE (num) END SUBROUTINE READ_FILE - SUBROUTINE CAL_Yrs - INTEGER :: i,j,k - REAL :: wrate,yi,rpr - - DO k=1,nzp - DO j=1,nyp - DO i=1,nxp - - IF(num_.le.shiftnum) THEN - yi=m_v(6,i,j,k) - ELSE - yi=m_v_new(i,j,k,2) - ENDIF - - c(i,j,k)=1.-yi - y(i,j,k)=yi - if(c(i,j,k).lt.0.) c(i,j,k)=0. ! 141011 - if(c(i,j,k).gt.1.) c(i,j,k)=1. ! 141011 - - Wc(i,j,k)=rxn_rate(c(i,j,k)) - - ENDDO - ENDDO - ENDDO - - END SUBROUTINE CAL_Yrs - -! SUBROUTINE CAL_CGM_N -! REAL, DIMENSION(2,nxp) :: ux !,dux -! REAL, DIMENSION(2,nyp) :: uy !,duy -! REAL, DIMENSION(2,nzp) :: uz !,duz -! REAL, DIMENSION(3,nxp) :: dux -! REAL, DIMENSION(3,nyp) :: duy -! REAL, DIMENSION(3,nzp) :: duz -! INTEGER :: i,j,k -! -! ux=0.;dux=0.;uy=0.;duy=0.;uz=0.;duz=0.;G_C=0.; cgm=0.; NV=0.; G_Y=0.; d2gc=0. -! -! -!!$omp parallel do private(ux,dux,uy,duy) -! DO k=1,nzp -! DO j=1,nyp -! DO i=1,nxp -! ux(1,i)=c(i,j,k) -! ux(2,i)=1.-c(i,j,k) !edge-cold-bc-3 -! ENDDO -! !CALL dfnonp(nxp,hxp,ux,dux(1,:),1,1) -! CALL dfnonp(nxp,hxp,ux(1:2,:),dux(1:2,:),2,1) !edge-cold-bc-3 -! DO i=1,nxp -! IF(c(i,j,k).le.0.) dux(1,i)=0. -! G_C(1,i,j,k)=dux(1,i) ! dc/dx -! G_Y(1,i,j,k)=dux(2,i) ! d(1-c/)dx -! ENDDO -! ENDDO -! -! DO i=1,nxp -! DO j=1,nyp -! uy(1,j)=c(i,j,k) -! uy(2,j)=1.-c(i,j,k) !edge-cold-bc-3 -! ENDDO -! !CALL dfp(nyp,hyp,uy,duy(1,:),1,2) -! CALL dfp(nyp,hyp,uy(1:2,:),duy(1:2,:),2,2) !edge-cold-bc-3 -! DO j=1,nyp -! IF(c(i,j,k).le.0.) duy(1,j)=0. -! G_C(2,i,j,k)=duy(1,j) ! dc/dy -! G_Y(2,i,j,k)=duy(2,j) ! d(1-c/)dy -! ENDDO -! ENDDO -! ENDDO -! -! IF (twod.eq.0) THEN -!!$omp parallel do private(uz,duz) -! DO j=1,nyp -! DO i=1,nxp -! DO k=1,nzp -! uz(1,k)=c(i,j,k) -! uz(2,k)=1.-c(i,j,k) !edge-cold-bc-3 -! ENDDO -! !CALL dfp(nzp,hzp,uz,duz(1,:),1,3) -! CALL dfp(nzp,hzp,uz(1:2,:),duz(1:2,:),2,3) !edge-cold-bc-3 -! DO k=1,nzp -! IF(c(i,j,k).le.0.) duz(1,k)=0. -! G_C(3,i,j,k)=duz(1,k) ! dc/dz -! G_Y(3,i,j,k)=duz(2,k) ! d(1-c)/dz -! ENDDO -! ENDDO -! ENDDO -! ENDIF -! -!!$omp parallel do -! DO k=1,nzp -! DO j=1,nyp -! DO i=1,nxp -! cgm(i,j,k)=SQRT(G_C(1,i,j,k)*G_C(1,i,j,k)+ & -! G_C(2,i,j,k)*G_C(2,i,j,k)+ & -! G_C(3,i,j,k)*G_C(3,i,j,k) ) ! |Grad(c)| -!! IF (c(i,j,k).gt.min_c.and.c(i,j,k).le.1.) THEN -! NV(1,i,j,k)=-G_C(1,i,j,k)/cgm(i,j,k) ! Nx -! NV(2,i,j,k)=-G_C(2,i,j,k)/cgm(i,j,k) ! Ny -! NV(3,i,j,k)=-G_C(3,i,j,k)/cgm(i,j,k) ! Nz -! IF(cgm(i,j,k).eq.0.) NV(1:3,i,j,k)=0. -!! ELSE -!! NV(1:3,i,j,k)=0. -!! ENDIF -! ENDDO -! ENDDO -! ENDDO -! -!!---edge-cold-bc-3--------------------------------------------------- -! -!!!$omp parallel do private(ux,dux,uy,duy) -!! DO k=1,nzp -!! DO j=1,nyp -!! DO i=1,nxp -!! ux(1,i)=G_C(1,i,j,k) -!! ENDDO -!! CALL dfnonp(nxp,hxp,ux,dux(1,:),1,1) -!! DO i=1,nxp -!! IF(c(i,j,k).le.0.) dux(1,i)=0. -!! d2gc(2,i,j,k)=dux(1,i) ! d2c/dx2 -!! d2gc(1,i,j,k)=d2gc(1,i,j,k)+dux(1,i) ! Local Laplacian(c) -!! ENDDO -!! ENDDO -!! -!! DO i=1,nxp -!! DO j=1,nyp -!! uy(1,j)=G_C(2,i,j,k) -!! ENDDO -!! CALL dfp(nyp,hyp,uy,duy(1,:),1,2) -!! DO j=1,nyp -!! IF(c(i,j,k).le.0.) duy(1,j)=0. -!! d2gc(3,i,j,k)=duy(1,j) ! d2c/dc2 -!! d2gc(1,i,j,k)=d2gc(1,i,j,k)+duy(1,j) ! Local Laplacian(c) -!! ENDDO -!! ENDDO -!! ENDDO -!! -!! IF (twod.eq.0) THEN -!!!$omp parallel do private(uz,duz) -!! DO j=1,nyp -!! DO i=1,nxp -!! DO k=1,nzp -!! uz(1,k)=G_C(3,i,j,k) -!! ENDDO -!! CALL dfp(nzp,hzp,uz,duz(1,:),1,3) -!! DO k=1,nzp -!! IF(c(i,j,k).le.0.) duz(1,k)=0. -!! d2gc(4,i,j,k)=duz(1,k) -!! d2gc(1,i,j,k)=d2gc(1,i,j,k)+duz(1,k) ! Local Laplacian(c) -!! ENDDO -!! ENDDO -!! ENDDO -!! ENDIF -! -!!!$omp parallel do private(ux,dux,uy,duy) -!! DO k=1,nzp -!! DO j=1,nyp -!! DO i=1,nxp -!! ux(1,i)=c(i,j,k) -!! ENDDO -!! CALL d2fnonp(nxp,hxp,ux,dux(1,:),1,1) -!! DO i=1,nxp -!! IF(c(i,j,k).le.min_c.or.c(i,j,k).gt.1.) dux(1,i)=0. -!! d2gc(2,i,j,k)=dux(1,i) ! d2c/dx2 -!! d2gc(1,i,j,k)=d2gc(1,i,j,k)+dux(1,i) ! Local Laplacian(c) -!! ENDDO -!! ENDDO -!! -!! DO i=1,nxp -!! DO j=1,nyp -!! uy(1,j)=c(i,j,k) -!! ENDDO -!! CALL d2fp(nyp,hyp,uy,duy(1,:),1,2) -!! DO j=1,nyp -!! IF(c(i,j,k).le.min_c.or.c(i,j,k).gt.1.) duy(1,j)=0. -!! d2gc(3,i,j,k)=duy(1,j) ! d2c/dc2 -!! d2gc(1,i,j,k)=d2gc(1,i,j,k)+duy(1,j) ! Local Laplacian(c) -!! ENDDO -!! ENDDO -!! ENDDO -!! -!! IF (twod.eq.0) THEN -!!!$omp parallel do private(uz,duz) -!! DO j=1,nyp -!! DO i=1,nxp -!! DO k=1,nzp -!! uz(1,k)=c(i,j,k) -!! ENDDO -!! CALL d2fp(nzp,hzp,uz,duz(1,:),1,3) -!! DO k=1,nzp -!! IF(c(i,j,k).le.min_c.or.c(i,j,k).gt.1.) duz(1,k)=0. -!! d2gc(4,i,j,k)=duz(1,k) -!! d2gc(1,i,j,k)=d2gc(1,i,j,k)+duz(1,k) ! Local Laplacian(c) -!! ENDDO -!! ENDDO -!! ENDDO -!! ENDIF -!!===edge-cold-bc-3=================================================== -! -! END SUBROUTINE CAL_CGM_N -! -! SUBROUTINE CAL_Sds -! INTEGER :: i,j,k -! REAL, DIMENSION(4,nxp) :: ux,dux,d2ux -! REAL, DIMENSION(3,nyp) :: uy,duy,d2uy -! REAL, DIMENSION(3,nzp) :: uz,duz,d2uz -! -!! sd = sdr + sdd -! sd=0. -! d2gc=0. -! -! G2_Y=0. -!!========Sdr================================================== -!!$omp parallel do -! DO k=1,nzp -! DO j=1,nyp -! DO i=1,nxp -! -! sd(2,i,j,k)=Wc(i,j,k)/cgm(i,j,k)/m_v(1,i,j,k) ! sdr -! IF (c(i,j,k).le.0.) sd(2,i,j,k)=0. -! -! ENDDO -! ENDDO -! ENDDO -!!============================================================= -! -!!========Sdn================================================== -!!$omp parallel do private(ux,dux,d2ux,uy,duy,d2uy) -! DO k=1,nzp -! DO j=1,nyp -! DO i=1,nxp -! ux(1,i)=rod ! rho*D -! ux(2,i)=c(i,j,k) ! c -! ux(3,i)=rod*cgm(i,j,k) ! rho*D*fsd' -! ux(4,i)=G_Y(1,i,j,k) ! d(1-c)/dx -! ENDDO +! SUBROUTINE SAVE_AVG_RESULTS +! INTEGER :: i +! OPEN (200,FILE="qEdge_X.dat") +! ! IRE1 +! WRITE(200,*) 'VARIABLES = "X","","","","","","",""' ! 8 +! !WRITE(200,*) 'VARIABLES = "X","","","","","","","",""' ! 9 +! ! WRITE(200,*) '"","","","","","","",""' ! 8 -> 17 +! ! WRITE(200,*) '"","_g",""' ! 3 -> 20 +! ! WRITE(200,*) '"d(1-)/dx","d(1-)/dy","d(1-)/dz"' ! 3 -> 23 +! ! WRITE(200,*) '"","","",""' ! 4 -> 27 +! ! WRITE(200,*) '"",""' ! 2 -> 29 ! -! CALL dfnonp(nxp,hxp,ux(1:4,:),dux(1:4,:),4,1) -! CALL d2fnonp(nxp,hxp,ux(2,:),d2ux(1,:),1,1) -! -! DO i=1,nxp -! IF(c(i,j,k).le.0.) THEN -! dux(1:4,i)=0. -! d2ux(1,i)=0. -! ENDIF -! sd(3,i,j,k)=sd(3,i,j,k)+(( ux(1,i)*d2ux(1,i)+dux(1,i)*dux(2,i) )) ! sdd -! sd(4,i,j,k)=sd(4,i,j,k) - NV(1,i,j,k)*dux(3,i) ! sdn -! d2gc(2,i,j,k)=d2ux(1,i) ! d2c/dx2 -! d2gc(1,i,j,k)=d2gc(1,i,j,k)+d2ux(1,i) ! Local Laplacian(c) -! G2_Y(i,j,k)=dux(4,i) ! d2(1-c)/dx2 -! ENDDO -! ENDDO -! -! DO i=1,nxp -! DO j=1,nyp -! uy(1,j)=rod ! rho*D -! uy(2,j)=c(i,j,k) ! c -! uy(3,j)=rod*cgm(i,j,k) ! rho*D*fsd' -! ENDDO -! -! CALL dfp(nyp,hyp,uy(1:3,:),duy(1:3,:),3,2) -! CALL d2fp(nyp,hyp,uy(2,:),d2uy(1,:),1,2) -! -! DO j=1,nyp -! IF(c(i,j,k).le.0.) THEN -! duy(1:3,j)=0. -! d2uy(1,j)=0. -! ENDIF -! sd(3,i,j,k)=sd(3,i,j,k)+(( uy(1,j)*d2uy(1,j)+duy(1,j)*duy(2,j) )) ! sdn -! sd(4,i,j,k)=sd(4,i,j,k) - NV(2,i,j,k)*duy(3,j) ! sdn -! d2gc(3,i,j,k)=d2uy(1,j) ! d2c/dc2 -! d2gc(1,i,j,k)=d2gc(1,i,j,k)+d2uy(1,j) ! Local Laplacian(c) -! ENDDO -! ENDDO -! ENDDO -! -! IF (twod.eq.0) THEN -!!$omp parallel do private(uz,duz,d2uz) -! DO i=1,nxp -! DO j=1,nyp -! DO k=1,nzp -! uz(1,k)=rod ! rho*D -! uz(2,k)=c(i,j,k) ! c -! uz(3,k)=rod*cgm(i,j,k) ! rho*D*fsd' -! ENDDO -! -! CALL dfp(nzp,hzp,uz(1:3,:),duz(1:3,:),3,3) -! CALL d2fp(nzp,hzp,uz(2,:),d2uz(1,:),1,3) -! -! DO k=1,nzp -! IF(c(i,j,k).le.0.) THEN -! duz(1:3,k)=0. -! d2uz(1,k)=0. -! ENDIF -! sd(3,i,j,k)=sd(3,i,j,k)+(( uz(1,k)*d2uz(1,k)+duz(1,k)*duz(2,k) )) -! sd(4,i,j,k)=sd(4,i,j,k) - NV(3,i,j,k)*duz(3,k) ! sdn -! d2gc(4,i,j,k)=d2uz(1,k) -! d2gc(1,i,j,k)=d2gc(1,i,j,k)+d2uz(1,k) ! Local Laplacian(c) -! ENDDO -! ENDDO -! ENDDO -! ENDIF -! -!!$omp parallel do -! DO i=1,nxp -! DO j=1,nyp -! DO k=1,nzp -! sd(3:4,i,j,k)=sd(3:4,i,j,k)/m_v(1,i,j,k)/cgm(i,j,k) -! ENDDO -! ENDDO -! ENDDO -!!============================================================= -! -!!========Sd=================================================== -!!$omp parallel do -! DO k=1,nzp -! DO j=1,nyp -! DO i=1,nxp -! sd(1,i,j,k)=sd(2,i,j,k)+sd(3,i,j,k) -! sd(4,i,j,k)=sd(4,i,j,k)+sd(2,i,j,k) ! sdn -! sd(5,i,j,k)=-rod/m_v(1,i,j,k)*DivN(i,j,k) ! sdt -! sd(6,i,j,k)=sd(4,i,j,k)+sd(5,i,j,k)-sd(2,i,j,k) ! sdd2 -! sd(7,i,j,k)=sd(4,i,j,k)+sd(5,i,j,k) ! sd2 -! IF(c(i,j,k).le.0.) sd(1:7,i,j,k)=0. -! ENDDO -! ENDDO -! ENDDO -! -!! write(*,*) 'sdd, sdd2, sd1, sd2' -!! do i=1,nxp -!! write(*,'(4e20.10)') sd(3,i,128,128),sd(6,i,128,128),sd(1,i,128,128),sd(7,i,128,128) -!! enddo -! -! -! END SUBROUTINE CAL_Sds -! -! SUBROUTINE CAL_vnsd -! REAL, DIMENSION(2,nxp) :: ux,dux -! REAL, DIMENSION(2,nyp) :: uy,duy -! REAL, DIMENSION(2,nzp) :: uz,duz -! INTEGER :: i,j,k -! REAL :: ui,vi,wi -! -!! Compute Vn -! vn=0. -!!$omp parallel do private(ui,vi,wi) -! DO k=1,nzp -! DO j=1,nyp -! DO i=1,nxp -! ui=m_v(2,i,j,k)/m_v(1,i,j,k) ! u -! vi=m_v(3,i,j,k)/m_v(1,i,j,k) ! v -! wi=m_v(4,i,j,k)/m_v(1,i,j,k) ! w -! vn(i,j,k)=ui*NV(1,i,j,k)+vi*NV(2,i,j,k)+wi*NV(3,i,j,k) -! IF (c(i,j,k).le.0.) vn(i,j,k)=0. -! ENDDO -! ENDDO -! ENDDO -! -!! Compute Grad. of Vn and sd -! -!!$omp parallel do private(ux,dux,uy,duy) -! DO k=1,nzp -! DO j=1,nyp -! ux=0. -! DO i=1,nxp -! ux(1,i)=sd(1,i,j,k) ! Sd -! ux(2,i)=vn(i,j,k) ! vn -! IF (c(i,j,k).le.0.) ux(1:2,i)=0. -! ENDDO -! -! CALL dfnonp(nxp,hxp,ux(1:2,:),dux(1:2,:),2,1) -! -! DO i=1,nxp -! IF (c(i,j,k).le.0.) dux(1:2,i)=0. -! G_sd(1,i,j,k)=dux(1,i) ! d(Sd)/dx -! G_vn(1,i,j,k)=dux(2,i) ! d(vn)/dx -! ENDDO -! ENDDO ! y-loop -! -! DO i=1,nxp -! uy=0. -! DO j=1,nyp -! uy(1,j)=sd(1,i,j,k) ! Sd -! uy(2,j)=vn(i,j,k) ! vn -! IF (c(i,j,k).le.0.) uy(1:2,j)=0. -! ENDDO -! -! CALL dfp(nyp,hyp,uy(1:2,:),duy(1:2,:),2,2) ! y-dir. is periodic in FPs -! -! DO j=1,nyp -! IF (c(i,j,k).le.0.) duy(1:2,j)=0. -! G_sd(2,i,j,k)=duy(1,j) ! d(Sd)/dy -! G_vn(2,i,j,k)=duy(2,j) ! d(vn)/dy -! ENDDO -! ENDDO ! x-loop -! ENDDO ! z-loop -! -! IF (twod.eq.0) THEN -!!$omp parallel do private(uz,duz) -! DO j=1,nyp -! DO i=1,nxp -! uz=0. -! DO k=1,nzp -! uz(1,k)=sd(1,i,j,k) ! Sd -! uz(2,k)=vn(i,j,k) ! vn -! IF (c(i,j,k).le.0.) uz(1:2,k)=0. -! ENDDO -! CALL dfp(nzp,hzp,uz(1:2,:),duz(1:2,:),2,3) ! z-dir. is periodic in FPs -! -! DO k=1,nzp -! IF (c(i,j,k).le.0.) duz(1:2,k)=0. -! G_sd(3,i,j,k)=duz(1,k) ! d(Sd)/dy -! G_vn(3,i,j,k)=duz(2,k) ! d(vn)/dy -! ENDDO -! ENDDO ! x-lopp -! ENDDO ! y-loop -! ENDIF -! -!!$omp parallel do -! DO k=1,nzp -! DO j=1,nyp -! DO i=1,nxp -! GN_sd(i,j,k)=NV(1,i,j,k)*G_sd(1,i,j,k)+NV(2,i,j,k)*G_sd(2,i,j,k)+ & -! NV(3,i,j,k)*G_sd(3,i,j,k) ! d(sd)/dn -! GN_vn(i,j,k)=NV(1,i,j,k)*G_vn(1,i,j,k)+NV(2,i,j,k)*G_vn(2,i,j,k)+ & -! NV(3,i,j,k)*G_vn(3,i,j,k) ! d(vn)/dn -! G2N_c(i,j,k) = -(NV(1,i,j,k)*G_FSD(1,i,j,k)+NV(2,i,j,k)*G_FSD(2,i,j,k) & -! +NV(3,i,j,k)*G_FSD(3,i,j,k)) ! d2c/dn2 = -d(fsd')/dn -! ENDDO -! ENDDO -! ENDDO -! END SUBROUTINE CAL_vnsd -! -! SUBROUTINE CAL_Grad_Div -! REAL, DIMENSION(3,nxp) :: ux,dux -! REAL, DIMENSION(3,nyp) :: uy,duy -! REAL, DIMENSION(3,nzp) :: uz,duz -! INTEGER :: i,j,k -! -! Div_V=0. ; DivN=0. ; G_V=0. ; G_FSD=0. -! -!!$omp parallel do private(ux,dux,uy,duy) -! DO k=1,nzp -! DO j=1,nyp -! ux=0. -! DO i=1,nxp -! ux(1,i)=m_v(2,i,j,k)/m_v(1,i,j,k) ! u -! ux(2,i)=NV(1,i,j,k) ! Nx -! ux(3,i)=cgm(i,j,k) ! FSD` -! IF (c(i,j,k).le.0.) ux(2:3,i)=0. -! ENDDO -! -! CALL dfnonp(nxp,hxp,ux(1:3,:),dux(1:3,:),3,1) -! -! DO i=1,nxp -! IF (c(i,j,k).le.0.) dux(2:3,i)=0. -! G_V(1,i,j,k)=dux(1,i) ! du/dx -! Div_V(i,j,k)=dux(1,i) ! Div(V) -! DivN(i,j,k)=dux(2,i) ! d(Nx)/dx -! G_FSD(1,i,j,k)=dux(3,i) ! d(FSD`)/dx -! ENDDO -! ENDDO ! y-loop -! -! DO i=1,nxp -! uy=0. -! DO j=1,nyp -! uy(1,j)=m_v(3,i,j,k)/m_v(1,i,j,k) ! v -! uy(2,j)=NV(2,i,j,k) ! Ny -! uy(3,j)=cgm(i,j,k) ! FSD` -! IF (c(i,j,k).le.0.) uy(2:3,j)=0. -! ENDDO -! -! CALL dfp(nyp,hyp,uy(1:3,:),duy(1:3,:),3,2) ! y-dir. is periodic in FPs -! -! DO j=1,nyp -! IF (c(i,j,k).le.0.) duy(2:3,j)=0. -! G_V(2,i,j,k)=duy(1,j) ! dv/dy -! Div_V(i,j,k)=Div_V(i,j,k)+duy(1,j) ! Div(rho*V) -! DivN(i,j,k)=DivN(i,j,k)+duy(2,j) ! d(Ny)/dy -! G_FSD(2,i,j,k)=duy(3,j) ! d(FSD`)/dy -! ENDDO -! ENDDO ! x-loop -! ENDDO ! z-loop -! -! IF (twod.eq.0) THEN -!!$omp parallel do private(uz,duz) -! DO j=1,nyp -! DO i=1,nxp -! uz=0. -! DO k=1,nzp -! uz(1,k)=m_v(4,i,j,k)/m_v(1,i,j,k) ! w -! uz(2,k)=NV(3,i,j,k) ! Nz -! uz(3,k)=cgm(i,j,k) ! FSD` -! IF (c(i,j,k).le.0.) uz(2:3,k)=0. -! ENDDO -! CALL dfp(nzp,hzp,uz(1:3,:),duz(1:3,:),3,3) ! z-dir. is periodic in FPs -! -! DO k=1,nzp -! IF (c(i,j,k).le.0.) duz(2:3,k)=0. -! G_V(3,i,j,k)=duz(1,k) ! dv/dy -! Div_V(i,j,k)=Div_V(i,j,k)+duz(1,k) ! Div(rho*V) -! DivN(i,j,k)=DivN(i,j,k)+duz(2,k) ! d(Nz)/dz -! G_FSD(3,i,j,k)=duz(3,k) ! d(FSD`)/dz -! ENDDO -! ENDDO ! x-lopp -! ENDDO ! y-loop -! ENDIF -! -! END SUBROUTINE CAL_Grad_Div - - - SUBROUTINE CAL_SUM - INTEGER :: i,j,k,jj - REAL :: ui,vi,wi - - SMF=0.; SMC=0. - CM_b=0.; CM_u=0. !; CM_b_g=0.; CM_u_g=0. - - DO i=1,nxp - DO j=syp,eyp - jj=j-syp+1 - DO k=1,nzp - ui=m_v(2,i,j,k)/m_v(1,i,j,k) ! u - vi=m_v(3,i,j,k)/m_v(1,i,j,k) ! v - wi=m_v(4,i,j,k)/m_v(1,i,j,k) ! w - - !WRITE(210,'(4e20.10)') REAL(i),REAL(j),REAL(k),ui - -! For local averages - u_g(1,i,jj,k)=u_g(1,i,jj,k)+m_v(2,i,j,k)/m_v(1,i,j,k) ! Sum [u(i,j,k)] - u_g(2,i,jj,k)=u_g(2,i,jj,k)+m_v(3,i,j,k)/m_v(1,i,j,k) ! Sum [v(i,j,k)] - u_g(3,i,jj,k)=u_g(3,i,jj,k)+m_v(4,i,j,k)/m_v(1,i,j,k) ! Sum [w(i,j,k)] -! c_g(i,jj,k)=c_g(i,jj,k)+c(i,j,k) - -! IF (c(i,j,k).gt.min_c.and.c(i,j,k).le.max_c) THEN ! 131103 - CM_b_g(1,i,jj,k)=CM_b_g(1,i,jj,k)+c(i,j,k)*m_v(2,i,j,k)/m_v(1,i,j,k) ! sum [c*u] - CM_b_g(2,i,jj,k)=CM_b_g(2,i,jj,k)+c(i,j,k)*m_v(3,i,j,k)/m_v(1,i,j,k) ! sum [c*v] - CM_b_g(3,i,jj,k)=CM_b_g(3,i,jj,k)+c(i,j,k)*m_v(4,i,j,k)/m_v(1,i,j,k) ! sum [c*w] - CM_b_g(4,i,jj,k)=CM_b_g(4,i,jj,k)+c(i,j,k)*m_v(1,i,j,k) ! Sum [c*rho] - - CM_u_g(1,i,jj,k)=CM_u_g(1,i,jj,k)+(1.-c(i,j,k))*m_v(2,i,j,k)/m_v(1,i,j,k) ! sum [(1-c)*u] - CM_u_g(2,i,jj,k)=CM_u_g(2,i,jj,k)+(1.-c(i,j,k))*m_v(3,i,j,k)/m_v(1,i,j,k) ! sum [(1-c)*v] - CM_u_g(3,i,jj,k)=CM_u_g(3,i,jj,k)+(1.-c(i,j,k))*m_v(4,i,j,k)/m_v(1,i,j,k) ! sum [(1-c)*w] - CM_u_g(4,i,jj,k)=CM_u_g(4,i,jj,k)+(1.-c(i,j,k))*m_v(1,i,j,k) ! Sum [(1-c)*rho] -! ENDIF - -! For Simple averages, < > - SMF(1,i) =SMF(1,i)+ui ! Sum [u] - SMF(2,i) =SMF(2,i)+vi ! Sum [v] - SMF(3,i) =SMF(3,i)+wi ! Sum [w] -! SMF(4,i) =SMF(4,i)+m_v(1,i,j,k) ! Sum [rho] -! SMF(5,i) =SMF(5,i)+0. ! Sum [T] -! SMF(6,i) =SMF(6,i)+rod/m_v(1,i,j,k) ! Sum [D] -! SMF(7,i) =SMF(7,i)+G_C(1,i,j,k) ! Sum [dc/dx] -! SMF(8,i) =SMF(8,i)+G_C(2,i,j,k) ! Sum [dc/dy] -! SMF(9,i) =SMF(9,i)+G_C(3,i,j,k) ! Sum [dc/dz] -! SMF(10,i)=SMF(10,i)+G_V(1,i,j,k) ! Sum [du/dx] -! SMF(11,i)=SMF(11,i)+G_V(2,i,j,k) ! Sum [dv/dy] -! SMF(12,i)=SMF(12,i)+G_V(3,i,j,k) ! Sum [dw/dz] -! SMF(13,i)=SMF(13,i)+Div_V(i,j,k) ! Sum [Div(V)] -! SMF(14,i)=SMF(14,i)+G2N_c(i,j,k) ! Sum [ d2c/dn2 ] -! SMF(15,i) =SMF(15,i)+G_Y(1,i,j,k) ! Sum [d(1-c)/dx] -! SMF(16,i) =SMF(16,i)+G_Y(2,i,j,k) ! Sum [d(1-c)/dy] -! SMF(17,i) =SMF(17,i)+G_Y(3,i,j,k) ! Sum [d(1-c)/dz] -! SMF(18,i) =SMF(18,i)+d2gc(1,i,j,k) ! Sum [Lap.(c)] -! SMF(19,i) =SMF(19,i)+d2gc(2,i,j,k) ! Sum [d2c/dx2] -! SMF(20,i) =SMF(20,i)+d2gc(3,i,j,k) ! Sum [d2c/dy2] -! SMF(21,i) =SMF(21,i)+d2gc(4,i,j,k) ! Sum [d2c/dz2] -! SMF(22,i) =SMF(22,i)+NV(1,i,j,k)*G2N_c(i,j,k) ! Sum [ nx * d2c/dn2 ] -! SMF(23,i) =SMF(23,i)+G2_Y(i,j,k) ! Sum [d2(1-c)/dx2 ] - - SMC(1,i)=SMC(1,i)+c(i,j,k) ! Sum [c] - !SMC(2,i)=SMC(2,i)+cgm(i,j,k) ! Sum [FSD`] 131031 - SMC(3,i)=SMC(3,i)+y(i,j,k) ! Sum [y] - SMC(4,i)=SMC(4,i)+Wc(i,j,k)/m_v(1,i,j,k) ! Sum [Wc/rho] - - -! For surface averages, < >f -! IF (c(i,j,k).gt.min_c.and.c(i,j,k).le.max_c) THEN ! 131103 -! For conditional average -! For burned quantities - CM_b(1,i)=CM_b(1,i)+c(i,j,k)*m_v(2,i,j,k)/m_v(1,i,j,k) ! sum [c*u] - CM_b(2,i)=CM_b(2,i)+c(i,j,k)*m_v(3,i,j,k)/m_v(1,i,j,k) ! sum [c*v] - CM_b(3,i)=CM_b(3,i)+c(i,j,k)*m_v(4,i,j,k)/m_v(1,i,j,k) ! sum [c*w] - CM_b(4,i)=CM_b(4,i)+c(i,j,k)*m_v(1,i,j,k) ! Sum [c*rho] - -! For unburned quantities - CM_u(1,i)=CM_u(1,i)+(1.-c(i,j,k))*m_v(2,i,j,k)/m_v(1,i,j,k) ! sum [(1-c)*u] - CM_u(2,i)=CM_u(2,i)+(1.-c(i,j,k))*m_v(3,i,j,k)/m_v(1,i,j,k) ! sum [(1-c)*v] - CM_u(3,i)=CM_u(3,i)+(1.-c(i,j,k))*m_v(4,i,j,k)/m_v(1,i,j,k) ! sum [(1-c)*w] - CM_u(4,i)=CM_u(4,i)+(1.-c(i,j,k))*m_v(1,i,j,k) ! Sum [(1-c)*rho] -! ENDIF ! 131031 - -! For surface averages, < >f , < >k -! IF (c(i,j,k).gt.min_c) THEN ! 131103 -! favg_ndata(i)=favg_ndata(i)+1. -! FMS(1,i) =FMS(1,i)+cgm(i,j,k) ! Sum [ FSD` ] -! FMS(2,i) =FMS(2,i)+sd(1,i,j,k)*cgm(i,j,k) ! Sum [Sd*FSD`] -! FMS(3,i) =FMS(3,i)+sd(2,i,j,k)*cgm(i,j,k) ! Sum [Sdr*FSD`] -! FMS(4,i) =FMS(4,i)+sd(3,i,j,k)*cgm(i,j,k) ! Sum [Sdd*FSD`] -! FMS(5,i) =FMS(5,i)+sd(4,i,j,k)*cgm(i,j,k) ! Sum [Sdn*FSD`] -! FMS(6,i) =FMS(6,i)+sd(5,i,j,k)*cgm(i,j,k) ! Sum [Sdt*FSD`] -! FMS(7,i) =FMS(7,i)+sd(6,i,j,k)*cgm(i,j,k) ! Sum [Sdd2*FSD`] -! FMS(8,i) =FMS(8,i)+sd(7,i,j,k)*cgm(i,j,k) ! Sum [Sd2*FSD`] -! FMS(9,i) =FMS(9,i)+DivN(i,j,k)*cgm(i,j,k) ! Sum [DivN*FSD`] -! FMS(10,i)=FMS(10,i)+abs(DivN(i,j,k))*cgm(i,j,k) ! Sum [|DivN|*FSD`] -! FMS(11,i)=FMS(11,i)+G_C(1,i,j,k)/c(i,j,k)*cgm(i,j,k) ! Sum [(dc/dx)/c*FSD`] -! FMS(12,i)=FMS(12,i)+cgm(i,j,k)**2./c(i,j,k) ! Sum [-(dc/dn)/c*FSD`] -! FMS(13,i)=FMS(13,i)+G_FSD(1,i,j,k) ! Sum [(1/FSD`)*(d(FSD`)/dx)*FSD`] -! FMS(14,i)=FMS(14,i)+G_FSD(2,i,j,k) ! Sum [(1/FSD`)*(d(FSD`)/dy)*FSD`] -! FMS(15,i)=FMS(15,i)+G_FSD(3,i,j,k) ! Sum [(1/FSD`)*(d(FSD`)/dz)*FSD`] -! FMS(16,i)=FMS(16,i)+NV(1,i,j,k)*cgm(i,j,k) ! Sum [Nx * FSD`] -! FMS(17,i)=FMS(17,i)+NV(2,i,j,k)*cgm(i,j,k) ! Sum [Ny * FSD`] -! FMS(18,i)=FMS(18,i)+NV(3,i,j,k)*cgm(i,j,k) ! Sum [Nz * FSD`] -! FMS(19,i)=FMS(19,i)+ui*cgm(i,j,k) ! Sum [u * FSD`] -! FMS(20,i)=FMS(20,i)+vi*cgm(i,j,k) ! Sum [v * FSD`] -! FMS(21,i)=FMS(21,i)+wi*cgm(i,j,k) ! Sum [w * FSD`] -! FMS(22,i)=FMS(22,i)+vn(i,j,k)*cgm(i,j,k) ! Sum [ vn * FSD`] -! FMS(23,i)=FMS(23,i)+(NV(1,i,j,k)**2.+NV(2,i,j,k)**2.+NV(3,i,j,k)**2.)*cgm(i,j,k) ! Sum [(N dot N)*FSD`] -! FMS(24,i)=FMS(24,i)+GN_vn(i,j,k)*cgm(i,j,k) ! Sum [d(vn)/dn * FSD`] -! FMS(25,i)=FMS(25,i)+GN_sd(i,j,k)*cgm(i,j,k) ! Sum [d(Sd)/dn * FSD`] -! FMS(26,i)=FMS(26,i)+(NV(1,i,j,k)*G_FSD(1,i,j,k)+& -! NV(2,i,j,k)*G_FSD(2,i,j,k)+& -! NV(3,i,j,k)*G_FSD(3,i,j,k)) ! Sum [-(N dot (grad.(FSD`))/FSD`) * FSD`] -! -! KMS(1,i) =KMS(1,i) + vn(i,j,k)*G2N_c(i,j,k) ! Sum [ Vn * d2c/dn2 ] -! KMS(2,i) =KMS(2,i) + sd(1,i,j,k)*G2N_c(i,j,k) ! Sum [ Sd * d2c/dn2 ] -! ENDIF - - ENDDO ! z-loop - ENDDO ! y-loop - ENDDO ! x-loop - - END SUBROUTINE CAL_SUM - - SUBROUTINE SAVE_SUM - INTEGER :: i -!############################################################# -!####### Abbreviation ################## -! -! Lap. A - Laplacian of A -! Grad. A - Gradient of A, cf.) variable name -> G_X means Grad. X -! -!############################################################# - -! IRE1 : 1 / 2 / 3 / 4 / 5 / 6 / 7 / -! / / / / / / / - -! IRE2 : 1 / 2 / 3 / -! f / f / f / - -! IRE3 : 1 / 2 / 3 / 4 / 5 / 6 / -! RMS(u') / RMS(v') / RMS(w') / RMS(u')_g / RMS(v')_g / RMS(w')_g / - -! IRE4 : 1 / 2 / 3 / 4 / -! b / b / b / b / - -! IRE5 : 1 / 2 / 3 / 4 / -! u / u / u / u / - - DO i=1,nxp - IRE1(1,i)=IRE1(1,i)+SMC(1,i) ! Sum [c] - IRE1(2,i)=IRE1(2,i)+SMC(2,i) ! Sum [FSD`] - IRE1(3,i)=IRE1(3,i)+SMC(3,i) ! Sum [yr] - IRE1(4,i)=IRE1(4,i)+SMC(4,i) ! Sum [Wc/rho] - - IRE1(5,i) =IRE1(5,i)+SMF(1,i) ! Sum [u] - IRE1(6,i) =IRE1(6,i)+SMF(2,i) ! Sum [v] - IRE1(7,i) =IRE1(7,i)+SMF(3,i) ! Sum [w] -! IRE1(8,i) =IRE1(8,i)+SMF(4,i) ! Sum [rho] -! IRE1(9,i) =IRE1(9,i)+SMF(5,i) ! Sum [T] - dummy -! IRE1(10,i)=IRE1(10,i)+SMF(6,i) ! Sum [D] -! IRE1(11,i)=IRE1(11,i)+SMF(7,i) ! Sum [dc/dx] -! IRE1(12,i)=IRE1(12,i)+SMF(8,i) ! Sum [dc/dy] -! IRE1(13,i)=IRE1(13,i)+SMF(9,i) ! Sum [dc/dz] -! IRE1(14,i)=IRE1(14,i)+SMF(10,i) ! Sum [du/dx] -! IRE1(15,i)=IRE1(15,i)+SMF(11,i) ! Sum [dv/dy] -! IRE1(16,i)=IRE1(16,i)+SMF(12,i) ! Sum [dw/dz] -! IRE1(17,i)=IRE1(17,i)+SMF(13,i) ! Sum [Div(V)] -! IRE1(19,i)=IRE1(19,i)+SMF(14,i) ! Sum [ d2c/dn2 ] -! IRE1(20,i)=IRE1(20,i)+SMF(15,i) ! Sum [d(1-c)/dx] -! IRE1(21,i)=IRE1(21,i)+SMF(16,i) ! Sum [d(1-c)/dy] -! IRE1(22,i)=IRE1(22,i)+SMF(17,i) ! Sum [d(1-c)/dz] -! IRE1(23,i)=IRE1(23,i)+SMF(18,i) ! Sum [Lap.(c)] -! IRE1(24,i)=IRE1(24,i)+SMF(19,i) ! Sum [d2c/dx2] -! IRE1(25,i)=IRE1(25,i)+SMF(20,i) ! Sum [d2c/dy2] -! IRE1(26,i)=IRE1(26,i)+SMF(21,i) ! Sum [d2c/dz2] -! -! IRE1(27,i)=IRE1(27,i)+SMF(22,i) ! Sum [ Nx*(d2c/dn2) ] -! IRE1(28,i)=IRE1(28,i)+SMF(23,i) ! Sum [d2(1-c)/dx2] -! -! IRE2(1,i) =IRE2(1,i) +FMS(1,i) ! Sum [ FSD` ] -! IRE2(2,i) =IRE2(2,i) +FMS(2,i) ! Sum [Sd*FSD`] -! IRE2(3,i) =IRE2(3,i) +FMS(3,i) ! Sum [Sdr*FSD`] -! IRE2(4,i) =IRE2(4,i) +FMS(4,i) ! Sum [Sdd*FSD`] -! IRE2(5,i) =IRE2(5,i) +FMS(5,i) ! Sum [Sdn*FSD`] -! IRE2(6,i) =IRE2(6,i) +FMS(6,i) ! Sum [Sdt*FSD`] -! IRE2(7,i) =IRE2(7,i) +FMS(7,i) ! Sum [Sdd2*FSD`] -! IRE2(8,i) =IRE2(8,i) +FMS(8,i) ! Sum [Sd2*FSD`] -! IRE2(9,i) =IRE2(9,i) +FMS(9,i) ! Sum [DivN*FSD`] -! IRE2(10,i)=IRE2(10,i)+FMS(10,i) ! Sum [|DivN|*FSD`] -! IRE2(11,i)=IRE2(11,i)+FMS(11,i) ! Sum [(dc/dx)/c*FSD`] -! IRE2(12,i)=IRE2(12,i)+FMS(12,i) ! Sum [-(dc/dn)/c*FSD`] -! IRE2(13,i)=IRE2(13,i)+FMS(13,i) ! Sum [(1/FSD`)*(d(FSD`)/dx)*FSD`] -! IRE2(14,i)=IRE2(14,i)+FMS(14,i) ! Sum [(1/FSD`)*(d(FSD`)/dy)*FSD`] -! IRE2(15,i)=IRE2(15,i)+FMS(15,i) ! Sum [(1/FSD`)*(d(FSD`)/dz)*FSD`] -! IRE2(16,i)=IRE2(16,i)+FMS(16,i) ! Sum [Nx*FSD`] -! IRE2(17,i)=IRE2(17,i)+FMS(17,i) ! Sum [Ny*FSD`] -! IRE2(18,i)=IRE2(18,i)+FMS(18,i) ! Sum [Nz*FSD`] -! IRE2(19,i)=IRE2(19,i)+FMS(19,i) ! Sum [u*FSD`] -! IRE2(20,i)=IRE2(20,i)+FMS(20,i) ! Sum [v*FSD`] -! IRE2(21,i)=IRE2(21,i)+FMS(21,i) ! Sum [w*FSD`] -! IRE2(22,i)=IRE2(22,i)+FMS(22,i) ! Sum [ (V dot N) *FSD`] -! IRE2(23,i)=IRE2(23,i)+FMS(23,i) ! Sum [ (N dot N) *FSD`] -! IRE2(24,i)=IRE2(24,i)+FMS(24,i) ! Sum [ d(vn)/dn * FSD`] -! IRE2(25,i)=IRE2(25,i)+FMS(25,i) ! Sum [ d(sd)/dn * FSD`] -! -! IRE2(34,i)=IRE2(34,i)+FMS(26,i) ! Sum [ (N dot (grad.(FSD`))/FSD`) * FSD`] - - IRE3(1,i)=IRE3(1,i)+CM_b(1,i) ! Sum [c*u] - IRE3(2,i)=IRE3(2,i)+CM_b(2,i) ! Sum [c*v] - IRE3(3,i)=IRE3(3,i)+CM_b(3,i) ! Sum [c*w] - IRE3(4,i)=IRE3(4,i)+CM_b(4,i) ! Sum [c*rho] - - IRE4(1,i)=IRE4(1,i)+CM_u(1,i) ! Sum [(1-c)*u] - IRE4(2,i)=IRE4(2,i)+CM_u(2,i) ! Sum [(1-c)*v] - IRE4(3,i)=IRE4(3,i)+CM_u(3,i) ! Sum [(1-c)*w] - IRE4(4,i)=IRE4(4,i)+CM_u(4,i) ! Sum [(1-c)*rho] - -! IRE7(1,i)=IRE7(1,i)+KMS(1,i) ! Sum [ vn * d2c/dn2 ] -! IRE7(2,i)=IRE7(2,i)+KMS(2,i) ! Sum [ sd * d2c/dn2 ] - - ENDDO - - END SUBROUTINE SAVE_SUM - - SUBROUTINE AVERAGING - REAL, DIMENSION(1,nxp) :: ux,dux - INTEGER :: i,j,k,jj - REAL :: ndata,nfile - - WRITE(*,*) 'countnum_AVG',countnum - nfile=REAL(countnum) - ndata=nfile*REAL((eyp-syp+1)*nzp) - write(*,'(a30,4i5)')'AVERAGING,syp,eyp,nzp,nfile',syp,eyp,nzp,nint(nfile) - -! Simple average, < > - IRE1(1:7,:)=IRE1(1:7,:)/ndata - !IRE1(1:17,:)=IRE1(1:17,:)/ndata - !IRE1(19:28,:)=IRE1(19:28,:)/ndata - -! Surface average, < >k (IRE7(1~6)) - !IRE7(1:2,:)=IRE7(1:2,:)/ndata -! DO i=1,nxp -! IRE7(3,i) = IRE7(1,i) + IRE7(2,i) ! k * -! IRE7(4:5,i)= IRE7(1:2,i)/IRE1(19,i) -! IRE7(6,i) = IRE7(4,i) + IRE7(5,i) -! -! if(IRE1(19,i).eq.0.) IRE7(4:6,i)=0. -! ENDDO - - -!! Surface average, < >f ================================ -! DO i=1,nxp -! IRE2(1,i)=IRE2(1,i)/favg_ndata(i) ! < fsd2 > -! if(favg_ndata(i).eq.0.) IRE2(1,i)=0. -! IF(IRE2(1,i).ne.0.) THEN -! IRE2(2:25,i)=IRE2(2:25,i)/favg_ndata(i)/IRE2(1,i) -! IRE2(34,i)=-1*IRE2(34,i)/favg_ndata(i)/IRE2(1,i) -! IRE2(26,i)=IRE2(24,i)+IRE2(25,i) ! f -! -! IRE2(27,i)=IRE2(19,i)*IRE2(16,i)+IRE2(20,i)*IRE2(17,i)+IRE2(21,i)*IRE2(18,i) ! f dot f -! IRE2(28,i)=IRE2(22,i)-IRE2(27,i) ! f -! IRE2(29,i)=IRE2(16,i)**2.+IRE2(17,i)**2.+IRE2(18,i)**2. ! f dot f -! IRE2(30,i)=IRE2(23,i)-IRE2(29,i) ! f -! IRE2(31,i)=SQRT(IRE2(29,i)) ! |f| = abs(f) -! IRE2(32,i)=IRE2(2,i)+IRE2(22,i) ! f -! ELSE -! IRE2(2:32,i)=0. ! To avoid infinity -! ENDIF -! ENDDO - -!! df/dx -! DO i=1,nxp -! ux(1,i)=IRE2(16,i) ! f -! ENDDO -! CALL dfnonp(nxp,hxp,ux,dux,1,1) -! DO i=1,nxp -! IRE2(33,i)=dux(1,i) ! df/dx -! ENDDO - -! Conditional average, < >b, < >u - IRE3(1:4,:)=IRE3(1:4,:)/ndata ! - IRE4(1:4,:)=IRE4(1:4,:)/ndata ! <(1-c)A> - - DO i=1,nxp - IRE3(1:4,i)=IRE3(1:4,i)/IRE1(1,i) ! < >b - IRE4(1:4,i)=IRE4(1:4,i)/(1.-IRE1(1,i)) ! < >u - IF(IRE1(1,i).eq.0.) IRE3(1:4,i)=0. - IF(IRE1(1,i).eq.1.) IRE4(1:4,i)=0. - ENDDO - -!$omp parallel do - DO i=1,nxp - DO jj=1,(eyp-syp+1) - DO k=1,nzp - !IRE1(18,i)=IRE1(18,i)+c_g(i,jj,k) - IRE3(5:8,i)=IRE3(5:8,i)+CM_b_g(1:4,i,jj,k) - IRE4(5:8,i)=IRE4(5:8,i)+CM_u_g(1:4,i,jj,k) - ENDDO - ENDDO - ENDDO - - DO i=1,nxp - !IRE1(18,i)=IRE1(18,i)/ndata - IRE3(5:8,i)=IRE3(5:8,i)/ndata/IRE1(1,i) ! < >b_g - IRE4(5:8,i)=IRE4(5:8,i)/ndata/(1.-IRE1(1,i)) ! < >u_g - IF(IRE1(1,i).eq.0.) IRE3(5:8,i)=0. - IF(IRE1(1,i).eq.1.) IRE4(5:8,i)=0. - ENDDO - -!$omp parallel do - DO i=1,nxp - DO jj=1,(eyp-syp+1) - DO k=1,nzp - CM_b_g(1:4,i,jj,k)=CM_b_g(1:4,i,jj,k)/nfile/IRE1(1,i) ! < >b_g - CM_u_g(1:4,i,jj,k)=CM_u_g(1:4,i,jj,k)/nfile/(1.-IRE1(1,i)) ! < >u_g - IF(IRE1(1,i).eq.0.) CM_b_g(1:4,i,jj,k)=0. - IF(IRE1(1,i).eq.1.) CM_u_g(1:4,i,jj,k)=0. - ENDDO - ENDDO - ENDDO - -! Local averages - u_g=u_g/nfile - c_g=c_g/nfile - - END SUBROUTINE AVERAGING - - - SUBROUTINE CAL_FLUCTUATION - INTEGER :: i,j,k,jj - - DO i=1,nxp - DO j=syp,eyp - jj=j-syp+1 - DO k=1,nzp -! Total mean based fluctuations - u_dot(1:3,i,jj,k)=m_v(2:4,i,j,k)/m_v(1,i,j,k)-IRE1(5:7,i) ! u',v',w' - - ub_dot(1:3,i,jj,k)=m_v(2:4,i,j,k)/m_v(1,i,j,k)-IRE3(1:3,i) ! (u_b)',(v_b)',(w_b)' - uu_dot(1:3,i,jj,k)=m_v(2:4,i,j,k)/m_v(1,i,j,k)-IRE4(1:3,i) ! (u_u)',(v_u)',(w_u)' - !c_dot(i,jj,k)=c(i,j,k)-IRE1(1,i) ! c' - !FSD_dot(i,jj,k)=cgm(i,j,k)-IRE1(2,i) ! (FSD')' !dhkim - -! Local mean based fluctuations - u_dot_g(1,i,jj,k)=m_v(2,i,j,k)/m_v(1,i,j,k)-u_g(1,i,jj,k) ! u' at each grid - u_dot_g(2,i,jj,k)=m_v(3,i,j,k)/m_v(1,i,j,k)-u_g(2,i,jj,k) ! u' at each grid - u_dot_g(3,i,jj,k)=m_v(4,i,j,k)/m_v(1,i,j,k)-u_g(3,i,jj,k) ! u' at each grid - - ub_dot_g(1:3,i,jj,k)=m_v(2:4,i,j,k)/m_v(1,i,j,k)-CM_b_g(1:3,i,jj,k) ! (u_b)'_g,(v_b)'_g,(w_b)'_g - uu_dot_g(1:3,i,jj,k)=m_v(2:4,i,j,k)/m_v(1,i,j,k)-CM_u_g(1:3,i,jj,k) ! (u_u)'_g,(v_u)'_g,(w_u)'_g - !c_dot_g(i,jj,k)=c(i,j,k)-c_g(i,jj,k) ! c'_g - - ENDDO - ENDDO - ENDDO - - END SUBROUTINE CAL_FLUCTUATION - - SUBROUTINE SAVE_SUM_FLUCTUATION - INTEGER :: i,j,k,jj - RMS=0.; RMS_g=0.; RMS_b=0.; RMS_u=0.; COV=0. - RMS_b_g=0.; RMS_u_g=0. ; COV_g=0. - RMS_b_2=0.; RMS_u_2=0. - -!$omp parallel do - DO i=1,nxp - DO j=syp,eyp - jj=j-syp+1 - DO k=1,nzp - RMS(1,i)=RMS(1,i)+u_dot(1,i,jj,k)**2. ! Sum [u'^2] - RMS(2,i)=RMS(2,i)+u_dot(2,i,jj,k)**2. ! Sum [v'^2] - RMS(3,i)=RMS(3,i)+u_dot(3,i,jj,k)**2. ! Sum [w'^2] - RMS(4,i)=RMS(4,i)+0.5*(u_dot(1,i,jj,k)**2.+u_dot(2,i,jj,k)**2.+& - u_dot(3,i,jj,k)**2.) ! Sum [tke] -!--------------------uPrime-------------------------------------------------------------------------------- -! RMS(5,i)=RMS(5,i)+SQRT((u_dot(1,i,jj,k)**2.+u_dot(2,i,jj,k)**2.+& -! u_dot(3,i,jj,k)**2.)/3) ! Sum [SQRT(1/3(u'^2 + v'^2 + w'^2))] -! RMS(6,i)=RMS(6,i)+SQRT(u_dot(1,i,jj,k)**2) ! Sum [SQRT(u'^2)] -! RMS(7,i)=RMS(7,i)+SQRT(u_dot(2,i,jj,k)**2) ! Sum [SQRT(v'^2)] -! RMS(8,i)=RMS(8,i)+SQRT(u_dot(3,i,jj,k)**2) ! Sum [SQRT(w'^2)] - RMS(5,i)=RMS(5,i)+((u_dot(1,i,jj,k)**2.+u_dot(2,i,jj,k)**2.+& - u_dot(3,i,jj,k)**2.)/3) ! Sum [1/3(*u'^2 + v'^2 + w'^2)] - RMS(6,i)=RMS(6,i)+(u_dot(1,i,jj,k)**2) ! Sum [(u'^2)] - RMS(7,i)=RMS(7,i)+(u_dot(2,i,jj,k)**2) ! Sum [(v'^2)] - RMS(8,i)=RMS(8,i)+(u_dot(3,i,jj,k)**2) ! Sum [(w'^2)] -!====================uPrime================================================================================ - -! IF (c(i,j,k).gt.min_c) THEN - RMS_b(1:3,i)=RMS_b(1:3,i)+c(i,j,k)*ub_dot(1:3,i,jj,k)**2. ! Sum [c*[(u_b)'^2]] - RMS_b(4,i)=RMS_b(4,i)+c(i,j,k)*0.5*(ub_dot(1,i,jj,k)**2.+& - ub_dot(2,i,jj,k)**2.+ub_dot(3,i,jj,k)**2.) ! Sum [c*tke_b] - - RMS_u(1:3,i)=RMS_u(1:3,i)+(1.-c(i,j,k))*uu_dot(1:3,i,jj,k)**2. ! Sum [(1-c)*[(u_u)'^2]] - RMS_u(4,i)=RMS_u(4,i)+(1.-c(i,j,k))*0.5*(uu_dot(1,i,jj,k)**2.+& - uu_dot(2,i,jj,k)**2.+uu_dot(3,i,jj,k)**2.) ! Sum [tke_u] -!--------------------uPrime-------------------------------------------------------------------------------- -! RMS_b_2(1:3,i)=RMS_b_2(1:3,i)+c(i,j,k)*u_dot(1:3,i,jj,k)**2. ! Sum [c*[u'^2]] -! RMS_b_2(4,i)=RMS_b_2(4,i)+c(i,j,k)*(u_dot(1,i,jj,k)**2.+& -! u_dot(2,i,jj,k)**2.+u_dot(3,i,jj,k)**2.)/3. ! Sum [c*1/3*[u'^2 + v'^2 + w'^2]] -! -! RMS_u_2(1:3,i)=RMS_u_2(1:3,i)+(1.-c(i,j,k))*u_dot(1:3,i,jj,k)**2. ! Sum [(1-c)*[u'^2]] -! RMS_u_2(4,i)=RMS_u_2(4,i)+(1.-c(i,j,k))*(u_dot(1,i,jj,k)**2.+& -! u_dot(2,i,jj,k)**2.+u_dot(3,i,jj,k)**2.)/3. ! Sum [(1-c)*1/3*[u'^2 + v'^2 + w'^2]] - - -! RMS_b_2(1:3,i)=RMS_b_2(1:3,i)+c(i,j,k)*SQRT(u_dot(1:3,i,jj,k)**2.) ! Sum[c*SQRT[u'],c*[v'],c*[w']] -! RMS_b_2(4,i)=RMS_b_2(4,i)+c(i,j,k)*SQRT((u_dot(1,i,jj,k)**2.+& -! u_dot(2,i,jj,k)**2.+u_dot(3,i,jj,k)**2.)/3.) ! Sum [c*rmsU`] -! -! RMS_u_2(1:3,i)=RMS_u_2(1:3,i)+(1.-c(i,j,k))*SQRT(u_dot(1:3,i,jj,k)**2.) ! Sum [(1-c)*SQRT[u'],[v'],[x']] -! RMS_u_2(4,i)=RMS_u_2(4,i)+(1.-c(i,j,k))*SQRT((u_dot(1,i,jj,k)**2.+& -! u_dot(2,i,jj,k)**2.+u_dot(3,i,jj,k)**2.)/3.) ! Sum [(1-c)*rmsU`] - - RMS_b_2(1:3,i)=RMS_b_2(1:3,i)+c(i,j,k)*(u_dot(1:3,i,jj,k)**2.) - ! Sum[c*[u'^2],c*[v'^2],c*[w'^2]] - RMS_b_2(4,i)=RMS_b_2(4,i)+c(i,j,k)*((u_dot(1,i,jj,k)**2.+& - u_dot(2,i,jj,k)**2.+u_dot(3,i,jj,k)**2.)/3.) - ! Sum [c*(1/3*[u'^2 + v'^2 + w'^2])] - - RMS_u_2(1:3,i)=RMS_u_2(1:3,i)+(1.-c(i,j,k))*(u_dot(1:3,i,jj,k)**2.) - ! Sum [(1-c)*[u'],(1-c)*[v'],(1-c)*[x']] - RMS_u_2(4,i)=RMS_u_2(4,i)+(1.-c(i,j,k))*((u_dot(1,i,jj,k)**2.+& - u_dot(2,i,jj,k)**2.+u_dot(3,i,jj,k)**2.)/3.) - ! Sum [(1-c)*1/3*[u'^2 + v'^2 + w'^2]] -!====================uPrime================================================================================ - -! COV(1,i)=COV(1,i)+u_dot(1,i,jj,k)*c_dot(i,jj,k) ! Sum [u'c'] -! COV(2,i)=COV(2,i)+u_dot(2,i,jj,k)*c_dot(i,jj,k) ! Sum [v'c'] -! COV(3,i)=COV(3,i)+u_dot(3,i,jj,k)*c_dot(i,jj,k) ! Sum [w'c'] -! COV(4,i)=COV(4,i)+u_dot(1,i,jj,k)*FSD_dot(i,jj,k) ! Sum [u'(FSD')'] !dhkim - - RMS_g(1,i)=RMS_g(1,i)+u_dot_g(1,i,jj,k)**2. ! Sum [u'^2_g] - RMS_g(2,i)=RMS_g(2,i)+u_dot_g(2,i,jj,k)**2. ! Sum [v'^2_g] - RMS_g(3,i)=RMS_g(3,i)+u_dot_g(3,i,jj,k)**2. ! Sum [w'^2_g] - RMS_g(4,i)=RMS_g(4,i)+0.5*(u_dot_g(1,i,jj,k)**2.+ & - u_dot_g(2,i,jj,k)**2.+u_dot_g(3,i,jj,k)**2.) ! Sum [tke_g] - - RMS_b_g(1:3,i)=RMS_b_g(1:3,i)+c(i,j,k)*ub_dot_g(1:3,i,jj,k)**2. ! Sum [c*[(u_b)'^2]_g] - RMS_b_g(4,i)=RMS_b_g(4,i)+c(i,j,k)*0.5*(ub_dot_g(1,i,jj,k)**2.+& - ub_dot_g(2,i,jj,k)**2.+ub_dot_g(3,i,jj,k)**2.) ! Sum [tke_b_g] - - RMS_u_g(1:3,i)=RMS_u_g(1:3,i)+(1.-c(i,j,k))*uu_dot_g(1:3,i,jj,k)**2. ! Sum [(1-c)*[(u_u)'^2]_g] - RMS_u_g(4,i)=RMS_u_g(4,i)+(1.-c(i,j,k))*0.5*(uu_dot_g(1,i,jj,k)**2.+& - uu_dot_g(2,i,jj,k)**2.+uu_dot_g(3,i,jj,k)**2.) ! Sum [tke_u_g] - -! COV_g(1,i)=COV_g(1,i)+u_dot_g(1,i,jj,k)*c_dot_g(i,jj,k) ! Sum [u'c']_g -! COV_g(2,i)=COV_g(2,i)+u_dot_g(2,i,jj,k)*c_dot_g(i,jj,k) ! Sum [v'c']_g -! COV_g(3,i)=COV_g(3,i)+u_dot_g(3,i,jj,k)*c_dot_g(i,jj,k) ! Sum [w'c']_g -! ENDIF - ENDDO ! z -loop - ENDDO ! y -loop - ENDDO ! x -loop - - DO i=1,nxp - IRE5(1,i)=IRE5(1,i)+RMS(1,i) ! Sum [u'^2] - IRE5(2,i)=IRE5(2,i)+RMS(2,i) ! Sum [v'^2] - IRE5(3,i)=IRE5(3,i)+RMS(3,i) ! Sum [w'^2] - IRE5(4,i)=IRE5(4,i)+RMS(4,i) ! Sum [tke] - - IRE5(5,i) =IRE5(5,i)+RMS_b(1,i) ! Sum [c*(u_b)^2] - IRE5(6,i) =IRE5(6,i)+RMS_b(2,i) ! Sum [c*(v_b)^2] - IRE5(7,i) =IRE5(7,i)+RMS_b(3,i) ! Sum [c*(w_b)^2] - IRE5(8,i) =IRE5(8,i)+RMS_b(4,i) ! Sum [tke_b] - - IRE5(9,i) =IRE5(9,i) +RMS_u(1,i) ! Sum [(1-c)*(u_u)^2] - IRE5(10,i)=IRE5(10,i)+RMS_u(2,i) ! Sum [(1-c)*(v_u)^2] - IRE5(11,i)=IRE5(11,i)+RMS_u(3,i) ! Sum [(1-c)*(w_u)^2] - IRE5(12,i)=IRE5(12,i)+RMS_u(4,i) ! Sum [tke_u] - -! IRE5(13,i)=IRE5(13,i)+COV(1,i) ! Sum [u'c'] -! IRE5(14,i)=IRE5(14,i)+COV(2,i) ! Sum [v'c'] -! IRE5(15,i)=IRE5(15,i)+COV(3,i) ! Sum [w'c'] -! IRE5(16,i)=IRE5(16,i)+COV(4,i) ! Sum [u'(FSD')'] !dhkim -! - IRE5(14,i)=IRE5(14,i)+RMS(6,i) ! Sum [u'^2] - IRE5(15,i)=IRE5(15,i)+RMS(7,i) ! Sum [v'^2] - IRE5(16,i)=IRE5(16,i)+RMS(8,i) ! Sum [w'^2] - - IRE5(17,i)=IRE5(17,i)+RMS(5,i) ! Sum [1/3(*u'^2 + v'^2 + w'^2)] - - IRE5(18,i) =IRE5(18,i)+RMS_b_2(1,i) ! Sum [c*(u'^2)] - IRE5(19,i) =IRE5(19,i)+RMS_b_2(2,i) ! Sum [c*(v'^2)] - IRE5(20,i) =IRE5(20,i)+RMS_b_2(3,i) ! Sum [c*(w'^2)] - IRE5(21,i) =IRE5(21,i)+RMS_b_2(4,i) ! Sum [c*(1/3*[u'^2 + v'^2 + w'^2])] - - IRE5(22,i) =IRE5(22,i)+RMS_u_2(1,i) ! Sum [(1-c)*(u'^2)] - IRE5(23,i) =IRE5(23,i)+RMS_u_2(2,i) ! Sum [(1-c)*(v'^2)] - IRE5(24,i) =IRE5(24,i)+RMS_u_2(3,i) ! Sum [(1-c)*(w'^2)] - IRE5(25,i) =IRE5(25,i)+RMS_u_2(4,i) ! Sum [(1-c)*(1/3*[u'^2 + v'^2 + w'^2])] - - - IRE6(1,i)=IRE6(1,i)+RMS_g(1,i) ! Sum [u'^2_g] - IRE6(2,i)=IRE6(2,i)+RMS_g(2,i) ! Sum [v'^2_g] - IRE6(3,i)=IRE6(3,i)+RMS_g(3,i) ! Sum [w'^2_g] - IRE6(4,i)=IRE6(4,i)+RMS_g(4,i) ! Sum [tke_g] - - IRE6(5,i) =IRE6(5,i)+RMS_b_g(1,i) ! Sum [c*(u_b)^2_g] - IRE6(6,i) =IRE6(6,i)+RMS_b_g(2,i) ! Sum [c*(v_b)^2_g] - IRE6(7,i) =IRE6(7,i)+RMS_b_g(3,i) ! Sum [c*(w_b)^2_G] - IRE6(8,i) =IRE6(8,i)+RMS_b_g(4,i) ! Sum [tke_b_g] - - IRE6(9,i) =IRE6(9,i) +RMS_u_g(1,i) ! Sum [(1-c)*(u_u)^2_g] - IRE6(10,i)=IRE6(10,i)+RMS_u_g(2,i) ! Sum [(1-c)*(v_u)^2_g] - IRE6(11,i)=IRE6(11,i)+RMS_u_g(3,i) ! Sum [(1-c)*(w_u)^2_g] - IRE6(12,i)=IRE6(12,i)+RMS_u_g(4,i) ! Sum [tke_u_g] - -! IRE6(13,i)=IRE6(13,i)+COV_g(1,i) ! Sum [u'c']_g -! IRE6(14,i)=IRE6(14,i)+COV_g(2,i) ! Sum [v'c']_g -! IRE6(15,i)=IRE6(15,i)+COV_g(3,i) ! Sum [w'c']_g - ENDDO - - END SUBROUTINE SAVE_SUM_FLUCTUATION - - SUBROUTINE FLUCTUATION_AVG - REAL, DIMENSION(1,nxp) :: ux,dux - INTEGER :: i - REAL :: ndata - WRITE(*,*) 'countnum_FLUC_AVG',countnum - - ndata=REAL(countnum*(eyp-syp+1)*nzp) - -! For rms quantities - - IRE5(1:3,:)=SQRT(IRE5(1:3,:)/ndata) - IRE5(4,:)=IRE5(4,:)/ndata -!--------------------uPrime-------------------------------------------------------------------------------- - IRE5(14:16,:)=SQRT(IRE5(14:16,:)/ndata) !RMS(ux`),RMS(uy`),RMS(uz`) - IRE5(17,:)=SQRT(IRE5(17,:)/ndata) ! [RMS(U`)] - !IRE5(17,:)=IRE5(17,:)/ndata ! [] -!====================uPrime================================================================================ - - DO i=1,nxp - IRE5(5:7,i)=SQRT(IRE5(5:7,i)/ndata/IRE1(1,i)) - IRE5(8,i)=IRE5(8,i)/ndata/IRE1(1,i) - IRE5(9:11,i)=SQRT(IRE5(9:11,i)/ndata/(1.-IRE1(1,i))) - IRE5(12,i)=IRE5(12,i)/ndata/(1.-IRE1(1,i)) - IF(IRE1(1,i).le.0.) IRE5(5:8,i)=0. - IF(IRE1(1,i).eq.1.) IRE5(9:12,i)=0. - -!--------------------uPrime-------------------------------------------------------------------------------- - IRE5(18:20,i)=SQRT(IRE5(18:20,i)/ndata/IRE1(1,i)) !RMS(ux`)_b,RMS(uy`)_b,RMS(uz`)_b - IRE5(21,i)=SQRT(IRE5(21,i)/ndata/IRE1(1,i)) ! [RMS(U`)_b] - IF(IRE1(1,i).le.0.) IRE5(18:21,i)=0. - - IRE5(22:24,i)=SQRT(IRE5(22:24,i)/ndata/(1.-IRE1(1,i))) !RMS(ux`)_u,RMS(uy`)_u,RMS(uz`)_u - IRE5(25,i)=SQRT(IRE5(25,i)/ndata/(1.-IRE1(1,i))) ! [RMS(U`)_u] - IF(IRE1(1,i).eq.1.) IRE5(22:25,i)=0. - -! IRE5(18:20,i)=IRE5(18:20,i)/ndata/IRE1(1,i) -! IRE5(21,i)=IRE5(21,i)/ndata/IRE1(1,i) ! [b] -! IF(IRE1(1,i).le.0.) IRE5(18:21,i)=0. -! -! IRE5(22:24,i)=IRE5(22:24,i)/ndata/(1.-IRE1(1,i)) -! IRE5(25,i)=IRE5(25,i)/ndata/(1.-IRE1(1,i)) ! [u] -! IF(IRE1(1,i).eq.1.) IRE5(22:25,i)=0. -!====================uPrime================================================================================ - ENDDO - - - -! IRE5(17,i)=IRE5(17,i)+RMS(5,i) ! Sum [turbulent intensity] -! -! IRE5(18,i) =IRE5(18,i)+RMS_b_2(1,i) ! Sum [c*u`^2] -! IRE5(19,i) =IRE5(19,i)+RMS_b_2(2,i) ! Sum [c*v`^2] -! IRE5(20,i) =IRE5(20,i)+RMS_b_2(3,i) ! Sum [c*w`^2] -! IRE5(21,i) =IRE5(21,i)+RMS_b_2(4,i) ! Sum [turbulent intensity_b] -! -! IRE5(22,i) =IRE5(22,i)+RMS_u_2(1,i) ! Sum [(1-c)*u`^2] -! IRE5(23,i) =IRE5(23,i)+RMS_u_2(2,i) ! Sum [(1-c)*v`^2] -! IRE5(24,i) =IRE5(24,i)+RMS_u_2(3,i) ! Sum [(1-c)*w`^2] -! IRE5(25,i) =IRE5(25,i)+RMS_u_2(4,i) ! Sum [turbulent intensity_u] - - - - - IRE6(1:3,:)=SQRT(IRE6(1:3,:)/ndata) - IRE6(4,:)=IRE6(4,:)/ndata - - DO i=1,nxp - IRE6(5:7,i)=SQRT(IRE6(5:7,i)/ndata/IRE1(1,i)) - IRE6(8,i)=IRE6(8,i)/ndata/IRE1(1,i) - IRE6(9:11,i)=SQRT(IRE6(9:11,i)/ndata/(1.-IRE1(1,i))) - IRE6(12,i)=IRE6(12,i)/ndata/(1.-IRE1(1,i)) - IF(IRE1(1,i).le.0.) IRE6(5:8,i)=0. - IF(IRE1(1,i).eq.1.) IRE6(9:12,i)=0. - ENDDO - - IRE6(13:15,:)=IRE6(13:15,:)/ndata - -!! For ST -! DO i=1,nxp -! ux(1,i)=IRE1(2,i) ! -! ENDDO -! CALL dfnonp(nxp,hxp,ux(1,:),dux(1,:),1,1) -! -! DO i=1,nxp -! IRE8(1,i)=IRE1(11,i)/IRE1(1,i) ! (1/)*(d/dx) = 1/Lw1 -! IF(IRE1(1,i).le.0.) IRE8(1,i)=0. -! IRE8(2,i)=dux(1,i)/IRE1(2,i) ! (1/)*(d/dx)= 1/Lw2 -! IF(IRE1(2,i).eq.0.) IRE8(2,i)=0. -! IRE8(3,i)= -IRE5(13,i)/IRE1(11,i) ! Dtu -! IRE8(4,i)= -IRE6(13,i)/IRE1(11,i) ! Dtu_g -! IF(IRE1(11,i).eq.0.) IRE8(3:4,i)=0. -! IRE8(5,i) = SQRT(IRE1(10,i)/(IRE1(10,i)+IRE8(3,i)))*SL_u/IRE1(10,i) !SL_u/Dmu * SQRT[ Dmu/(Dmu+Dtu) ] = 1/Lw_3 -! if(IRE1(10,i)/(IRE1(10,i)+IRE8(3,i)).lt.0.) IRE8(5,i)=0. -! -! IRE8(6,i) = (IRE1(10,i)+IRE8(3,i))*IRE8(1,i) ! ST1 -! IRE8(7,i) = (IRE1(10,i)+IRE8(3,i))*IRE8(2,i) ! ST2 -! IRE8(8,i) = (IRE1(10,i)+IRE8(3,i))*(IRE2(11,i)-IRE2(9,i)) ! ST3 -! IRE8(9,i) = (IRE1(10,i)+IRE8(3,i))*(IRE2(12,i)-IRE2(9,i)) ! ST4 -! IRE8(10,i) = SL_u * SQRT(1.+IRE8(3,i)/IRE1(10,i)) ! ST5 -! if((1.+IRE8(3,i)/IRE1(10,i)).lt.0.) IRE8(10,i)=0. -! -! IRE8(11,i) = 1./IRE2(11,i) ! Lm*_x -! if(IRE2(11,i).eq.0.) IRE8(11,i)=0. -! -! IRE8(12,i)= 1./IRE2(12,i) ! Lm*_n -! if(IRE2(12,i).eq.0.) IRE8(12,i)=0. -! -! IRE8(13,i)= 1./IRE8(1,i) ! Lw -! if(IRE8(1,i).eq.0.) IRE8(13,i)=0. -! -! IRE8(14,i) = 1./IRE8(5,i) ! Lw_3 -! if(IRE8(5,i).le.0.) IRE8(14,i)=0. -! -! IRE8(15,i)=dux(1,i) ! d/dx !dhkim -! IRE8(16,i)= -IRE5(16,i)/IRE8(15,i) ! Dts !dhkim -! if(IRE8(15,i).eq.0.) IRE8(16,i)=0. -! IRE8(17,i)= IRE1(20,i)/(1.-IRE1(1,i)) ! 1/(1-c)*d(1-c)/dx !dhkim -! if(IRE1(1,i).eq.1.) IRE8(17,i)=0. -! -! -! IRE8(18,i) = SL_u/IRE1(10,i) * SQRT( IRE1(10,i)/(IRE1(10,i)+IRE8(3,i)) ) ! 1/L_LE_3 -! if(IRE1(10,i).eq.0.) IRE8(18,i)=0. -! if((IRE1(10,i)/(IRE1(10,i)+IRE8(3,i))).lt.0.) IRE8(18,i)=0. -! IRE8(19,i) = (IRE2(34,i)-IRE2(9,i))/IRE2(31,i) ! 1/L_LE_4 -! if(IRE2(31,i).eq.0.) IRE8(19,i)=0. -! IRE8(20,i) = (IRE8(3,i)+IRE1(10,i))*IRE8(18,i) ! ST_6 -! IRE8(21,i) = (IRE8(3,i)+IRE1(10,i))*IRE8(19,i) ! ST_7 -! IRE8(22,i) = (IRE8(3,i)+IRE1(10,i))*((IRE2(11,i)-IRE2(9,i))/IRE2(31,i)) ! ST_8 (ST_3/|f|) -! if(IRE2(31,i).eq.0.) IRE8(22,i)=0. -! -! IRE8(23,i) = SL_u/IRE1(10,i) - IRE2(9,i) ! 1/L_LE_5=1/Lm-f -! IRE8(24,i) = (IRE8(3,i)+IRE1(10,i))*IRE8(23,i) ! ST_9 -! IRE8(25,i) = IRE1(24,i)/IRE1(11,i) ! 1/L_LE_6=1/(d/dx)*(d2/dx2) -! if(IRE1(11,i).eq.0.) IRE8(25,i)=0. -! IRE8(26,i) = (IRE8(3,i)+IRE1(10,i))*IRE8(25,i) ! ST_10 -! ENDDO - - END SUBROUTINE FLUCTUATION_AVG - -! SUBROUTINE FINAL_AVG -! REAL, DIMENSION(4,nxp) :: ux,dux -! INTEGER :: i -! DO i=1,nxp -! IRE9(1,i) = IRE1(5,i)*IRE1(11,i) +IRE1(6,i)*IRE1(12,i) +IRE1(7,i)*IRE1(13,i) -! ! dot Grad. -! IRE9(2,i) = IRE8(16,i)*IRE1(23,i) ! Dts*Lap. -! IRE9(3,i) = IRE2(2,i)*IRE1(2,i) ! f* -! IRE9(4,i) = IRE8(16,i)*IRE1(2,i)*IRE2(33,i) ! Dts**Div.(f) -! IRE9(5,i) = IRE2(28,i)*IRE1(2,i) ! f* -! IRE9(6,i) = IRE9(1,i)-IRE9(2,i)-IRE9(3,i)-IRE9(4,i)-IRE9(5,i) ! cEqn.Balance -! -! IRE9(12,i) = IRE1(20,i)/(1-IRE1(1,i)) ! 1/(1-)*(d(1-)/dx) -! if(IRE1(1,i).eq.1.) IRE9(12,i)=0. ! = 1/L_TE -! -! ENDDO -! -! DO i=1,nxp -! ux(1,i)=IRE8(3,i) !
-! ux(2,i)=IRE8(3,i)+IRE1(10,i) !
+ -! ux(3,i)=1/IRE8(1,i) ! L_LE -! if(IRE8(1,i).eq.0.) ux(3,i)=0. ! = 1/L_TE -! ux(4,i)=1/IRE9(12,i) ! L_TE -! if(IRE9(12,i).eq.0.) ux(4,i)=0. ! = 1/L_TE -! ENDDO -! CALL dfnonp(nxp,hxp,ux(1:4,:),dux(1:4,:),4,1) -! -! DO i=1,nxp -! IRE9(7,i) = IRE1(27,i)/IRE1(19,i) ! K -! if(IRE1(19,i).eq.0.) IRE9(7,i)=0. -! IRE9(8,i) = IRE2(16,i)/IRE9(7,i) ! f/K -! if(IRE9(7,i).eq.0.) IRE9(8,i)=0. -! IRE9(9,i) = dux(1,i) ! d
/dx -! IRE9(10,i) = dux(2,i) ! d/dx -! IRE9(11,i) = IRE1(28,i)/IRE1(20,i) ! 1/(d<1-c>/dx)*(d2<1-c>/dx2) -! ! IRE9(12,i) is located above Do loop. -! !IRE9(12,i) = IRE1(20,i)/(1-IRE1(1,i)) ! 1/(1-)*(d(1-)/dx) -! ! = 1/L_TE -! IRE9(13,i) = dux(3,i) ! d(L_LE)/dx -! if(ux(3,i).eq.0.) dux(3,i)=0. ! = 1/L_TE -! IRE9(14,i) = dux(4,i) ! d(L_TE)/dx -! if(ux(4,i).eq.0.) dux(4,i)=0. ! = 1/L_TE -! ENDDO -! END SUBROUTINE FINAL_AVG - - - SUBROUTINE SAVE_AVG_RESULTS - INTEGER :: i - OPEN (200,FILE="qEdge_X.dat") -! IRE1 - WRITE(200,*) 'VARIABLES = "X","","","","","","",""' ! 8 - !WRITE(200,*) 'VARIABLES = "X","","","","","","","",""' ! 9 -! WRITE(200,*) '"","","","","","","",""' ! 8 -> 17 -! WRITE(200,*) '"","_g",""' ! 3 -> 20 -! WRITE(200,*) '"d(1-)/dx","d(1-)/dy","d(1-)/dz"' ! 3 -> 23 -! WRITE(200,*) '"","","",""' ! 4 -> 27 -! WRITE(200,*) '"",""' ! 2 -> 29 - -! IRE2 -! WRITE(200,*) '"","f","f","f","f","f","f","f"' ! 8 -> 8 -! WRITE(200,*) '"f","<|DivN|>f","<(dc/dx)/c>f"' ! 3 -> 11 -! WRITE(200,*) '"<-(dc/dn)/c>f","<(1/FSD`)*d(FSD`)/dx>f","<(1/FSD`)*d(FSD`)/dy>f"' ! 3 -> 14 -! WRITE(200,*) '"<(1/FSD`)*d(FSD`)/dz>f","f","f","f","f","f","f"' ! 7 -> 21 -! WRITE(200,*) '"f","f","f","f","f"' ! 5 -> 26 -! WRITE(200,*) '"f dot f","f","f dot f","f"' ! 4 -> 30 -! WRITE(200,*) '"|f|","f","df/dx"' ! 3 -> 33 -! WRITE(200,*) '"-f"' ! 1 -> 34 - -! IRE3 - WRITE(200,*) '"b","b","b","b","b_g","b_g","b_g","b_g"' ! 8 -> 8 -! IRE4 - WRITE(200,*) '"u","u","u","u","u_g","u_g","u_g","u_g"' ! 8 -> 8 -! IRE5 - WRITE(200,*) '"RMS(u`)","RMS(v`)","RMS(w`)",""' ! 4 -> 4 - WRITE(200,*) '"RMS(u`)b","RMS(v`)b","RMS(w`)b","b"' ! 4 -> 8 - WRITE(200,*) '"RMS(u`)u","RMS(v`)u","RMS(w`)u","u"' ! 4 -> 12 - !WRITE(200,*) '"","",""' ! 3 -> 15 - WRITE(200,*) '"","RMS(ux`)","RMS(uy`)"' ! 3 -> 15 - WRITE(200,*) '"RMS(uz`)"' ! 1 -> 16 - WRITE(200,*) '"RMS( U`)","RMS(ux`)_b","RMS(uy`)_b","RMS(uz`)_b"' ! 4 -> 20 - WRITE(200,*) '"RMS(U`)_b","RMS(ux`)_u","RMS(uy`)_u","RMS(uz`)_u"' ! 4 -> 24 - WRITE(200,*) '"RMS(U`)_u"' ! 1 -> 25 -! -! IRE6 - WRITE(200,*) '"RMS(u`)_g","RMS(v`)_g","RMS(w`)_g","_g"' ! 4 -> 4 - WRITE(200,*) '"RMS(u`)b_g","RMS(v`)b_g","RMS(w`)b_g","b_g"' ! 4 -> 8 - WRITE(200,*) '"RMS(u`)u_g","RMS(v`)u_g","RMS(w`)u_g","u_g"' ! 4 -> 12 - WRITE(200,*) '"_g","_g","_g"' ! 3 -> 15 -!! IRE7 -! WRITE(200,*) '"k","k","k"' ! 3 -> 3 -! WRITE(200,*) '"k","k","k"' ! 3 -> 6 -!! IRE8 -! WRITE(200,*) '"(1/)*(d/dx)","(1/)*(d/dx)","Dt_x","Dt_x_g"' ! 4 -> 4 -! WRITE(200,*) '"1/Lw_3_High_Turb"' ! 1 -> 5 -! WRITE(200,*) '"ST1","ST2","ST3","ST4","ST5","Lm*_x","Lm*_n","Lw","Lw_3"' ! 9 -> 14 -! WRITE(200,*) '"d/dx","Dts"' ! 2 -> 16 -! WRITE(200,*) '"(1/(1-))*(d(1-)/dx)"' ! 1 -> 17 -! WRITE(200,*) '"1/L_LE_3","1/L_LE_4","ST6","ST7","ST8"' ! 5 -> 22 -! WRITE(200,*) '"1/L_LE_5=1/Lm-f","ST_9"' ! 2 -> 24 -! WRITE(200,*) '"1/L_LE_6=1/(d/dx)*(d2/dx2)","ST_10"' ! 2 -> 26 -! -!! IRE9 -! WRITE(200,*) '"dotGrad.","Dts*Lap.","f*"' ! 3 -> 3 -! WRITE(200,*) '"Dts**Div.(f)","f*","cEqnBalance"' ! 3 -> 6 -! WRITE(200,*) '"K","f/K","d
/dx"' ! 3 -> 9 -! WRITE(200,*) '"d/dx","1/(d<1-c>/dx)*(d2<1-c>/dx2)"' ! 2 -> 11 -! WRITE(200,*) '"1/(1-)*(d(1-)/dx)","d(L_LE)/dx","d(L_TE)/dx"' ! 3 -> 14 - - - DO i=1,nxp -! WRITE(200,'(156e20.10)') REAL(i)*hxp,IRE1(1:28,i),IRE2(1:34,i),IRE3(1:8,i),& ! 1+28+34+8 = 71 -! IRE4(1:8,i),IRE5(1:16,i),IRE6(1:15,i),IRE7(1:6,i),IRE8(1:26,i),IRE9(1:14,i) -! ! 8+16+15+6+26+14 = 85 -> 156 - WRITE(200,'(64e20.10)') REAL(i)*hxp,IRE1(1:7,i),IRE3(1:8,i),& ! 1+7+8 =16 - IRE4(1:8,i),IRE5(1:25,i),IRE6(1:15,i) - ! 8+25+15=48 -> 64 - ENDDO - - - CLOSE(200) - !CLOSE(210) - - END SUBROUTINE SAVE_AVG_RESULTS +! ! IRE2 +! ! WRITE(200,*) '"","f","f","f","f","f","f","f"' ! 8 -> 8 +! ! WRITE(200,*) '"f","<|DivN|>f","<(dc/dx)/c>f"' ! 3 -> 11 +! ! WRITE(200,*) '"<-(dc/dn)/c>f","<(1/FSD`)*d(FSD`)/dx>f","<(1/FSD`)*d(FSD`)/dy>f"' ! 3 -> 14 +! ! WRITE(200,*) '"<(1/FSD`)*d(FSD`)/dz>f","f","f","f","f","f","f"' ! 7 -> 21 +! ! WRITE(200,*) '"f","f","f","f","f"' ! 5 -> 26 +! ! WRITE(200,*) '"f dot f","f","f dot f","f"' ! 4 -> 30 +! ! WRITE(200,*) '"|f|","f","df/dx"' ! 3 -> 33 +! ! WRITE(200,*) '"-f"' ! 1 -> 34 +! +! ! IRE3 +! WRITE(200,*) '"b","b","b","b","b_g","b_g","b_g","b_g"' ! 8 -> 8 +! ! IRE4 +! WRITE(200,*) '"u","u","u","u","u_g","u_g","u_g","u_g"' ! 8 -> 8 +! ! IRE5 +! WRITE(200,*) '"RMS(u`)","RMS(v`)","RMS(w`)",""' ! 4 -> 4 +! WRITE(200,*) '"RMS(u`)b","RMS(v`)b","RMS(w`)b","b"' ! 4 -> 8 +! WRITE(200,*) '"RMS(u`)u","RMS(v`)u","RMS(w`)u","u"' ! 4 -> 12 +! !WRITE(200,*) '"","",""' ! 3 -> 15 +! WRITE(200,*) '"","RMS(ux`)","RMS(uy`)"' ! 3 -> 15 +! WRITE(200,*) '"RMS(uz`)"' ! 1 -> 16 +! WRITE(200,*) '"RMS( U`)","RMS(ux`)_b","RMS(uy`)_b","RMS(uz`)_b"' ! 4 -> 20 +! WRITE(200,*) '"RMS(U`)_b","RMS(ux`)_u","RMS(uy`)_u","RMS(uz`)_u"' ! 4 -> 24 +! WRITE(200,*) '"RMS(U`)_u"' ! 1 -> 25 +! ! +! ! IRE6 +! WRITE(200,*) '"RMS(u`)_g","RMS(v`)_g","RMS(w`)_g","_g"' ! 4 -> 4 +! WRITE(200,*) '"RMS(u`)b_g","RMS(v`)b_g","RMS(w`)b_g","b_g"' ! 4 -> 8 +! WRITE(200,*) '"RMS(u`)u_g","RMS(v`)u_g","RMS(w`)u_g","u_g"' ! 4 -> 12 +! WRITE(200,*) '"_g","_g","_g"' ! 3 -> 15 +! !! IRE7 +! ! WRITE(200,*) '"k","k","k"' ! 3 -> 3 +! ! WRITE(200,*) '"k","k","k"' ! 3 -> 6 +! !! IRE8 +! ! WRITE(200,*) '"(1/)*(d/dx)","(1/)*(d/dx)","Dt_x","Dt_x_g"' ! 4 -> 4 +! ! WRITE(200,*) '"1/Lw_3_High_Turb"' ! 1 -> 5 +! ! WRITE(200,*) '"ST1","ST2","ST3","ST4","ST5","Lm*_x","Lm*_n","Lw","Lw_3"' ! 9 -> 14 +! ! WRITE(200,*) '"d/dx","Dts"' ! 2 -> 16 +! ! WRITE(200,*) '"(1/(1-))*(d(1-)/dx)"' ! 1 -> 17 +! ! WRITE(200,*) '"1/L_LE_3","1/L_LE_4","ST6","ST7","ST8"' ! 5 -> 22 +! ! WRITE(200,*) '"1/L_LE_5=1/Lm-f","ST_9"' ! 2 -> 24 +! ! WRITE(200,*) '"1/L_LE_6=1/(d/dx)*(d2/dx2)","ST_10"' ! 2 -> 26 +! ! +! !! IRE9 +! ! WRITE(200,*) '"dotGrad.","Dts*Lap.","f*"' ! 3 -> 3 +! ! WRITE(200,*) '"Dts**Div.(f)","f*","cEqnBalance"' ! 3 -> 6 +! ! WRITE(200,*) '"K","f/K","d
/dx"' ! 3 -> 9 +! ! WRITE(200,*) '"d/dx","1/(d<1-c>/dx)*(d2<1-c>/dx2)"' ! 2 -> 11 +! ! WRITE(200,*) '"1/(1-)*(d(1-)/dx)","d(L_LE)/dx","d(L_TE)/dx"' ! 3 -> 14 +! +! +! DO i=1,nxp +! ! WRITE(200,'(156e20.10)') REAL(i)*hxp,IRE1(1:28,i),IRE2(1:34,i),IRE3(1:8,i),& ! 1+28+34+8 = 71 +! ! IRE4(1:8,i),IRE5(1:16,i),IRE6(1:15,i),IRE7(1:6,i),IRE8(1:26,i),IRE9(1:14,i) +! ! ! 8+16+15+6+26+14 = 85 -> 156 +! WRITE(200,'(64e20.10)') REAL(i)*hxp,IRE1(1:7,i),IRE3(1:8,i),& ! 1+7+8 =16 +! IRE4(1:8,i),IRE5(1:25,i),IRE6(1:15,i) +! ! 8+25+15=48 -> 64 +! ENDDO +! +! +! CLOSE(200) +! !CLOSE(210) +! +! END SUBROUTINE SAVE_AVG_RESULTS SUBROUTINE ALLOCATE_ARRAYS @@ -1483,80 +227,7 @@ CALL m_terms_init ALLOCATE(old_scalar(2,nxp,nyp,nzp),STAT=ierr) ; old_scalar=0. ! Main variables - ALLOCATE(new_scalar(nxp,nyp,nzp,2),STAT=ierr) ; new_scalar=0. ! Main variables - - ALLOCATE(m_v(6,nxp,nyp,nzp),STAT=ierr) ; m_v=0. ! Main variables - ALLOCATE(m_v_new(nxp,nyp,nzp,2),STAT=ierr) ; m_v_new=0. ! Main variables - !ALLOCATE(G_C(3,nxp,nyp,nzp),STAT=ierr) ; G_C=0. - !ALLOCATE(cgm(nxp,nyp,nzp),STAT=ierr) ; cgm=0. - ALLOCATE(NV(3,nxp,nyp,nzp),STAT=ierr) ; NV=0. - !ALLOCATE(sd(7,nxp,nyp,nzp),STAT=ierr) ; sd=0. - ALLOCATE(c(nxp,nyp,nzp),STAT=ierr) ; c=0. - ALLOCATE(Wc(nxp,nyp,nzp),STAT=ierr) ; Wc=0. - ALLOCATE(u_dot(3,nxp,(eyp-syp+1),nzp),STAT=ierr) ; u_dot=0. - !ALLOCATE(DivN(nxp,nyp,nzp),STAT=ierr) ; DivN=0. - !ALLOCATE(G_V(3,nxp,nyp,nzp),STAT=ierr) ; G_V=0. - !ALLOCATE(Div_V(nxp,nyp,nzp),STAT=ierr) ; Div_V=0 - !ALLOCATE(G_FSD(3,nxp,nyp,nzp),STAT=ierr) ; G_FSD=0. - !ALLOCATE(vn(nxp,nyp,nzp),STAT=ierr) ; vn=0. - !ALLOCATE(G_vn(3,nxp,nyp,nzp),STAT=ierr) ;G_vn=0. - !ALLOCATE(G_sd(3,nxp,nyp,nzp),STAT=ierr) ;G_sd=0. - !ALLOCATE(G_Y(3,nxp,nyp,nzp),STAT=ierr) ; G_Y=0. - !ALLOCATE(GN_vn(nxp,nyp,nzp),STAT=ierr) ;GN_vn=0. - !ALLOCATE(GN_sd(nxp,nyp,nzp),STAT=ierr) ;GN_sd=0. - !ALLOCATE(G2N_c(nxp,nyp,nzp),STAT=ierr) ;G2N_c=0. - !ALLOCATE(G2_Y(nxp,nyp,nzp),STAT=ierr) ;G2_Y=0. - !ALLOCATE(d2gc(4,nxp,nyp,nzp),STAT=ierr) ;d2gc=0. - - ALLOCATE(ub_dot(3,nxp,(eyp-syp+1),nzp),STAT=ierr) ; ub_dot=0. - ALLOCATE(uu_dot(3,nxp,(eyp-syp+1),nzp),STAT=ierr) ; uu_dot=0. - ALLOCATE(c_dot(nxp,(eyp-syp+1),nzp),STAT=ierr) ; c_dot=0. - ALLOCATE(FSD_dot(nxp,(eyp-syp+1),nzp),STAT=ierr) ; FSD_dot=0. !dhkim - ALLOCATE(ub_dot_g(3,nxp,(eyp-syp+1),nzp),STAT=ierr) ; ub_dot_g=0. - ALLOCATE(uu_dot_g(3,nxp,(eyp-syp+1),nzp),STAT=ierr) ; uu_dot_g=0. - ALLOCATE(c_dot_g(nxp,(eyp-syp+1),nzp),STAT=ierr) ; c_dot_g=0. - ALLOCATE(c_g(nxp,(eyp-syp+1),nzp),STAT=ierr) ; c_g=0. - -! Arrays for local sum - ALLOCATE(u_g(3,nxp,(eyp-syp+1),nzp),STAT=ierr) ; u_g=0. - ALLOCATE(u_dot_g(3,nxp,(eyp-syp+1),nzp),STAT=ierr) ; u_dot_g=0. - ALLOCATE(RMS_g(4,nxp),STAT=ierr) ; RMS_g=0. - ALLOCATE(RMS_b_g(4,nxp),STAT=ierr) ; RMS_b_g=0. - ALLOCATE(RMS_u_g(4,nxp),STAT=ierr) ; RMS_u_g=0. - ALLOCATE(CM_b_g(4,nxp,(eyp-syp+1),nzp),STAT=ierr) ; CM_b_g=0. - ALLOCATE(CM_u_g(4,nxp,(eyp-syp+1),nzp),STAT=ierr) ; CM_u_g=0. - ALLOCATE(COV_g(3,nxp),STAT=ierr) ; COV_g=0. - -! Arrays for total sum - !ALLOCATE(SMF(23,nxp),STAT=ierr) ; SMF=0. - ALLOCATE(SMF(3,nxp),STAT=ierr) ; SMF=0. - ALLOCATE(SMC(4,nxp),STAT=ierr) ; SMC=0. - !ALLOCATE(FMS(26,nxp),STAT=ierr) ; FMS=0. - !ALLOCATE(KMS(2,nxp),STAT=ierr) ; KMS=0. - - ALLOCATE(CM_b(4,nxp),STAT=ierr) ; CM_b=0. - ALLOCATE(CM_u(4,nxp),STAT=ierr) ; CM_u=0. - ALLOCATE(RMS(8,nxp),STAT=ierr) ; RMS=0. - ALLOCATE(RMS_b(4,nxp),STAT=ierr) ; RMS_b=0. - ALLOCATE(RMS_u(4,nxp),STAT=ierr) ; RMS_u=0. - ALLOCATE(COV(4,nxp),STAT=ierr) ; COV=0. - - ALLOCATE(favg_ndata(nxp),STAT=ierr) ; favg_ndata=0. - ALLOCATE(RMS_u_2(4,nxp),STAT=ierr) ; RMS_u_2=0. - ALLOCATE(RMS_b_2(4,nxp),STAT=ierr) ; RMS_b_2=0. - -! Arrays for final averages - !ALLOCATE(IRE1(28,nxp),STAT=ierr) ; IRE1=0. - ALLOCATE(IRE1(7,nxp),STAT=ierr) ; IRE1=0. - !ALLOCATE(IRE2(34,nxp),STAT=ierr) ; IRE2=0. - ALLOCATE(IRE3(8,nxp),STAT=ierr) ; IRE3=0. - ALLOCATE(IRE4(8,nxp),STAT=ierr) ; IRE4=0. - ALLOCATE(IRE5(25,nxp),STAT=ierr) ; IRE5=0. - ALLOCATE(IRE6(15,nxp),STAT=ierr) ; IRE6=0. - !ALLOCATE(IRE7(6,nxp),STAT=ierr) ; IRE7=0. - !ALLOCATE(IRE8(26,nxp),STAT=ierr) ; IRE8=0. - !ALLOCATE(IRE9(14,nxp),STAT=ierr) ; IRE9=0. - + ALLOCATE(new_scalar(nxp,nyp,nzp,2),STAT=ierr) ; new_scalar=0. WRITE(*,'(a6,i3,a8,i3,a8,i3)') ' NX = ',nxp,' / NY = ',nyp,' / NZ = ',nzp WRITE(*,*) ' Preparing memory space for COMPACT SCHEME' @@ -1575,70 +246,6 @@ DEALLOCATE(old_scalar) DEALLOCATE(new_scalar) - DEALLOCATE(m_v) - !DEALLOCATE(G_C) - !DEALLOCATE(cgm) - DEALLOCATE(NV) - !DEALLOCATE(sd) - DEALLOCATE(c) - DEALLOCATE(Wc) - DEALLOCATE(u_dot) - !DEALLOCATE(DivN) -! DEALLOCATE(G_V) -! DEALLOCATE(Div_V) -! DEALLOCATE(G_FSD) -! DEALLOCATE(vn) -! DEALLOCATE(G_vn) -! DEALLOCATE(G_sd) -! DEALLOCATE(G_Y) -! DEALLOCATE(GN_vn) -! DEALLOCATE(GN_sd) -! DEALLOCATE(G2N_c) -! DEALLOCATE(G2_Y) -! DEALLOCATE(d2gc) - DEALLOCATE(m_v_new) - - DEALLOCATE(uu_dot) - DEALLOCATE(ub_dot) - DEALLOCATE(c_dot) - DEALLOCATE(FSD_dot) - DEALLOCATE(ub_dot_g) - DEALLOCATE(uu_dot_g) - DEALLOCATE(c_dot_g) - DEALLOCATE(c_g) - - DEALLOCATE(u_g) - DEALLOCATE(u_dot_g) - DEALLOCATE(RMS_g) - DEALLOCATE(RMS_b_g) - DEALLOCATE(RMS_u_g) - DEALLOCATE(CM_b_g) - DEALLOCATE(CM_u_g) - DEALLOCATE(COV_g) - - DEALLOCATE(SMF) - DEALLOCATE(SMC) - !DEALLOCATE(FMS) - - DEALLOCATE(CM_b) - DEALLOCATE(CM_u) - DEALLOCATE(RMS) - DEALLOCATE(RMS_b) - DEALLOCATE(RMS_u) - DEALLOCATE(COV) - DEALLOCATE(favg_ndata) - DEALLOCATE(RMS_b_2) - DEALLOCATE(RMS_u_2) - - DEALLOCATE(IRE1) - !DEALLOCATE(IRE2) - DEALLOCATE(IRE3) - DEALLOCATE(IRE4) - DEALLOCATE(IRE5) - DEALLOCATE(IRE6) - !DEALLOCATE(IRE7) - !DEALLOCATE(IRE8) - !DEALLOCATE(IRE9) IF(omitnum.gt.0) DEALLOCATE(omit_t) END SUBROUTINE DEALLOCATES_CLOSE