From 00caa1aa7e507d95bcb9c7ac41a056a08803e663 Mon Sep 17 00:00:00 2001 From: ignis Date: Wed, 8 May 2019 02:54:23 +0900 Subject: [PATCH] fix bug in program printing --- code/code_gen/post.py | 22 +- code/m_terms.f90 | 904 ++++++++++++++++++++++-------------------- 2 files changed, 489 insertions(+), 437 deletions(-) diff --git a/code/code_gen/post.py b/code/code_gen/post.py index 8cc37ee..47b19d9 100644 --- a/code/code_gen/post.py +++ b/code/code_gen/post.py @@ -150,13 +150,13 @@ class FieldBase (object): def code_decl (self): - real_array_alloc = "allocate({0}({1}), stat=ierr) ; {0} = 0." - return real_array_alloc.format(self.name, self.shape) - - def code_alloc (self): real_array_decl = "real*8, allocatable, dimension({1}) :: {0}" return real_array_decl.format(self.name, self.dim) + def code_alloc (self): + real_array_alloc = "allocate({0}({1}), stat=ierr) ; {0} = 0." + return real_array_alloc.format(self.name, self.shape) + def code_free (self): real_array_free = "deallocate({})" return real_array_free.format(self.name) @@ -248,6 +248,16 @@ class PrimaryField (FieldBase): def code (self): return "! {} is read from file".format(self.name) + def code_decl (self): + return "! {} is read from file".format(self.name) + + def code_alloc (self): + return "! {} is read from file".format(self.name) + + def code_free (self): + return "! {} is read from file".format(self.name) + + class DerivedField (FieldBase): @@ -484,8 +494,8 @@ class Stage3(): set1.sort() set2.sort() - avg1 = "\n".join(allvar[v].code() for v in set1) - avg2 = "\n".join(allvar[v].code() for v in set2) + avg1 = "\n".join(allvar[v].code_avg() for v in set1) + avg2 = "\n".join(allvar[v].code_avg() for v in set2) hfmt = 'character (len = *), parameter :: output_header="{}"' diff --git a/code/m_terms.f90 b/code/m_terms.f90 index 994dc49..730a69e 100644 --- a/code/m_terms.f90 +++ b/code/m_terms.f90 @@ -7,26 +7,27 @@ use m_calculate implicit none -character (len = *), parameter :: output_header="x avg_c avg_u avg_v avg_w avg_fsd avg_lapc avg_ddx_c avg_ddy_c avg_ddz_c avg_d2dx_c avg_d2dy_c avg_d2dz_c fsd_avg_u fsd_avg_v fsd_avg_w fsd_avg_nx fsd_avg_ny fsd_avg_nz fsd_avg_t1 fsd_avg_t2 fsd_avg_t3 fsd_avg_t4 fsd_avg_t5 fsd_avg_t6 fsd_avg_t7 fsd_avg_t8 fsd_avg_absk fsd_avg_divn fsd_avg_sd" +character (len = *), parameter :: output_header="x avg_c avg_d2dx_c avg_d2dy_c avg_d2dz_c avg_ddx_c avg_ddy_c avg_ddz_c avg_fsd avg_lapc avg_u avg_v avg_w fsd_avg_absk fsd_avg_divn fsd_avg_nx fsd_avg_ny fsd_avg_nz fsd_avg_sd fsd_avg_t1 fsd_avg_u fsd_avg_v fsd_avg_w fsd_avg_t2 fsd_avg_t3 fsd_avg_t4 fsd_avg_t5 fsd_avg_t6 fsd_avg_t7 fsd_avg_t8" real*8, allocatable, dimension(:) :: fsd_avg_divn -real*8, allocatable, dimension(:,:,:) :: t3_fsd +real*8, allocatable, dimension(:,:,:) :: t5____fsd_avg real*8, allocatable, dimension(:,:,:) :: ddx_nx real*8, allocatable, dimension(:) :: fsd_avg_ny real*8, allocatable, dimension(:) :: fsd_avg_nx -real*8, allocatable, dimension(:,:,:) :: t2_fsd real*8, allocatable, dimension(:) :: fsd_avg_nz real*8, allocatable, dimension(:,:,:) :: ddz_c real*8, allocatable, dimension(:,:,:) :: vn real*8, allocatable, dimension(:) :: avg_d2dz_c real*8, allocatable, dimension(:) :: avg_d2dx_c real*8, allocatable, dimension(:,:,:) :: ddy_c +real*8, allocatable, dimension(:,:,:) :: t7____fsd_avg real*8, allocatable, dimension(:,:,:) :: ddx_c -real*8, allocatable, dimension(:,:,:) :: t8_fsd +real*8, allocatable, dimension(:,:,:) :: t2____fsd_avg +real*8, allocatable, dimension(:) :: avg_lapc real*8, allocatable, dimension(:) :: fsd_avg_t3 real*8, allocatable, dimension(:) :: fsd_avg_t2 -real*8, allocatable, dimension(:) :: fsd_avg_t1 +real*8, allocatable, dimension(:) :: avg_ddx_c real*8, allocatable, dimension(:) :: fsd_avg_t7 -real*8, allocatable, dimension(:) :: fsd_avg_v +real*8, allocatable, dimension(:) :: fsd_avg_t6 real*8, allocatable, dimension(:) :: fsd_avg_t5 real*8, allocatable, dimension(:,:,:) :: ddy_ny real*8, allocatable, dimension(:,:,:) :: wrate @@ -41,32 +42,34 @@ real*8, allocatable, dimension(:) :: fsd_avg_sd real*8, allocatable, dimension(:,:,:) :: lapc real*8, allocatable, dimension(:) :: avg_ddy_c real*8, allocatable, dimension(:,:,:) :: divn -real*8, allocatable, dimension(:,:,:) :: t7_fsd -real*8, allocatable, dimension(:) :: avg_ddx_c -real*8, allocatable, dimension(:) :: avg_lapc -real*8, allocatable, dimension(:,:,:) :: t6_fsd +! w is read from file +real*8, allocatable, dimension(:,:,:) :: d2dz_c +! v is read from file +real*8, allocatable, dimension(:) :: fsd_avg_t1 +real*8, allocatable, dimension(:,:,:) :: t3____fsd_avg +real*8, allocatable, dimension(:) :: fsd_avg_v +real*8, allocatable, dimension(:,:,:) :: t4____fsd_avg real*8, allocatable, dimension(:,:,:) :: absk real*8, allocatable, dimension(:) :: avg_ddz_c -real*8, allocatable, dimension(:) :: fsd_avg_t6 real*8, allocatable, dimension(:,:,:) :: c real*8, allocatable, dimension(:) :: avg_c real*8, allocatable, dimension(:,:,:) :: fsd -real*8, allocatable, dimension(:,:,:) :: t5_fsd real*8, allocatable, dimension(:,:,:) :: d2dy_c real*8, allocatable, dimension(:) :: avg_d2dy_c real*8, allocatable, dimension(:) :: fsd_avg_t4 real*8, allocatable, dimension(:,:,:) :: d2dx_c real*8, allocatable, dimension(:,:,:) :: t1 +real*8, allocatable, dimension(:,:,:) :: t6____fsd_avg +real*8, allocatable, dimension(:,:,:) :: t8____fsd_avg +! u is read from file real*8, allocatable, dimension(:) :: avg_u real*8, allocatable, dimension(:) :: avg_v real*8, allocatable, dimension(:) :: avg_w -real*8, allocatable, dimension(:,:,:) :: d2dz_c +! y is read from file real*8, allocatable, dimension(:) :: fsd_avg_w real*8, allocatable, dimension(:) :: fsd_avg_u -real*8, allocatable, dimension(:,:,:) :: t4_fsd real*8, allocatable, dimension(:,:,:) :: sd - contains subroutine m_terms_init @@ -74,24 +77,25 @@ subroutine m_terms_init integer :: ierr allocate(fsd_avg_divn(nxp), stat=ierr) ; fsd_avg_divn = 0. -allocate(t3_fsd(nxp,nyp,nzp), stat=ierr) ; t3_fsd = 0. +allocate(t5____fsd_avg(nxp,nyp,nzp), stat=ierr) ; t5____fsd_avg = 0. allocate(ddx_nx(nxp,nyp,nzp), stat=ierr) ; ddx_nx = 0. allocate(fsd_avg_ny(nxp), stat=ierr) ; fsd_avg_ny = 0. allocate(fsd_avg_nx(nxp), stat=ierr) ; fsd_avg_nx = 0. -allocate(t2_fsd(nxp,nyp,nzp), stat=ierr) ; t2_fsd = 0. allocate(fsd_avg_nz(nxp), stat=ierr) ; fsd_avg_nz = 0. allocate(ddz_c(nxp,nyp,nzp), stat=ierr) ; ddz_c = 0. allocate(vn(nxp,nyp,nzp), stat=ierr) ; vn = 0. allocate(avg_d2dz_c(nxp), stat=ierr) ; avg_d2dz_c = 0. allocate(avg_d2dx_c(nxp), stat=ierr) ; avg_d2dx_c = 0. allocate(ddy_c(nxp,nyp,nzp), stat=ierr) ; ddy_c = 0. +allocate(t7____fsd_avg(nxp,nyp,nzp), stat=ierr) ; t7____fsd_avg = 0. allocate(ddx_c(nxp,nyp,nzp), stat=ierr) ; ddx_c = 0. -allocate(t8_fsd(nxp,nyp,nzp), stat=ierr) ; t8_fsd = 0. +allocate(t2____fsd_avg(nxp,nyp,nzp), stat=ierr) ; t2____fsd_avg = 0. +allocate(avg_lapc(nxp), stat=ierr) ; avg_lapc = 0. allocate(fsd_avg_t3(nxp), stat=ierr) ; fsd_avg_t3 = 0. allocate(fsd_avg_t2(nxp), stat=ierr) ; fsd_avg_t2 = 0. -allocate(fsd_avg_t1(nxp), stat=ierr) ; fsd_avg_t1 = 0. +allocate(avg_ddx_c(nxp), stat=ierr) ; avg_ddx_c = 0. allocate(fsd_avg_t7(nxp), stat=ierr) ; fsd_avg_t7 = 0. -allocate(fsd_avg_v(nxp), stat=ierr) ; fsd_avg_v = 0. +allocate(fsd_avg_t6(nxp), stat=ierr) ; fsd_avg_t6 = 0. allocate(fsd_avg_t5(nxp), stat=ierr) ; fsd_avg_t5 = 0. allocate(ddy_ny(nxp,nyp,nzp), stat=ierr) ; ddy_ny = 0. allocate(wrate(nxp,nyp,nzp), stat=ierr) ; wrate = 0. @@ -106,56 +110,59 @@ allocate(fsd_avg_sd(nxp), stat=ierr) ; fsd_avg_sd = 0. allocate(lapc(nxp,nyp,nzp), stat=ierr) ; lapc = 0. allocate(avg_ddy_c(nxp), stat=ierr) ; avg_ddy_c = 0. allocate(divn(nxp,nyp,nzp), stat=ierr) ; divn = 0. -allocate(t7_fsd(nxp,nyp,nzp), stat=ierr) ; t7_fsd = 0. -allocate(avg_ddx_c(nxp), stat=ierr) ; avg_ddx_c = 0. -allocate(avg_lapc(nxp), stat=ierr) ; avg_lapc = 0. -allocate(t6_fsd(nxp,nyp,nzp), stat=ierr) ; t6_fsd = 0. +! w is read from file +allocate(d2dz_c(nxp,nyp,nzp), stat=ierr) ; d2dz_c = 0. +! v is read from file +allocate(fsd_avg_t1(nxp), stat=ierr) ; fsd_avg_t1 = 0. +allocate(t3____fsd_avg(nxp,nyp,nzp), stat=ierr) ; t3____fsd_avg = 0. +allocate(fsd_avg_v(nxp), stat=ierr) ; fsd_avg_v = 0. +allocate(t4____fsd_avg(nxp,nyp,nzp), stat=ierr) ; t4____fsd_avg = 0. allocate(absk(nxp,nyp,nzp), stat=ierr) ; absk = 0. allocate(avg_ddz_c(nxp), stat=ierr) ; avg_ddz_c = 0. -allocate(fsd_avg_t6(nxp), stat=ierr) ; fsd_avg_t6 = 0. allocate(c(nxp,nyp,nzp), stat=ierr) ; c = 0. allocate(avg_c(nxp), stat=ierr) ; avg_c = 0. allocate(fsd(nxp,nyp,nzp), stat=ierr) ; fsd = 0. -allocate(t5_fsd(nxp,nyp,nzp), stat=ierr) ; t5_fsd = 0. allocate(d2dy_c(nxp,nyp,nzp), stat=ierr) ; d2dy_c = 0. allocate(avg_d2dy_c(nxp), stat=ierr) ; avg_d2dy_c = 0. allocate(fsd_avg_t4(nxp), stat=ierr) ; fsd_avg_t4 = 0. allocate(d2dx_c(nxp,nyp,nzp), stat=ierr) ; d2dx_c = 0. allocate(t1(nxp,nyp,nzp), stat=ierr) ; t1 = 0. +allocate(t6____fsd_avg(nxp,nyp,nzp), stat=ierr) ; t6____fsd_avg = 0. +allocate(t8____fsd_avg(nxp,nyp,nzp), stat=ierr) ; t8____fsd_avg = 0. +! u is read from file 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(d2dz_c(nxp,nyp,nzp), stat=ierr) ; d2dz_c = 0. +! y is read from file allocate(fsd_avg_w(nxp), stat=ierr) ; fsd_avg_w = 0. allocate(fsd_avg_u(nxp), stat=ierr) ; fsd_avg_u = 0. -allocate(t4_fsd(nxp,nyp,nzp), stat=ierr) ; t4_fsd = 0. allocate(sd(nxp,nyp,nzp), stat=ierr) ; sd = 0. - end subroutine m_terms_init subroutine m_terms_finalize deallocate(fsd_avg_divn) -deallocate(t3_fsd) +deallocate(t5____fsd_avg) deallocate(ddx_nx) deallocate(fsd_avg_ny) deallocate(fsd_avg_nx) -deallocate(t2_fsd) deallocate(fsd_avg_nz) deallocate(ddz_c) deallocate(vn) deallocate(avg_d2dz_c) deallocate(avg_d2dx_c) deallocate(ddy_c) +deallocate(t7____fsd_avg) deallocate(ddx_c) -deallocate(t8_fsd) +deallocate(t2____fsd_avg) +deallocate(avg_lapc) deallocate(fsd_avg_t3) deallocate(fsd_avg_t2) -deallocate(fsd_avg_t1) +deallocate(avg_ddx_c) deallocate(fsd_avg_t7) -deallocate(fsd_avg_v) +deallocate(fsd_avg_t6) deallocate(fsd_avg_t5) deallocate(ddy_ny) deallocate(wrate) @@ -170,32 +177,34 @@ deallocate(fsd_avg_sd) deallocate(lapc) deallocate(avg_ddy_c) deallocate(divn) -deallocate(t7_fsd) -deallocate(avg_ddx_c) -deallocate(avg_lapc) -deallocate(t6_fsd) +! w is read from file +deallocate(d2dz_c) +! v is read from file +deallocate(fsd_avg_t1) +deallocate(t3____fsd_avg) +deallocate(fsd_avg_v) +deallocate(t4____fsd_avg) deallocate(absk) deallocate(avg_ddz_c) -deallocate(fsd_avg_t6) deallocate(c) deallocate(avg_c) deallocate(fsd) -deallocate(t5_fsd) deallocate(d2dy_c) deallocate(avg_d2dy_c) deallocate(fsd_avg_t4) deallocate(d2dx_c) deallocate(t1) +deallocate(t6____fsd_avg) +deallocate(t8____fsd_avg) +! u is read from file deallocate(avg_u) deallocate(avg_v) deallocate(avg_w) -deallocate(d2dz_c) +! y is read from file deallocate(fsd_avg_w) deallocate(fsd_avg_u) -deallocate(t4_fsd) deallocate(sd) - end subroutine m_terms_finalize @@ -203,7 +212,39 @@ subroutine m_terms_calculate_pass1 integer :: i, j, k +! u is read from file +! w is read from file +! y is read from file +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_w(i) = avg_w(i) + w(i,j,k) +end do +end do +end do + +! v is read from file + +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 + + +! ( 1.0 - y(i,j,k) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp @@ -212,55 +253,12 @@ end do end do end do -call ddz ( ddz_c, c ) -call ddy ( ddy_c, c ) +call d2dy ( d2dy_c, c ) call ddx ( ddx_c, c ) +call ddy ( ddy_c, c ) +call ddz ( ddz_c, c ) -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -wrate(i,j,k) = ( rxn_rate ( c(i,j,k) ) ) -end do -end do -end do - - -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -avg_ddy_c(i) = avg_ddy_c(i) + ddy_c(i,j,k) -end do -end do -end do - - -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -avg_ddx_c(i) = avg_ddx_c(i) + ddx_c(i,j,k) -end do -end do -end do - - -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -avg_ddz_c(i) = avg_ddz_c(i) + ddz_c(i,j,k) -end do -end do -end do - - -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -avg_c(i) = avg_c(i) + c(i,j,k) -end do -end do -end do - - +! ( 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))) ) ) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp @@ -273,7 +271,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_v(i) = fsd_avg_v(i) + v(i,j,k) * fsd(i,j,k) +fsd_avg_u(i) = fsd_avg_u(i) + u(i,j,k) * fsd(i,j,k) end do end do end do @@ -282,12 +280,13 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -avg_fsd(i) = avg_fsd(i) + fsd(i,j,k) +fsd_avg_w(i) = fsd_avg_w(i) + w(i,j,k) * fsd(i,j,k) end do end do end do +! ( ( - ddx_c(i,j,k) ) / fsd(i,j,k) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp @@ -296,7 +295,65 @@ end do end do end do + +! ( ( - ddz_c(i,j,k) ) / fsd(i,j,k) ) +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 + + +! ( rxn_rate ( c(i,j,k) ) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +wrate(i,j,k) = ( rxn_rate ( c(i,j,k) ) ) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +avg_c(i) = avg_c(i) + c(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +avg_d2dy_c(i) = avg_d2dy_c(i) + d2dy_c(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +avg_ddx_c(i) = avg_ddx_c(i) + ddx_c(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +avg_ddz_c(i) = avg_ddz_c(i) + ddz_c(i,j,k) +end do +end do +end do + +call d2dx ( d2dx_c, c ) call ddx ( ddx_nx, nx ) +call ddz ( ddz_nz, nz ) do k = 1, nzp do j = 1, nyp @@ -307,34 +364,6 @@ end do end do -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 - - -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -fsd_avg_ny(i) = fsd_avg_ny(i) + ny(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 - - do k = 1, nzp do j = 1, nyp do i = 1, nxp @@ -344,6 +373,26 @@ end do end do +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd_avg_v(i) = fsd_avg_v(i) + v(i,j,k) * fsd(i,j,k) +end do +end do +end do + + +! ( ( - ddy_c(i,j,k) ) / fsd(i,j,k) ) +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 + + +! ( ( ( u(i,j,k) * nx(i,j,k) ) + ( v(i,j,k) * ny(i,j,k) ) ) + ( w(i,j,k) * nz(i,j,k) ) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp @@ -352,8 +401,112 @@ end do end do end do -call ddz ( ddz_nz, nz ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +avg_d2dx_c(i) = avg_d2dx_c(i) + d2dx_c(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +avg_ddy_c(i) = avg_ddy_c(i) + ddy_c(i,j,k) +end do +end do +end do + +call d2dz ( d2dz_c, c ) + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd_avg_ny(i) = fsd_avg_ny(i) + ny(i,j,k) * fsd(i,j,k) +end do +end do +end do + + +! ( ( d2dx_c(i,j,k) + d2dy_c(i,j,k) ) + d2dz_c(i,j,k) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +lapc(i,j,k) = ( ( d2dx_c(i,j,k) + d2dy_c(i,j,k) ) + d2dz_c(i,j,k) ) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +avg_d2dz_c(i) = avg_d2dz_c(i) + d2dz_c(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +avg_lapc(i) = avg_lapc(i) + lapc(i,j,k) +end do +end do +end do + + +! ( ( ( ( ( d2dx_c(i,j,k) + d2dy_c(i,j,k) ) + d2dz_c(i,j,k) ) * rod ) + wrate(i,j,k) ) / fsd(i,j,k) ) +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 +avg_fsd(i) = avg_fsd(i) + fsd(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd_avg_sd(i) = fsd_avg_sd(i) + sd(i,j,k) * fsd(i,j,k) +end do +end do +end do + + +! ( ( vn(i,j,k) + sd(i,j,k) ) * nx(i,j,k) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +t1(i,j,k) = ( ( vn(i,j,k) + sd(i,j,k) ) * nx(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 +fsd_avg_t1(i) = fsd_avg_t1(i) + t1(i,j,k) * fsd(i,j,k) +end do +end do +end do + + +! ( ( ddx_nx(i,j,k) + ddy_ny(i,j,k) ) + ddz_nz(i,j,k) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp @@ -372,6 +525,7 @@ end do end do +! ( dabs ( divn(i,j,k) ) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp @@ -389,136 +543,6 @@ end do end do end do -call d2dy ( d2dy_c, c ) - -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -avg_d2dy_c(i) = avg_d2dy_c(i) + d2dy_c(i,j,k) -end do -end do -end do - -call d2dx ( d2dx_c, c ) - -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -avg_d2dx_c(i) = avg_d2dx_c(i) + d2dx_c(i,j,k) -end do -end do -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 - -call d2dz ( d2dz_c, c ) - -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -avg_d2dz_c(i) = avg_d2dz_c(i) + d2dz_c(i,j,k) -end do -end do -end do - - -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -lapc(i,j,k) = ( ( d2dx_c(i,j,k) + d2dy_c(i,j,k) ) + d2dz_c(i,j,k) ) -end do -end do -end do - - -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -avg_lapc(i) = avg_lapc(i) + lapc(i,j,k) -end do -end do -end do - - -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -fsd_avg_w(i) = fsd_avg_w(i) + w(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 -fsd_avg_u(i) = fsd_avg_u(i) + u(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 -fsd_avg_sd(i) = fsd_avg_sd(i) + sd(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 -t1(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 -fsd_avg_t1(i) = fsd_avg_t1(i) + t1(i,j,k) * fsd(i,j,k) -end do -end do -end do - - end subroutine m_terms_calculate_pass1 @@ -533,114 +557,113 @@ denum=real(nfiles*nyp*nzp) call MPI_ALLREDUCE(MPI_IN_PLACE, avg_c, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -avg_c = avg_c / denum - - -call MPI_ALLREDUCE(MPI_IN_PLACE, avg_u, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) - -avg_u = avg_u / denum - - -call MPI_ALLREDUCE(MPI_IN_PLACE, avg_v, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) - -avg_v = avg_v / denum - - -call MPI_ALLREDUCE(MPI_IN_PLACE, avg_w, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) - -avg_w = avg_w / denum - - -call MPI_ALLREDUCE(MPI_IN_PLACE, avg_fsd, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) - -avg_fsd = avg_fsd / denum - - -call MPI_ALLREDUCE(MPI_IN_PLACE, avg_lapc, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) - -avg_lapc = avg_lapc / denum - - -call MPI_ALLREDUCE(MPI_IN_PLACE, avg_ddx_c, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) - -avg_ddx_c = avg_ddx_c / denum - - -call MPI_ALLREDUCE(MPI_IN_PLACE, avg_ddy_c, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) - -avg_ddy_c = avg_ddy_c / denum - - -call MPI_ALLREDUCE(MPI_IN_PLACE, avg_ddz_c, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) - -avg_ddz_c = avg_ddz_c / denum +avg_c = avg_c / denum call MPI_ALLREDUCE(MPI_IN_PLACE, avg_d2dx_c, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -avg_d2dx_c = avg_d2dx_c / denum +avg_d2dx_c = avg_d2dx_c / denum call MPI_ALLREDUCE(MPI_IN_PLACE, avg_d2dy_c, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -avg_d2dy_c = avg_d2dy_c / denum +avg_d2dy_c = avg_d2dy_c / denum call MPI_ALLREDUCE(MPI_IN_PLACE, avg_d2dz_c, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -avg_d2dz_c = avg_d2dz_c / denum +avg_d2dz_c = avg_d2dz_c / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_u, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_ddx_c, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_u = fsd_avg_u / denum / avg_fsd +avg_ddx_c = avg_ddx_c / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_v, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_ddy_c, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_v = fsd_avg_v / denum / avg_fsd +avg_ddy_c = avg_ddy_c / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_w, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_ddz_c, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_w = fsd_avg_w / denum / avg_fsd +avg_ddz_c = avg_ddz_c / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_nx, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_fsd, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_nx = fsd_avg_nx / denum / avg_fsd +avg_fsd = avg_fsd / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_ny, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_lapc, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_ny = fsd_avg_ny / denum / avg_fsd +avg_lapc = avg_lapc / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_nz, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_u, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_nz = fsd_avg_nz / denum / avg_fsd +avg_u = avg_u / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_t1, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_v, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_t1 = fsd_avg_t1 / denum / avg_fsd +avg_v = avg_v / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_w, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +avg_w = avg_w / denum call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_absk, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_absk = fsd_avg_absk / denum / avg_fsd +fsd_avg_absk = fsd_avg_absk / avg_fsd / denum call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_divn, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_divn = fsd_avg_divn / denum / avg_fsd +fsd_avg_divn = fsd_avg_divn / avg_fsd / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_nx, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd_avg_nx = fsd_avg_nx / avg_fsd / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_ny, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd_avg_ny = fsd_avg_ny / avg_fsd / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_nz, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd_avg_nz = fsd_avg_nz / avg_fsd / denum call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_sd, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_sd = fsd_avg_sd / denum / avg_fsd +fsd_avg_sd = fsd_avg_sd / avg_fsd / denum +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_t1, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd_avg_t1 = fsd_avg_t1 / avg_fsd / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_u, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd_avg_u = fsd_avg_u / avg_fsd / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_v, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd_avg_v = fsd_avg_v / avg_fsd / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_w, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd_avg_w = fsd_avg_w / avg_fsd / denum + end subroutine m_terms_average_pass1 @@ -649,7 +672,11 @@ subroutine m_terms_calculate_pass2 integer :: i, j, k +! u is read from file +! w is read from file +! y is read from file +! ( 1.0 - y(i,j,k) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp @@ -658,19 +685,12 @@ end do end do end do -call ddz ( ddz_c, c ) -call ddy ( ddy_c, c ) +call d2dy ( d2dy_c, c ) call ddx ( ddx_c, c ) +call ddy ( ddy_c, c ) +call ddz ( ddz_c, c ) -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -wrate(i,j,k) = ( rxn_rate ( c(i,j,k) ) ) -end do -end do -end do - - +! ( 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))) ) ) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp @@ -680,6 +700,7 @@ end do end do +! ( ( - ddx_c(i,j,k) ) / fsd(i,j,k) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp @@ -688,18 +709,8 @@ 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 ) +! ( ( - ddz_c(i,j,k) ) / fsd(i,j,k) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp @@ -709,6 +720,50 @@ end do end do +! (((nx(i,j,k) - fsd_avg_nx(i)))*((nx(i,j,k) - fsd_avg_nx(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +t6____fsd_avg(i,j,k) = (((nx(i,j,k) - fsd_avg_nx(i)))*((nx(i,j,k) - fsd_avg_nx(i)))) +end do +end do +end do + +! v is read from file + +! ( rxn_rate ( c(i,j,k) ) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +wrate(i,j,k) = ( rxn_rate ( c(i,j,k) ) ) +end do +end do +end do + +call d2dx ( d2dx_c, c ) +call ddx ( ddx_nx, nx ) +call ddz ( ddz_nz, nz ) + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd_avg_t6(i) = fsd_avg_t6(i) + t6____fsd_avg(i,j,k) * fsd(i,j,k) +end do +end do +end do + + +! ( ( - ddy_c(i,j,k) ) / fsd(i,j,k) ) +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 + + +! ( ( ( u(i,j,k) * nx(i,j,k) ) + ( v(i,j,k) * ny(i,j,k) ) ) + ( w(i,j,k) * nz(i,j,k) ) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp @@ -717,8 +772,40 @@ end do end do end do -call ddz ( ddz_nz, nz ) +call d2dz ( d2dz_c, c ) +! ( ( ( ( ( d2dx_c(i,j,k) + d2dy_c(i,j,k) ) + d2dz_c(i,j,k) ) * rod ) + wrate(i,j,k) ) / fsd(i,j,k) ) +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 + +call ddy ( ddy_ny, ny ) + +! ( ( vn(i,j,k) + sd(i,j,k) ) * nx(i,j,k) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +t1(i,j,k) = ( ( vn(i,j,k) + sd(i,j,k) ) * nx(i,j,k) ) +end do +end do +end do + + +! (((t1(i,j,k) - fsd_avg_t1(i)))*((t1(i,j,k) - fsd_avg_t1(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +t5____fsd_avg(i,j,k) = (((t1(i,j,k) - fsd_avg_t1(i)))*((t1(i,j,k) - fsd_avg_t1(i)))) +end do +end do +end do + + +! ( ( ddx_nx(i,j,k) + ddy_ny(i,j,k) ) + ddz_nz(i,j,k) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp @@ -731,42 +818,33 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -t7_fsd(i,j,k) = (((divn(i,j,k) - fsd_avg_divn(i)))*((divn(i,j,k) - fsd_avg_divn(i)))) +fsd_avg_t5(i) = fsd_avg_t5(i) + t5____fsd_avg(i,j,k) * fsd(i,j,k) end do end do end do +! ( (t1(i,j,k) - fsd_avg_t1(i)) * (nx(i,j,k) - fsd_avg_nx(i)) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_t7(i) = fsd_avg_t7(i) + t7_fsd(i,j,k) * fsd(i,j,k) +t2____fsd_avg(i,j,k) = ( (t1(i,j,k) - fsd_avg_t1(i)) * (nx(i,j,k) - fsd_avg_nx(i)) ) end do end do end do +! (((divn(i,j,k) - fsd_avg_divn(i)))*((divn(i,j,k) - fsd_avg_divn(i)))) do k = 1, nzp do j = 1, nyp do i = 1, nxp -t6_fsd(i,j,k) = (((nx(i,j,k) - fsd_avg_nx(i)))*((nx(i,j,k) - fsd_avg_nx(i)))) +t7____fsd_avg(i,j,k) = (((divn(i,j,k) - fsd_avg_divn(i)))*((divn(i,j,k) - fsd_avg_divn(i)))) end do end do end do -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -fsd_avg_t6(i) = fsd_avg_t6(i) + t6_fsd(i,j,k) * fsd(i,j,k) -end do -end do -end do - -call d2dy ( d2dy_c, c ) -call d2dx ( d2dx_c, c ) -call d2dz ( d2dz_c, c ) - +! ( dabs ( divn(i,j,k) ) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp @@ -779,7 +857,27 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -t8_fsd(i,j,k) = (((absk(i,j,k) - fsd_avg_absk(i)))*((absk(i,j,k) - fsd_avg_absk(i)))) +fsd_avg_t7(i) = fsd_avg_t7(i) + t7____fsd_avg(i,j,k) * fsd(i,j,k) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd_avg_t1(i)) * (divn(i,j,k) - fsd_avg_divn(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +t3____fsd_avg(i,j,k) = ( (t1(i,j,k) - fsd_avg_t1(i)) * (divn(i,j,k) - fsd_avg_divn(i)) ) +end do +end do +end do + + +! (((absk(i,j,k) - fsd_avg_absk(i)))*((absk(i,j,k) - fsd_avg_absk(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +t8____fsd_avg(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 @@ -788,7 +886,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_t8(i) = fsd_avg_t8(i) + t8_fsd(i,j,k) * fsd(i,j,k) +fsd_avg_t2(i) = fsd_avg_t2(i) + t2____fsd_avg(i,j,k) * fsd(i,j,k) end do end do end do @@ -797,7 +895,7 @@ 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) ) +fsd_avg_t8(i) = fsd_avg_t8(i) + t8____fsd_avg(i,j,k) * fsd(i,j,k) end do end do end do @@ -806,7 +904,17 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -t1(i,j,k) = ( ( vn(i,j,k) + sd(i,j,k) ) * nx(i,j,k) ) +fsd_avg_t3(i) = fsd_avg_t3(i) + t3____fsd_avg(i,j,k) * fsd(i,j,k) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd_avg_t1(i)) * (absk(i,j,k) - fsd_avg_absk(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +t4____fsd_avg(i,j,k) = ( (t1(i,j,k) - fsd_avg_t1(i)) * (absk(i,j,k) - fsd_avg_absk(i)) ) end do end do end do @@ -815,76 +923,12 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -t2_fsd(i,j,k) = ( (t1(i,j,k) - fsd_avg_t1(i)) * (nx(i,j,k) - fsd_avg_nx(i)) ) +fsd_avg_t4(i) = fsd_avg_t4(i) + t4____fsd_avg(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 -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 -t5_fsd(i,j,k) = (((t1(i,j,k) - fsd_avg_t1(i)))*((t1(i,j,k) - fsd_avg_t1(i)))) -end do -end do -end do - - -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -fsd_avg_t5(i) = fsd_avg_t5(i) + t5_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 -t3_fsd(i,j,k) = ( (t1(i,j,k) - fsd_avg_t1(i)) * (divn(i,j,k) - fsd_avg_divn(i)) ) -end do -end do -end do - - -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -fsd_avg_t3(i) = fsd_avg_t3(i) + t3_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 -t4_fsd(i,j,k) = ( (t1(i,j,k) - fsd_avg_t1(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_t4(i) = fsd_avg_t4(i) + t4_fsd(i,j,k) * fsd(i,j,k) -end do -end do -end do - - - end subroutine m_terms_calculate_pass2 @@ -898,38 +942,37 @@ denum=real(nfiles*nyp*nzp) call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_t2, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_t2 = fsd_avg_t2 / denum / avg_fsd +fsd_avg_t2 = fsd_avg_t2 / avg_fsd / denum call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_t3, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_t3 = fsd_avg_t3 / denum / avg_fsd +fsd_avg_t3 = fsd_avg_t3 / avg_fsd / denum call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_t4, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_t4 = fsd_avg_t4 / denum / avg_fsd +fsd_avg_t4 = fsd_avg_t4 / avg_fsd / denum call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_t5, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_t5 = fsd_avg_t5 / denum / avg_fsd +fsd_avg_t5 = fsd_avg_t5 / avg_fsd / denum call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_t6, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_t6 = fsd_avg_t6 / denum / avg_fsd +fsd_avg_t6 = fsd_avg_t6 / avg_fsd / denum call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_t7, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_t7 = fsd_avg_t7 / denum / avg_fsd +fsd_avg_t7 = fsd_avg_t7 / avg_fsd / denum call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_t8, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_t8 = fsd_avg_t8 / denum / avg_fsd - +fsd_avg_t8 = fsd_avg_t8 / avg_fsd / denum end subroutine m_terms_average_pass2 @@ -940,16 +983,15 @@ subroutine m_terms_write_result integer :: i -open (200, file="qEdge_X.dat") +open (200, file="qEdge_X.dat") write (200,*) output_header do i=1,nxp - write (200,'(30e20.10)') real(i)*hxp, avg_c(i), avg_u(i), avg_v(i), avg_w(i), avg_fsd(i), avg_lapc(i), avg_ddx_c(i), avg_ddy_c(i), avg_ddz_c(i), avg_d2dx_c(i), avg_d2dy_c(i), avg_d2dz_c(i), fsd_avg_u(i), fsd_avg_v(i), fsd_avg_w(i), fsd_avg_nx(i), fsd_avg_ny(i), fsd_avg_nz(i), fsd_avg_t1(i), fsd_avg_t2(i), fsd_avg_t3(i), fsd_avg_t4(i), fsd_avg_t5(i), fsd_avg_t6(i), fsd_avg_t7(i), fsd_avg_t8(i), fsd_avg_absk(i), fsd_avg_divn(i), fsd_avg_sd(i) + write (200,'(30e20.10)') real(i)*hxp, avg_c(i), avg_d2dx_c(i), avg_d2dy_c(i), avg_d2dz_c(i), avg_ddx_c(i), avg_ddy_c(i), avg_ddz_c(i), avg_fsd(i), avg_lapc(i), avg_u(i), avg_v(i), avg_w(i), fsd_avg_absk(i), fsd_avg_divn(i), fsd_avg_nx(i), fsd_avg_ny(i), fsd_avg_nz(i), fsd_avg_sd(i), fsd_avg_t1(i), fsd_avg_u(i), fsd_avg_v(i), fsd_avg_w(i), fsd_avg_t2(i), fsd_avg_t3(i), fsd_avg_t4(i), fsd_avg_t5(i), fsd_avg_t6(i), fsd_avg_t7(i), fsd_avg_t8(i) end do -close (200) - +close (200) end subroutine m_terms_write_result