1155 IMPLICIT NONE
1156 include 'mumps_headers.h'
1157 TYPE (ZMUMPS_ROOT_STRUC) :: root
1158 INTEGER COMM_LOAD, ASS_IRECV
1159 INTEGER COMM_NODES, MYID_NODES, TYPE, TYPEF
1160 INTEGER N, LIW, INODE,INFO_P(2)
1161 INTEGER ICNTL(60), KEEP(500)
1162 DOUBLE PRECISION DKEEP(230)
1163 DOUBLE PRECISION UU, SEUIL, SEUIL_LDLT_NIV2
1164 INTEGER(8) (150)
1165 INTEGER(8) :: LA, POSFAC, LRLU, LRLUS, LRLUSM, IPTRLU
1166 INTEGER IWPOSCB, IWPOS,
1167 & IFATH, SLAVEF, NELVAW, NMAXNPIVW, NSTEPSW
1168 INTEGER IW(LIW),PROCNODE_STEPS(KEEP(28))
1169 INTEGER(8) :: PTRAST (KEEP(28))
1170 INTEGER(8) :: PTRFAC (KEEP(28))
1171 INTEGER(8) :: PAMASTER(KEEP(28))
1172 INTEGER PTRIST(KEEP(28)), PTLUST_S(KEEP(28))
1173 INTEGER STEP(N), PIMASTER(KEEP(28)), NE(KEEP(28))
1174 COMPLEX(kind=8) A(LA)
1175 INTEGER :: MAXFRW, NOFFNEGW, NPVW, NBTINYW
1176 INTEGER, intent(in) :: LRGROUPS(N)
1177 DOUBLE PRECISION OPASSW, OPELIW
1178 COMPLEX(kind=8) DBLARR(KEEP8(26))
1179 INTEGER INTARR(KEEP8(27))
1180 INTEGER ( N + KEEP(253) ), FILS( N ),
1181 & ND( KEEP(28) ), FRERE( KEEP(28) )
1182 INTEGER DAD( KEEP(28) )
1183 COMPLEX(kind=8) :: RHS_MUMPS(KEEP(255))
1184 INTEGER ISTEP_TO_INIV2(KEEP(71)),
1185 & TAB_POS_IN_PERE(SLAVEF+2,max(1,KEEP(56)))
1186 INTEGER NELT, LPTRAR
1187 INTEGER FRTPTR( N+1 ), FRTELT( NELT )
1188 INTEGER(8), INTENT(IN) :: PTRAIW( LPTRAR ), PTRARW( LPTRAR )
1189 INTEGER LEAF, COMP
1190 INTEGER :: NB22T1W, DET_EXPW, DET_SIGNW
1191 COMPLEX(kind=8) :: DET_MANTW
1192 INTEGER PERM( N )
1193 INTEGER NSTK_STEPS( KEEP(28) )
1194 INTEGER LBUFR, LBUFR_BYTES
1195 INTEGER BUFR( LBUFR )
1196 INTEGER NBFIN
1197 INTEGER :: LPN_LIST
1198 INTEGER :: PIVNUL_LIST(LPN_LIST)
1199 DOUBLE PRECISION FLOP_ESTIM_ACC
1200 INTEGER, INTENT(IN) :: LPOOL_P
1201 INTEGER, INTENT(IN) :: IPOOL_P(LPOOL_P)
1202 INTEGER :: IOLDPS, JOBASS, ETATASS
1203 INTEGER(8) :: POSELT
1204 LOGICAL :: AVOID_DELAYED, SON_LEVEL2
1205 jobass = 0
1206 etatass = 0
1207 IF ( keep(55) .EQ. 0 ) THEN
1208 jobass = 0
1210 & iw, liw, a, la,
1211 & info_p, nd, fils, frere, dad, maxfrw, root, opassw,
1212 & opeliw, ptrist, ptlust_s, ptrfac, ptrast, step, pimaster,
1213 & pamaster, ptrarw, ptraiw, itloc, rhs_mumps, nstepsw,
1214 & son_level2,
comp, lrlu, iptrlu,
1215 & iwpos, iwposcb, posfac,
1216 & lrlus, lrlusm, icntl, keep, keep8, dkeep,
1217 & intarr, keep8(27), dblarr, keep8(26),
1218 & nstk_steps, procnode_steps, slavef, comm_nodes,
1219 & myid_nodes, bufr, lbufr, lbufr_bytes, nbfin, ipool_p,
1220 & lpool_p, leaf, perm, istep_to_iniv2, tab_pos_in_pere,
1221 & jobass, etatass
1222 & , lrgroups
1223 & )
1224 ELSE
1226 & frtelt, n, inode, iw, liw, a,
1227 & la, info_p, nd, fils, frere, dad, maxfrw,
1228 & root, opassw, opeliw, ptrist, ptlust_s, ptrfac, ptrast, step,
1229 & pimaster, pamaster, ptrarw, ptraiw, itloc,
1230 & rhs_mumps, nstepsw, son_level2,
comp, lrlu,
1231 & iptrlu, iwpos, iwposcb,
1232 & posfac, lrlus, lrlusm, icntl, keep, keep8, dkeep,
1233 & intarr, keep8(27), dblarr, keep8(26),
1234 & nstk_steps, procnode_steps, slavef,
1235 & comm_nodes, myid_nodes, bufr, lbufr, lbufr_bytes, nbfin,
1236 & ipool_p, lpool_p, leaf, perm, istep_to_iniv2,
1237 & tab_pos_in_pere
1238 & , lrgroups
1239 & )
1240 ENDIF
1241 IF (info_p(1) .LT. 0) THEN
1242 RETURN
1243 ENDIF
1244 avoid_delayed = ( ( ifath .EQ. keep(20)
1245 & .OR.
1246 & ifath .EQ. keep(38) )
1247 & .AND.
1248 & ( keep(60) .NE. 0 ) )
1249 poselt = ptrast(step(inode))
1250 ioldps = ptlust_s(step(inode))
1251 IF ( keep(50) .EQ. 0 ) THEN
1253 & iw, liw,
1254 & a, la, ioldps,
1255 & poselt,
1256 & info_p(1), info_p(2), uu, noffnegw, npvw, nbtinyw,
1257 & det_expw, det_mantw, det_signw,
1258 & keep, keep8,
1259 & step, procnode_steps, myid_nodes, slavef,
1260 & seuil, avoid_delayed, etatass,
1261 & dkeep(1), pivnul_list(1), lpn_list, iwpos
1262 & , lrgroups
1263 & , perm
1264 & )
1265 ELSE
1266 iw( ioldps + 4 + keep(ixsz) ) = 1
1268 & iw, liw, a,
1269 & la,
1270 & ioldps, poselt,
1271 & info_p(1), info_p(2), uu, noffnegw, npvw,
1272 & nb22t1w, nbtinyw, det_expw, det_mantw, det_signw,
1273 & keep, keep8, myid_nodes, seuil,
1274 & avoid_delayed,
1275 & etatass,
1276 & dkeep(1), pivnul_list(1), lpn_list, iwpos
1277 & , lrgroups
1278 & , perm
1279 & )
1280 iw(ioldps + 4 + keep(ixsz)) = step(inode)
1281 ENDIF
1282 IF (info_p(1) .LT. 0) THEN
1283 RETURN
1284 ENDIF
1286 &TYPEF, LA, IW, LIW, A,
1287 &INFO_P(1), INFO_P(2), OPELIW, NELVAW, NMAXNPIVW, PTRIST, PTLUST_S,
1288 &PTRFAC, PTRAST, STEP, PIMASTER, PAMASTER, NE, POSFAC,
1289 &LRLU, LRLUS, LRLUSM, IPTRLU, ICNTL, KEEP,
1290 &KEEP8, DKEEP,
1291 &COMP,IWPOS, IWPOSCB, PROCNODE_STEPS,
1292 &SLAVEF, IFATH, COMM_NODES, MYID_NODES, IPOOL_P,
1293 &LPOOL_P, LEAF, NSTK_STEPS, PERM, BUFR, LBUFR,
1294 &LBUFR_BYTES, NBFIN, root, OPASSW, ITLOC, RHS_MUMPS,
1295 &FILS, DAD, PTRARW, PTRAIW, INTARR, DBLARR, ND, FRERE,
1296 &LPTRAR, NELT, FRTPTR, FRTELT, ISTEP_TO_INIV2, TAB_POS_IN_PERE,
1297 & LRGROUPS,
1298 & FLOP_ESTIM_ACC
1299 &)
1300 RETURN
subroutine zmumps_fac1_ldlt(n, inode, iw, liw, a, la, ioldps, poselt, iflag, ierror, uu, nnegw, npvw, nb22t1w, nbtinyw, det_expw, det_mantw, det_signw, keep, keep8, myid, seuil, avoid_delayed, etatass, dkeep, pivnul_list, lpn_list, iwpos, lrgroups, perm)
subroutine zmumps_fac1_lu(n, inode, iw, liw, a, la, ioldps, poselt, iflag, ierror, uu, noffw, npvw, nbtinyw, det_expw, det_mantw, det_signw, keep, keep8, step, procnode_steps, myid, slavef, seuil, avoid_delayed, etatass, dkeep, pivnul_list, lpn_list, iwpos, lrgroups, perm)
subroutine zmumps_fac_asm_niv1_elt(comm_load, ass_irecv, nelt, frt_ptr, frt_elt, n, inode, iw, liw, a, la, info, nd, fils, frere, dad, maxfrw, root, opassw, opeliw, ptrist, ptlust, ptrfac, ptrast, step, pimaster, pamaster, ptrarw, ptraiw, itloc, rhs_mumps, nsteps, son_level2, comp, lrlu, iptrlu, iwpos, iwposcb, posfac, lrlus, lrlusm, icntl, keep, keep8, dkeep, intarr, lintarr, dblarr, ldblarr nstk_s, procnode_steps, slavef, comm, myid, bufr, lbufr, lbufr_bytes, nbfin, ipool, lpool, leaf, perm, istep_to_iniv2, tab_pos_in_pere, lrgroups, mumps_tps_arr, zmumps_tps_arr, l0_omp_mapping)
subroutine zmumps_fac_asm_niv1(comm_load, ass_irecv, n, inode, iw, liw, a, la, info, nd, fils, frere, dad, maxfrw, root, opassw, opeliw, ptrist, ptlust, ptrfac, ptrast, step, pimaster, pamaster, ptrarw, ptraiw, itloc, rhs_mumps, nsteps, son_level2, comp, lrlu, iptrlu, iwpos, iwposcb, posfac, lrlus, lrlusm, icntl, keep, keep8, dkeep, intarr, lintarr, dblarr, ldblarr nstk_s, procnode_steps, slavef, comm, myid, bufr, lbufr, lbufr_bytes, nbfin, ipool, lpool, leaf, perm, istep_to_iniv2, tab_pos_in_pere, jobass, etatass, lrgroups, mumps_tps_arr, zmumps_tps_arr, l0_omp_mapping)
subroutine zmumps_fac_stack(comm_load, ass_irecv, n, inode, type, typef, la, iw, liw, a, iflag, ierror, opeliw, nelvaw, nmaxnpiv, ptrist, ptlust_s, ptrfac, ptrast, step, pimaster, pamaster, ne, posfac, lrlu, lrlus, lrlusm, iptrlu, icntl, keep, keep8, dkeep, comp, iwpos, iwposcb, procnode_steps, slavef, fpere, comm, myid, ipool, lpool, leaf, nstk_s, perm, bufr, lbufr, lbufr_bytes, nbfin, root, opassw, itloc, rhs_mumps, fils, dad, ptrarw, ptraiw, intarr, dblarr, nd, frere, lptrar, nelt, frtptr, frtelt, istep_to_iniv2, tab_pos_in_pere, lrgroups, flop_estim_acc)