@@ -95,13 +95,9 @@ program snac
9595 integer , dimension ( 3 ) :: hiu,hiv,hiw
9696#endif
9797 type (hypre_solver) :: psolver
98- logical :: is_symm_matrix_p
9998#ifdef _IMPDIFF
10099 type (hypre_solver) :: usolver,vsolver,wsolver
101100 real (rp) :: alphai,alphaoi
102- logical :: is_symm_matrix_u, &
103- is_symm_matrix_v, &
104- is_symm_matrix_w
105101#endif
106102 !
107103 real (rp) :: dt,dtmax,time,dtrk,divtot,divmax
@@ -112,7 +108,6 @@ program snac
112108 dxc_g,dxf_g,xc_g,xf_g, &
113109 dyc_g,dyf_g,yc_g,yf_g, &
114110 dzc_g,dzf_g,zc_g,zf_g
115- logical :: is_uniform_grid
116111 logical , dimension (3 ) :: is_centered
117112 !
118113#if defined(_FFT_X) || defined(_FFT_Y) || defined(_FFT_Z)
@@ -501,21 +496,6 @@ program snac
501496 call MPI_ALLREDUCE(MPI_IN_PLACE,dzf_g(hi_g(3 )+ 1 ),1 ,MPI_REAL_RP,MPI_MAX,comm_block)
502497#endif
503498#endif
504- is_uniform_grid = all (dzf(:) == dzf(lo(3 ))) .and. &
505- all (dyf(:) == dyf(lo(2 ))) .and. &
506- all (dxf(:) == dxf(lo(1 ))) .and. &
507- #ifdef _FFT_X
508- dyf(lo(2 )) == dzf(lo(3 ))
509- #elif _FFT_Y
510- dxf(lo(1 )) == dzf(lo(3 ))
511- #elif _FFT_Z
512- dxf(lo(1 )) == dyf(lo(2 ))
513- #else
514- dxf(lo(1 )) == dyf(lo(2 )) .and. &
515- dxf(lo(1 )) == dzf(lo(3 )) .and. &
516- dyf(lo(2 )) == dzf(lo(3 ))
517- #endif
518- call mpi_allreduce(MPI_IN_PLACE,is_uniform_grid,1 ,MPI_LOGICAL,MPI_LAND,MPI_COMM_WORLD)
519499 !
520500 ! initialization of the flow fields
521501 !
@@ -713,7 +693,6 @@ program snac
713693 allocate (comms_fft(hi_a(idir)- lo_a(idir)+ 1 ))
714694 allocate (lambda_p_a(hi_a(idir)- lo_a(idir)+ 1 ))
715695 is_bound_a(:,:) = is_bound(:,:)
716- is_symm_matrix_p = is_uniform_grid
717696#ifndef _FFT_USE_SLABS
718697 comms_fft(:) = MPI_COMM_WORLD
719698 lambda_p_a(:) = lambda_p
@@ -728,17 +707,17 @@ program snac
728707#endif
729708#ifndef _FFT_USE_SLICED_PENCILS
730709 call init_n_2d_matrices(cbcpre(:,il:iu:iskip),bcpre(:,il:iu:iskip),dl(:,il:iu:iskip), &
731- is_symm_matrix_p ,is_bound_a(:,il:iu:iskip),is_centered(il:iu:iskip), &
710+ .true. ,is_bound_a(:,il:iu:iskip),is_centered(il:iu:iskip), &
732711 lo_a(idir),hi_a(idir),lo_a(il:iu:iskip),hi_a(il:iu:iskip),periods(il:iu:iskip), &
733712 dl1_1,dl1_2,dl2_1,dl2_2,alpha,alpha_bc,lambda_p_a,comms_fft,psolver_fft)
734713#else
735- call init_n_3d_matrices(idir,nslices,cbcpre,bcpre,dl,is_symm_matrix_p ,is_bound,is_centered,lo,periods, &
714+ call init_n_3d_matrices(idir,nslices,cbcpre,bcpre,dl,.true. ,is_bound,is_centered,lo,periods, &
736715 lo_sp,hi_sp,dxc,dxf,dyc,dyf,dzc,dzf,alpha,alpha_bc,lambda_p_a,psolver_fft)
737716#endif
738717 call create_n_solvers(npsolvers,hypre_maxiter,hypre_tol,hypre_solver_i,psolver_fft)
739718 call setup_n_solvers(npsolvers,psolver_fft)
740719#else
741- call init_matrix_3d(cbcpre,bcpre,dl,is_symm_matrix_p ,is_bound,is_centered,lo,hi,periods, &
720+ call init_matrix_3d(cbcpre,bcpre,dl,.true. ,is_bound,is_centered,lo,hi,periods, &
742721 dxc,dxf,dyc,dyf,dzc,dzf,alpha,alpha_bc,psolver)
743722 call create_solver(hypre_maxiter,hypre_tol,hypre_solver_i,psolver)
744723 call setup_solver(psolver)
@@ -750,7 +729,6 @@ program snac
750729 hiu(:) = hi(:)
751730 if (is_bound(1 ,1 )) hiu(:) = hiu(:)- [1 ,0 ,0 ]
752731 is_centered(:) = [.false. ,.true. ,.true. ]
753- is_symm_matrix_u = is_uniform_grid
754732 call init_bc_rhs(cbcvel(:,:,1 ),bcvel(:,:,1 ),dlu,is_bound,is_centered,lo,hiu,periods, &
755733 dxf,dxc,dyc,dyf,dzc,dzf,rhsu% x,rhsu% y,rhsu% z,bcu% x,bcu% y,bcu% z)
756734#if defined(_FFT_X) || defined(_FFT_Y) || defined(_FFT_Z)
@@ -768,11 +746,11 @@ program snac
768746 if (periods(1 ) == 0 ) hiu_a(:) = hiu_a(:)- [1 ,0 ,0 ]
769747#endif
770748 call init_n_2d_matrices(cbcvel(:,il:iu:iskip,1 ),bcvel(:,il:iu:iskip,1 ),dlu(:,il:iu:iskip), &
771- is_symm_matrix_u ,is_bound_a(:,il:iu:iskip),is_centered(il:iu:iskip), &
749+ .true. ,is_bound_a(:,il:iu:iskip),is_centered(il:iu:iskip), &
772750 lo_a(idir),hiu_a(idir),lo_a(il:iu:iskip),hiu_a(il:iu:iskip),periods(il:iu:iskip), &
773751 dlu1_1,dlu1_2,dlu2_1,dlu2_2,alpha,alpha_bc,lambda_u_a,comms_fft,usolver_fft)
774752#else
775- call init_matrix_3d(cbcvel(:,:,1 ),bcvel(:,:,1 ),dlu,is_symm_matrix_u ,is_bound,is_centered,lo,hiu,periods, &
753+ call init_matrix_3d(cbcvel(:,:,1 ),bcvel(:,:,1 ),dlu,.true. ,is_bound,is_centered,lo,hiu,periods, &
776754 dxf,dxc,dyc,dyf,dzc,dzf,alpha,alpha_bc,usolver)
777755#endif
778756 dlv = reshape ([dxc_g(lo_g(1 )- 1 ),dxc_g(hi_g(1 )), &
@@ -796,14 +774,13 @@ program snac
796774 lambda_v_a(:) = lambda_v(lo_s(idir)- lo(idir)+ 1 :hi_s(idir)- lo(idir)+ 1 )
797775 hiv_a(:) = hi_s(:)
798776 if (periods(2 ) == 0 ) hiv_a(:) = hiv_a(:)- [0 ,1 ,0 ]
799- is_symm_matrix_v = is_uniform_grid
800777#endif
801778 call init_n_2d_matrices(cbcvel(:,il:iu:iskip,2 ),bcvel(:,il:iu:iskip,2 ),dlv(:,il:iu:iskip), &
802- is_symm_matrix_v ,is_bound_a(:,il:iu:iskip),is_centered(il:iu:iskip), &
779+ .true. ,is_bound_a(:,il:iu:iskip),is_centered(il:iu:iskip), &
803780 lo_a(idir),hiv_a(idir),lo_a(il:iu:iskip),hiv_a(il:iu:iskip),periods(il:iu:iskip), &
804781 dlv1_1,dlv1_2,dlv2_1,dlv2_2,alpha,alpha_bc,lambda_v_a,comms_fft,vsolver_fft)
805782#else
806- call init_matrix_3d(cbcvel(:,:,2 ),bcvel(:,:,2 ),dlv,is_symm_matrix_v ,is_bound,is_centered,lo,hiv,periods, &
783+ call init_matrix_3d(cbcvel(:,:,2 ),bcvel(:,:,2 ),dlv,.true. ,is_bound,is_centered,lo,hiv,periods, &
807784 dxc,dxf,dyf,dyc,dzc,dzf,alpha,alpha_bc,vsolver)
808785#endif
809786 dlw = reshape ([dxc_g(lo_g(1 )- 1 ),dxc_g(hi_g(1 )), &
@@ -827,14 +804,13 @@ program snac
827804 lambda_w_a(:) = lambda_w(lo_s(idir)- lo(idir)+ 1 :hi_s(idir)- lo(idir)+ 1 )
828805 hiw_a(:) = hi_s(:)
829806 if (periods(3 ) == 0 ) hiw_a(:) = hiw_a(:)- [0 ,0 ,1 ]
830- is_symm_matrix_w = is_uniform_grid
831807#endif
832808 call init_n_2d_matrices(cbcvel(:,il:iu:iskip,3 ),bcvel(:,il:iu:iskip,3 ),dlw(:,il:iu:iskip), &
833- is_symm_matrix_w ,is_bound_a(:,il:iu:iskip),is_centered(il:iu:iskip), &
809+ .true. ,is_bound_a(:,il:iu:iskip),is_centered(il:iu:iskip), &
834810 lo_a(idir),hiw_a(idir),lo_a(il:iu:iskip),hiw_a(il:iu:iskip),periods(il:iu:iskip), &
835811 dlw1_1,dlw1_2,dlw2_1,dlw2_2,alpha,alpha_bc,lambda_w_a,comms_fft,wsolver_fft)
836812#else
837- call init_matrix_3d(cbcvel(:,:,3 ),bcvel(:,:,3 ),dlw,is_symm_matrix_w ,is_bound,is_centered,lo,hiw,periods, &
813+ call init_matrix_3d(cbcvel(:,:,3 ),bcvel(:,:,3 ),dlw,.true. ,is_bound,is_centered,lo,hiw,periods, &
838814 dxc,dxf,dyc,dyf,dzf,dzc,alpha,alpha_bc,wsolver)
839815#endif
840816#endif
0 commit comments