Lines Matching refs:schur

91   PetscScalar *schur;  member
305 PetscCall(MatDestroy(&F->schur)); in MatFactorSetSchurIS_MKL_PARDISO()
306 PetscCall(MatCreateSeqDense(PETSC_COMM_SELF, size, size, NULL, &F->schur)); in MatFactorSetSchurIS_MKL_PARDISO()
307 PetscCall(MatDenseGetArrayRead(F->schur, &arr)); in MatFactorSetSchurIS_MKL_PARDISO()
308 mpardiso->schur = (PetscScalar *)arr; in MatFactorSetSchurIS_MKL_PARDISO()
310 PetscCall(MatDenseRestoreArrayRead(F->schur, &arr)); in MatFactorSetSchurIS_MKL_PARDISO()
311 if (mpardiso->mtype == 2) PetscCall(MatSetOption(F->schur, MAT_SPD, PETSC_TRUE)); in MatFactorSetSchurIS_MKL_PARDISO()
353 …rSchur_Private(Mat_MKL_PARDISO *mpardiso, PetscScalar *whole, PetscScalar *schur, PetscBool reduce) in MatMKLPardisoScatterSchur_Private() argument
360 for (j = 0; j < mpardiso->schur_size; j++) schur[p + j] = whole[m + mpardiso->schur_idxs[j]]; in MatMKLPardisoScatterSchur_Private()
368 for (j = 0; j < mpardiso->schur_size; j++) whole[m + mpardiso->schur_idxs[j]] = schur[p + j]; in MatMKLPardisoScatterSchur_Private()
387 if (!mat_mkl_pardiso->schur) mat_mkl_pardiso->phase = JOB_SOLVE_ITERATIVE_REFINEMENT; in MatSolve_MKL_PARDISO()
410 if (mat_mkl_pardiso->schur) { /* solve Schur complement and expand solution */ in MatSolve_MKL_PARDISO()
448 …PetscCheck(!mat_mkl_pardiso->schur, PETSC_COMM_SELF, PETSC_ERR_SUP, "Forward substitution not supp… in MatForwardSolve_MKL_PARDISO()
473 …PetscCheck(!mat_mkl_pardiso->schur, PETSC_COMM_SELF, PETSC_ERR_SUP, "Backward substitution not sup… in MatBackwardSolve_MKL_PARDISO()
526 if (!mat_mkl_pardiso->schur) mat_mkl_pardiso->phase = JOB_SOLVE_ITERATIVE_REFINEMENT; in MatMatSolve_MKL_PARDISO()
534 if (mat_mkl_pardiso->schur) { /* solve Schur complement and expand solution */ in MatMatSolve_MKL_PARDISO()
593 …_pardiso->iparm, &mat_mkl_pardiso->msglvl, NULL, (void *)mat_mkl_pardiso->schur, &mat_mkl_pardiso-… in MatFactorNumeric_MKL_PARDISO()
599 if (F->schur) { /* schur output from pardiso is in row major format */ in MatFactorNumeric_MKL_PARDISO()
601 F->schur->offloadmask = PETSC_OFFLOAD_CPU; in MatFactorNumeric_MKL_PARDISO()
604 PetscCall(MatTranspose(F->schur, MAT_INPLACE_MATRIX, &F->schur)); in MatFactorNumeric_MKL_PARDISO()