Lines Matching refs:slice
21 DM_Sliced *slice = (DM_Sliced *)dm->data; in DMCreateMatrix_Sliced() local
24 bs = slice->bs; in DMCreateMatrix_Sliced()
26 PetscCall(MatSetSizes(*J, slice->n * bs, slice->n * bs, PETSC_DETERMINE, PETSC_DETERMINE)); in DMCreateMatrix_Sliced()
29 PetscCall(MatSeqBAIJSetPreallocation(*J, bs, slice->d_nz, slice->d_nnz)); in DMCreateMatrix_Sliced()
30 …PetscCall(MatMPIBAIJSetPreallocation(*J, bs, slice->d_nz, slice->d_nnz, slice->o_nz, slice->o_nnz)… in DMCreateMatrix_Sliced()
37 PetscCall(MatSeqAIJSetPreallocation(*J, slice->d_nz, slice->d_nnz)); in DMCreateMatrix_Sliced()
38 … PetscCall(MatMPIAIJSetPreallocation(*J, slice->d_nz, slice->d_nnz, slice->o_nz, slice->o_nnz)); in DMCreateMatrix_Sliced()
39 } else if (!slice->d_nnz) { in DMCreateMatrix_Sliced()
40 PetscCall(MatSeqAIJSetPreallocation(*J, slice->d_nz * bs, NULL)); in DMCreateMatrix_Sliced()
41 PetscCall(MatMPIAIJSetPreallocation(*J, slice->d_nz * bs, NULL, slice->o_nz * bs, NULL)); in DMCreateMatrix_Sliced()
44 PetscCall(PetscMalloc2(slice->n * bs, &sd_nnz, (!!slice->o_nnz) * slice->n * bs, &so_nnz)); in DMCreateMatrix_Sliced()
45 for (i = 0; i < slice->n * bs; i++) { in DMCreateMatrix_Sliced()
46 …slice->d_nnz[i / bs] - 1) * (slice->ofill ? slice->ofill->i[i % bs + 1] - slice->ofill->i[i % bs] … in DMCreateMatrix_Sliced()
47 …if (so_nnz) so_nnz[i] = slice->o_nnz[i / bs] * (slice->ofill ? slice->ofill->i[i % bs + 1] - slice… in DMCreateMatrix_Sliced()
49 PetscCall(MatSeqAIJSetPreallocation(*J, slice->d_nz * bs, sd_nnz)); in DMCreateMatrix_Sliced()
50 PetscCall(MatMPIAIJSetPreallocation(*J, slice->d_nz * bs, sd_nnz, slice->o_nz * bs, so_nnz)); in DMCreateMatrix_Sliced()
56 PetscCall(PetscMalloc1(slice->n + slice->Nghosts, &globals)); in DMCreateMatrix_Sliced()
58 for (i = 0; i < slice->n; i++) globals[i] = rstart / bs + i; in DMCreateMatrix_Sliced()
60 for (i = 0; i < slice->Nghosts; i++) globals[slice->n + i] = slice->ghosts[i]; in DMCreateMatrix_Sliced()
61 …PetscCall(ISLocalToGlobalMappingCreate(PETSC_COMM_SELF, bs, slice->n + slice->Nghosts, globals, PE… in DMCreateMatrix_Sliced()
87 DM_Sliced *slice = (DM_Sliced *)dm->data; in DMSlicedSetGhosts() local
91 PetscCall(PetscFree(slice->ghosts)); in DMSlicedSetGhosts()
92 PetscCall(PetscMalloc1(Nghosts, &slice->ghosts)); in DMSlicedSetGhosts()
93 PetscCall(PetscArraycpy(slice->ghosts, ghosts, Nghosts)); in DMSlicedSetGhosts()
94 slice->bs = bs; in DMSlicedSetGhosts()
95 slice->n = nlocal; in DMSlicedSetGhosts()
96 slice->Nghosts = Nghosts; in DMSlicedSetGhosts()
129 DM_Sliced *slice = (DM_Sliced *)dm->data; in DMSlicedSetPreallocation() local
133 slice->d_nz = d_nz; in DMSlicedSetPreallocation()
134 slice->d_nnz = (PetscInt *)d_nnz; in DMSlicedSetPreallocation()
135 slice->o_nz = o_nz; in DMSlicedSetPreallocation()
136 slice->o_nnz = (PetscInt *)o_nnz; in DMSlicedSetPreallocation()
187 DM_Sliced *slice = (DM_Sliced *)dm->data; in DMSlicedSetBlockFills() local
191 PetscCall(DMSlicedSetBlockFills_Private(slice->bs, dfill, &slice->dfill)); in DMSlicedSetBlockFills()
192 PetscCall(DMSlicedSetBlockFills_Private(slice->bs, ofill, &slice->ofill)); in DMSlicedSetBlockFills()
198 DM_Sliced *slice = (DM_Sliced *)dm->data; in DMDestroy_Sliced() local
201 PetscCall(PetscFree(slice->ghosts)); in DMDestroy_Sliced()
202 if (slice->dfill) PetscCall(PetscFree3(slice->dfill, slice->dfill->i, slice->dfill->j)); in DMDestroy_Sliced()
203 if (slice->ofill) PetscCall(PetscFree3(slice->ofill, slice->ofill->i, slice->ofill->j)); in DMDestroy_Sliced()
205 PetscCall(PetscFree(slice)); in DMDestroy_Sliced()
211 DM_Sliced *slice = (DM_Sliced *)dm->data; in DMCreateGlobalVector_Sliced() local
217 …tBlock(PetscObjectComm((PetscObject)dm), slice->bs, slice->n * slice->bs, PETSC_DETERMINE, slice->… in DMCreateGlobalVector_Sliced()
257 DM_Sliced *slice; in DMCreate_Sliced() local
260 PetscCall(PetscNew(&slice)); in DMCreate_Sliced()
261 p->data = slice; in DMCreate_Sliced()