| /petsc/src/mat/tests/ |
| H A D | ex183.c | 26 Mat A, *submats; in main() local 141 PetscCall(MatCreateSubMatricesMPI(A, nsubdomains, rowis, colis, MAT_INITIAL_MATRIX, &submats)); in main() 149 …PetscCall(PetscObjectsListGetGlobalNumbering(PETSC_COMM_WORLD, 1, (PetscObject *)submats, &gnsubdo… in main() 157 … PetscCall(PetscViewerGetSubViewer(viewer, PetscObjectComm((PetscObject)submats[ss]), &subviewer)); in main() 158 PetscCall(MatView(submats[ss], subviewer)); in main() 159 …PetscCall(PetscViewerRestoreSubViewer(viewer, PetscObjectComm((PetscObject)submats[ss]), &subviewe… in main() 172 PetscCall(MatCreateSubMatricesMPI(A, nsubdomains, rowis, colis, MAT_REUSE_MATRIX, &submats)); in main() 180 …PetscCall(PetscObjectsListGetGlobalNumbering(PETSC_COMM_WORLD, 1, (PetscObject *)submats, &gnsubdo… in main() 188 … PetscCall(PetscViewerGetSubViewer(viewer, PetscObjectComm((PetscObject)submats[ss]), &subviewer)); in main() 189 PetscCall(MatView(submats[ss], subviewer)); in main() [all …]
|
| H A D | ex249.c | 8 Mat A, *submats, *submats2; in main() local 53 PetscCall(MatCreateSubMatrices(A, n, irow, icol, MAT_INITIAL_MATRIX, &submats)); in main() 57 for (i = 0; i < n; i++) PetscCall(MatDuplicate(submats[i], MAT_COPY_VALUES, &submats2[i])); in main() 60 PetscCall(MatCreateSubMatrices(A, n, irow, icol, MAT_REUSE_MATRIX, &submats)); in main() 64 PetscCall(MatEqual(submats[i], submats2[i], &same)); in main() 73 PetscCall(MatDestroySubMatrices(n, &submats)); in main()
|
| /petsc/src/mat/impls/dense/mpi/ |
| H A D | mmdense.c | 50 …ense_Local(Mat C, PetscInt ismax, const IS isrow[], const IS iscol[], MatReuse scall, Mat *submats) in MatCreateSubMatrices_MPIDense_Local() argument 276 mat = (Mat_SeqDense *)submats[i]->data; in MatCreateSubMatrices_MPIDense_Local() 277 …PetscCheck(!(submats[i]->rmap->n != nrow[i]) && !(submats[i]->cmap->n != ncol[i]), PETSC_COMM_SELF… in MatCreateSubMatrices_MPIDense_Local() 278 PetscCall(PetscArrayzero(mat->v, submats[i]->rmap->n * submats[i]->cmap->n)); in MatCreateSubMatrices_MPIDense_Local() 280 submats[i]->factortype = C->factortype; in MatCreateSubMatrices_MPIDense_Local() 284 PetscCall(MatCreate(PETSC_COMM_SELF, submats + i)); in MatCreateSubMatrices_MPIDense_Local() 285 PetscCall(MatSetSizes(submats[i], nrow[i], ncol[i], nrow[i], ncol[i])); in MatCreateSubMatrices_MPIDense_Local() 286 PetscCall(MatSetType(submats[i], ((PetscObject)A)->type_name)); in MatCreateSubMatrices_MPIDense_Local() 287 PetscCall(MatSeqDenseSetPreallocation(submats[i], NULL)); in MatCreateSubMatrices_MPIDense_Local() 297 mat = (Mat_SeqDense *)submats[i]->data; in MatCreateSubMatrices_MPIDense_Local() [all …]
|
| /petsc/src/dm/impls/composite/ |
| H A D | packm.c | 8 Mat *submats; in DMCreateMatrix_Composite_Nest() local 19 PetscCall(PetscMalloc1(n * n, &submats)); in DMCreateMatrix_Composite_Nest() 25 submats[i * n + j] = sub; in DMCreateMatrix_Composite_Nest() 29 PetscCall(MatCreateNest(PetscObjectComm((PetscObject)dm), n, isg, n, isg, submats, J)); in DMCreateMatrix_Composite_Nest() 36 if (submats[i]) PetscCall(MatDestroy(&submats[i])); in DMCreateMatrix_Composite_Nest() 38 PetscCall(PetscFree(submats)); in DMCreateMatrix_Composite_Nest()
|
| /petsc/src/mat/impls/baij/mpi/ |
| H A D | baijov.c | 613 …C, PetscInt ismax, const IS isrow[], const IS iscol[], MatReuse scall, Mat *submats, PetscBool sym) argument 689 subc = (Mat_SeqBAIJ *)submats[i]->data; 697 submats[i]->factortype = C->factortype; 726 PetscCheck(submats[0], PETSC_COMM_SELF, PETSC_ERR_ARG_NULL, "submats are null, cannot reuse"); 727 smat_i = (Mat_SubSppt *)submats[0]->data; 1140 PetscCall(MatCreate(PETSC_COMM_SELF, submats + i)); 1141 …PetscCall(MatSetSizes(submats[i], nrow[i] * bs_tmp, ncol[i] * bs_tmp, PETSC_DETERMINE, PETSC_DETER… 1143 PetscCall(MatSetType(submats[i], sym ? ((PetscObject)A)->type_name : MATSEQBAIJ)); 1144 PetscCall(MatSeqBAIJSetPreallocation(submats[i], bs_tmp, 0, lens[i])); 1145 …PetscCall(MatSeqSBAIJSetPreallocation(submats[i], bs_tmp, 0, lens[i])); /* this subroutine is used… [all …]
|
| /petsc/src/ksp/pc/impls/bjacobi/ |
| H A D | bjacobi.h | 43 Mat submats; /* the matrices belong to a subcommunicator */ member
|
| H A D | bjacobi.c | 1169 PetscCall(MatDestroy(&mpjac->submats)); in PCReset_BJacobi_Multiproc() 1286 PetscCall(MatGetMultiProcBlock(pc->pmat, subcomm, MAT_INITIAL_MATRIX, &mpjac->submats)); in PCSetUp_BJacobi_Multiproc() 1295 PetscCall(KSPSetOperators(jac->ksp[0], mpjac->submats, mpjac->submats)); in PCSetUp_BJacobi_Multiproc() 1302 PetscCall(MatSetOptionsPrefix(mpjac->submats, prefix)); in PCSetUp_BJacobi_Multiproc() 1304 PetscCall(MatGetLocalSize(mpjac->submats, &m, &n)); in PCSetUp_BJacobi_Multiproc() 1307 PetscCall(MatGetVecType(mpjac->submats, &vectype)); in PCSetUp_BJacobi_Multiproc() 1320 if (mpjac->submats) PetscCall(MatDestroy(&mpjac->submats)); in PCSetUp_BJacobi_Multiproc() 1321 PetscCall(MatGetMultiProcBlock(pc->pmat, subcomm, MAT_INITIAL_MATRIX, &mpjac->submats)); in PCSetUp_BJacobi_Multiproc() 1323 PetscCall(MatGetMultiProcBlock(pc->pmat, subcomm, MAT_REUSE_MATRIX, &mpjac->submats)); in PCSetUp_BJacobi_Multiproc() 1325 PetscCall(KSPSetOperators(jac->ksp[0], mpjac->submats, mpjac->submats)); in PCSetUp_BJacobi_Multiproc()
|
| /petsc/src/mat/impls/sbaij/mpi/ |
| H A D | sbaijov.c | 15 Mat *submats; in MatIncreaseOverlap_MPISBAIJ() local 47 PetscCall(PetscMalloc1(is_max + 1, &submats)); in MatIncreaseOverlap_MPISBAIJ() 76 …MPIBAIJ_local(C, max_no, is_row + pos, is_new + pos, MAT_INITIAL_MATRIX, submats + pos, PETSC_TRUE… in MatIncreaseOverlap_MPISBAIJ() 86 asub_i = (Mat_SeqSBAIJ *)submats[i]->data; in MatIncreaseOverlap_MPISBAIJ() 115 for (i = 0; i < is_max; i++) PetscCall(MatDestroy(&submats[i])); in MatIncreaseOverlap_MPISBAIJ() 119 PetscCall(PetscFree(submats)); in MatIncreaseOverlap_MPISBAIJ()
|
| /petsc/src/mat/impls/aij/mpi/ |
| H A D | mpiov.c | 1213 …cInt ismax, const IS isrow[], const IS iscol[], MatReuse scall, PetscBool allcolumns, Mat *submats) in MatCreateSubMatrices_MPIAIJ_SingleIS_Local() argument 1650 submat = submats[0]; in MatCreateSubMatrices_MPIAIJ_SingleIS_Local() 1867 submat = submats[0]; in MatCreateSubMatrices_MPIAIJ_SingleIS_Local() 1893 submats[0] = submat; in MatCreateSubMatrices_MPIAIJ_SingleIS_Local() 2034 …IAIJ_Local(Mat C, PetscInt ismax, const IS isrow[], const IS iscol[], MatReuse scall, Mat *submats) in MatCreateSubMatrices_MPIAIJ_Local() argument 2096 …PetscCheck(submats[i], PETSC_COMM_SELF, PETSC_ERR_ARG_NULL, "submats[%" PetscInt_FMT "] is null, c… in MatCreateSubMatrices_MPIAIJ_Local() 2097 subc = (Mat_SeqAIJ *)submats[i]->data; in MatCreateSubMatrices_MPIAIJ_Local() 2098 …PetscCheck(!(submats[i]->rmap->n != nrow[i]) && !(submats[i]->cmap->n != ncol[i]), PETSC_COMM_SELF… in MatCreateSubMatrices_MPIAIJ_Local() 2101 PetscCall(PetscArrayzero(subc->ilen, submats[i]->rmap->n)); in MatCreateSubMatrices_MPIAIJ_Local() 2129 PetscCheck(submats[0], PETSC_COMM_SELF, PETSC_ERR_ARG_NULL, "submats are null, cannot reuse"); in MatCreateSubMatrices_MPIAIJ_Local() [all …]
|
| /petsc/src/dm/dt/dualspace/impls/sum/ |
| H A D | dualspacesum.c | 298 static PetscErrorCode PetscDualSpaceSumCreateMatrix(PetscDualSpace sp, Mat submats[], ISLocalToGlob… in PetscDualSpaceSumCreateMatrix() argument 329 if (!submats[s]) continue; in PetscDualSpaceSumCreateMatrix() 330 PetscCall(MatGetSize(submats[s], &sNrows, &sNcols)); in PetscDualSpaceSumCreateMatrix() 332 PetscCall(MatConvert(submats[s], MATSEQAIJ, MAT_INITIAL_MATRIX, &smat)); in PetscDualSpaceSumCreateMatrix()
|
| /petsc/src/binding/petsc4py/src/petsc4py/PETSc/ |
| H A D | Mat.pyx | 4048 submats: Mat | Sequence[Mat] | None = None) -> Sequence[Mat]: 4059 submats 4083 if submats is not None: 4085 submats = list(submats) 4086 assert len(submats) == len(isrows) 4088 for i from 0 <= i < n: cmats[i] = (<Mat?>submats[i]).mat 4092 submats = [None] * n 4094 submats[i] = mat = Mat() 4097 return submats
|
| /petsc/src/binding/petsc4py/test/ |
| H A D | test_mat_aij.py | 317 self.A.createSubMatrices(rows, cols, submats=[S])
|