Lines Matching defs:ornt
3641 - ornt - An array of orientations which are on the in-edges for point `p`. An orientation is an
3655 `cone` and `ornt` must be declared with
3658 PetscInt, pointer :: ornt(:)
3663 PetscErrorCode DMPlexGetOrientedCone(DM dm, PetscInt p, PeOp const PetscInt *cone[], PeOp const PetscInt *ornt[])
3670 PetscCall(DMPlexTransformGetCone(mesh->tr, p, cone, ornt));
3678 if (ornt) PetscAssertPointer(ornt, 4);
3683 if (ornt) *ornt = PetscSafePointerPlusOffset(mesh->coneOrientations, off);
3697 - ornt - An array of orientations which are on the in-edges for point `p`. An orientation is an
3704 PetscErrorCode DMPlexRestoreOrientedCone(DM dm, PetscInt p, const PetscInt *cone[], const PetscInt *ornt[])
3710 if (mesh->tr) PetscCall(DMPlexTransformRestoreCone(mesh->tr, p, cone, ornt));
3933 const PetscInt *cone, *ornt;
3938 PetscCall(DMPlexGetConeOrientation(dm, p, &ornt));
3941 const PetscInt o = ornt[c];
3968 static inline PetscErrorCode DMPlexGetTransitiveClosure_Hot_Private(DM dm, PetscInt p, PetscBool useCone, PetscInt *size, const PetscInt *arr[], const PetscInt *ornt[])
3976 PetscCall(DMPlexGetOrientedCone(dm, p, arr, ornt));
3989 *ornt = mesh->coneOrientations + off;
4002 static inline PetscErrorCode DMPlexRestoreTransitiveClosure_Hot_Private(DM dm, PetscInt p, PetscBool useCone, PetscInt *size, const PetscInt *arr[], const PetscInt *ornt[])
4008 if (useCone) PetscCall(DMPlexRestoreOrientedCone(dm, p, arr, ornt));
4013 static PetscErrorCode DMPlexGetTransitiveClosure_Depth1_Private(DM dm, PetscInt p, PetscInt ornt, PetscBool useCone, PetscInt *numPoints, PetscInt *points[])
4021 if (ornt) {
4041 const PetscInt *arr = DMPolytopeTypeGetArrangement(ct, ornt);
4045 closure[off++] = ornt;
4051 closure[off++] = tmpO ? DMPolytopeTypeComposeOrientation(ft, ornt, tmpO[t]) : 0;
4064 const PetscInt *cone, *ornt;
4072 PetscCall(DMPlexGetTransitiveClosure_Hot_Private(dm, point, PETSC_TRUE, &coneSize, &cone, &ornt));
4084 PetscCall(DMPlexGetTransitiveClosure_Internal(dm, cone[arr[0 * 2 + 0]], DMPolytopeTypeComposeOrientation(ft, arr[0 * 2 + 1], ornt[0]), useCone, &clSize, &closure));
4089 PetscCall(DMPlexGetTransitiveClosure_Internal(dm, cone[arr[1 * 2 + 0]], DMPolytopeTypeComposeOrientation(ft, arr[1 * 2 + 1], ornt[1]), useCone, &clSize, &closure));
4098 pts[c++] = DMPolytopeTypeComposeOrientation(ft, arr[d * 2 + 1], ornt[d]);
4100 PetscCall(DMPlexRestoreTransitiveClosure_Hot_Private(dm, point, PETSC_TRUE, &coneSize, &cone, &ornt));
4108 const PetscInt *farr = DMPolytopeTypeGetArrangement(ft, DMPolytopeTypeComposeOrientation(ft, arr[d * 2 + 1], ornt[d]));
4130 PetscErrorCode DMPlexGetTransitiveClosure_Internal(DM dm, PetscInt p, PetscInt ornt, PetscBool useCone, PetscInt *numPoints, PetscInt *points[])
4141 PetscCall(DMPlexGetTransitiveClosure_Depth1_Private(dm, p, ornt, useCone, numPoints, points));
4147 PetscCall(DMPlexTransitiveClosure_Tensor_Internal(dm, p, ct, ornt, useCone, numPoints, points));
4159 closure[closureSize++] = ornt;
4161 fifo[fifoSize++] = ornt;
5263 const PetscInt *cone, *coneB, *ornt, *orntB, *support, *supportB;
5268 PetscCall(DMPlexGetConeOrientation(dmA, p, &ornt));
5275 if (ornt[c] != orntB[c]) PetscFunctionReturn(PETSC_SUCCESS);
6438 PetscErrorCode DMPlexGetCompressedClosure(DM dm, PetscSection section, PetscInt point, PetscInt ornt, PetscInt *numPoints, PetscInt **points, PetscSection *clSec, IS *clPoints, const PetscInt **clp)
6445 if (!ornt && *clPoints) {
6454 PetscCall(DMPlexGetTransitiveClosure_Internal(dm, point, ornt, PETSC_TRUE, &np, &pts));
6584 - ornt - The orientation of the cell, an integer giving the prescription for cone traversal. Typically, this will be 0.
6610 PetscErrorCode DMPlexVecGetOrientedClosure(DM dm, PetscSection section, PetscBool useClPerm, Vec v, PetscInt point, PetscInt ornt, PetscInt *csize, PetscScalar *values[])
6630 PetscCall(DMPlexGetCompressedClosure(dm, section, point, ornt, &numPoints, &points, &clSection, &clPoints, &clp));
9581 const PetscInt *cone, *ornt, *faceSizes, *faces;
9592 PetscCall(DMPlexGetConeOrientation(dm, c, &ornt));
9605 PetscCall(DMPlexGetTransitiveClosure_Internal(dm, cone[f], ornt[f], PETSC_TRUE, &fclosureSize, &fclosure));
9620 SETERRQ(PETSC_COMM_SELF, PETSC_ERR_ARG_WRONG, "Face %" PetscInt_FMT " of type %s (cone idx %" PetscInt_FMT ", ornt %" PetscInt_FMT ") of cell %" PetscInt_FMT " of type %s vertex %" PetscInt_FMT ", %" PetscInt_FMT " != %" PetscInt_FMT, cone[f], DMPolytopeTypes[fct], f, ornt[f], c, DMPolytopeTypes[ct], v, fclosure[v], faces[fOff + v]);