Lines Matching refs:schur
170 void *schur; // MumpsScalar member
227 PetscCall(PetscFree(inner->schur)); \
458 inner->schur = (mumpsscalar *)outer->schur; \
2519 if (F->schur) { in MatFactorNumeric_MUMPS()
2522 PetscCall(MatDenseGetArrayRead(F->schur, &array)); in MatFactorNumeric_MUMPS()
2523 …ray(PETSC_FALSE, size * size, array, mumps->id.precision, &mumps->id.schur_len, &mumps->id.schur)); in MatFactorNumeric_MUMPS()
2524 PetscCall(MatDenseRestoreArrayRead(F->schur, &array)); in MatFactorNumeric_MUMPS()
2550 if (F->schur) { /* reset Schur status to unfactored */ in MatFactorNumeric_MUMPS()
2552 F->schur->offloadmask = PETSC_OFFLOAD_CPU; in MatFactorNumeric_MUMPS()
2555 PetscCall(MatDenseGetArray(F->schur, &array)); in MatFactorNumeric_MUMPS()
2556 …arArray(mumps->id.size_schur * mumps->id.size_schur, mumps->id.precision, mumps->id.schur, array)); in MatFactorNumeric_MUMPS()
2557 PetscCall(MatDenseRestoreArray(F->schur, &array)); in MatFactorNumeric_MUMPS()
2560 PetscCall(MatTranspose(F->schur, MAT_INPLACE_MATRIX, &F->schur)); in MatFactorNumeric_MUMPS()
2606 …PetscBool schur = mumps->id.icntl ? (PetscBool)(mumps->id.ICNTL(26) == -1) : (PetscBool)(mumps… in MatSetFromOptions_MUMPS() local
2627 …PetscCheck(!schur, PETSC_COMM_SELF, PETSC_ERR_SUP, "Cannot use -%smat_mumps_use_omp_threads with t… in MatSetFromOptions_MUMPS()
2659 arr = mumps->id.schur; in MatSetFromOptions_MUMPS()
2702 if (schur) { in MatSetFromOptions_MUMPS()
2705 mumps->id.schur = arr; in MatSetFromOptions_MUMPS()
2800 PetscCall(MatDestroy(&F->schur)); in MatSetFromOptions_MUMPS()
3265 PetscCall(MatDestroy(&F->schur)); in MatFactorSetSchurIS_MUMPS()
3266 PetscCall(MatCreateSeqDense(PETSC_COMM_SELF, size, size, NULL, &F->schur)); in MatFactorSetSchurIS_MUMPS()
3270 if (mumps->sym == 1) PetscCall(MatSetOption(F->schur, MAT_SPD, PETSC_TRUE)); in MatFactorSetSchurIS_MUMPS()
3301 for (j = 0; j < N; j++) array[j * N + i] = ID_FIELD_GET(mumps->id, schur, i * N + j); in MatFactorCreateSchurComplement_MUMPS()
3304 PetscCall(MatMumpsCastMumpsScalarArray(N * N, mumps->id.precision, mumps->id.schur, array)); in MatFactorCreateSchurComplement_MUMPS()
3309 …for (j = i; j < N; j++) array[i * N + j] = array[j * N + i] = ID_FIELD_GET(mumps->id, schur, i * N… in MatFactorCreateSchurComplement_MUMPS()
3312 PetscCall(MatMumpsCastMumpsScalarArray(N * N, mumps->id.precision, mumps->id.schur, array)); in MatFactorCreateSchurComplement_MUMPS()
3315 …0; j < i + 1; j++) array[i * N + j] = array[j * N + i] = ID_FIELD_GET(mumps->id, schur, i * N + j); in MatFactorCreateSchurComplement_MUMPS()