59subroutine set_zeros_in_unused_block_part_&
63 (aux_mat_full, nblk, nblk_rows_cut, nblk_cols_cut, &
64 i_block_loc_fine, j_block_loc_fine, shift_i, shift_j)
66 use,
intrinsic :: iso_c_binding
69#include "../../src/general/precision_kinds.F90"
71 math_datatype(kind=rck),
pointer,
contiguous :: aux_mat_full(:,:)
72 integer(kind=ik) :: nblk, nblk_rows_cut, nblk_cols_cut
73 integer(kind=ik) :: i_block_loc_fine, j_block_loc_fine
74 integer(kind=ik),
value :: shift_i, shift_j
76 if (nblk_rows_cut<nblk .and. nblk_cols_cut>0)
then
77 aux_mat_full(1+max(nblk_rows_cut,0) + i_block_loc_fine*nblk + shift_i : &
78 nblk + i_block_loc_fine*nblk + shift_i, &
79 1 + j_block_loc_fine*nblk + shift_j : &
80 nblk_cols_cut + j_block_loc_fine*nblk + shift_j) = 0
83 if (nblk_cols_cut<nblk .and. nblk_rows_cut>0)
then
84 aux_mat_full(1 + i_block_loc_fine*nblk + shift_i : &
85 nblk_rows_cut + i_block_loc_fine*nblk + shift_i, &
86 1+max(nblk_cols_cut,0) + j_block_loc_fine*nblk + shift_j : &
87 nblk + j_block_loc_fine*nblk + shift_j) = 0
90 if (nblk_rows_cut<nblk .and. nblk_cols_cut<nblk)
then
91 aux_mat_full(1+max(nblk_rows_cut,0) + i_block_loc_fine*nblk + shift_i: &
92 nblk + i_block_loc_fine*nblk + shift_i, &
93 1+max(nblk_cols_cut,0) + j_block_loc_fine*nblk + shift_j : &
94 nblk + j_block_loc_fine*nblk + shift_j) = 0