Home
last modified time | relevance | path

Searched refs:pj (Results 1 – 25 of 26) sorted by relevance

12

/petsc/src/ksp/pc/impls/tfs/
H A Divec.c229 PetscInt *pi, *pj, temp; in PCTFS_ivec_sort() local
244 pj = ar + size; in PCTFS_ivec_sort()
251 if (*pi > *pj) SWAP(*pi, *pj); in PCTFS_ivec_sort()
252 if (*ar > *pj) SWAP(*ar, *pj); in PCTFS_ivec_sort()
261 do pj--; in PCTFS_ivec_sort()
262 while (*pj > *ar); in PCTFS_ivec_sort()
265 if (pj < pi) break; in PCTFS_ivec_sort()
268 SWAP(*pi, *pj); in PCTFS_ivec_sort()
272 SWAP(*ar, *pj); in PCTFS_ivec_sort()
290 for (pj = ar + 1; pj <= ar + size; pj++) { in PCTFS_ivec_sort()
[all …]
/petsc/src/mat/impls/baij/seq/
H A Dbaijfact13.c18 PetscInt idx, *pj; in MatILUFactorNumeric_SeqBAIJ_3_inplace() local
75 pj = bj + diag_offset[row] + 1; in MatILUFactorNumeric_SeqBAIJ_3_inplace()
108 x = rtmp + 9 * pj[j]; in MatILUFactorNumeric_SeqBAIJ_3_inplace()
128 pj = bj + bi[i]; in MatILUFactorNumeric_SeqBAIJ_3_inplace()
131 x = rtmp + 9 * pj[j]; in MatILUFactorNumeric_SeqBAIJ_3_inplace()
175 const PetscInt *ajtmp, *bjtmp, *bdiag = b->diag, *pj, bs2 = a->bs2; in MatLUFactorNumeric_SeqBAIJ_3() local
225 pj = b->j + bdiag[row + 1] + 1; /* beginning of U(row,:) */ in MatLUFactorNumeric_SeqBAIJ_3()
231 v = rtmp + bs2 * pj[j]; in MatLUFactorNumeric_SeqBAIJ_3()
242 pj = b->j + bi[i]; in MatLUFactorNumeric_SeqBAIJ_3()
244 for (j = 0; j < nz; j++) PetscCall(PetscArraycpy(pv + bs2 * j, rtmp + bs2 * pj[j], bs2)); in MatLUFactorNumeric_SeqBAIJ_3()
[all …]
H A Dbaijfact11.c18 PetscInt idx, *ai = a->i, *aj = a->j, *pj; in MatILUFactorNumeric_SeqBAIJ_4_inplace() local
93 pj = bj + diag_offset[row] + 1; in MatILUFactorNumeric_SeqBAIJ_4_inplace()
149 x = rtmp + 16 * pj[j]; in MatILUFactorNumeric_SeqBAIJ_4_inplace()
178 pj = bj + bi[i]; in MatILUFactorNumeric_SeqBAIJ_4_inplace()
181 x = rtmp + 16 * pj[j]; in MatILUFactorNumeric_SeqBAIJ_4_inplace()
237 const PetscInt *ajtmp, *bjtmp, *bdiag = b->diag, *pj, bs2 = a->bs2; in MatLUFactorNumeric_SeqBAIJ_4() local
293 pj = b->j + bdiag[row + 1] + 1; /* beginning of U(row,:) */ in MatLUFactorNumeric_SeqBAIJ_4()
299 v = rtmp + bs2 * pj[j]; in MatLUFactorNumeric_SeqBAIJ_4()
310 pj = b->j + bi[i]; in MatLUFactorNumeric_SeqBAIJ_4()
312 for (j = 0; j < nz; j++) PetscCall(PetscArraycpy(pv + bs2 * j, rtmp + bs2 * pj[j], bs2)); in MatLUFactorNumeric_SeqBAIJ_4()
[all …]
H A Dbaijfact2.c20 … n = a->mbs, *ai = a->i, *aj = a->j, *bi = b->i, *bj = b->j, *ajtmp, *bjtmp, *bdiag = b->diag, *pj; in MatLUFactorNumeric_SeqBAIJ_15_NaturalOrdering() local
70 pj = b->j + bdiag[row + 1] + 1; /* beginning of U(row,:) */ in MatLUFactorNumeric_SeqBAIJ_15_NaturalOrdering()
74 vv = rtmp + bs2 * pj[j]; in MatLUFactorNumeric_SeqBAIJ_15_NaturalOrdering()
86 pj = b->j + bi[i]; in MatLUFactorNumeric_SeqBAIJ_15_NaturalOrdering()
88 for (j = 0; j < nz; j++) PetscCall(PetscArraycpy(pv + bs2 * j, rtmp + bs2 * pj[j], bs2)); in MatLUFactorNumeric_SeqBAIJ_15_NaturalOrdering()
92 pj = b->j + bdiag[i]; in MatLUFactorNumeric_SeqBAIJ_15_NaturalOrdering()
93 PetscCall(PetscArraycpy(pv, rtmp + bs2 * pj[0], bs2)); in MatLUFactorNumeric_SeqBAIJ_15_NaturalOrdering()
99 pj = b->j + bdiag[i + 1] + 1; in MatLUFactorNumeric_SeqBAIJ_15_NaturalOrdering()
101 for (j = 0; j < nz; j++) PetscCall(PetscArraycpy(pv + bs2 * j, rtmp + bs2 * pj[j], bs2)); in MatLUFactorNumeric_SeqBAIJ_15_NaturalOrdering()
121 PetscInt *ajtmp, *bjtmp, nz, nzL, row, *bdiag = b->diag, *pj; in MatLUFactorNumeric_SeqBAIJ_N() local
[all …]
H A Dbaijfact4.c15 PetscInt diag, bs = A->rmap->bs, bs2 = a->bs2, *pj, *v_pivots; in MatILUFactorNumeric_SeqBAIJ_N_inplace() local
53 pj = bj + diag_offset[row] + 1; in MatILUFactorNumeric_SeqBAIJ_N_inplace()
57 …for (j = 0; j < nz; j++) PetscKernel_A_gets_A_minus_B_times_C(bs, rtmp + bs2 * pj[j], pc, pv + bs2… in MatILUFactorNumeric_SeqBAIJ_N_inplace()
64 pj = bj + bi[i]; in MatILUFactorNumeric_SeqBAIJ_N_inplace()
66 for (j = 0; j < nz; j++) PetscCall(PetscArraycpy(pv + bs2 * j, rtmp + bs2 * pj[j], bs2)); in MatILUFactorNumeric_SeqBAIJ_N_inplace()
H A Dbaijfact.c31 PetscInt *pj; in MatLUFactorNumeric_SeqBAIJ_2() local
66 pj = b->j + bdiag[row + 1] + 1; /* beginning of U(row,:) */ in MatLUFactorNumeric_SeqBAIJ_2()
72 v = rtmp + 4 * pj[j]; in MatLUFactorNumeric_SeqBAIJ_2()
83 pj = b->j + bi[i]; in MatLUFactorNumeric_SeqBAIJ_2()
85 … for (PetscInt j = 0; j < nz; j++) PetscCall(PetscArraycpy(pv + bs2 * j, rtmp + bs2 * pj[j], bs2)); in MatLUFactorNumeric_SeqBAIJ_2()
89 pj = b->j + bdiag[i]; in MatLUFactorNumeric_SeqBAIJ_2()
90 PetscCall(PetscArraycpy(pv, rtmp + bs2 * pj[0], bs2)); in MatLUFactorNumeric_SeqBAIJ_2()
100 pj = b->j + bdiag[i + 1] + 1; in MatLUFactorNumeric_SeqBAIJ_2()
102 … for (PetscInt j = 0; j < nz; j++) PetscCall(PetscArraycpy(pv + bs2 * j, rtmp + bs2 * pj[j], bs2)); in MatLUFactorNumeric_SeqBAIJ_2()
121 PetscInt i, j, k, nz, nzL, row, *pj; in MatLUFactorNumeric_SeqBAIJ_2_NaturalOrdering() local
[all …]
H A Dbaijfact9.c18 PetscInt *ai = a->i, *aj = a->j, *pj; in MatILUFactorNumeric_SeqBAIJ_5_inplace() local
124 pj = bj + diag_offset[row] + 1; in MatILUFactorNumeric_SeqBAIJ_5_inplace()
208 x = rtmp + 25 * pj[j]; in MatILUFactorNumeric_SeqBAIJ_5_inplace()
247 pj = bj + bi[i]; in MatILUFactorNumeric_SeqBAIJ_5_inplace()
251 PetscCall(PetscArraycpy(pv, rtmp + 25 * pj[j], 25)); in MatILUFactorNumeric_SeqBAIJ_5_inplace()
253 x = rtmp + 25 * pj[j]; in MatILUFactorNumeric_SeqBAIJ_5_inplace()
315 const PetscInt *ajtmp, *bjtmp, *bdiag = b->diag, *pj, bs2 = a->bs2; in MatLUFactorNumeric_SeqBAIJ_5() local
365 pj = b->j + bdiag[row + 1] + 1; /* beginning of U(row,:) */ in MatLUFactorNumeric_SeqBAIJ_5()
371 v = rtmp + bs2 * pj[j]; in MatLUFactorNumeric_SeqBAIJ_5()
382 pj = b->j + bi[i]; in MatLUFactorNumeric_SeqBAIJ_5()
[all …]
H A Dbaijfact7.c14 …pold, *ajtmp, *diag_offset = b->diag, *r, *ic, *bi = b->i, *bj = b->j, *ai = a->i, *aj = a->j, *pj; in MatILUFactorNumeric_SeqBAIJ_6_inplace() local
136 pj = bj + diag_offset[row] + 1; in MatILUFactorNumeric_SeqBAIJ_6_inplace()
254 x = rtmp + 36 * pj[j]; in MatILUFactorNumeric_SeqBAIJ_6_inplace()
305 pj = bj + bi[i]; in MatILUFactorNumeric_SeqBAIJ_6_inplace()
308 x = rtmp + 36 * pj[j]; in MatILUFactorNumeric_SeqBAIJ_6_inplace()
373 const PetscInt *ajtmp, *bjtmp, *bdiag = b->diag, *pj, bs2 = a->bs2; in MatLUFactorNumeric_SeqBAIJ_6() local
423 pj = b->j + bdiag[row + 1] + 1; /* beginning of U(row,:) */ in MatLUFactorNumeric_SeqBAIJ_6()
429 v = rtmp + bs2 * pj[j]; in MatLUFactorNumeric_SeqBAIJ_6()
440 pj = b->j + bi[i]; in MatLUFactorNumeric_SeqBAIJ_6()
442 for (j = 0; j < nz; j++) PetscCall(PetscArraycpy(pv + bs2 * j, rtmp + bs2 * pj[j], bs2)); in MatLUFactorNumeric_SeqBAIJ_6()
[all …]
H A Dbaijfact5.c13 const PetscInt *r, *ic, *bi = b->i, *bj = b->j, *ajtmp, *ai = a->i, *aj = a->j, *pj, *ajtmpold; in MatILUFactorNumeric_SeqBAIJ_7_inplace() local
166 pj = bj + diag_offset[row] + 1; in MatILUFactorNumeric_SeqBAIJ_7_inplace()
324 x = rtmp + 49 * pj[j]; in MatILUFactorNumeric_SeqBAIJ_7_inplace()
388 pj = bj + bi[i]; in MatILUFactorNumeric_SeqBAIJ_7_inplace()
391 x = rtmp + 49 * pj[j]; in MatILUFactorNumeric_SeqBAIJ_7_inplace()
469 const PetscInt *ajtmp, *bjtmp, *bdiag = b->diag, *pj, bs2 = a->bs2; in MatLUFactorNumeric_SeqBAIJ_7() local
519 pj = b->j + bdiag[row + 1] + 1; /* beginning of U(row,:) */ in MatLUFactorNumeric_SeqBAIJ_7()
525 v = rtmp + bs2 * pj[j]; in MatLUFactorNumeric_SeqBAIJ_7()
536 pj = b->j + bi[i]; in MatLUFactorNumeric_SeqBAIJ_7()
538 for (j = 0; j < nz; j++) PetscCall(PetscArraycpy(pv + bs2 * j, rtmp + bs2 * pj[j], bs2)); in MatLUFactorNumeric_SeqBAIJ_7()
[all …]
/petsc/src/dm/tests/
H A Dex50.c57 PetscInt i, j, k, pi, pj, pk; in test_3d() local
109 for (pj = 0; pj < dof; pj++) { in test_3d()
110 xyz[1] = nodes[pj]; in test_3d()
/petsc/src/ts/characteristic/interface/
H A Dcharacteristic.c716 PetscMPIInt **procs, pi, pj, pim, pip, pjm, pjp, PIi, PJi; in DMDAGetNeighborsRank() local
731 for (pj = 0; pj < PJ; pj++) { in DMDAGetNeighborsRank()
732 PetscCall(PetscMalloc1(PI, &procs[pj])); in DMDAGetNeighborsRank()
734 procs[pj][pi] = rank; in DMDAGetNeighborsRank()
740 pj = neighbors[0] / PI; in DMDAGetNeighborsRank()
744 pjm = pj - 1; in DMDAGetNeighborsRank()
746 pjp = (pj + 1) % PJi; in DMDAGetNeighborsRank()
748 neighbors[1] = procs[pj][pim]; in DMDAGetNeighborsRank()
752 neighbors[5] = procs[pj][pip]; in DMDAGetNeighborsRank()
763 if (pj == 0) neighbors[6] = neighbors[7] = neighbors[8] = neighbors[0]; in DMDAGetNeighborsRank()
[all …]
/petsc/src/dm/partitioner/impls/simple/
H A Dpartsimple.c50 PetscInt Np = 1, Nr, np, nk, nj, ni, pk, pj, pi, ck, cj, ci, i; in PetscPartitionerPartition_Simple_Grid() local
91 for (pj = 0; pj < procs[1]; ++pj) { in PetscPartitionerPartition_Simple_Grid()
93 const PetscInt pid = ((nid * procs[2] + pk) * procs[1] + pj) * procs[0] + pi; in PetscPartitionerPartition_Simple_Grid()
99 … = (((nk * procs[2] + pk) * pcells[2] + ck) * cells[1] + ((nj * procs[1] + pj) * pcells[1] + cj)) … in PetscPartitionerPartition_Simple_Grid()
/petsc/src/ts/tests/
H A Dex30.c577 for (PetscInt pj = 0, pp = 0; pj < Npj; pj++) { in go() local
584 yy_t[grid][tid][pp] = lo[1] + hp[1] / 2.0 + pj * hp[1]; in go()
658 …or (PetscInt pj = 0; pj < 6; pj++) xx_t[grid][tid][p0 + pj] = yy_t[grid][tid][p0 + pj] = zz_t[grid… in go() local
882 for (PetscInt pj = 0, pp = 0; pj < Npj; pj++) { in go() local
887 yy_t[grid][tid][pp] = lo[1] + hp[1] / 2.0 + pj * hp[1]; in go()
905 …or (PetscInt pj = 0; pj < 6; pj++) xx_t[grid][tid][p0 + pj] = yy_t[grid][tid][p0 + pj] = zz_t[grid… in go() local
/petsc/src/mat/impls/aij/seq/
H A Dinode.c1205 PetscInt i, j, k, nz, nzL, row, *pj; in MatLUFactorNumeric_SeqAIJ_Inode() local
1324 pj = b->j + bdiag[row + 1] + 1; /* beginning of U(row,:) */ in MatLUFactorNumeric_SeqAIJ_Inode()
1327 for (j = 0; j < nz; j++) rtmp1[pj[j]] -= mul1 * pv[j]; in MatLUFactorNumeric_SeqAIJ_Inode()
1337 pj = b->j + bi[i]; in MatLUFactorNumeric_SeqAIJ_Inode()
1340 pv[j] = rtmp1[pj[j]]; in MatLUFactorNumeric_SeqAIJ_Inode()
1346 pj = b->j + bdiag[i + 1] + 1; in MatLUFactorNumeric_SeqAIJ_Inode()
1349 pv[j] = rtmp1[pj[j]]; in MatLUFactorNumeric_SeqAIJ_Inode()
1412 pj = b->j + bdiag[row + 1] + 1; /* beginning of U(row,:) */ in MatLUFactorNumeric_SeqAIJ_Inode()
1416 col = pj[j]; in MatLUFactorNumeric_SeqAIJ_Inode()
1429 pj = b->j + bi[i]; in MatLUFactorNumeric_SeqAIJ_Inode()
[all …]
H A Dmatptap.c68 PetscInt *pti, *ptj, *ptJ, *ai = a->i, *aj = a->j, *ajj, *pi = p->i, *pj = p->j, *pjj; in MatPtAPSymbolic_SeqAIJ_SeqAIJ_SparseAxpy() local
119 pjj = pj + pi[prow]; in MatPtAPSymbolic_SeqAIJ_SeqAIJ_SparseAxpy()
193 PetscInt *ai = a->i, *aj = a->j, *apj, *apjdense, *pi = p->i, *pj = p->j, *pJ = p->j, *pjj; in MatPtAPNumeric_SeqAIJ_SeqAIJ_SparseAxpy() local
229 pjj = pj + pi[prow]; in MatPtAPNumeric_SeqAIJ_SeqAIJ_SparseAxpy()
H A Daijfact.c225 PetscInt i, j, k, nz, nzL, row, *pj; in MatLUFactorNumeric_SeqAIJ() local
298 pj = b->j + bdiag[row + 1] + 1; /* beginning of U(row,:) */ in MatLUFactorNumeric_SeqAIJ()
302 for (j = 0; j < nz; j++) rtmp[pj[j]] -= multiplier * pv[j]; in MatLUFactorNumeric_SeqAIJ()
312 pj = b->j + bi[i]; in MatLUFactorNumeric_SeqAIJ()
315 pv[j] = rtmp[pj[j]]; in MatLUFactorNumeric_SeqAIJ()
321 pj = b->j + bdiag[i + 1] + 1; in MatLUFactorNumeric_SeqAIJ()
324 pv[j] = rtmp[pj[j]]; in MatLUFactorNumeric_SeqAIJ()
405 const PetscInt *ajtmp, *bjtmp, *ddiag, *pj; in MatLUFactorNumeric_SeqAIJ_inplace() local
463 pj = b->j + ddiag[row] + 1; in MatLUFactorNumeric_SeqAIJ_inplace()
467 for (j = 0; j < nz; j++) rtmp[pj[j]] -= multiplier * pv[j]; in MatLUFactorNumeric_SeqAIJ_inplace()
[all …]
/petsc/src/dm/impls/swarm/tests/
H A Dex7.c287 for (int pj = 0; pj < Np2[1]; pj++, pp++) { in go() local
289 yy_t[tid][pp] = lo[1] + hp[1] / 2. + pj * hp[1]; in go()
/petsc/src/ksp/pc/impls/telescope/
H A Dtelescope_dmda.c32 PetscInt pi, pj, pk, n; in _DMDADetermineRankFromGlobalIJK() local
39 pi = pj = pk = -1; in _DMDADetermineRankFromGlobalIJK()
54 pj = n; in _DMDADetermineRankFromGlobalIJK()
58 …PetscCheck(pj != -1, PETSC_COMM_SELF, PETSC_ERR_USER, "[dmda-ijk] pj cannot be determined : range … in _DMDADetermineRankFromGlobalIJK()
59 PetscCall(PetscMPIIntCast(pj, _pj)); in _DMDADetermineRankFromGlobalIJK()
78 PetscCall(PetscMPIIntCast(pi + pj * Mp, rank_re)); in _DMDADetermineRankFromGlobalIJK()
81 PetscCall(PetscMPIIntCast(pi + pj * Mp + pk * (Mp * Np), rank_re)); in _DMDADetermineRankFromGlobalIJK()
/petsc/src/ksp/ksp/tutorials/
H A Dex73.c118 PetscInt pi, pj, n; in _DMDADetermineRankFromGlobalIJ_2d() local
122 pi = pj = -1; in _DMDADetermineRankFromGlobalIJ_2d()
137 pj = n; in _DMDADetermineRankFromGlobalIJ_2d()
141 …PetscCheck(pj != -1, PETSC_COMM_SELF, PETSC_ERR_USER, "[dmda-ij] pj cannot be determined : range %… in _DMDADetermineRankFromGlobalIJ_2d()
142 *_pj = (PetscMPIInt)pj; in _DMDADetermineRankFromGlobalIJ_2d()
145 *rank_re = (PetscMPIInt)(pi + pj * Mp); in _DMDADetermineRankFromGlobalIJ_2d()
/petsc/src/mat/impls/aij/mpi/
H A Dmpiptap.c577 PetscInt *ai, nzi, j, *aj, row, col, *pi, *pj, pnz, nzpi, *p_othcols, k; in MatPtAPSymbolicComputeOneRowOfAP_private() local
594 pj = pd->j + pd->i[row]; in MatPtAPSymbolicComputeOneRowOfAP_private()
595 for (k = 0; k < nzpi; k++) PetscCall(PetscHSetIAdd(dht, pj[k] * dof + offset + pcstart)); in MatPtAPSymbolicComputeOneRowOfAP_private()
603 pj = PetscSafePointerPlusOffset(po->j, po->i[row]); in MatPtAPSymbolicComputeOneRowOfAP_private()
604 for (k = 0; k < nzpi; k++) PetscCall(PetscHSetIAdd(oht, p->garray[pj[k]] * dof + offset)); in MatPtAPSymbolicComputeOneRowOfAP_private()
636 PetscInt *ai, nzi, j, *aj, row, col, *pi, pnz, *p_othcols, pcstart, *pj, k, nzpi, offset; in MatPtAPNumericComputeOneRowOfAP_private() local
654 pj = pd->j + pd->i[row]; in MatPtAPNumericComputeOneRowOfAP_private()
656 …for (k = 0; k < nzpi; k++) PetscCall(PetscHMapIVAddValue(hmap, pj[k] * dof + offset + pcstart, ra … in MatPtAPNumericComputeOneRowOfAP_private()
665 pj = PetscSafePointerPlusOffset(po->j, po->i[row]); in MatPtAPNumericComputeOneRowOfAP_private()
667 …for (k = 0; k < nzpi; k++) PetscCall(PetscHMapIVAddValue(hmap, p->garray[pj[k]] * dof + offset, ra… in MatPtAPNumericComputeOneRowOfAP_private()
H A Dmpimatmatmult.c662 PetscInt *pi_loc, *pj_loc, *pi_oth, *pj_oth, *pj; in MatMatMultNumeric_MPIAIJ_MPIAIJ() local
730 pj = pj_loc + pi_loc[row]; in MatMatMultNumeric_MPIAIJ_MPIAIJ()
736 if (apJ[k] == pj[nextp]) { /* column of AP == column of P */ in MatMatMultNumeric_MPIAIJ_MPIAIJ()
750 pj = pj_oth + pi_oth[row]; in MatMatMultNumeric_MPIAIJ_MPIAIJ()
756 if (apJ[k] == pj[nextp]) { /* column of AP == column of P */ in MatMatMultNumeric_MPIAIJ_MPIAIJ()
/petsc/src/mat/impls/maij/
H A Dmaij.c591 const PetscInt *ai = a->i, *aj = a->j, *pi = p->i, *pj = p->j, *pJ, *pjj; in MatPtAPNumeric_SeqAIJ_SeqMAIJ() local
615 pjj = pj + pi[prow]; in MatPtAPNumeric_SeqAIJ_SeqMAIJ()
639 pJ = pj + poffset; in MatPtAPNumeric_SeqAIJ_SeqMAIJ()
679 const PetscInt *pi = p->i, *pj = p->j, *pjj, *ai = a->i, *aj = a->j, *ajj; in MatPtAPSymbolic_SeqAIJ_SeqMAIJ() local
732 pjj = pj + pi[prow]; in MatPtAPSymbolic_SeqAIJ_SeqMAIJ()
/petsc/src/binding/petsc4py/src/petsc4py/PETSc/
H A DDMSwarm.pyx491 def copyPoint(self, pi: int, pj: int) -> None:
492 """Copy point pi to point pj in the `DMSwarm`.
500 pj
509 cdef PetscInt cpj = asInt(pj)
H A DMat.pyx1066 cdef object pi, pj, pv, poi, poj, pov
1068 (pi, pj, pv), (poi, poj, pov) = csr
1070 pi, pj, pv = csr
1076 pj = iarray_i(pj, &nj, &j) # Column indices (diagonal)
1096 csr = (pi, pj, pv)
1103 csr = ((pi, pj, pv), (poi, poj, pov))
/petsc/src/dm/impls/da/
H A Dgr2.c730 PetscInt dim, ni, nj, nk, pi, pj, pk, dof, n; in VecView_MPI_DA() local
736 …PetscCall(DMDAGetInfo(da, &dim, &ni, &nj, &nk, &pi, &pj, &pk, &dof, NULL, NULL, NULL, NULL, NULL)); in VecView_MPI_DA()

12