190 petscerrorcode :: ierr
192 type(PcShellCtxType),
pointer :: pc_ctx => null()
193 integer(I4B) :: neq, nja
194 integer(I4B) :: niapc, njapc, njlu, njw, nwlu
195 integer(I4B),
dimension(:),
contiguous,
pointer :: ia, ja
196 real(DP),
dimension(:),
contiguous,
pointer :: amat
198 call pcshellgetcontext(pc, pc_ctx, ierr)
203 call pc_ctx%system_matrix%get_aij_local(ia, ja, amat)
205 neq = pc_ctx%system_matrix%nrow
206 nja = pc_ctx%system_matrix%nnz_local
207 niapc =
size(pc_ctx%IAPC) - 1
208 njapc =
size(pc_ctx%JAPC)
209 njlu =
size(pc_ctx%JLU)
210 njw =
size(pc_ctx%JW)
211 nwlu =
size(pc_ctx%WLU)
213 pc_ctx%ipc, pc_ctx%linear_settings%relax, &
215 pc_ctx%APC, pc_ctx%IAPC, pc_ctx%JAPC, &
216 pc_ctx%IW, pc_ctx%W, &
217 pc_ctx%linear_settings%level, &
218 pc_ctx%linear_settings%droptol, &
220 pc_ctx%JLU, pc_ctx%JW, pc_ctx%WLU)
subroutine ims_base_pcu(IOUT, NJA, NEQ, NIAPC, NJAPC, IPC, RELAX, AMAT, IA, JA, APC, IAPC, JAPC, IW, W, LEVEL, DROPTOL, NJLU, NJW, NWLU, JLU, JW, WLU)
@ brief Update the preconditioner