diff --git a/src/ZSOLVER/tensorproductmultigrid_Source/discretisation.f90 b/src/ZSOLVER/tensorproductmultigrid_Source/discretisation.f90 index 70d9063b2494dce63cf65cb43ce68cd9a379199b..11a793ce2fcf4bf89123a2a837f4c3d055868604 100644 --- a/src/ZSOLVER/tensorproductmultigrid_Source/discretisation.f90 +++ b/src/ZSOLVER/tensorproductmultigrid_Source/discretisation.f90 @@ -1882,8 +1882,8 @@ end subroutine line_Jacobi_mnh !local !real(kind=rl), dimension(5) :: alpha_T - real(kind=rl) :: Tij - real(kind=rl) :: alpha_div_Tij ! b_k_tmp, c_k_tmp + real(kind=rl) ,pointer :: Tij + real(kind=rl) ,pointer :: alpha_div_Tij ! b_k_tmp, c_k_tmp integer :: iz, nz real, dimension(:,:,:) , pointer, contiguous :: zSr_st , zb_st , zSu_in_st , zSu_out_st @@ -1898,20 +1898,17 @@ end subroutine line_Jacobi_mnh type Temp_tridiag_mnh real, dimension(:), pointer, contiguous :: tmp_k,c_k + real, pointer :: Tij , alpha_div_Tij end type Temp_tridiag_mnh type(Temp_tridiag_mnh) , save , dimension(max_lev) :: Ttridiag_mnh if (LUseT ) then + + ! Calculate r_i = b_i - A_{ij} u_i - nz = b%grid_param%nz - - !call construct_alpha_T_cst_mnh(b%grid_param,alpha_T,Tij) - Tij = ( b%grid_param%L/b%grid_param%n ) ** 2 - alpha_div_Tij = 4.0_rl / Tij - !print*,"level=",level," Tij=",Tij," alpha_div_Tij=",alpha_div_Tij - ! Calculate r_i = b_i - A_{ij} u_i - + nz = b%grid_param%nz + zSr_st => Sr%st zb_st => b%st zSu_in_st => Su_in%st @@ -1923,6 +1920,17 @@ end subroutine line_Jacobi_mnh if ( Lfirst_call_level_tridiag_mnhallT(level) ) then Lfirst_call_level_tridiag_mnhallT(level) = .false. + + allocate(Ttridiag_mnh(level)%Tij) + allocate(Ttridiag_mnh(level)%alpha_div_Tij) + + Tij=>Ttridiag_mnh(level)%Tij + alpha_div_Tij=>Ttridiag_mnh(level)%alpha_div_Tij + !call construct_alpha_T_cst_mnh(b%grid_param,alpha_T,Tij) + Tij = ( b%grid_param%L/b%grid_param%n ) ** 2 + alpha_div_Tij = 4.0_rl / Tij + !print*,"level=",level," Tij=",Tij," alpha_div_Tij=",alpha_div_Tij + allocate(Ttridiag_mnh(level)%tmp_k(size(zb_k))) allocate(Ttridiag_mnh(level)%c_k(size(zb_k))) @@ -1948,6 +1956,9 @@ end subroutine line_Jacobi_mnh !$acc enter data copyin(tmp_k,c_k) endif + + Tij=>Ttridiag_mnh(level)%Tij + alpha_div_Tij=>Ttridiag_mnh(level)%alpha_div_Tij tmp_k => Ttridiag_mnh(level)%tmp_k c_k => Ttridiag_mnh(level)%c_k