static PetscErrorCode PCSetUp_Jacobi_NonSymmetric(PC pc) { PetscErrorCode ierr; PC_Jacobi *jac = (PC_Jacobi*)pc->data; PetscFunctionBegin; ierr = MatCreateVecs(pc->pmat,&jac->diag,0);CHKERRQ(ierr); ierr = PetscLogObjectParent((PetscObject)pc,(PetscObject)jac->diag);CHKERRQ(ierr); ierr = PCSetUp_Jacobi(pc);CHKERRQ(ierr); PetscFunctionReturn(0); }
static PetscErrorCode PCSetUp_Jacobi_Symmetric(PC pc) { PetscErrorCode ierr; PC_Jacobi *jac = (PC_Jacobi*)pc->data; PetscFunctionBegin; ierr = MatGetVecs(pc->pmat,&jac->diagsqrt,0);CHKERRQ(ierr); ierr = PetscLogObjectParent(pc,jac->diagsqrt);CHKERRQ(ierr); ierr = PCSetUp_Jacobi(pc);CHKERRQ(ierr); PetscFunctionReturn(0); }