Lines Matching refs:perms

6482   const PetscInt    **perms  = NULL;
6487 PetscCall(PetscSectionGetPointSyms(section, numPoints, points, &perms, &flips));
6490 const PetscInt *perm = perms ? perms[p] : NULL;
6519 PetscCall(PetscSectionRestorePointSyms(section, numPoints, points, &perms, &flips));
6532 const PetscInt **perms = NULL;
6535 PetscCall(PetscSectionGetFieldPointSyms(section, f, numPoints, points, &perms, &flips));
6540 const PetscInt *perm = perms ? perms[p] : NULL;
6567 PetscCall(PetscSectionRestoreFieldPointSyms(section, f, numPoints, points, &perms, &flips));
7328 const PetscInt **perms = NULL;
7331 PetscCall(PetscSectionGetFieldPointSyms(section, f, numPoints, points, &perms, &flips));
7336 const PetscInt *perm = perms ? perms[p] : NULL;
7344 const PetscInt *perm = perms ? perms[p] : NULL;
7352 const PetscInt *perm = perms ? perms[p] : NULL;
7360 const PetscInt *perm = perms ? perms[p] : NULL;
7368 const PetscInt *perm = perms ? perms[p] : NULL;
7376 const PetscInt *perm = perms ? perms[p] : NULL;
7384 PetscCall(PetscSectionRestoreFieldPointSyms(section, f, numPoints, points, &perms, &flips));
7388 const PetscInt **perms = NULL;
7391 PetscCall(PetscSectionGetPointSyms(section, numPoints, points, &perms, &flips));
7396 const PetscInt *perm = perms ? perms[p] : NULL;
7405 const PetscInt *perm = perms ? perms[p] : NULL;
7414 const PetscInt *perm = perms ? perms[p] : NULL;
7423 const PetscInt *perm = perms ? perms[p] : NULL;
7432 const PetscInt *perm = perms ? perms[p] : NULL;
7441 const PetscInt *perm = perms ? perms[p] : NULL;
7450 PetscCall(PetscSectionRestorePointSyms(section, numPoints, points, &perms, &flips));
7500 const PetscInt **perms = NULL;
7512 PetscCall(PetscSectionGetFieldPointSyms(section, f, numPoints, points, &perms, &flips));
7517 const PetscInt *perm = perms ? perms[p] : NULL;
7527 const PetscInt *perm = perms ? perms[p] : NULL;
7537 const PetscInt *perm = perms ? perms[p] : NULL;
7547 const PetscInt *perm = perms ? perms[p] : NULL;
7557 const PetscInt *perm = perms ? perms[p] : NULL;
7567 PetscCall(PetscSectionRestoreFieldPointSyms(section, f, numPoints, points, &perms, &flips));
7669 . perms - perms[f][permsoff][:] is a permutation of dofs within each field
7698 PetscErrorCode DMPlexGetIndicesPointFields_Internal(PetscSection section, PetscBool islocal, PetscInt point, PetscInt off, PetscInt foffs[], PetscBool setBC, const PetscInt ***perms, PetscInt permsoff, const PetscInt indperm[], PetscInt indices[])
7709 const PetscInt *perm = (perms && perms[f]) ? perms[f][permsoff] : NULL;
7749 static PetscErrorCode DMPlexGetIndicesPointFieldsSplit_Internal(PetscSection section, PetscSection globalSection, PetscInt point, PetscInt foffs[], const PetscInt ***perms, PetscInt permsoff, const PetscInt indperm[], PetscInt indices[])
7759 const PetscInt *perm = (perms && perms[f]) ? perms[f][permsoff] : NULL;
7790 static PetscErrorCode DMPlexAnchorsGetSubMatIndices(PetscInt nPoints, const PetscInt pnts[], PetscSection section, PetscSection cSec, PetscInt tmpIndices[], PetscInt fieldOffsets[], PetscInt indices[], const PetscInt ***perms)
7822 PetscCall(DMPlexGetIndicesPointFields_Internal(indices_section, PETSC_TRUE, b, bOff, fEnd, PETSC_TRUE, perms, perms ? p : -1, NULL, tmpIndices));
7830 PetscCall(DMPlexGetIndicesPoint_Internal(indices_section, PETSC_TRUE, b, bOff, &bEnd, PETSC_TRUE, (perms && perms[0]) ? perms[0][p] : NULL, NULL, tmpIndices));
7838 PETSC_INTERN PetscErrorCode DMPlexAnchorsGetSubMatModification(DM dm, PetscSection section, PetscInt numPoints, PetscInt numIndices, const PetscInt points[], const PetscInt ***perms, PetscInt *outNumPoints, PetscInt *outNumIndices, PetscInt *outPoints[], PetscInt offsets[], PetscScalar *outMat[])
7996 PetscCall(DMPlexAnchorsGetSubMatIndices(numPoints, points, section, cSec, tmpIndices, oldOffsetsCopy, indices, perms));
8068 PETSC_INTERN PetscErrorCode DMPlexAnchorsModifyMat_Internal(DM dm, PetscSection section, PetscInt numPoints, PetscInt numIndices, const PetscInt points[], const PetscInt ***perms, PetscInt numRows, PetscInt numCols, const PetscScalar values[], PetscInt *outNumPoints, PetscInt *outNumIndices, PetscInt *outPoints[], PetscScalar *outValues[], PetscInt offsets[], PetscBool multiplyRight, PetscBool multiplyLeft)
8076 PetscCall(DMPlexAnchorsGetSubMatModification(dm, section, numPoints, numIndices, points, perms, outNumPoints, &newNumIndices, outPoints, offsets, outValues ? &modMat : NULL));
8120 PETSC_INTERN PetscErrorCode DMPlexAnchorsModifyMat(DM dm, PetscSection section, PetscInt numPoints, PetscInt numIndices, const PetscInt points[], const PetscInt ***perms, const PetscScalar values[], PetscInt *outNumPoints, PetscInt *outNumIndices, PetscInt *outPoints[], PetscScalar *outValues[], PetscInt offsets[], PetscBool multiplyLeft)
8123 PetscCall(DMPlexAnchorsModifyMat_Internal(dm, section, numPoints, numIndices, points, perms, numIndices, numIndices, values, outNumPoints, outNumIndices, outPoints, outValues, offsets, PETSC_TRUE, multiplyLeft));
8158 const PetscInt **perms[32] = {NULL};
8217 if (Nf) PetscCall(PetscSectionGetFieldPointSyms(section, f, Ncl, points, &perms[f], &flips[f]));
8218 else PetscCall(PetscSectionGetPointSyms(section, Ncl, points, &perms[f], &flips[f]));
8253 PetscCall(DMPlexAnchorsModifyMat_Internal(dm, section, Ncl, Ni, points, perms, nRows, nCols, values ? *values : NULL, &NclC, &NiC, &pointsC, values ? &valuesC : NULL, offsets, multiplyRight, multiplyLeft));
8259 if (Nf) PetscCall(PetscSectionRestoreFieldPointSyms(section, f, Ncl, points, &perms[f], &flips[f]));
8260 else PetscCall(PetscSectionRestorePointSyms(section, Ncl, points, &perms[f], &flips[f]));
8263 if (Nf) PetscCall(PetscSectionGetFieldPointSyms(section, f, NclC, pointsC, &perms[f], &flips[f]));
8264 else PetscCall(PetscSectionGetPointSyms(section, NclC, pointsC, &perms[f], &flips[f]));
8287 PetscCall(DMPlexGetIndicesPointFieldsSplit_Internal(section, idxSection, pnt, offsets, perms, p, clperm, idx));
8298 PetscCall(DMPlexGetIndicesPointFields_Internal(section, isLocal, pnt, idxOff < 0 ? -(idxOff + 1) : idxOff, offsets, PETSC_FALSE, perms, p, clperm, idx));
8306 const PetscInt *perm = perms[0] ? perms[0][p] : NULL;
8317 if (Nf) PetscCall(PetscSectionRestoreFieldPointSyms(section, f, Ncl, points, &perms[f], &flips[f]));
8318 else PetscCall(PetscSectionRestorePointSyms(section, Ncl, points, &perms[f], &flips[f]));