Lines Matching refs:lu

64   Mat_SuperLU       *lu= (Mat_SuperLU*)A->data;  in MatView_Info_SuperLU()  local
69 options = lu->options; in MatView_Info_SuperLU()
82 ierr = PetscViewerASCIIPrintf(viewer," lwork: %D\n",lu->lwork);CHKERRQ(ierr); in MatView_Info_SuperLU()
96 Mat_SuperLU *lu = (Mat_SuperLU*)A->data; in MatSolve_SuperLU_Private() local
105 if (lu->lwork == -1) PetscFunctionReturn(0); in MatSolve_SuperLU_Private()
109 lu->B.ncol = 1; /* Set the number of right-hand side */ in MatSolve_SuperLU_Private()
110 if (lu->options.Equil && !lu->rhs_dup) { in MatSolve_SuperLU_Private()
112 ierr = PetscMalloc1(n,&lu->rhs_dup);CHKERRQ(ierr); in MatSolve_SuperLU_Private()
114 if (lu->options.Equil) { in MatSolve_SuperLU_Private()
117 ierr = PetscArraycpy(lu->rhs_dup,barray,n);CHKERRQ(ierr); in MatSolve_SuperLU_Private()
119 barray = lu->rhs_dup; in MatSolve_SuperLU_Private()
127 ((DNformat*)lu->B.Store)->nzval = (singlecomplex*)barray; in MatSolve_SuperLU_Private()
128 ((DNformat*)lu->X.Store)->nzval = (singlecomplex*)xarray; in MatSolve_SuperLU_Private()
130 ((DNformat*)lu->B.Store)->nzval = (doublecomplex*)barray; in MatSolve_SuperLU_Private()
131 ((DNformat*)lu->X.Store)->nzval = (doublecomplex*)xarray; in MatSolve_SuperLU_Private()
134 ((DNformat*)lu->B.Store)->nzval = (void*)barray; in MatSolve_SuperLU_Private()
135 ((DNformat*)lu->X.Store)->nzval = xarray; in MatSolve_SuperLU_Private()
138 lu->options.Fact = FACTORED; /* Indicate the factored form of A is supplied. */ in MatSolve_SuperLU_Private()
142 …tscStackCall("SuperLU:cgssvx",cgssvx(&lu->options, &lu->A, lu->perm_c, lu->perm_r, lu->etree, lu->… in MatSolve_SuperLU_Private()
143 … &lu->L, &lu->U, lu->work, lu->lwork, &lu->B, &lu->X, &lu->rpg, &lu->rcond, &ferr, &berr, in MatSolve_SuperLU_Private()
144 &lu->Glu, &lu->mem_usage, &lu->stat, &info)); in MatSolve_SuperLU_Private()
146 …tscStackCall("SuperLU:zgssvx",zgssvx(&lu->options, &lu->A, lu->perm_c, lu->perm_r, lu->etree, lu->… in MatSolve_SuperLU_Private()
147 … &lu->L, &lu->U, lu->work, lu->lwork, &lu->B, &lu->X, &lu->rpg, &lu->rcond, &ferr, &berr, in MatSolve_SuperLU_Private()
148 &lu->Glu, &lu->mem_usage, &lu->stat, &info)); in MatSolve_SuperLU_Private()
152 …tscStackCall("SuperLU:sgssvx",sgssvx(&lu->options, &lu->A, lu->perm_c, lu->perm_r, lu->etree, lu->… in MatSolve_SuperLU_Private()
153 … &lu->L, &lu->U, lu->work, lu->lwork, &lu->B, &lu->X, &lu->rpg, &lu->rcond, &ferr, &berr, in MatSolve_SuperLU_Private()
154 &lu->Glu, &lu->mem_usage, &lu->stat, &info)); in MatSolve_SuperLU_Private()
156 …tscStackCall("SuperLU:dgssvx",dgssvx(&lu->options, &lu->A, lu->perm_c, lu->perm_r, lu->etree, lu->… in MatSolve_SuperLU_Private()
157 … &lu->L, &lu->U, lu->work, lu->lwork, &lu->B, &lu->X, &lu->rpg, &lu->rcond, &ferr, &berr, in MatSolve_SuperLU_Private()
158 &lu->Glu,&lu->mem_usage, &lu->stat, &info)); in MatSolve_SuperLU_Private()
164 …tscStackCall("SuperLU:cgsisx",cgsisx(&lu->options, &lu->A, lu->perm_c, lu->perm_r, lu->etree, lu->… in MatSolve_SuperLU_Private()
165 … &lu->L, &lu->U, lu->work, lu->lwork, &lu->B, &lu->X, &lu->rpg, &lu->rcond, in MatSolve_SuperLU_Private()
166 &lu->Glu, &lu->mem_usage, &lu->stat, &info)); in MatSolve_SuperLU_Private()
168 …tscStackCall("SuperLU:zgsisx",zgsisx(&lu->options, &lu->A, lu->perm_c, lu->perm_r, lu->etree, lu->… in MatSolve_SuperLU_Private()
169 … &lu->L, &lu->U, lu->work, lu->lwork, &lu->B, &lu->X, &lu->rpg, &lu->rcond, in MatSolve_SuperLU_Private()
170 &lu->Glu, &lu->mem_usage, &lu->stat, &info)); in MatSolve_SuperLU_Private()
174 …tscStackCall("SuperLU:sgsisx",sgsisx(&lu->options, &lu->A, lu->perm_c, lu->perm_r, lu->etree, lu->… in MatSolve_SuperLU_Private()
175 … &lu->L, &lu->U, lu->work, lu->lwork, &lu->B, &lu->X, &lu->rpg, &lu->rcond, in MatSolve_SuperLU_Private()
176 &lu->Glu, &lu->mem_usage, &lu->stat, &info)); in MatSolve_SuperLU_Private()
178 …tscStackCall("SuperLU:dgsisx",dgsisx(&lu->options, &lu->A, lu->perm_c, lu->perm_r, lu->etree, lu->… in MatSolve_SuperLU_Private()
179 … &lu->L, &lu->U, lu->work, lu->lwork, &lu->B, &lu->X, &lu->rpg, &lu->rcond, in MatSolve_SuperLU_Private()
180 &lu->Glu, &lu->mem_usage, &lu->stat, &info)); in MatSolve_SuperLU_Private()
184 if (!lu->options.Equil) { in MatSolve_SuperLU_Private()
189 if (!info || info == lu->A.ncol+1) { in MatSolve_SuperLU_Private()
190 if (lu->options.IterRefine) { in MatSolve_SuperLU_Private()
194 … ierr = PetscPrintf(PETSC_COMM_SELF," %8d%8d%16e%16e\n", i+1, lu->stat.RefineSteps, ferr, berr); in MatSolve_SuperLU_Private()
198 if (lu->lwork == -1) { in MatSolve_SuperLU_Private()
199 ierr = PetscPrintf(PETSC_COMM_SELF," ** Estimated memory: %D bytes\n", info - lu->A.ncol); in MatSolve_SuperLU_Private()
205 if (lu->options.PrintStat) { in MatSolve_SuperLU_Private()
207 PetscStackCall("SuperLU:StatPrint",StatPrint(&lu->stat)); in MatSolve_SuperLU_Private()
214 Mat_SuperLU *lu = (Mat_SuperLU*)A->data; in MatSolve_SuperLU() local
224 lu->options.Trans = TRANS; in MatSolve_SuperLU()
231 Mat_SuperLU *lu = (Mat_SuperLU*)A->data; in MatSolveTranspose_SuperLU() local
241 lu->options.Trans = NOTRANS; in MatSolveTranspose_SuperLU()
248 Mat_SuperLU *lu = (Mat_SuperLU*)F->data; in MatLUFactorNumeric_SuperLU() local
257 if (lu->flg == SAME_NONZERO_PATTERN) { /* successing numerical factorization */ in MatLUFactorNumeric_SuperLU()
258 lu->options.Fact = SamePattern; in MatLUFactorNumeric_SuperLU()
260 Destroy_SuperMatrix_Store(&lu->A); in MatLUFactorNumeric_SuperLU()
261 if (lu->A_dup) { in MatLUFactorNumeric_SuperLU()
262 ierr = MatCopy_SeqAIJ(A,lu->A_dup,SAME_NONZERO_PATTERN);CHKERRQ(ierr); in MatLUFactorNumeric_SuperLU()
265 if (lu->lwork >= 0) { in MatLUFactorNumeric_SuperLU()
266 PetscStackCall("SuperLU:Destroy_SuperNode_Matrix",Destroy_SuperNode_Matrix(&lu->L)); in MatLUFactorNumeric_SuperLU()
267 PetscStackCall("SuperLU:Destroy_CompCol_Matrix",Destroy_CompCol_Matrix(&lu->U)); in MatLUFactorNumeric_SuperLU()
268 lu->options.Fact = SamePattern; in MatLUFactorNumeric_SuperLU()
275 if (lu->A_dup) { in MatLUFactorNumeric_SuperLU()
276 aa = (Mat_SeqAIJ*)(lu->A_dup)->data; in MatLUFactorNumeric_SuperLU()
282 …PetscStackCall("SuperLU:cCreate_CompCol_Matrix",cCreate_CompCol_Matrix(&lu->A,A->cmap->n,A->rmap->… in MatLUFactorNumeric_SuperLU()
284 …PetscStackCall("SuperLU:zCreate_CompCol_Matrix",zCreate_CompCol_Matrix(&lu->A,A->cmap->n,A->rmap->… in MatLUFactorNumeric_SuperLU()
288 …PetscStackCall("SuperLU:sCreate_CompCol_Matrix",sCreate_CompCol_Matrix(&lu->A,A->cmap->n,A->rmap->… in MatLUFactorNumeric_SuperLU()
290 …PetscStackCall("SuperLU:dCreate_CompCol_Matrix",dCreate_CompCol_Matrix(&lu->A,A->cmap->n,A->rmap->… in MatLUFactorNumeric_SuperLU()
295 lu->B.ncol = 0; /* Indicate not to solve the system */ in MatLUFactorNumeric_SuperLU()
299 …tscStackCall("SuperLU:cgssvx",cgssvx(&lu->options, &lu->A, lu->perm_c, lu->perm_r, lu->etree, lu->… in MatLUFactorNumeric_SuperLU()
300 … &lu->L, &lu->U, lu->work, lu->lwork, &lu->B, &lu->X, &lu->rpg, &lu->rcond, &ferr, &berr, in MatLUFactorNumeric_SuperLU()
301 &lu->Glu, &lu->mem_usage, &lu->stat, &sinfo)); in MatLUFactorNumeric_SuperLU()
303 …tscStackCall("SuperLU:zgssvx",zgssvx(&lu->options, &lu->A, lu->perm_c, lu->perm_r, lu->etree, lu->… in MatLUFactorNumeric_SuperLU()
304 … &lu->L, &lu->U, lu->work, lu->lwork, &lu->B, &lu->X, &lu->rpg, &lu->rcond, &ferr, &berr, in MatLUFactorNumeric_SuperLU()
305 &lu->Glu, &lu->mem_usage, &lu->stat, &sinfo)); in MatLUFactorNumeric_SuperLU()
309 …tscStackCall("SuperLU:sgssvx",sgssvx(&lu->options, &lu->A, lu->perm_c, lu->perm_r, lu->etree, lu->… in MatLUFactorNumeric_SuperLU()
310 … &lu->L, &lu->U, lu->work, lu->lwork, &lu->B, &lu->X, &lu->rpg, &lu->rcond, &ferr, &berr, in MatLUFactorNumeric_SuperLU()
311 &lu->Glu, &lu->mem_usage, &lu->stat, &sinfo)); in MatLUFactorNumeric_SuperLU()
313 …tscStackCall("SuperLU:dgssvx",dgssvx(&lu->options, &lu->A, lu->perm_c, lu->perm_r, lu->etree, lu->… in MatLUFactorNumeric_SuperLU()
314 … &lu->L, &lu->U, lu->work, lu->lwork, &lu->B, &lu->X, &lu->rpg, &lu->rcond, &ferr, &berr, in MatLUFactorNumeric_SuperLU()
315 &lu->Glu,&lu->mem_usage, &lu->stat, &sinfo)); in MatLUFactorNumeric_SuperLU()
322 …etscStackCall("SuperLU:cgsisx",cgsisx(&lu->options, &lu->A, lu->perm_c, lu->perm_r,lu->etree, lu->… in MatLUFactorNumeric_SuperLU()
323 … &lu->L, &lu->U, lu->work, lu->lwork, &lu->B, &lu->X, &lu->rpg, &lu->rcond, in MatLUFactorNumeric_SuperLU()
324 &lu->Glu, &lu->mem_usage, &lu->stat, &sinfo)); in MatLUFactorNumeric_SuperLU()
326 …etscStackCall("SuperLU:zgsisx",zgsisx(&lu->options, &lu->A, lu->perm_c, lu->perm_r,lu->etree, lu->… in MatLUFactorNumeric_SuperLU()
327 … &lu->L, &lu->U, lu->work, lu->lwork, &lu->B, &lu->X, &lu->rpg, &lu->rcond, in MatLUFactorNumeric_SuperLU()
328 &lu->Glu, &lu->mem_usage, &lu->stat, &sinfo)); in MatLUFactorNumeric_SuperLU()
332 …tscStackCall("SuperLU:sgsisx",sgsisx(&lu->options, &lu->A, lu->perm_c, lu->perm_r, lu->etree, lu->… in MatLUFactorNumeric_SuperLU()
333 … &lu->L, &lu->U, lu->work, lu->lwork, &lu->B, &lu->X, &lu->rpg, &lu->rcond, in MatLUFactorNumeric_SuperLU()
334 &lu->Glu, &lu->mem_usage, &lu->stat, &sinfo)); in MatLUFactorNumeric_SuperLU()
336 …tscStackCall("SuperLU:dgsisx",dgsisx(&lu->options, &lu->A, lu->perm_c, lu->perm_r, lu->etree, lu->… in MatLUFactorNumeric_SuperLU()
337 … &lu->L, &lu->U, lu->work, lu->lwork, &lu->B, &lu->X, &lu->rpg, &lu->rcond, in MatLUFactorNumeric_SuperLU()
338 &lu->Glu, &lu->mem_usage, &lu->stat, &sinfo)); in MatLUFactorNumeric_SuperLU()
342 if (!sinfo || sinfo == lu->A.ncol+1) { in MatLUFactorNumeric_SuperLU()
343 if (lu->options.PivotGrowth) { in MatLUFactorNumeric_SuperLU()
344 ierr = PetscPrintf(PETSC_COMM_SELF," Recip. pivot growth = %e\n", lu->rpg);CHKERRQ(ierr); in MatLUFactorNumeric_SuperLU()
346 if (lu->options.ConditionNumber) { in MatLUFactorNumeric_SuperLU()
347 … ierr = PetscPrintf(PETSC_COMM_SELF," Recip. condition number = %e\n", lu->rcond);CHKERRQ(ierr); in MatLUFactorNumeric_SuperLU()
353 if (sinfo <= lu->A.ncol) { in MatLUFactorNumeric_SuperLU()
354 if (lu->options.ILU_FillTol == 0.0) { in MatLUFactorNumeric_SuperLU()
357 …ierr = PetscInfo2(F,"Number of zero pivots %D, ILU_FillTol %g\n",sinfo,lu->options.ILU_FillTol);CH… in MatLUFactorNumeric_SuperLU()
358 } else if (sinfo == lu->A.ncol + 1) { in MatLUFactorNumeric_SuperLU()
375 if (lu->options.PrintStat) { in MatLUFactorNumeric_SuperLU()
377 PetscStackCall("SuperLU:StatPrint",StatPrint(&lu->stat)); in MatLUFactorNumeric_SuperLU()
378 Lstore = (SCformat*) lu->L.Store; in MatLUFactorNumeric_SuperLU()
379 Ustore = (NCformat*) lu->U.Store; in MatLUFactorNumeric_SuperLU()
382 …scPrintf(PETSC_COMM_SELF," No of nonzeros in L+U = %D\n", Lstore->nnz + Ustore->nnz - lu->A.ncol); in MatLUFactorNumeric_SuperLU()
384 lu->mem_usage.for_lu/1e6, lu->mem_usage.total_needed/1e6); in MatLUFactorNumeric_SuperLU()
387 lu->flg = SAME_NONZERO_PATTERN; in MatLUFactorNumeric_SuperLU()
397 Mat_SuperLU *lu=(Mat_SuperLU*)A->data; in MatDestroy_SuperLU() local
400 if (lu->CleanUpSuperLU) { /* Free the SuperLU datastructures */ in MatDestroy_SuperLU()
401 PetscStackCall("SuperLU:Destroy_SuperMatrix_Store",Destroy_SuperMatrix_Store(&lu->A)); in MatDestroy_SuperLU()
402 PetscStackCall("SuperLU:Destroy_SuperMatrix_Store",Destroy_SuperMatrix_Store(&lu->B)); in MatDestroy_SuperLU()
403 PetscStackCall("SuperLU:Destroy_SuperMatrix_Store",Destroy_SuperMatrix_Store(&lu->X)); in MatDestroy_SuperLU()
404 PetscStackCall("SuperLU:StatFree",StatFree(&lu->stat)); in MatDestroy_SuperLU()
405 if (lu->lwork >= 0) { in MatDestroy_SuperLU()
406 PetscStackCall("SuperLU:Destroy_SuperNode_Matrix",Destroy_SuperNode_Matrix(&lu->L)); in MatDestroy_SuperLU()
407 PetscStackCall("SuperLU:Destroy_CompCol_Matrix",Destroy_CompCol_Matrix(&lu->U)); in MatDestroy_SuperLU()
410 ierr = PetscFree(lu->etree);CHKERRQ(ierr); in MatDestroy_SuperLU()
411 ierr = PetscFree(lu->perm_r);CHKERRQ(ierr); in MatDestroy_SuperLU()
412 ierr = PetscFree(lu->perm_c);CHKERRQ(ierr); in MatDestroy_SuperLU()
413 ierr = PetscFree(lu->R);CHKERRQ(ierr); in MatDestroy_SuperLU()
414 ierr = PetscFree(lu->C);CHKERRQ(ierr); in MatDestroy_SuperLU()
415 ierr = PetscFree(lu->rhs_dup);CHKERRQ(ierr); in MatDestroy_SuperLU()
416 ierr = MatDestroy(&lu->A_dup);CHKERRQ(ierr); in MatDestroy_SuperLU()
444 Mat_SuperLU *lu = (Mat_SuperLU*)A->data; in MatMatSolve_SuperLU() local
453 lu->options.Trans = TRANS; in MatMatSolve_SuperLU()
463 Mat_SuperLU *lu = (Mat_SuperLU*)(F->data); in MatLUFactorSymbolic_SuperLU() local
467 lu->flg = DIFFERENT_NONZERO_PATTERN; in MatLUFactorSymbolic_SuperLU()
468 lu->CleanUpSuperLU = PETSC_TRUE; in MatLUFactorSymbolic_SuperLU()
472 ierr = MatDestroy(&lu->A_dup);CHKERRQ(ierr); in MatLUFactorSymbolic_SuperLU()
473 if (lu->needconversion) { in MatLUFactorSymbolic_SuperLU()
474 ierr = MatConvert(A,MATSEQAIJ,MAT_INITIAL_MATRIX,&lu->A_dup);CHKERRQ(ierr); in MatLUFactorSymbolic_SuperLU()
476 …if (lu->options.Equil == YES && !lu->A_dup) { /* superlu overwrites input matrix and rhs when Equi… in MatLUFactorSymbolic_SuperLU()
477 ierr = MatDuplicate_SeqAIJ(A,MAT_COPY_VALUES,&lu->A_dup);CHKERRQ(ierr); in MatLUFactorSymbolic_SuperLU()
484 Mat_SuperLU *lu= (Mat_SuperLU*)F->data; in MatSuperluSetILUDropTol_SuperLU() local
487 lu->options.ILU_DropTol = dtol; in MatSuperluSetILUDropTol_SuperLU()
567 Mat_SuperLU *lu; in MatGetFactor_seqaij_superlu() local
596 ierr = PetscNewLog(B,&lu);CHKERRQ(ierr); in MatGetFactor_seqaij_superlu()
599 set_default_options(&lu->options); in MatGetFactor_seqaij_superlu()
607 lu->options.Equil = NO; in MatGetFactor_seqaij_superlu()
610 PetscStackCall("SuperLU:ilu_set_default_options",ilu_set_default_options(&lu->options)); in MatGetFactor_seqaij_superlu()
612 lu->options.PrintStat = NO; in MatGetFactor_seqaij_superlu()
615 PetscStackCall("SuperLU:StatInit",StatInit(&lu->stat)); in MatGetFactor_seqaij_superlu()
616 lu->lwork = 0; /* allocate space internally by system malloc */ in MatGetFactor_seqaij_superlu()
619 …cOptionsBool("-mat_superlu_equil","Equil","None",(PetscBool)lu->options.Equil,(PetscBool*)&lu->opt… in MatGetFactor_seqaij_superlu()
621 if (flg) lu->options.ColPerm = (colperm_t)indx; in MatGetFactor_seqaij_superlu()
623 if (flg) lu->options.IterRefine = (IterRefine_t)indx; in MatGetFactor_seqaij_superlu()
624 …ierr = PetscOptionsBool("-mat_superlu_symmetricmode","SymmetricMode","None",(PetscBool)lu->options… in MatGetFactor_seqaij_superlu()
625 if (set && flg) lu->options.SymmetricMode = YES; in MatGetFactor_seqaij_superlu()
626 …ierr = PetscOptionsReal("-mat_superlu_diagpivotthresh","DiagPivotThresh","None",lu->options.DiagPi… in MatGetFactor_seqaij_superlu()
627 if (flg) lu->options.DiagPivotThresh = (double) real_input; in MatGetFactor_seqaij_superlu()
628 …ierr = PetscOptionsBool("-mat_superlu_pivotgrowth","PivotGrowth","None",(PetscBool)lu->options.Piv… in MatGetFactor_seqaij_superlu()
629 if (set && flg) lu->options.PivotGrowth = YES; in MatGetFactor_seqaij_superlu()
630 …ierr = PetscOptionsBool("-mat_superlu_conditionnumber","ConditionNumber","None",(PetscBool)lu->opt… in MatGetFactor_seqaij_superlu()
631 if (set && flg) lu->options.ConditionNumber = YES; in MatGetFactor_seqaij_superlu()
632 …ierr = PetscOptionsEList("-mat_superlu_rowperm","rowperm","None",rowperm,2,rowperm[lu->options.Row… in MatGetFactor_seqaij_superlu()
633 if (flg) lu->options.RowPerm = (rowperm_t)indx; in MatGetFactor_seqaij_superlu()
634 …ierr = PetscOptionsBool("-mat_superlu_replacetinypivot","ReplaceTinyPivot","None",(PetscBool)lu->o… in MatGetFactor_seqaij_superlu()
635 if (set && flg) lu->options.ReplaceTinyPivot = YES; in MatGetFactor_seqaij_superlu()
636 …ierr = PetscOptionsBool("-mat_superlu_printstat","PrintStat","None",(PetscBool)lu->options.PrintSt… in MatGetFactor_seqaij_superlu()
637 if (set && flg) lu->options.PrintStat = YES; in MatGetFactor_seqaij_superlu()
638 …rlu_lwork","size of work array in bytes used by factorization","None",lu->lwork,&lu->lwork,NULL);C… in MatGetFactor_seqaij_superlu()
639 if (lu->lwork > 0) { in MatGetFactor_seqaij_superlu()
641 ierr = PetscMalloc(lu->lwork,&lu->work);CHKERRQ(ierr); in MatGetFactor_seqaij_superlu()
642 } else if (lu->lwork != 0 && lu->lwork != -1) { in MatGetFactor_seqaij_superlu()
643 …SELF," Warning: lwork %D is not supported by SUPERLU. The default lwork=0 is used.\n",lu->lwork); in MatGetFactor_seqaij_superlu()
644 lu->lwork = 0; in MatGetFactor_seqaij_superlu()
647 …ierr = PetscOptionsReal("-mat_superlu_ilu_droptol","ILU_DropTol","None",lu->options.ILU_DropTol,&r… in MatGetFactor_seqaij_superlu()
648 if (flg) lu->options.ILU_DropTol = (double) real_input; in MatGetFactor_seqaij_superlu()
649 …ierr = PetscOptionsReal("-mat_superlu_ilu_filltol","ILU_FillTol","None",lu->options.ILU_FillTol,&r… in MatGetFactor_seqaij_superlu()
650 if (flg) lu->options.ILU_FillTol = (double) real_input; in MatGetFactor_seqaij_superlu()
651 …ierr = PetscOptionsReal("-mat_superlu_ilu_fillfactor","ILU_FillFactor","None",lu->options.ILU_Fill… in MatGetFactor_seqaij_superlu()
652 if (flg) lu->options.ILU_FillFactor = (double) real_input; in MatGetFactor_seqaij_superlu()
653 …cOptionsInt("-mat_superlu_ilu_droprull","ILU_DropRule","None",lu->options.ILU_DropRule,&lu->option… in MatGetFactor_seqaij_superlu()
654 …ierr = PetscOptionsInt("-mat_superlu_ilu_norm","ILU_Norm","None",lu->options.ILU_Norm,&indx,&flg);… in MatGetFactor_seqaij_superlu()
655 if (flg) lu->options.ILU_Norm = (norm_t)indx; in MatGetFactor_seqaij_superlu()
656 …ierr = PetscOptionsInt("-mat_superlu_ilu_milu","ILU_MILU","None",lu->options.ILU_MILU,&indx,&flg);… in MatGetFactor_seqaij_superlu()
657 if (flg) lu->options.ILU_MILU = (milu_t)indx; in MatGetFactor_seqaij_superlu()
661 ierr = PetscMalloc1(m,&lu->etree);CHKERRQ(ierr); in MatGetFactor_seqaij_superlu()
662 ierr = PetscMalloc1(n,&lu->perm_r);CHKERRQ(ierr); in MatGetFactor_seqaij_superlu()
663 ierr = PetscMalloc1(m,&lu->perm_c);CHKERRQ(ierr); in MatGetFactor_seqaij_superlu()
664 ierr = PetscMalloc1(n,&lu->R);CHKERRQ(ierr); in MatGetFactor_seqaij_superlu()
665 ierr = PetscMalloc1(m,&lu->C);CHKERRQ(ierr); in MatGetFactor_seqaij_superlu()
670 …PetscStackCall("SuperLU:cCreate_Dense_Matrix(",cCreate_Dense_Matrix(&lu->B, m, 1, NULL, m, SLU_DN,… in MatGetFactor_seqaij_superlu()
671 …PetscStackCall("SuperLU:cCreate_Dense_Matrix(",cCreate_Dense_Matrix(&lu->X, m, 1, NULL, m, SLU_DN,… in MatGetFactor_seqaij_superlu()
673 …PetscStackCall("SuperLU:zCreate_Dense_Matrix",zCreate_Dense_Matrix(&lu->B, m, 1, NULL, m, SLU_DN, … in MatGetFactor_seqaij_superlu()
674 …PetscStackCall("SuperLU:zCreate_Dense_Matrix",zCreate_Dense_Matrix(&lu->X, m, 1, NULL, m, SLU_DN, … in MatGetFactor_seqaij_superlu()
678 …PetscStackCall("SuperLU:sCreate_Dense_Matrix",sCreate_Dense_Matrix(&lu->B, m, 1, NULL, m, SLU_DN, … in MatGetFactor_seqaij_superlu()
679 …PetscStackCall("SuperLU:sCreate_Dense_Matrix",sCreate_Dense_Matrix(&lu->X, m, 1, NULL, m, SLU_DN, … in MatGetFactor_seqaij_superlu()
681 …PetscStackCall("SuperLU:dCreate_Dense_Matrix",dCreate_Dense_Matrix(&lu->B, m, 1, NULL, m, SLU_DN, … in MatGetFactor_seqaij_superlu()
682 …PetscStackCall("SuperLU:dCreate_Dense_Matrix",dCreate_Dense_Matrix(&lu->X, m, 1, NULL, m, SLU_DN, … in MatGetFactor_seqaij_superlu()
688 B->data = lu; in MatGetFactor_seqaij_superlu()
696 Mat_SuperLU *lu; in MatGetFactor_seqsell_superlu() local
701 lu = (Mat_SuperLU*)((*F)->data); in MatGetFactor_seqsell_superlu()
702 lu->needconversion = PETSC_TRUE; in MatGetFactor_seqsell_superlu()