Lines Matching refs:diagsqrt
57 Vec diagsqrt; /* vector containing the reciprocals of the square roots of member
144 static PetscErrorCode PCJacobiGetDiagonal_Jacobi(PC pc, Vec diag, Vec diagsqrt) in PCJacobiGetDiagonal_Jacobi() argument
150 …PetscCheck(j->diag || j->diagsqrt, comm, PETSC_ERR_ARG_WRONGSTATE, "Jacobi diagonal has not been c… in PCJacobiGetDiagonal_Jacobi()
152 …PetscCheck(!diagsqrt || (diagsqrt && j->diagsqrt), comm, PETSC_ERR_ARG_WRONGSTATE, "Jacobi diagona… in PCJacobiGetDiagonal_Jacobi()
155 if (diagsqrt) PetscCall(VecCopy(j->diagsqrt, diagsqrt)); in PCJacobiGetDiagonal_Jacobi()
175 Vec diag, diagsqrt; in PCSetUp_Jacobi() local
201 diagsqrt = jac->diagsqrt; in PCSetUp_Jacobi()
269 if (diagsqrt) { in PCSetUp_Jacobi()
272 PetscCall(VecLockReadPop(diagsqrt)); in PCSetUp_Jacobi()
275 PetscCall(MatGetDiagonal(pc->pmat, diagsqrt)); in PCSetUp_Jacobi()
278 PetscCall(MatGetRowMaxAbs(pc->pmat, diagsqrt, NULL)); in PCSetUp_Jacobi()
281 PetscCall(MatGetRowSumAbs(pc->pmat, diagsqrt)); in PCSetUp_Jacobi()
284 PetscCall(MatGetRowSum(pc->pmat, diagsqrt)); in PCSetUp_Jacobi()
287 PetscCall(VecGetLocalSize(diagsqrt, &n)); in PCSetUp_Jacobi()
288 PetscCall(VecGetArray(diagsqrt, &x)); in PCSetUp_Jacobi()
297 PetscCall(VecRestoreArray(diagsqrt, &x)); in PCSetUp_Jacobi()
298 PetscCall(VecLockReadPush(diagsqrt)); in PCSetUp_Jacobi()
317 PetscCall(MatCreateVecs(pc->pmat, &jac->diagsqrt, NULL)); in PCSetUp_Jacobi_Symmetric()
318 PetscCall(VecLockReadPush(jac->diagsqrt)); in PCSetUp_Jacobi_Symmetric()
382 if (!jac->diagsqrt) PetscCall(PCSetUp_Jacobi_Symmetric(pc)); in PCApplySymmetricLeftOrRight_Jacobi()
383 PetscCall(VecPointwiseMult(y, x, jac->diagsqrt)); in PCApplySymmetricLeftOrRight_Jacobi()
393 if (jac->diagsqrt) PetscCall(VecLockReadPop(jac->diagsqrt)); in PCReset_Jacobi()
395 PetscCall(VecDestroy(&jac->diagsqrt)); in PCReset_Jacobi()
526 jac->diagsqrt = NULL; in PCCreate_Jacobi()