Lines Matching refs:sctx

1209   FactorShiftCtx   sctx;  in MatLUFactorNumeric_SeqAIJ_Inode()  local
1219 PetscCall(PetscMemzero(&sctx, sizeof(FactorShiftCtx))); in MatLUFactorNumeric_SeqAIJ_Inode()
1223 sctx.shift_top = info->zeropivot; in MatLUFactorNumeric_SeqAIJ_Inode()
1231 if (rs > sctx.shift_top) sctx.shift_top = rs; in MatLUFactorNumeric_SeqAIJ_Inode()
1233 sctx.shift_top *= 1.1; in MatLUFactorNumeric_SeqAIJ_Inode()
1234 sctx.nshift_max = 5; in MatLUFactorNumeric_SeqAIJ_Inode()
1235 sctx.shift_lo = 0.; in MatLUFactorNumeric_SeqAIJ_Inode()
1236 sctx.shift_hi = 1.; in MatLUFactorNumeric_SeqAIJ_Inode()
1287 sctx.newshift = PETSC_FALSE; in MatLUFactorNumeric_SeqAIJ_Inode()
1312 rtmp1[i] += sctx.shift_amount; /* shift the diagonal of the matrix */ in MatLUFactorNumeric_SeqAIJ_Inode()
1354 sctx.rs = rs; in MatLUFactorNumeric_SeqAIJ_Inode()
1355 sctx.pv = rtmp1[i]; in MatLUFactorNumeric_SeqAIJ_Inode()
1356 PetscCall(MatPivotCheck(B, A, info, &sctx, i)); in MatLUFactorNumeric_SeqAIJ_Inode()
1357 if (sctx.newshift) break; in MatLUFactorNumeric_SeqAIJ_Inode()
1361 *pv = 1.0 / sctx.pv; /* sctx.pv = rtmp1[i]+shiftamount if shifttype==MAT_SHIFT_INBLOCKS */ in MatLUFactorNumeric_SeqAIJ_Inode()
1395 rtmp1[i] += sctx.shift_amount; in MatLUFactorNumeric_SeqAIJ_Inode()
1396 rtmp2[i + 1] += sctx.shift_amount; in MatLUFactorNumeric_SeqAIJ_Inode()
1446 sctx.rs = rs; in MatLUFactorNumeric_SeqAIJ_Inode()
1447 sctx.pv = rtmp1[i]; in MatLUFactorNumeric_SeqAIJ_Inode()
1448 PetscCall(MatPivotCheck(B, A, info, &sctx, i)); in MatLUFactorNumeric_SeqAIJ_Inode()
1449 if (sctx.newshift) break; in MatLUFactorNumeric_SeqAIJ_Inode()
1451 *pc1 = 1.0 / sctx.pv; in MatLUFactorNumeric_SeqAIJ_Inode()
1488 sctx.rs = rs; in MatLUFactorNumeric_SeqAIJ_Inode()
1489 sctx.pv = rtmp2[i + 1]; in MatLUFactorNumeric_SeqAIJ_Inode()
1490 PetscCall(MatPivotCheck(B, A, info, &sctx, i + 1)); in MatLUFactorNumeric_SeqAIJ_Inode()
1491 if (sctx.newshift) break; in MatLUFactorNumeric_SeqAIJ_Inode()
1493 *pc2 = 1.0 / sctx.pv; in MatLUFactorNumeric_SeqAIJ_Inode()
1531 rtmp1[i] += sctx.shift_amount; in MatLUFactorNumeric_SeqAIJ_Inode()
1532 rtmp2[i + 1] += sctx.shift_amount; in MatLUFactorNumeric_SeqAIJ_Inode()
1533 rtmp3[i + 2] += sctx.shift_amount; in MatLUFactorNumeric_SeqAIJ_Inode()
1587 sctx.rs = rs; in MatLUFactorNumeric_SeqAIJ_Inode()
1588 sctx.pv = rtmp1[i]; in MatLUFactorNumeric_SeqAIJ_Inode()
1589 PetscCall(MatPivotCheck(B, A, info, &sctx, i)); in MatLUFactorNumeric_SeqAIJ_Inode()
1590 if (sctx.newshift) break; in MatLUFactorNumeric_SeqAIJ_Inode()
1592 *pc1 = 1.0 / sctx.pv; in MatLUFactorNumeric_SeqAIJ_Inode()
1633 sctx.rs = rs; in MatLUFactorNumeric_SeqAIJ_Inode()
1634 sctx.pv = rtmp2[i + 1]; in MatLUFactorNumeric_SeqAIJ_Inode()
1635 PetscCall(MatPivotCheck(B, A, info, &sctx, i + 1)); in MatLUFactorNumeric_SeqAIJ_Inode()
1636 if (sctx.newshift) break; in MatLUFactorNumeric_SeqAIJ_Inode()
1638 *pc2 = 1.0 / sctx.pv; /* Mark diag[i+1] */ in MatLUFactorNumeric_SeqAIJ_Inode()
1675 sctx.rs = rs; in MatLUFactorNumeric_SeqAIJ_Inode()
1676 sctx.pv = rtmp3[i + 2]; in MatLUFactorNumeric_SeqAIJ_Inode()
1677 PetscCall(MatPivotCheck(B, A, info, &sctx, i + 2)); in MatLUFactorNumeric_SeqAIJ_Inode()
1678 if (sctx.newshift) break; in MatLUFactorNumeric_SeqAIJ_Inode()
1680 *pc3 = 1.0 / sctx.pv; /* Mark diag[i+2] */ in MatLUFactorNumeric_SeqAIJ_Inode()
1721 rtmp1[i] += sctx.shift_amount; in MatLUFactorNumeric_SeqAIJ_Inode()
1722 rtmp2[i + 1] += sctx.shift_amount; in MatLUFactorNumeric_SeqAIJ_Inode()
1723 rtmp3[i + 2] += sctx.shift_amount; in MatLUFactorNumeric_SeqAIJ_Inode()
1724 rtmp4[i + 3] += sctx.shift_amount; in MatLUFactorNumeric_SeqAIJ_Inode()
1782 sctx.rs = rs; in MatLUFactorNumeric_SeqAIJ_Inode()
1783 sctx.pv = rtmp1[i]; in MatLUFactorNumeric_SeqAIJ_Inode()
1784 PetscCall(MatPivotCheck(B, A, info, &sctx, i)); in MatLUFactorNumeric_SeqAIJ_Inode()
1785 if (sctx.newshift) break; in MatLUFactorNumeric_SeqAIJ_Inode()
1787 *pc1 = 1.0 / sctx.pv; in MatLUFactorNumeric_SeqAIJ_Inode()
1832 sctx.rs = rs; in MatLUFactorNumeric_SeqAIJ_Inode()
1833 sctx.pv = rtmp2[i + 1]; in MatLUFactorNumeric_SeqAIJ_Inode()
1834 PetscCall(MatPivotCheck(B, A, info, &sctx, i + 1)); in MatLUFactorNumeric_SeqAIJ_Inode()
1835 if (sctx.newshift) break; in MatLUFactorNumeric_SeqAIJ_Inode()
1837 *pc2 = 1.0 / sctx.pv; /* Mark diag[i+1] */ in MatLUFactorNumeric_SeqAIJ_Inode()
1878 sctx.rs = rs; in MatLUFactorNumeric_SeqAIJ_Inode()
1879 sctx.pv = rtmp3[i + 2]; in MatLUFactorNumeric_SeqAIJ_Inode()
1880 PetscCall(MatPivotCheck(B, A, info, &sctx, i + 2)); in MatLUFactorNumeric_SeqAIJ_Inode()
1881 if (sctx.newshift) break; in MatLUFactorNumeric_SeqAIJ_Inode()
1883 *pc3 = 1.0 / sctx.pv; /* Mark diag[i+2] */ in MatLUFactorNumeric_SeqAIJ_Inode()
1920 sctx.rs = rs; in MatLUFactorNumeric_SeqAIJ_Inode()
1921 sctx.pv = rtmp4[i + 3]; in MatLUFactorNumeric_SeqAIJ_Inode()
1922 PetscCall(MatPivotCheck(B, A, info, &sctx, i + 3)); in MatLUFactorNumeric_SeqAIJ_Inode()
1923 if (sctx.newshift) break; in MatLUFactorNumeric_SeqAIJ_Inode()
1925 *pc4 = 1.0 / sctx.pv; /* Mark diag[i+3] */ in MatLUFactorNumeric_SeqAIJ_Inode()
1931 if (sctx.newshift) break; /* break for (inod=0,i=0; inod<node_max; inod++) */ in MatLUFactorNumeric_SeqAIJ_Inode()
1936 …= (PetscReal)MAT_SHIFT_POSITIVE_DEFINITE && !sctx.newshift && sctx.shift_fraction > 0 && sctx.nshi… in MatLUFactorNumeric_SeqAIJ_Inode()
1941 sctx.shift_hi = sctx.shift_fraction; in MatLUFactorNumeric_SeqAIJ_Inode()
1942 sctx.shift_fraction = (sctx.shift_hi + sctx.shift_lo) / 2.; in MatLUFactorNumeric_SeqAIJ_Inode()
1943 sctx.shift_amount = sctx.shift_fraction * sctx.shift_top; in MatLUFactorNumeric_SeqAIJ_Inode()
1944 sctx.newshift = PETSC_TRUE; in MatLUFactorNumeric_SeqAIJ_Inode()
1945 sctx.nshift++; in MatLUFactorNumeric_SeqAIJ_Inode()
1947 } while (sctx.newshift); in MatLUFactorNumeric_SeqAIJ_Inode()
1970 if (sctx.nshift) { in MatLUFactorNumeric_SeqAIJ_Inode()
1972 … up by %e fraction top_value %e\n", sctx.nshift, (double)sctx.shift_amount, (double)sctx.shift_fra… in MatLUFactorNumeric_SeqAIJ_Inode()
1974 …number of shift_nz tries %" PetscInt_FMT ", shift_amount %g\n", sctx.nshift, (double)sctx.shift_am… in MatLUFactorNumeric_SeqAIJ_Inode()
1976 …ber of shift_inblocks applied %" PetscInt_FMT ", each shift_amount %g\n", sctx.nshift, (double)inf… in MatLUFactorNumeric_SeqAIJ_Inode()