188 petscerrorcode :: ierr
190 type(PcShellCtxType),
pointer :: pc_ctx => null()
191 integer(I4B) :: neq, nja
192 integer(I4B) :: niapc, njapc, njlu, njw, nwlu
193 integer(I4B),
dimension(:),
contiguous,
pointer :: ia, ja
194 real(DP),
dimension(:),
contiguous,
pointer :: amat
196 call pcshellgetcontext(pc, pc_ctx, ierr)
201 call pc_ctx%system_matrix%get_aij_local(ia, ja, amat)
203 neq = pc_ctx%system_matrix%nrow
204 nja = pc_ctx%system_matrix%nnz_local
205 niapc =
size(pc_ctx%IAPC) - 1
206 njapc =
size(pc_ctx%JAPC)
207 njlu =
size(pc_ctx%JLU)
208 njw =
size(pc_ctx%JW)
209 nwlu =
size(pc_ctx%WLU)
211 pc_ctx%ipc, pc_ctx%linear_settings%relax, &
213 pc_ctx%APC, pc_ctx%IAPC, pc_ctx%JAPC, &
214 pc_ctx%IW, pc_ctx%W, &
215 pc_ctx%linear_settings%level, &
216 pc_ctx%linear_settings%droptol, &
218 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