Commits

Hong Zhang  committed 124a335

fixed setting of use of inode based factorizations to use the inode version if the A matrix has
inodes, not the factored matrix - for ilu(0) (forgot by the change set 15404)

Hg-commit: 47e83dd265449ddf0a7d5f2433c25a96aa769ab5

  • Participants
  • Parent commits f14c634

Comments (0)

Files changed (1)

File src/mat/impls/aij/seq/aijfact.c

   PetscInt           nzi,*bj,**bj_ptr,**bjlvl_ptr; 
   PetscFreeSpaceList free_space=PETSC_NULL,current_space=PETSC_NULL; 
   PetscFreeSpaceList free_space_lvl=PETSC_NULL,current_space_lvl=PETSC_NULL; 
-  PetscTruth         olddatastruct=PETSC_FALSE;
   
   PetscFunctionBegin;
   /* Uncomment the old data struct part only while testing new data structure for MatSolve() */
+  /*
+  PetscTruth         olddatastruct=PETSC_FALSE;
   ierr = PetscOptionsGetTruth(PETSC_NULL,"-ilu_old",&olddatastruct,PETSC_NULL);CHKERRQ(ierr);
   if(olddatastruct){
     ierr = MatILUFactorSymbolic_SeqAIJ_inplace(fact,A,isrow,iscol,info);CHKERRQ(ierr);
     PetscFunctionReturn(0);
   }
+  */
   
   levels = (PetscInt)info->levels;
   ierr   = ISIdentity(isrow,&row_identity);CHKERRQ(ierr);
   if (!levels && row_identity && col_identity) { 
     /* special case: ilu(0) with natural ordering */
     ierr = MatILUFactorSymbolic_SeqAIJ_ilu0(fact,A,isrow,iscol,info);CHKERRQ(ierr);
-    ierr = Mat_CheckInode_FactorLU(fact,PETSC_FALSE);CHKERRQ(ierr);
+    if (a->inode.size) {
+      fact->ops->lufactornumeric  = MatLUFactorNumeric_SeqAIJ_Inode;
+    }
     PetscFunctionReturn(0);
   }