Lines Matching refs:matis
156 Mat_IS *matis = (Mat_IS *)pc->pmat->data; in PCBDDCNedelecSupport() local
199 PetscCall(VecGetArrayRead(matis->counter, (const PetscScalar **)&vals)); in PCBDDCNedelecSupport()
207 PetscCall(VecRestoreArrayRead(matis->counter, (const PetscScalar **)&vals)); in PCBDDCNedelecSupport()
224 PetscCall(PetscArrayzero(matis->sf_leafdata, n)); in PCBDDCNedelecSupport()
225 PetscCall(PetscArrayzero(matis->sf_rootdata, pc->pmat->rmap->n)); in PCBDDCNedelecSupport()
231 if (nc > 1) matis->sf_rootdata[i - rst] = 1; in PCBDDCNedelecSupport()
234 …PetscCall(PetscSFBcastBegin(matis->sf, MPIU_INT, matis->sf_rootdata, matis->sf_leafdata, MPI_REPLA… in PCBDDCNedelecSupport()
235 …PetscCall(PetscSFBcastEnd(matis->sf, MPIU_INT, matis->sf_rootdata, matis->sf_leafdata, MPI_REPLACE… in PCBDDCNedelecSupport()
238 if (matis->sf_leafdata[i]) idx[ne++] = i; in PCBDDCNedelecSupport()
255 PetscCall(VecGetArrayRead(matis->counter, (const PetscScalar **)&vals)); in PCBDDCNedelecSupport()
267 PetscCall(VecRestoreArrayRead(matis->counter, (const PetscScalar **)&vals)); in PCBDDCNedelecSupport()
306 PetscCall(PetscArrayzero(matis->sf_leafdata, n)); in PCBDDCNedelecSupport()
307 PetscCall(PetscArrayzero(matis->sf_rootdata, pc->pmat->rmap->n)); in PCBDDCNedelecSupport()
310 for (i = 0; i < ne; i++) matis->sf_leafdata[idxs[i]] = 1; in PCBDDCNedelecSupport()
313 for (i = 0; i < ne; i++) matis->sf_leafdata[i] = 1; in PCBDDCNedelecSupport()
315 …PetscCall(PetscSFReduceBegin(matis->sf, MPIU_INT, matis->sf_leafdata, matis->sf_rootdata, MPI_SUM)… in PCBDDCNedelecSupport()
316 PetscCall(PetscSFReduceEnd(matis->sf, MPIU_INT, matis->sf_leafdata, matis->sf_rootdata, MPI_SUM)); in PCBDDCNedelecSupport()
320 …if (matis->allow_repeated) PetscCall(PetscObjectQuery((PetscObject)pcbddc->discretegradient, "_ele… in PCBDDCNedelecSupport()
331 if (matis->sf_rootdata[i] < 2) matis->sf_rootdata[cum++] = i + rst; in PCBDDCNedelecSupport()
334 PetscCall(MatZeroRows(G, cum, matis->sf_rootdata, 0., NULL, NULL)); in PCBDDCNedelecSupport()
339 …PetscCall(PetscSFBcastBegin(matis->sf, MPIU_INT, matis->sf_rootdata, matis->sf_leafdata, MPI_REPLA… in PCBDDCNedelecSupport()
340 …PetscCall(PetscSFBcastEnd(matis->sf, MPIU_INT, matis->sf_rootdata, matis->sf_leafdata, MPI_REPLACE… in PCBDDCNedelecSupport()
343 if (matis->sf_leafdata[idxs[i]] == 1) tbz[cum++] = i; in PCBDDCNedelecSupport()
360 if (matis->allow_repeated) { /* multi-element support */ in PCBDDCNedelecSupport()
584 …if (matis->allow_repeated) { /* assign a uniq global id to edge local subsets and communicate it w… in PCBDDCNedelecSupport()
755 if (matis->allow_repeated) { in PCBDDCNedelecSupport()
864 …PetscCall(MatGetRowIJ(matis->A, 0, PETSC_TRUE, PETSC_FALSE, &i, (const PetscInt **)&iiu, (const Pe… in PCBDDCNedelecSupport()
906 …if (rest) PetscCall(MatRestoreRowIJ(matis->A, 0, PETSC_TRUE, PETSC_FALSE, &i, (const PetscInt **)&… in PCBDDCNedelecSupport()
1829 Mat_IS *matis = (Mat_IS *)pc->pmat->data; in PCBDDCComputeLocalTopologyInfo() local
1838 PetscCall(MatCreateVecs(matis->A, &local, NULL)); in PCBDDCComputeLocalTopologyInfo()
1854 …PetscCall(PCBDDCGlobalToLocal(matis->rctx, global, local, pcbddc->ISForDofs[i], &pcbddc->ISForDofs… in PCBDDCComputeLocalTopologyInfo()
1878 … PetscCall(PCBDDCGlobalToLocal(matis->rctx, global, local, fields[i], &pcbddc->ISForDofsLocal[i])); in PCBDDCComputeLocalTopologyInfo()
1894 PetscInt i, n = matis->A->rmap->n; in PCBDDCComputeLocalTopologyInfo()
1911 …PetscCall(PCBDDCGlobalToLocal(matis->rctx, global, local, pcbddc->DirichletBoundaries, &pcbddc->Di… in PCBDDCComputeLocalTopologyInfo()
1916 …PetscCall(PCBDDCGlobalToLocal(matis->rctx, global, local, pcbddc->NeumannBoundaries, &pcbddc->Neum… in PCBDDCComputeLocalTopologyInfo()
1920 …ices_local && pcbddc->user_primal_vertices) PetscCall(PCBDDCGlobalToLocal(matis->rctx, global, loc… in PCBDDCComputeLocalTopologyInfo()
1924 if (pcbddc->detect_disconnected || matis->allow_repeated) { in PCBDDCComputeLocalTopologyInfo()
1931 PetscCall(MatGetVariableBlockSizes(matis->A, &nel, NULL)); in PCBDDCComputeLocalTopologyInfo()
1932 if (matis->allow_repeated && nel) { in PCBDDCComputeLocalTopologyInfo()
1936 PetscCall(MatGetVariableBlockSizes(matis->A, NULL, &elsizes)); in PCBDDCComputeLocalTopologyInfo()
2098 Mat_IS *matis = (Mat_IS *)pc->pmat->data; in PCBDDCConsistencyCheckIS() local
2101 PetscInt i, nd, n = matis->A->rmap->n, *nidxs, nnd; in PCBDDCConsistencyCheckIS()
2107 for (i = 0; i < pc->pmat->rmap->n; i++) matis->sf_rootdata[i] = 1; in PCBDDCConsistencyCheckIS()
2109 PetscCall(PetscArrayzero(matis->sf_rootdata, pc->pmat->rmap->n)); in PCBDDCConsistencyCheckIS()
2111 PetscCall(PetscArrayzero(matis->sf_leafdata, n)); in PCBDDCConsistencyCheckIS()
2115 if (-1 < idxs[i] && idxs[i] < n) matis->sf_leafdata[idxs[i]] = 1; in PCBDDCConsistencyCheckIS()
2117 PetscCall(PetscSFReduceBegin(matis->sf, MPIU_INT, matis->sf_leafdata, matis->sf_rootdata, mop)); in PCBDDCConsistencyCheckIS()
2118 PetscCall(PetscSFReduceEnd(matis->sf, MPIU_INT, matis->sf_leafdata, matis->sf_rootdata, mop)); in PCBDDCConsistencyCheckIS()
2119 …PetscCall(PetscSFBcastBegin(matis->sf, MPIU_INT, matis->sf_rootdata, matis->sf_leafdata, MPI_REPLA… in PCBDDCConsistencyCheckIS()
2120 …PetscCall(PetscSFBcastEnd(matis->sf, MPIU_INT, matis->sf_rootdata, matis->sf_leafdata, MPI_REPLACE… in PCBDDCConsistencyCheckIS()
2127 if (matis->sf_leafdata[i]) nidxs[nnd++] = i; in PCBDDCConsistencyCheckIS()
2335 Mat_IS *matis = (Mat_IS *)pc->pmat->data; in PCBDDCBenignProject() local
2339 PetscCall(MatPtAP(matis->A, pcbddc->benign_change, MAT_INITIAL_MATRIX, 2.0, &An)); in PCBDDCBenignProject()
2793 Mat_IS *matis = (Mat_IS *)pc->pmat->data; in PCBDDCBenignDetectSaddlePoint() local
2920 PetscCall(VecDuplicateVecs(matis->y, 2, &work)); in PCBDDCBenignDetectSaddlePoint()
2966 PetscCall(VecSet(matis->x, 0)); in PCBDDCBenignDetectSaddlePoint()
2969 PetscCall(VecGetArray(matis->x, &array)); in PCBDDCBenignDetectSaddlePoint()
2971 PetscCall(VecRestoreArray(matis->x, &array)); in PCBDDCBenignDetectSaddlePoint()
2973 PetscCall(VecPointwiseMult(matis->x, work[0], matis->x)); in PCBDDCBenignDetectSaddlePoint()
2974 PetscCall(MatMult(matis->A, matis->x, matis->y)); in PCBDDCBenignDetectSaddlePoint()
2975 PetscCall(VecPointwiseMult(matis->y, work[1], matis->y)); in PCBDDCBenignDetectSaddlePoint()
2976 PetscCall(VecGetArray(matis->y, &array)); in PCBDDCBenignDetectSaddlePoint()
2983 PetscCall(VecRestoreArray(matis->y, &array)); in PCBDDCBenignDetectSaddlePoint()
3021 PetscCall(MatMult(matis->A, work[0], matis->x)); in PCBDDCBenignDetectSaddlePoint()
3022 PetscCall(VecPointwiseMult(matis->x, work[1], matis->x)); in PCBDDCBenignDetectSaddlePoint()
3023 PetscCall(VecGetArray(matis->x, &array)); in PCBDDCBenignDetectSaddlePoint()
3030 PetscCall(VecRestoreArray(matis->x, &array)); in PCBDDCBenignDetectSaddlePoint()
3224 …PetscCall(ISLocalToGlobalMappingApply(matis->rmapping, pcbddc->benign_n, pcbddc->benign_p0_lidx, p… in PCBDDCBenignDetectSaddlePoint()
3281 Mat_IS *matis = (Mat_IS *)pc->pmat->data; in PCBDDCBenignPopOrPushB0() local
3285 PetscCall(VecGetLocalSize(matis->y, &n)); in PCBDDCBenignPopOrPushB0()
3306 PetscCall(VecSet(matis->x, 0.)); in PCBDDCBenignPopOrPushB0()
3310 PetscCall(VecSetValues(matis->x, nz, idxs, vals, INSERT_VALUES)); in PCBDDCBenignPopOrPushB0()
3311 PetscCall(VecAssemblyBegin(matis->x)); in PCBDDCBenignPopOrPushB0()
3312 PetscCall(VecAssemblyEnd(matis->x)); in PCBDDCBenignPopOrPushB0()
3313 PetscCall(VecSet(matis->y, 0.)); in PCBDDCBenignPopOrPushB0()
3314 PetscCall(MatMult(matis->A, matis->x, matis->y)); in PCBDDCBenignPopOrPushB0()
3315 PetscCall(VecGetArray(matis->y, &array)); in PCBDDCBenignPopOrPushB0()
3325 PetscCall(VecRestoreArray(matis->y, &array)); in PCBDDCBenignPopOrPushB0()
5578 Mat_IS *matis = (Mat_IS *)pc->pmat->data; in PCBDDCComputeLocalMatrix() local
5588 PetscCall(MatGetSize(matis->A, &local_size, NULL)); in PCBDDCComputeLocalMatrix()
5597 …for (PetscInt i = 0; i < nsubs; i++) PetscCall(ISLocalToGlobalMappingApplyIS(matis->rmapping, pcbd… in PCBDDCComputeLocalMatrix()
5603 PetscCall(ISCreateStride(PetscObjectComm((PetscObject)matis->A), local_size, 0, 1, &is_local)); in PCBDDCComputeLocalMatrix()
5604 PetscCall(ISLocalToGlobalMappingApplyIS(matis->rmapping, is_local, &is_global)); in PCBDDCComputeLocalMatrix()
5618 PetscCall(ISCreateStride(PetscObjectComm((PetscObject)matis->A), local_size, 0, 1, &is_local)); in PCBDDCComputeLocalMatrix()
5619 PetscCall(ISLocalToGlobalMappingApplyIS(matis->rmapping, is_local, &is_global)); in PCBDDCComputeLocalMatrix()
5631 PetscCall(VecScatterBegin(matis->cctx, x, matis->x, INSERT_VALUES, SCATTER_FORWARD)); in PCBDDCComputeLocalMatrix()
5632 PetscCall(VecScatterEnd(matis->cctx, x, matis->x, INSERT_VALUES, SCATTER_FORWARD)); in PCBDDCComputeLocalMatrix()
5633 PetscCall(MatMult(new_mat, matis->x, matis->y)); in PCBDDCComputeLocalMatrix()
5639 PetscCall(VecGetArrayRead(matis->x, &x)); in PCBDDCComputeLocalMatrix()
5640 PetscCall(VecGetArrayRead(matis->y, &y)); in PCBDDCComputeLocalMatrix()
5641 PetscCall(VecGetArrayRead(matis->counter, &v)); in PCBDDCComputeLocalMatrix()
5644 PetscCall(VecRestoreArrayRead(matis->x, &x)); in PCBDDCComputeLocalMatrix()
5645 PetscCall(VecRestoreArrayRead(matis->y, &y)); in PCBDDCComputeLocalMatrix()
5646 PetscCall(VecRestoreArrayRead(matis->counter, &v)); in PCBDDCComputeLocalMatrix()
5656 PetscCall(VecScatterBegin(matis->rctx, matis->y, x, INSERT_VALUES, SCATTER_REVERSE)); in PCBDDCComputeLocalMatrix()
5657 PetscCall(VecScatterEnd(matis->rctx, matis->y, x, INSERT_VALUES, SCATTER_REVERSE)); in PCBDDCComputeLocalMatrix()
5677 PetscCall(PetscObjectBaseTypeCompare((PetscObject)matis->A, MATSEQAIJ, &isseqaij)); in PCBDDCComputeLocalMatrix()
5680 …PetscCall(MatPtAPWithPrefix_Private(matis->A, new_mat, PETSC_DEFAULT, ptapprefix, &pcbddc->local_m… in PCBDDCComputeLocalMatrix()
5691 PetscCall(MatConvert(matis->A, MATSEQAIJ, MAT_INITIAL_MATRIX, &work_mat)); in PCBDDCComputeLocalMatrix()
5702 PetscCall(MatIsSymmetricKnown(matis->A, &isset, &issym)); in PCBDDCComputeLocalMatrix()
5882 Mat_IS *matis = (Mat_IS *)A->data; in MatNullSpacePropagateAny_Private() local
5885 sct = matis->cctx; in MatNullSpacePropagateAny_Private()
6074 Mat_IS *matis = (Mat_IS *)pc->pmat->data; in PCBDDCSetUpLocalSolvers() local
6117 if (matis->A == pcbddc->local_mat) { in PCBDDCSetUpLocalSolvers()
6119 PetscCall(MatConvert(matis->A, MATSEQAIJ, MAT_INITIAL_MATRIX, &pcbddc->local_mat)); in PCBDDCSetUpLocalSolvers()
6124 if (matis->A == pcbddc->local_mat) { in PCBDDCSetUpLocalSolvers()
6126 …PetscCall(MatConvert(matis->A, mbs > 1 ? MATSEQBAIJ : MATSEQAIJ, MAT_INITIAL_MATRIX, &pcbddc->loca… in PCBDDCSetUpLocalSolvers()
6528 Mat_IS *matis = (Mat_IS *)pc->pmat->data; in PCBDDCConstraintsSetUp() local
6669 …PetscCall(VecScatterBegin(matis->rctx, nearnullvecs[k], localnearnullsp[k], INSERT_VALUES, SCATTER… in PCBDDCConstraintsSetUp()
6670 …PetscCall(VecScatterEnd(matis->rctx, nearnullvecs[k], localnearnullsp[k], INSERT_VALUES, SCATTER_F… in PCBDDCConstraintsSetUp()
7354 …PetscCall(VecScatterBegin(matis->rctx, pcis->vec1_N, pcis->vec1_global, ADD_VALUES, SCATTER_REVERS… in PCBDDCConstraintsSetUp()
7355 …PetscCall(VecScatterEnd(matis->rctx, pcis->vec1_N, pcis->vec1_global, ADD_VALUES, SCATTER_REVERSE)… in PCBDDCConstraintsSetUp()
7368 PetscCall(VecScatterBegin(matis->rctx, x, pcis->vec1_N, INSERT_VALUES, SCATTER_FORWARD)); in PCBDDCConstraintsSetUp()
7369 PetscCall(VecScatterEnd(matis->rctx, x, pcis->vec1_N, INSERT_VALUES, SCATTER_FORWARD)); in PCBDDCConstraintsSetUp()
7371 PetscCall(VecScatterBegin(matis->rctx, pcis->vec2_N, x, INSERT_VALUES, SCATTER_REVERSE)); in PCBDDCConstraintsSetUp()
7372 PetscCall(VecScatterEnd(matis->rctx, pcis->vec2_N, x, INSERT_VALUES, SCATTER_REVERSE)); in PCBDDCConstraintsSetUp()
7471 PetscCall(VecCopy(matis->counter, pcis->vec1_N)); in PCBDDCConstraintsSetUp()
7497 PetscCall(ISLocalToGlobalMappingGetIndices(matis->rmapping, &gidxs)); in PCBDDCConstraintsSetUp()
7499 PetscCall(ISLocalToGlobalMappingRestoreIndices(matis->rmapping, &gidxs)); in PCBDDCConstraintsSetUp()
7552 Mat_IS *matis = (Mat_IS *)pc->pmat->data; in PCBDDCAnalyzeInterface() local
7578 PetscCall(PetscObjectReference((PetscObject)matis->A)); in PCBDDCAnalyzeInterface()
7579 A = matis->A; in PCBDDCAnalyzeInterface()
7613 PetscCall(MatGetLocalSize(matis->A, &n, NULL)); in PCBDDCAnalyzeInterface()
7618 …PetscCall(PetscSFBcastBegin(matis->sf, dimrealtype, pcbddc->mat_graph->coords, lcoords, MPI_REPLAC… in PCBDDCAnalyzeInterface()
7619 …PetscCall(PetscSFBcastEnd(matis->sf, dimrealtype, pcbddc->mat_graph->coords, lcoords, MPI_REPLACE)… in PCBDDCAnalyzeInterface()
7635 PetscCall(MatGetLocalSize(matis->A, &n, NULL)); in PCBDDCAnalyzeInterface()
9586 Mat_IS *matis = (Mat_IS *)pc->pmat->data; in PCBDDCViewGlobalIS() local
9594 PetscCall(MatGetLocalSize(matis->A, NULL, &ln)); in PCBDDCViewGlobalIS()
9595 PetscCall(PetscArrayzero(matis->sf_leafdata, ln)); in PCBDDCViewGlobalIS()
9596 PetscCall(PetscArrayzero(matis->sf_rootdata, n)); in PCBDDCViewGlobalIS()
9601 matis->sf_leafdata[idxs[i]] = 1; in PCBDDCViewGlobalIS()
9604 …PetscCall(PetscSFReduceBegin(matis->sf, MPIU_INT, matis->sf_leafdata, matis->sf_rootdata, MPI_SUM)… in PCBDDCViewGlobalIS()
9605 PetscCall(PetscSFReduceEnd(matis->sf, MPIU_INT, matis->sf_leafdata, matis->sf_rootdata, MPI_SUM)); in PCBDDCViewGlobalIS()
9608 if (matis->sf_rootdata[i]) matis->sf_rootdata[ln++] = i + st; in PCBDDCViewGlobalIS()
9610 …PetscCall(ISCreateGeneral(PetscObjectComm((PetscObject)pc), ln, matis->sf_rootdata, PETSC_USE_POIN… in PCBDDCViewGlobalIS()