Lines Matching refs:nDMs

786       PetscInt nDMs, n, *block_sizes = NULL;
822 PetscCall(DMCompositeGetNumberDM(pack, &nDMs));
826 if (!jac->vec_diag) { // get 'nDMs' and sizes 'block_sizes' w/o DMComposite. TODO: User could provide ISs
833 nDMs = 0;
850 //PetscCall(PetscPrintf(PetscObjectComm((PetscObject)A), "\t\t finish block %d, N loc = %d (%d,%d)\n", nDMs+1, bend - bsrt,bsrt,bend));
851 block_sizes[nDMs] = bend - bsrt;
852 ntot += block_sizes[nDMs];
856 nDMs++;
860 //PetscCall(PetscPrintf(PETSC_COMM_SELF, "[%d] %d) row %d.%d) cols %d : %d ; bsrt = %d, bend = %d\n",rank,row_B,nDMs,rowA,minj,maxj,bsrt,bend));
863 //PetscCall(PetscPrintf(PETSC_COMM_SELF, "\t\t\t [%d] finish block %d, N loc = %d (%d,%d)\n", rank, nDMs+1, bend - bsrt,bsrt,bend));
864 block_sizes[nDMs] = bend - bsrt;
865 ntot += block_sizes[nDMs];
866 nDMs++;
871 PetscCall(PetscRealloc(sizeof(PetscInt) * nDMs, &block_sizes));
873 PetscCall(PetscInfo(pc, "Setup Matrix based meta data (not DMComposite not attached to PC) %" PetscInt_FMT " sub domains\n", nDMs));
877 jac->num_dms = nDMs;
916 PetscCall(PetscMalloc(sizeof(*subX) * nDMs, &subX));
917 PetscCall(PetscMalloc(sizeof(*subDM) * nDMs, &subDM));
919 PetscCall(PetscMalloc(sizeof(*jac->dm_Nf) * nDMs, &jac->dm_Nf));
920 PetscCall(PetscInfo(pc, "Have %" PetscInt_FMT " blocks, n=%" PetscInt_FMT " rtol=%g type = %s\n", nDMs, n, (double)jac->ksp->rtol, ((PetscObject)jac->ksp)->type_name));
923 for (PetscInt ii = 0; ii < nDMs; ii++) {
941 if (pack) PetscCall(DMCompositeGetAccessArray(pack, jac->vec_diag, nDMs, NULL, subX));
944 for (PetscInt ii = 0, idx = 0; ii < nDMs; ii++) {