32 1 NDDL ,NNZ ,IADK ,JDIK ,DIAG_K ,
33 2 LT_K ,IADM ,JDIM ,DIAG_M,LT_M ,
34 3 PSI ,NNZM ,MAX_L ,ISKY ,LI ,
39#include "implicit_f.inc"
43 INTEGER NDDL ,NNZ ,IADK(*) ,JDIK(*),NNZM ,IADM(*),JDIM(*),
47 . diag_k(*), diag_m(*), lt_k(*) ,lt_m(*) ,psi ,li(*)
51 INTEGER I,J,K,REJ,MAXK,
52 1 K0 ,J0 ,K1, KFT,LSKY
79 IF (isky(k1)==k1) isky(k1)=i
85 IF (lsky<iadm(k+1).AND.jdim(lsky)==i)
THEN
86 lkik = lt_m(lsky)/diag_m(k)
87 aii = aii -lt_m(lsky)*lkik
89 DO j = isky(k),iadm(k+1)-1
92 li(k1) = li(k1)-lkik*lt_m(j)
97 IF (isky(j)==j)
GOTO 100
104 IF (nnzm>max_l)
CALL err_mem(nnzm)
107 ELSEIF (s*s<psi*aii*ajj)
THEN
111 diag_m(j) = ajj +s/fac
115 IF (nnzm>max_l)
CALL err_mem(nnzm)
123 aii=sign(
max(abs(aii),em20),aii)
128 lt_m(j)=lt_m(j)*diag_m(i)
131 IF (isky(i)>nnzm) isky(i)= iadm(i)
subroutine imp_fac_icj(nddl, nnz, iadk, jdik, diag_k, lt_k, iadm, jdim, diag_m, lt_m, psi, nnzm, max_l, isky, li, nne)