Lines Matching refs:mlmat

42   ML_Operator *mlmat;  member
49 ML_Operator *mlmat; /* ML matrix assorciated with A */ member
160 x_length = shell->mlmat->invec_leng; in MatMult_ML()
161 y_length = shell->mlmat->outvec_leng; in MatMult_ML()
162 …PetscStackCallExternalVoid("ML_Operator_Apply", ML_Operator_Apply(shell->mlmat, x_length, (PetscSc… in MatMult_ML()
247 static PetscErrorCode MatWrapML_SeqAIJ(ML_Operator *mlmat, MatReuse reuse, Mat *newmat) in MatWrapML_SeqAIJ() argument
249 struct ML_CSR_MSRdata *matdata = (struct ML_CSR_MSRdata *)mlmat->data; in MatWrapML_SeqAIJ()
250 PetscInt m = mlmat->outvec_leng, n = mlmat->invec_leng, *nnz = NULL, nz_max; in MatWrapML_SeqAIJ()
255 PetscCheck(mlmat->getrow, PETSC_COMM_SELF, PETSC_ERR_ARG_NULL, "mlmat->getrow = NULL"); in MatWrapML_SeqAIJ()
281 nz_max = PetscMax(1, mlmat->max_nz_per_row); in MatWrapML_SeqAIJ()
288 PetscCall(MatSetBlockSize(*newmat, mlmat->num_PDEs)); in MatWrapML_SeqAIJ()
291 … i++) PetscStackCallExternalVoid("ML_Operator_Getrow", ML_Operator_Getrow(mlmat, 1, &i, nz_max, aj… in MatWrapML_SeqAIJ()
297 …PetscStackCallExternalVoid("ML_Operator_Getrow", ML_Operator_Getrow(mlmat, 1, &i, nz_max, aj, aa, … in MatWrapML_SeqAIJ()
308 static PetscErrorCode MatWrapML_SHELL(ML_Operator *mlmat, MatReuse reuse, Mat *newmat) in MatWrapML_SHELL() argument
315 m = mlmat->outvec_leng; in MatWrapML_SHELL()
316 n = mlmat->invec_leng; in MatWrapML_SHELL()
320 shellctx->mlmat = mlmat; in MatWrapML_SHELL()
324 MLcomm = mlmat->comm; in MatWrapML_SHELL()
332 shellctx->mlmat = mlmat; in MatWrapML_SHELL()
336 static PetscErrorCode MatWrapML_MPIAIJ(ML_Operator *mlmat, MatReuse reuse, Mat *newmat) in MatWrapML_MPIAIJ() argument
341 PetscInt m = mlmat->outvec_leng, n, nz_max, row; in MatWrapML_MPIAIJ()
345 PetscCheck(mlmat->getrow, PETSC_COMM_SELF, PETSC_ERR_ARG_NULL, "mlmat->getrow = NULL"); in MatWrapML_MPIAIJ()
346 n = mlmat->invec_leng; in MatWrapML_MPIAIJ()
350 …PetscStackCallExternalVoid("ML_build_global_numbering", ML_build_global_numbering(mlmat, &gorderin… in MatWrapML_MPIAIJ()
352 nz_max = PetscMax(1, mlmat->max_nz_per_row) + 1; in MatWrapML_MPIAIJ()
359 PetscCall(MatCreate(mlmat->comm->USR_comm, &A)); in MatWrapML_MPIAIJ()
363 PetscCall(MatSetBlockSize(A, mlmat->num_PDEs)); in MatWrapML_MPIAIJ()
365 PetscCallMPI(MPI_Scan(&m, &rstart, 1, MPIU_INT, MPI_SUM, mlmat->comm->USR_comm)); in MatWrapML_MPIAIJ()
370 …PetscStackCallExternalVoid("ML_Operator_Getrow", ML_Operator_Getrow(mlmat, 1, &i, nz_max, aj, aa, … in MatWrapML_MPIAIJ()
384 …PetscStackCallExternalVoid(",ML_Operator_Getrow", ML_Operator_Getrow(mlmat, 1, &i, nz_max, aj, aa,… in MatWrapML_MPIAIJ()
511 ML_Operator *mlmat; in PCSetUp_ML() local
567 mlmat = &ml_object->Amat[mesh_level]; in PCSetUp_ML()
568 PetscStackCallExternalVoid("ML_Operator_Clean", ML_Operator_Clean(mlmat)); in PCSetUp_ML()
569 PetscStackCallExternalVoid("ML_Operator_Init", ML_Operator_Init(mlmat, ml_object->comm)); in PCSetUp_ML()
576 mlmat = &ml_object->Amat[mllevel]; in PCSetUp_ML()
577 PetscCall(MatWrapML_SeqAIJ(mlmat, MAT_REUSE_MATRIX, &gridctx[level].A)); in PCSetUp_ML()
582 mlmat = &ml_object->Amat[mllevel]; in PCSetUp_ML()
583 PetscCall(MatWrapML_MPIAIJ(mlmat, MAT_REUSE_MATRIX, &gridctx[level].A)); in PCSetUp_ML()
836 mlmat = &ml_object->Pmat[mllevel]; in PCSetUp_ML()
837 PetscCall(MatWrapML_SeqAIJ(mlmat, MAT_INITIAL_MATRIX, &gridctx[level].P)); in PCSetUp_ML()
838 mlmat = &ml_object->Rmat[mllevel - 1]; in PCSetUp_ML()
839 PetscCall(MatWrapML_SeqAIJ(mlmat, MAT_INITIAL_MATRIX, &gridctx[level].R)); in PCSetUp_ML()
841 mlmat = &ml_object->Amat[mllevel]; in PCSetUp_ML()
842 PetscCall(MatWrapML_SeqAIJ(mlmat, MAT_INITIAL_MATRIX, &gridctx[level].A)); in PCSetUp_ML()
847 mlmat = &ml_object->Pmat[mllevel]; in PCSetUp_ML()
848 PetscCall(MatWrapML_SHELL(mlmat, MAT_INITIAL_MATRIX, &gridctx[level].P)); in PCSetUp_ML()
849 mlmat = &ml_object->Rmat[mllevel - 1]; in PCSetUp_ML()
850 PetscCall(MatWrapML_SHELL(mlmat, MAT_INITIAL_MATRIX, &gridctx[level].R)); in PCSetUp_ML()
852 mlmat = &ml_object->Amat[mllevel]; in PCSetUp_ML()
853 PetscCall(MatWrapML_MPIAIJ(mlmat, MAT_INITIAL_MATRIX, &gridctx[level].A)); in PCSetUp_ML()