Lines Matching refs:coarse_mat
6375 Mat coarse_mat; in PCBDDCApplyInterfacePreconditioner() local
6394 PetscCall(KSPGetOperators(pcbddc->coarse_ksp, &coarse_mat, NULL)); in PCBDDCApplyInterfacePreconditioner()
6399 PetscCall(MatGetTransposeNullSpace(coarse_mat, &nullsp)); in PCBDDCApplyInterfacePreconditioner()
6402 PetscCall(MatGetNullSpace(coarse_mat, &nullsp)); in PCBDDCApplyInterfacePreconditioner()
8517 Mat coarse_mat, coarse_mat_is; in PCBDDCSetUpCoarseSolver() local
8567 PetscCall(KSPGetOperators(pcbddc->coarse_ksp, &coarse_mat, NULL)); in PCBDDCSetUpCoarseSolver()
8568 PetscCall(PetscObjectReference((PetscObject)coarse_mat)); in PCBDDCSetUpCoarseSolver()
8571 coarse_mat = NULL; in PCBDDCSetUpCoarseSolver()
8769 if (coarse_mat) reuse = PETSC_TRUE; in PCBDDCSetUpCoarseSolver()
8777 …t_is, pcbddc->coarse_subassembling, 0, restr, full_restr, PETSC_TRUE, &coarse_mat, nis, isarray, n… in PCBDDCSetUpCoarseSolver()
8807 if (coarse_mat_is || coarse_mat) { in PCBDDCSetUpCoarseSolver()
8809 PetscCall(MatConvert(coarse_mat_is, MATAIJ, coarse_mat_reuse, &coarse_mat)); in PCBDDCSetUpCoarseSolver()
8813 …PetscCheck(!coarse_mat, PetscObjectComm((PetscObject)coarse_mat_is), PETSC_ERR_PLIB, "This should … in PCBDDCSetUpCoarseSolver()
8815 coarse_mat = coarse_mat_is; in PCBDDCSetUpCoarseSolver()
8826 if (coarse_mat) { in PCBDDCSetUpCoarseSolver()
8827 PetscCall(MatGetLocalSize(coarse_mat, &lrows, NULL)); in PCBDDCSetUpCoarseSolver()
8833 … PetscCall(VecSetType(pcbddc->coarse_vec, coarse_mat ? coarse_mat->defaultvectype : VECSTANDARD)); in PCBDDCSetUpCoarseSolver()
8865 if (coarse_mat) { in PCBDDCSetUpCoarseSolver()
8866 ccomm = PetscObjectComm((PetscObject)coarse_mat); in PCBDDCSetUpCoarseSolver()
8874 if (coarse_mat) { in PCBDDCSetUpCoarseSolver()
8880 dbg_viewer = PETSC_VIEWER_STDOUT_(PetscObjectComm((PetscObject)coarse_mat)); in PCBDDCSetUpCoarseSolver()
8887 PetscCall(KSPCreate(PetscObjectComm((PetscObject)coarse_mat), &pcbddc->coarse_ksp)); in PCBDDCSetUpCoarseSolver()
8892 PetscCall(KSPSetOperators(pcbddc->coarse_ksp, coarse_mat, coarse_mat)); in PCBDDCSetUpCoarseSolver()
8994 … PetscCallMPI(MPI_Scan(&n, &st, 1, MPIU_INT, MPI_SUM, PetscObjectComm((PetscObject)coarse_mat))); in PCBDDCSetUpCoarseSolver()
8996 PetscCall(ISCreateStride(PetscObjectComm((PetscObject)coarse_mat), 1, st, 1, &row)); in PCBDDCSetUpCoarseSolver()
8997 PetscCall(MatISGetLocalToGlobalMapping(coarse_mat, &l2gmap, NULL)); in PCBDDCSetUpCoarseSolver()
9000 …PetscCall(ISCreateGeneral(PetscObjectComm((PetscObject)coarse_mat), n, gidxs, PETSC_COPY_VALUES, &… in PCBDDCSetUpCoarseSolver()
9005 PetscCall(MatGetSize(coarse_mat, &N, NULL)); in PCBDDCSetUpCoarseSolver()
9008 PetscCall(MatCreate(PetscObjectComm((PetscObject)coarse_mat), &coarsedivudotp_is)); in PCBDDCSetUpCoarseSolver()
9024 PetscCall(MatSetOption(coarse_mat, MAT_STRUCTURALLY_SYMMETRIC, PETSC_TRUE)); in PCBDDCSetUpCoarseSolver()
9026 if (isset) PetscCall(MatSetOption(coarse_mat, MAT_SYMMETRIC, issym)); in PCBDDCSetUpCoarseSolver()
9028 if (isset) PetscCall(MatSetOption(coarse_mat, MAT_HERMITIAN, isher)); in PCBDDCSetUpCoarseSolver()
9030 if (isset) PetscCall(MatSetOption(coarse_mat, MAT_SPD, isspd)); in PCBDDCSetUpCoarseSolver()
9032 …if (pcbddc->benign_saddle_point && !pcbddc->benign_have_null) PetscCall(MatSetOption(coarse_mat, M… in PCBDDCSetUpCoarseSolver()
9034 PetscCall(MatViewFromOptions(coarse_mat, (PetscObject)pc, "-pc_bddc_coarse_mat_view")); in PCBDDCSetUpCoarseSolver()
9035 PetscCall(MatSetOptionsPrefix(coarse_mat, ((PetscObject)pcbddc->coarse_ksp)->prefix)); in PCBDDCSetUpCoarseSolver()
9036 PetscCall(KSPSetOperators(pcbddc->coarse_ksp, coarse_mat, coarse_mat)); in PCBDDCSetUpCoarseSolver()
9046 PetscCall(PetscViewerASCIIOpen(PetscObjectComm((PetscObject)coarse_mat),filename,&viewer)); in PCBDDCSetUpCoarseSolver()
9048 PetscCall(MatView(coarse_mat,viewer)); in PCBDDCSetUpCoarseSolver()
9121 if (!csol) PetscCall(MatCreateVecs(coarse_mat, &pcbddc->coarse_ksp->vec_sol, NULL)); in PCBDDCSetUpCoarseSolver()
9122 if (!crhs) PetscCall(MatCreateVecs(coarse_mat, NULL, &pcbddc->coarse_ksp->vec_rhs)); in PCBDDCSetUpCoarseSolver()
9134 if (coarse_mat) { in PCBDDCSetUpCoarseSolver()
9139 PetscCall(MatCreateVecs(coarse_mat, &nullv, NULL)); in PCBDDCSetUpCoarseSolver()
9147 …PetscCall(MatNullSpaceCreate(PetscObjectComm((PetscObject)coarse_mat), PETSC_FALSE, 1, &nullv, &Co… in PCBDDCSetUpCoarseSolver()
9160 PetscCall(MatNullSpaceTest(CoarseNullSpace, coarse_mat, &isnull)); in PCBDDCSetUpCoarseSolver()
9161 if (isnull) PetscCall(MatSetNullSpace(coarse_mat, CoarseNullSpace)); in PCBDDCSetUpCoarseSolver()
9185 PetscCall(KSPSetOperators(check_ksp, coarse_mat, coarse_mat)); in PCBDDCSetUpCoarseSolver()
9209 PetscCall(MatCreateVecs(coarse_mat, &coarse_vec, &check_vec)); in PCBDDCSetUpCoarseSolver()
9211 PetscCall(MatMult(coarse_mat, check_vec, coarse_vec)); in PCBDDCSetUpCoarseSolver()
9238 PetscCall(MatMult(coarse_mat, check_vec, coarse_vec)); in PCBDDCSetUpCoarseSolver()
9278 PetscCall(MatDestroy(&coarse_mat)); in PCBDDCSetUpCoarseSolver()