Lines Matching refs:newmat
247 static PetscErrorCode MatWrapML_SeqAIJ(ML_Operator *mlmat, MatReuse reuse, Mat *newmat) in MatWrapML_SeqAIJ() argument
258 Mat_SeqAIJ *aij = (Mat_SeqAIJ *)(*newmat)->data; in MatWrapML_SeqAIJ()
273 … PetscCall(MatCreateSeqAIJWithArrays(PETSC_COMM_SELF, m, n, ml_rowptr, ml_cols, ml_vals, newmat)); in MatWrapML_SeqAIJ()
276 PetscCall(MatAssemblyBegin(*newmat, MAT_FINAL_ASSEMBLY)); in MatWrapML_SeqAIJ()
277 PetscCall(MatAssemblyEnd(*newmat, MAT_FINAL_ASSEMBLY)); in MatWrapML_SeqAIJ()
284 PetscCall(MatCreate(PETSC_COMM_SELF, newmat)); in MatWrapML_SeqAIJ()
285 PetscCall(MatSetSizes(*newmat, m, n, PETSC_DECIDE, PETSC_DECIDE)); in MatWrapML_SeqAIJ()
286 PetscCall(MatSetType(*newmat, MATSEQAIJ)); in MatWrapML_SeqAIJ()
288 PetscCall(MatSetBlockSize(*newmat, mlmat->num_PDEs)); in MatWrapML_SeqAIJ()
292 PetscCall(MatSeqAIJSetPreallocation(*newmat, 0, nnz)); in MatWrapML_SeqAIJ()
298 PetscCall(MatSetValues(*newmat, 1, &i, ncols, aj, aa, INSERT_VALUES)); in MatWrapML_SeqAIJ()
300 PetscCall(MatAssemblyBegin(*newmat, MAT_FINAL_ASSEMBLY)); in MatWrapML_SeqAIJ()
301 PetscCall(MatAssemblyEnd(*newmat, MAT_FINAL_ASSEMBLY)); in MatWrapML_SeqAIJ()
308 static PetscErrorCode MatWrapML_SHELL(ML_Operator *mlmat, MatReuse reuse, Mat *newmat) in MatWrapML_SHELL() argument
319 PetscCall(MatShellGetContext(*newmat, &shellctx)); in MatWrapML_SHELL()
327 …scCall(MatCreateShell(MLcomm->USR_comm, m, n, PETSC_DETERMINE, PETSC_DETERMINE, shellctx, newmat)); in MatWrapML_SHELL()
328 PetscCall(MatShellSetOperation(*newmat, MATOP_MULT, (PetscErrorCodeFn *)MatMult_ML)); in MatWrapML_SHELL()
329 PetscCall(MatShellSetOperation(*newmat, MATOP_DESTROY, (PetscErrorCodeFn *)MatDestroy_ML)); in MatWrapML_SHELL()
331 shellctx->A = *newmat; in MatWrapML_SHELL()
336 static PetscErrorCode MatWrapML_MPIAIJ(ML_Operator *mlmat, MatReuse reuse, Mat *newmat) in MatWrapML_MPIAIJ() argument
355 A = *newmat; in MatWrapML_MPIAIJ()
391 *newmat = A; in MatWrapML_MPIAIJ()