Lines Matching refs:spm
36 spmatrix_t *spm; /* SPM matrix structure */ member
62 spmatrix_t spm2, *spm = NULL; in MatConvertToSPM() local
85 PetscCall(PetscMalloc1(1, &spm)); in MatConvertToSPM()
86 PetscStackCallExternalVoid("spmInitDist", spmInitDist(spm, pastix->comm)); in MatConvertToSPM()
88 spm->n = n; in MatConvertToSPM()
89 spm->nnz = row[n]; in MatConvertToSPM()
90 spm->fmttype = SpmCSR; in MatConvertToSPM()
91 spm->flttype = SPM_FLTTYPE; in MatConvertToSPM()
92 spm->replicated = !(A->rmap->n != A->rmap->N); in MatConvertToSPM()
94 PetscStackCallExternalVoid("spmUpdateComputedFields", spmUpdateComputedFields(spm)); in MatConvertToSPM()
95 PetscStackCallExternalVoid("spmAlloc", spmAlloc(spm)); in MatConvertToSPM()
98 if (!spm->replicated) { in MatConvertToSPM()
99 for (i = A->rmap->rstart; i < A->rmap->rend; i++) spm->loc2glob[i - A->rmap->rstart] = i; in MatConvertToSPM()
103 PetscCall(PetscArraycpy(spm->colptr, col, spm->nnz)); in MatConvertToSPM()
104 PetscCall(PetscArraycpy(spm->rowptr, row, spm->n + 1)); in MatConvertToSPM()
105 PetscCall(PetscArraycpy((PetscScalar *)spm->values, val, spm->nnzexp)); in MatConvertToSPM()
118 spm->fmttype = SpmCSC; in MatConvertToSPM()
119 tmp = spm->colptr; in MatConvertToSPM()
120 spm->colptr = spm->rowptr; in MatConvertToSPM()
121 spm->rowptr = tmp; in MatConvertToSPM()
126 PetscStackCallExternalVoid("spmCheckAndCorrect", spm_err = spmCheckAndCorrect(spm, &spm2)); in MatConvertToSPM()
128 PetscStackCallExternalVoid("spmExit", spmExit(spm)); in MatConvertToSPM()
129 *spm = spm2; in MatConvertToSPM()
134 pastix->spm = spm; in MatConvertToSPM()
148 if (pastix->spm) { in MatDestroy_PaStiX()
149 PetscStackCallExternalVoid("spmExit", spmExit(pastix->spm)); in MatDestroy_PaStiX()
150 PetscCall(PetscFree(pastix->spm)); in MatDestroy_PaStiX()
177 ldrhs = pastix->spm->n; in MatSolve_PaStiX()
210 PetscCallExternal(pastix_task_numfact, pastix->pastix_data, pastix->spm); in MatFactorNumeric_PaStiX()
263 PetscCallExternal(pastix_task_analyze, pastix->pastix_data, pastix->spm); in MatFactorSymbolic_PaStiX()
303 spmatrix_t *spm = pastix->spm; in MatView_PaStiX() local
304 PetscCheck(!spm, PETSC_COMM_SELF, PETSC_ERR_SUP, "Sparse matrix isn't initialized"); in MatView_PaStiX()
307 …PetscCall(PetscViewerASCIIPrintf(viewer, " Matrix type : %s \n", ((spm->mtxt… in MatView_PaStiX()
311 if (pastix->iparm[IPARM_VERBOSE] > 0) spmPrintInfo(spm, stdout); in MatView_PaStiX()