Lines Matching refs:N
11 static PetscErrorCode MatScale_SubMatrix(Mat N, PetscScalar a) in MatScale_SubMatrix() argument
13 Mat_SubVirtual *Na = (Mat_SubVirtual *)N->data; in MatScale_SubMatrix()
20 static PetscErrorCode MatShift_SubMatrix(Mat N, PetscScalar a) in MatShift_SubMatrix() argument
22 Mat_SubVirtual *Na = (Mat_SubVirtual *)N->data; in MatShift_SubMatrix()
29 static PetscErrorCode MatDiagonalScale_SubMatrix(Mat N, Vec left, Vec right) in MatDiagonalScale_SubMatrix() argument
31 Mat_SubVirtual *Na = (Mat_SubVirtual *)N->data; in MatDiagonalScale_SubMatrix()
48 static PetscErrorCode MatGetDiagonal_SubMatrix(Mat N, Vec d) in MatGetDiagonal_SubMatrix() argument
50 Mat_SubVirtual *Na = (Mat_SubVirtual *)N->data; in MatGetDiagonal_SubMatrix()
59 static PetscErrorCode MatMult_SubMatrix(Mat N, Vec x, Vec y) in MatMult_SubMatrix() argument
61 Mat_SubVirtual *Na = (Mat_SubVirtual *)N->data; in MatMult_SubMatrix()
73 static PetscErrorCode MatMultAdd_SubMatrix(Mat N, Vec v1, Vec v2, Vec v3) in MatMultAdd_SubMatrix() argument
75 Mat_SubVirtual *Na = (Mat_SubVirtual *)N->data; in MatMultAdd_SubMatrix()
103 static PetscErrorCode MatMultTranspose_SubMatrix(Mat N, Vec x, Vec y) in MatMultTranspose_SubMatrix() argument
105 Mat_SubVirtual *Na = (Mat_SubVirtual *)N->data; in MatMultTranspose_SubMatrix()
117 static PetscErrorCode MatMultTransposeAdd_SubMatrix(Mat N, Vec v1, Vec v2, Vec v3) in MatMultTransposeAdd_SubMatrix() argument
119 Mat_SubVirtual *Na = (Mat_SubVirtual *)N->data; in MatMultTransposeAdd_SubMatrix()
147 static PetscErrorCode MatDestroy_SubMatrix(Mat N) in MatDestroy_SubMatrix() argument
149 Mat_SubVirtual *Na = (Mat_SubVirtual *)N->data; in MatDestroy_SubMatrix()
161 PetscCall(PetscFree(N->data)); in MatDestroy_SubMatrix()
189 Mat N; in MatCreateSubMatrixVirtual() local
199 PetscCall(MatCreate(PetscObjectComm((PetscObject)A), &N)); in MatCreateSubMatrixVirtual()
202 PetscCall(MatSetSizes(N, m, n, PETSC_DETERMINE, PETSC_DETERMINE)); in MatCreateSubMatrixVirtual()
203 PetscCall(PetscObjectChangeTypeName((PetscObject)N, MATSUBMATRIX)); in MatCreateSubMatrixVirtual()
206 N->data = (void *)Na; in MatCreateSubMatrixVirtual()
213 PetscCall(PetscFree(N->defaultvectype)); in MatCreateSubMatrixVirtual()
214 PetscCall(PetscStrallocpy(A->defaultvectype, &N->defaultvectype)); in MatCreateSubMatrixVirtual()
219 N->ops->destroy = MatDestroy_SubMatrix; in MatCreateSubMatrixVirtual()
220 N->ops->mult = MatMult_SubMatrix; in MatCreateSubMatrixVirtual()
221 N->ops->multadd = MatMultAdd_SubMatrix; in MatCreateSubMatrixVirtual()
222 N->ops->multtranspose = MatMultTranspose_SubMatrix; in MatCreateSubMatrixVirtual()
223 N->ops->multtransposeadd = MatMultTransposeAdd_SubMatrix; in MatCreateSubMatrixVirtual()
224 N->ops->scale = MatScale_SubMatrix; in MatCreateSubMatrixVirtual()
225 N->ops->diagonalscale = MatDiagonalScale_SubMatrix; in MatCreateSubMatrixVirtual()
226 N->ops->shift = MatShift_SubMatrix; in MatCreateSubMatrixVirtual()
227 N->ops->convert = MatConvert_Shell; in MatCreateSubMatrixVirtual()
228 N->ops->getdiagonal = MatGetDiagonal_SubMatrix; in MatCreateSubMatrixVirtual()
230 PetscCall(MatSetBlockSizesFromMats(N, A, A)); in MatCreateSubMatrixVirtual()
231 PetscCall(PetscLayoutSetUp(N->rmap)); in MatCreateSubMatrixVirtual()
232 PetscCall(PetscLayoutSetUp(N->cmap)); in MatCreateSubMatrixVirtual()
235 PetscCall(MatCreateVecs(N, &right, &left)); in MatCreateSubMatrixVirtual()
240 PetscCall(MatSetUp(N)); in MatCreateSubMatrixVirtual()
242 N->assembled = PETSC_TRUE; in MatCreateSubMatrixVirtual()
243 *newmat = N; in MatCreateSubMatrixVirtual()
277 PetscErrorCode MatSubMatrixVirtualUpdate(Mat N, Mat A, IS isrow, IS iscol) in MatSubMatrixVirtualUpdate() argument
283 PetscValidHeaderSpecific(N, MAT_CLASSID, 1); in MatSubMatrixVirtualUpdate()
287 PetscCall(PetscObjectTypeCompare((PetscObject)N, MATSUBMATRIX, &flg)); in MatSubMatrixVirtualUpdate()
290 Na = (Mat_SubVirtual *)N->data; in MatSubMatrixVirtualUpdate()
296 PetscCall(PetscFree(N->defaultvectype)); in MatSubMatrixVirtualUpdate()
297 PetscCall(PetscStrallocpy(A->defaultvectype, &N->defaultvectype)); in MatSubMatrixVirtualUpdate()