Lines Matching refs:subA
58 Mat subA[4]; /* the four blocks */ member
260 PetscCall(MatCreate(PETSC_COMM_WORLD, &s->subA[0])); in StokesSetupMatBlock00()
261 PetscCall(MatSetOptionsPrefix(s->subA[0], "a00_")); in StokesSetupMatBlock00()
262 …PetscCall(MatSetSizes(s->subA[0], PETSC_DECIDE, PETSC_DECIDE, 2 * s->nx * s->ny, 2 * s->nx * s->ny… in StokesSetupMatBlock00()
263 PetscCall(MatSetType(s->subA[0], MATMPIAIJ)); in StokesSetupMatBlock00()
264 PetscCall(MatMPIAIJSetPreallocation(s->subA[0], 5, NULL, 5, NULL)); in StokesSetupMatBlock00()
265 PetscCall(MatGetOwnershipRange(s->subA[0], &start, &end)); in StokesSetupMatBlock00()
276 PetscCall(MatSetValues(s->subA[0], 1, &row, sz, cols, vals, INSERT_VALUES)); in StokesSetupMatBlock00()
278 PetscCall(MatAssemblyBegin(s->subA[0], MAT_FINAL_ASSEMBLY)); in StokesSetupMatBlock00()
279 PetscCall(MatAssemblyEnd(s->subA[0], MAT_FINAL_ASSEMBLY)); in StokesSetupMatBlock00()
291 PetscCall(MatCreate(PETSC_COMM_WORLD, &s->subA[1])); in StokesSetupMatBlock01()
292 PetscCall(MatSetOptionsPrefix(s->subA[1], "a01_")); in StokesSetupMatBlock01()
293 PetscCall(MatSetSizes(s->subA[1], PETSC_DECIDE, PETSC_DECIDE, 2 * s->nx * s->ny, s->nx * s->ny)); in StokesSetupMatBlock01()
294 PetscCall(MatSetType(s->subA[1], MATMPIAIJ)); in StokesSetupMatBlock01()
295 PetscCall(MatMPIAIJSetPreallocation(s->subA[1], 5, NULL, 5, NULL)); in StokesSetupMatBlock01()
296 PetscCall(MatGetOwnershipRange(s->subA[1], &start, &end)); in StokesSetupMatBlock01()
298 PetscCall(MatSetOption(s->subA[1], MAT_IGNORE_ZERO_ENTRIES, PETSC_TRUE)); in StokesSetupMatBlock01()
308 PetscCall(MatSetValues(s->subA[1], 1, &row, sz, cols, vals, INSERT_VALUES)); in StokesSetupMatBlock01()
310 PetscCall(MatAssemblyBegin(s->subA[1], MAT_FINAL_ASSEMBLY)); in StokesSetupMatBlock01()
311 PetscCall(MatAssemblyEnd(s->subA[1], MAT_FINAL_ASSEMBLY)); in StokesSetupMatBlock01()
319 PetscCall(MatTranspose(s->subA[1], MAT_INITIAL_MATRIX, &s->subA[2])); in StokesSetupMatBlock10()
320 if (!s->matsymmetric) PetscCall(MatScale(s->subA[2], -1.0)); in StokesSetupMatBlock10()
321 PetscCall(MatSetOptionsPrefix(s->subA[2], "a10_")); in StokesSetupMatBlock10()
329 PetscCall(MatCreate(PETSC_COMM_WORLD, &s->subA[3])); in StokesSetupMatBlock11()
330 PetscCall(MatSetOptionsPrefix(s->subA[3], "a11_")); in StokesSetupMatBlock11()
331 PetscCall(MatSetSizes(s->subA[3], PETSC_DECIDE, PETSC_DECIDE, s->nx * s->ny, s->nx * s->ny)); in StokesSetupMatBlock11()
332 PetscCall(MatSetType(s->subA[3], MATMPIAIJ)); in StokesSetupMatBlock11()
333 PetscCall(MatMPIAIJSetPreallocation(s->subA[3], 0, NULL, 0, NULL)); in StokesSetupMatBlock11()
334 PetscCall(MatAssemblyBegin(s->subA[3], MAT_FINAL_ASSEMBLY)); in StokesSetupMatBlock11()
335 PetscCall(MatAssemblyEnd(s->subA[3], MAT_FINAL_ASSEMBLY)); in StokesSetupMatBlock11()
353 PetscCall(MatGetDiagonal(s->subA[0], diag)); in StokesSetupApproxSchur()
357 PetscCall(MatDiagonalScale(s->subA[1], diag, NULL)); /* (*warning* overwrites subA[1]) */ in StokesSetupApproxSchur()
358 PetscCall(MatMatMult(s->subA[2], s->subA[1], MAT_INITIAL_MATRIX, PETSC_DETERMINE, &s->myS)); in StokesSetupApproxSchur()
362 PetscCall(MatGetDiagonal(s->subA[0], diag)); in StokesSetupApproxSchur()
363 PetscCall(MatDiagonalScale(s->subA[1], diag, NULL)); in StokesSetupApproxSchur()
375 PetscCall(MatCreateNest(PETSC_COMM_WORLD, 2, NULL, 2, NULL, s->subA, &s->A)); in StokesSetupMatrix()
745 PetscCall(MatDestroy(&s.subA[0])); in main()
746 PetscCall(MatDestroy(&s.subA[1])); in main()
747 PetscCall(MatDestroy(&s.subA[2])); in main()
748 PetscCall(MatDestroy(&s.subA[3])); in main()