Lines Matching refs:sp

856 static PetscErrorCode PetscDualSpaceDestroy_Lagrange(PetscDualSpace sp)  in PetscDualSpaceDestroy_Lagrange()  argument
858 PetscDualSpace_Lag *lag = (PetscDualSpace_Lag *)sp->data; in PetscDualSpaceDestroy_Lagrange()
889 …PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeGetContinuity_C", NUL… in PetscDualSpaceDestroy_Lagrange()
890 …PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeSetContinuity_C", NUL… in PetscDualSpaceDestroy_Lagrange()
891 PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeGetTensor_C", NULL)); in PetscDualSpaceDestroy_Lagrange()
892 PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeSetTensor_C", NULL)); in PetscDualSpaceDestroy_Lagrange()
893 …PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeGetTrimmed_C", NULL)); in PetscDualSpaceDestroy_Lagrange()
894 …PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeSetTrimmed_C", NULL)); in PetscDualSpaceDestroy_Lagrange()
895 …PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeGetNodeType_C", NULL)… in PetscDualSpaceDestroy_Lagrange()
896 …PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeSetNodeType_C", NULL)… in PetscDualSpaceDestroy_Lagrange()
897 …PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeGetUseMoments_C", NUL… in PetscDualSpaceDestroy_Lagrange()
898 …PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeSetUseMoments_C", NUL… in PetscDualSpaceDestroy_Lagrange()
899 …PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeGetMomentOrder_C", NU… in PetscDualSpaceDestroy_Lagrange()
900 …PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeSetMomentOrder_C", NU… in PetscDualSpaceDestroy_Lagrange()
904 static PetscErrorCode PetscDualSpaceLagrangeView_Ascii(PetscDualSpace sp, PetscViewer viewer) in PetscDualSpaceLagrangeView_Ascii() argument
906 PetscDualSpace_Lag *lag = (PetscDualSpace_Lag *)sp->data; in PetscDualSpaceLagrangeView_Ascii()
913 static PetscErrorCode PetscDualSpaceView_Lagrange(PetscDualSpace sp, PetscViewer viewer) in PetscDualSpaceView_Lagrange() argument
918 PetscValidHeaderSpecific(sp, PETSCDUALSPACE_CLASSID, 1); in PetscDualSpaceView_Lagrange()
921 if (isascii) PetscCall(PetscDualSpaceLagrangeView_Ascii(sp, viewer)); in PetscDualSpaceView_Lagrange()
925 static PetscErrorCode PetscDualSpaceSetFromOptions_Lagrange(PetscDualSpace sp, PetscOptionItems Pet… in PetscDualSpaceSetFromOptions_Lagrange() argument
934 PetscCall(PetscDualSpaceLagrangeGetContinuity(sp, &continuous)); in PetscDualSpaceSetFromOptions_Lagrange()
935 PetscCall(PetscDualSpaceLagrangeGetTensor(sp, &tensor)); in PetscDualSpaceSetFromOptions_Lagrange()
936 PetscCall(PetscDualSpaceLagrangeGetTrimmed(sp, &trimmed)); in PetscDualSpaceSetFromOptions_Lagrange()
937 PetscCall(PetscDualSpaceLagrangeGetNodeType(sp, &nodeType, &nodeEndpoints, &nodeExponent)); in PetscDualSpaceSetFromOptions_Lagrange()
939 PetscCall(PetscDualSpaceLagrangeGetUseMoments(sp, &useMoments)); in PetscDualSpaceSetFromOptions_Lagrange()
940 PetscCall(PetscDualSpaceLagrangeGetMomentOrder(sp, &momentOrder)); in PetscDualSpaceSetFromOptions_Lagrange()
943 if (flg) PetscCall(PetscDualSpaceLagrangeSetContinuity(sp, continuous)); in PetscDualSpaceSetFromOptions_Lagrange()
945 if (flg) PetscCall(PetscDualSpaceLagrangeSetTensor(sp, tensor)); in PetscDualSpaceSetFromOptions_Lagrange()
947 if (flg) PetscCall(PetscDualSpaceLagrangeSetTrimmed(sp, trimmed)); in PetscDualSpaceSetFromOptions_Lagrange()
952 …if (flg || flg2 || flg3) PetscCall(PetscDualSpaceLagrangeSetNodeType(sp, nodeType, nodeEndpoints, … in PetscDualSpaceSetFromOptions_Lagrange()
954 if (flg) PetscCall(PetscDualSpaceLagrangeSetUseMoments(sp, useMoments)); in PetscDualSpaceSetFromOptions_Lagrange()
956 if (flg) PetscCall(PetscDualSpaceLagrangeSetMomentOrder(sp, momentOrder)); in PetscDualSpaceSetFromOptions_Lagrange()
961 static PetscErrorCode PetscDualSpaceDuplicate_Lagrange(PetscDualSpace sp, PetscDualSpace spNew) in PetscDualSpaceDuplicate_Lagrange() argument
967 PetscDualSpace_Lag *lag = (PetscDualSpace_Lag *)sp->data; in PetscDualSpaceDuplicate_Lagrange()
970 PetscCall(PetscDualSpaceLagrangeGetContinuity(sp, &cont)); in PetscDualSpaceDuplicate_Lagrange()
972 PetscCall(PetscDualSpaceLagrangeGetTensor(sp, &tensor)); in PetscDualSpaceDuplicate_Lagrange()
974 PetscCall(PetscDualSpaceLagrangeGetTrimmed(sp, &trimmed)); in PetscDualSpaceDuplicate_Lagrange()
976 PetscCall(PetscDualSpaceLagrangeGetNodeType(sp, &nodeType, &boundary, &exponent)); in PetscDualSpaceDuplicate_Lagrange()
984 PetscCall(PetscDualSpaceLagrangeGetUseMoments(sp, &mom)); in PetscDualSpaceDuplicate_Lagrange()
986 PetscCall(PetscDualSpaceLagrangeGetMomentOrder(sp, &n)); in PetscDualSpaceDuplicate_Lagrange()
993 static PetscErrorCode PetscDualSpaceCreateEdgeSubspace_Lagrange(PetscDualSpace sp, PetscInt order, … in PetscDualSpaceCreateEdgeSubspace_Lagrange() argument
999 PetscCall(PetscDualSpaceDuplicate(sp, bdsp)); in PetscDualSpaceCreateEdgeSubspace_Lagrange()
1299 static PetscErrorCode PetscDualSpaceCreateFacetSubspace_Lagrange(PetscDualSpace sp, DM K, PetscInt … in PetscDualSpaceCreateFacetSubspace_Lagrange() argument
1308 PetscCall(PetscDualSpaceGetDM(sp, &dm)); in PetscDualSpaceCreateFacetSubspace_Lagrange()
1311 PetscCall(PetscDualSpaceDuplicate(sp, bdsp)); in PetscDualSpaceCreateFacetSubspace_Lagrange()
1434 static PetscErrorCode PetscDualSpaceLagrangeCreateAllNodeIdx(PetscDualSpace sp) in PetscDualSpaceLagrangeCreateAllNodeIdx() argument
1446 lag = (PetscDualSpace_Lag *)sp->data; in PetscDualSpaceLagrangeCreateAllNodeIdx()
1448 PetscCall(PetscDualSpaceGetDM(sp, &dm)); in PetscDualSpaceLagrangeCreateAllNodeIdx()
1450 PetscCall(PetscDualSpaceGetFormDegree(sp, &formDegree)); in PetscDualSpaceLagrangeCreateAllNodeIdx()
1452 PetscCall(PetscDualSpaceGetSection(sp, &section)); in PetscDualSpaceLagrangeCreateAllNodeIdx()
1468 PetscDualSpace psp = sp->pointSpaces[p]; in PetscDualSpaceLagrangeCreateAllNodeIdx()
1486 static PetscErrorCode PetscDualSpaceCreateAllDataFromInteriorData(PetscDualSpace sp) in PetscDualSpaceCreateAllDataFromInteriorData() argument
1503 PetscCall(PetscDualSpaceGetDM(sp, &dm)); in PetscDualSpaceCreateAllDataFromInteriorData()
1505 PetscCall(PetscDualSpaceGetSection(sp, &section)); in PetscDualSpaceCreateAllDataFromInteriorData()
1508 PetscCall(PetscDualSpaceGetFormDegree(sp, &k)); in PetscDualSpaceCreateAllDataFromInteriorData()
1509 PetscCall(PetscDualSpaceGetNumComponents(sp, &Nc)); in PetscDualSpaceCreateAllDataFromInteriorData()
1518 PetscCall(PetscDualSpaceGetPointSubspace(sp, p, &psp)); in PetscDualSpaceCreateAllDataFromInteriorData()
1556 PetscCall(PetscDualSpaceGetPointSubspace(sp, p, &psp)); in PetscDualSpaceCreateAllDataFromInteriorData()
1635 PetscCall(MatDestroy(&sp->allMat)); in PetscDualSpaceCreateAllDataFromInteriorData()
1636 sp->allMat = allMat; in PetscDualSpaceCreateAllDataFromInteriorData()
1637 PetscCall(PetscQuadratureDestroy(&sp->allNodes)); in PetscDualSpaceCreateAllDataFromInteriorData()
1638 sp->allNodes = allNodes; in PetscDualSpaceCreateAllDataFromInteriorData()
1642 static PetscErrorCode PetscDualSpaceComputeFunctionalsFromAllData_Moments(PetscDualSpace sp) in PetscDualSpaceComputeFunctionalsFromAllData_Moments() argument
1656 PetscCall(PetscDualSpaceGetDM(sp, &dm)); in PetscDualSpaceComputeFunctionalsFromAllData_Moments()
1658 PetscCall(PetscDualSpaceGetNumComponents(sp, &Nc)); in PetscDualSpaceComputeFunctionalsFromAllData_Moments()
1659 PetscCall(PetscDualSpaceGetAllData(sp, &allNodes, &allMat)); in PetscDualSpaceComputeFunctionalsFromAllData_Moments()
1662 PetscCall(PetscMalloc1(nDofs, &sp->functional)); in PetscDualSpaceComputeFunctionalsFromAllData_Moments()
1663 PetscCall(PetscDualSpaceLagrangeGetMomentOrder(sp, &momentOrder)); in PetscDualSpaceComputeFunctionalsFromAllData_Moments()
1664 PetscCall(PetscDualSpaceLagrangeGetTensor(sp, &tensor)); in PetscDualSpaceComputeFunctionalsFromAllData_Moments()
1665 …scDTStroudConicalQuadrature(dim, Nc, PetscMax(momentOrder + 1, 1), -1.0, 1.0, &sp->functional[0])); in PetscDualSpaceComputeFunctionalsFromAllData_Moments()
1666 …else PetscCall(PetscDTGaussTensorQuadrature(dim, Nc, PetscMax(momentOrder + 1, 1), -1.0, 1.0, &sp-… in PetscDualSpaceComputeFunctionalsFromAllData_Moments()
1668 PetscCall(PetscObjectReference((PetscObject)sp->functional[0])); in PetscDualSpaceComputeFunctionalsFromAllData_Moments()
1669 PetscCall(PetscQuadratureDestroy(&sp->allNodes)); in PetscDualSpaceComputeFunctionalsFromAllData_Moments()
1670 sp->allNodes = sp->functional[0]; in PetscDualSpaceComputeFunctionalsFromAllData_Moments()
1671 PetscCall(PetscQuadratureGetData(sp->allNodes, NULL, NULL, &nNodes, NULL, &weights)); in PetscDualSpaceComputeFunctionalsFromAllData_Moments()
1679 PetscCall(MatDestroy(&sp->allMat)); in PetscDualSpaceComputeFunctionalsFromAllData_Moments()
1680 sp->allMat = allMat; in PetscDualSpaceComputeFunctionalsFromAllData_Moments()
1690 PETSC_INTERN PetscErrorCode PetscDualSpaceComputeFunctionalsFromAllData(PetscDualSpace sp) in PetscDualSpaceComputeFunctionalsFromAllData() argument
1702 PetscCall(PetscDualSpaceGetDM(sp, &dm)); in PetscDualSpaceComputeFunctionalsFromAllData()
1704 PetscCall(PetscDualSpaceGetNumComponents(sp, &Nc)); in PetscDualSpaceComputeFunctionalsFromAllData()
1705 PetscCall(PetscDualSpaceGetAllData(sp, &allNodes, &allMat)); in PetscDualSpaceComputeFunctionalsFromAllData()
1709 PetscCall(PetscDualSpaceGetSection(sp, &section)); in PetscDualSpaceComputeFunctionalsFromAllData()
1712 PetscCall(PetscMalloc1(nDofs, &sp->functional)); in PetscDualSpaceComputeFunctionalsFromAllData()
1738 PetscCall(PetscQuadratureCreate(PETSC_COMM_SELF, &sp->functional[f])); in PetscDualSpaceComputeFunctionalsFromAllData()
1739 PetscCall(PetscQuadratureSetData(sp->functional[f], dim, Nc, nNodesf, nodesf, weightsf)); in PetscDualSpaceComputeFunctionalsFromAllData()
1979 static PetscErrorCode PetscDualSpaceSetUp_Lagrange(PetscDualSpace sp) in PetscDualSpaceSetUp_Lagrange() argument
1981 PetscDualSpace_Lag *lag = (PetscDualSpace_Lag *)sp->data; in PetscDualSpaceSetUp_Lagrange()
1982 DM dm = sp->dm; in PetscDualSpaceSetUp_Lagrange()
2001 PetscCall(PetscObjectGetComm((PetscObject)sp, &comm)); in PetscDualSpaceSetUp_Lagrange()
2003 PetscCall(PetscObjectTypeCompare((PetscObject)sp, PETSCDUALSPACEBDM, &isbdm)); in PetscDualSpaceSetUp_Lagrange()
2005 sp->k = -(dim - 1); /* form degree of H-div */ in PetscDualSpaceSetUp_Lagrange()
2006 PetscCall(PetscObjectChangeTypeName((PetscObject)sp, PETSCDUALSPACELAGRANGE)); in PetscDualSpaceSetUp_Lagrange()
2008 PetscCall(PetscDualSpaceGetFormDegree(sp, &formDegree)); in PetscDualSpaceSetUp_Lagrange()
2011 if (sp->Nc <= 0 && lag->numCopies > 0) sp->Nc = Nk * lag->numCopies; in PetscDualSpaceSetUp_Lagrange()
2012 Nc = sp->Nc; in PetscDualSpaceSetUp_Lagrange()
2017 if (!dim) sp->order = 0; in PetscDualSpaceSetUp_Lagrange()
2018 order = sp->order; in PetscDualSpaceSetUp_Lagrange()
2019 uniform = sp->uniform; in PetscDualSpaceSetUp_Lagrange()
2033 sp->order--; in PetscDualSpaceSetUp_Lagrange()
2043 …PetscCheck(pStart == 0 && cStart == 0, PetscObjectComm((PetscObject)sp), PETSC_ERR_ARG_WRONGSTATE,… in PetscDualSpaceSetUp_Lagrange()
2044 …PetscCheck(cEnd == 1, PetscObjectComm((PetscObject)sp), PETSC_ERR_ARG_WRONGSTATE, "Use PETSCDUALSP… in PetscDualSpaceSetUp_Lagrange()
2064 PetscCall(PetscDualSpaceDuplicate(sp, &scalarsp)); in PetscDualSpaceSetUp_Lagrange()
2066 sp->setupcalled = PETSC_FALSE; in PetscDualSpaceSetUp_Lagrange()
2069 PetscCall(PetscDualSpaceSetType(sp, PETSCDUALSPACESUM)); in PetscDualSpaceSetUp_Lagrange()
2070 PetscCall(PetscDualSpaceSumSetNumSubspaces(sp, Ncopies)); in PetscDualSpaceSetUp_Lagrange()
2071 PetscCall(PetscDualSpaceSumSetConcatenate(sp, PETSC_TRUE)); in PetscDualSpaceSetUp_Lagrange()
2072 PetscCall(PetscDualSpaceSumSetInterleave(sp, PETSC_TRUE, PETSC_FALSE)); in PetscDualSpaceSetUp_Lagrange()
2073 for (PetscInt i = 0; i < Ncopies; i++) PetscCall(PetscDualSpaceSumSetSubspace(sp, i, scalarsp)); in PetscDualSpaceSetUp_Lagrange()
2074 PetscCall(PetscDualSpaceSetUp(sp)); in PetscDualSpaceSetUp_Lagrange()
2082 PetscCall(PetscCalloc1(pEnd, &sp->pointSpaces)); in PetscDualSpaceSetUp_Lagrange()
2084 PetscCall(PetscDualSpaceSectionCreate_Internal(sp, &section)); in PetscDualSpaceSetUp_Lagrange()
2085 sp->pointSection = section; in PetscDualSpaceSetUp_Lagrange()
2106 PetscCall(PetscObjectReference((PetscObject)sp->pointSpaces[q])); in PetscDualSpaceSetUp_Lagrange()
2107 sp->pointSpaces[p] = sp->pointSpaces[q]; in PetscDualSpaceSetUp_Lagrange()
2111 …tscCall(PetscDualSpaceCreateFacetSubspace_Lagrange(sp, NULL, p, formDegree, Ncopies, PETSC_FALSE, … in PetscDualSpaceSetUp_Lagrange()
2132 qsp = sp->pointSpaces[q]; in PetscDualSpaceSetUp_Lagrange()
2144 sp->pointSpaces[p] = psp; in PetscDualSpaceSetUp_Lagrange()
2151 if (!sp->pointSpaces[p]) continue; in PetscDualSpaceSetUp_Lagrange()
2152 PetscCall(PetscDualSpaceGetInteriorDimension(sp->pointSpaces[p], &pspdim)); in PetscDualSpaceSetUp_Lagrange()
2167 PetscCall(PetscDualSpaceDuplicate(sp, &spcont)); in PetscDualSpaceSetUp_Lagrange()
2171 sp->spdim = sp->spintdim = spdim; in PetscDualSpaceSetUp_Lagrange()
2173 PetscCall(PetscDualSpaceSectionSetUp_Internal(sp, section)); in PetscDualSpaceSetUp_Lagrange()
2174 PetscCall(PetscMalloc1(spdim, &sp->functional)); in PetscDualSpaceSetUp_Lagrange()
2180 sp->functional[f] = fn; in PetscDualSpaceSetUp_Lagrange()
2185 sp->allNodes = sp->intNodes = allNodes; in PetscDualSpaceSetUp_Lagrange()
2188 sp->allMat = sp->intMat = allMat; in PetscDualSpaceSetUp_Lagrange()
2213 …agrangeCreateSimplexNodeMat(nodeFamily, dim, sum, Nk, numNodeSkip, &sp->intNodes, &sp->intMat, &la… in PetscDualSpaceSetUp_Lagrange()
2214 PetscCall(MatGetSize(sp->intMat, &nDofs, NULL)); in PetscDualSpaceSetUp_Lagrange()
2217 PetscCall(PetscDualSpaceSectionSetUp_Internal(sp, section)); in PetscDualSpaceSetUp_Lagrange()
2218 PetscCall(PetscDualSpaceCreateAllDataFromInteriorData(sp)); in PetscDualSpaceSetUp_Lagrange()
2219 PetscCall(PetscDualSpaceLagrangeCreateAllNodeIdx(sp)); in PetscDualSpaceSetUp_Lagrange()
2227 …agrangeCreateSimplexNodeMat(nodeFamily, dim, sum, Nk, numNodeSkip, &sp->intNodes, &sp->intMat, &la… in PetscDualSpaceSetUp_Lagrange()
2228 PetscCall(MatGetSize(sp->intMat, &nDofs, NULL)); in PetscDualSpaceSetUp_Lagrange()
2230 PetscCall(PetscDualSpaceSectionSetUp_Internal(sp, section)); in PetscDualSpaceSetUp_Lagrange()
2231 PetscCall(PetscObjectReference((PetscObject)sp->intNodes)); in PetscDualSpaceSetUp_Lagrange()
2232 sp->allNodes = sp->intNodes; in PetscDualSpaceSetUp_Lagrange()
2233 PetscCall(PetscObjectReference((PetscObject)sp->intMat)); in PetscDualSpaceSetUp_Lagrange()
2234 sp->allMat = sp->intMat; in PetscDualSpaceSetUp_Lagrange()
2248 PetscCall(PetscDualSpaceDuplicate(sp, &trimmedsp)); in PetscDualSpaceSetUp_Lagrange()
2257 sp->intNodes = intNodes; in PetscDualSpaceSetUp_Lagrange()
2312 sp->intMat = intMat; in PetscDualSpaceSetUp_Lagrange()
2313 PetscCall(MatGetSize(sp->intMat, &nDofs, NULL)); in PetscDualSpaceSetUp_Lagrange()
2317 PetscCall(PetscDualSpaceSectionSetUp_Internal(sp, section)); in PetscDualSpaceSetUp_Lagrange()
2318 PetscCall(PetscDualSpaceCreateAllDataFromInteriorData(sp)); in PetscDualSpaceSetUp_Lagrange()
2319 PetscCall(PetscDualSpaceLagrangeCreateAllNodeIdx(sp)); in PetscDualSpaceSetUp_Lagrange()
2335 if (sp->pointSpaces[tensorf]) { in PetscDualSpaceSetUp_Lagrange()
2336 PetscCall(PetscObjectReference((PetscObject)sp->pointSpaces[tensorf])); in PetscDualSpaceSetUp_Lagrange()
2337 trace = sp->pointSpaces[tensorf]; in PetscDualSpaceSetUp_Lagrange()
2339 …PetscCall(PetscDualSpaceCreateFacetSubspace_Lagrange(sp, NULL, tensorf, formDegree, Ncopies, PETSC… in PetscDualSpaceSetUp_Lagrange()
2341 PetscCall(PetscDualSpaceCreateEdgeSubspace_Lagrange(sp, order, 0, 1, PETSC_TRUE, &fiber)); in PetscDualSpaceSetUp_Lagrange()
2367 …PetscCall(PetscDualSpaceCreateFacetSubspace_Lagrange(sp, NULL, tensorf, traceDegree, Ncopies, PETS… in PetscDualSpaceSetUp_Lagrange()
2368 …PetscCall(PetscDualSpaceCreateEdgeSubspace_Lagrange(sp, order, fiberDegree, 1, PETSC_TRUE, &fiber)… in PetscDualSpaceSetUp_Lagrange()
2426 sp->intNodes = intNodes; in PetscDualSpaceSetUp_Lagrange()
2427 sp->intMat = intMat; in PetscDualSpaceSetUp_Lagrange()
2435 PetscCall(PetscDualSpaceSectionSetUp_Internal(sp, section)); in PetscDualSpaceSetUp_Lagrange()
2437 PetscCall(PetscDualSpaceCreateAllDataFromInteriorData(sp)); in PetscDualSpaceSetUp_Lagrange()
2438 PetscCall(PetscDualSpaceLagrangeCreateAllNodeIdx(sp)); in PetscDualSpaceSetUp_Lagrange()
2441 sp->allNodes = intNodes; in PetscDualSpaceSetUp_Lagrange()
2443 sp->allMat = intMat; in PetscDualSpaceSetUp_Lagrange()
2448 PetscCall(PetscSectionGetStorageSize(section, &sp->spdim)); in PetscDualSpaceSetUp_Lagrange()
2449 PetscCall(PetscSectionGetConstrainedStorageSize(section, &sp->spintdim)); in PetscDualSpaceSetUp_Lagrange()
2452 PetscCall(PetscDualSpaceComputeFunctionalsFromAllData_Moments(sp)); in PetscDualSpaceSetUp_Lagrange()
2454 PetscCall(PetscDualSpaceComputeFunctionalsFromAllData(sp)); in PetscDualSpaceSetUp_Lagrange()
2464 PetscErrorCode PetscDualSpaceCreateInteriorSymmetryMatrix_Lagrange(PetscDualSpace sp, PetscInt ornt… in PetscDualSpaceCreateInteriorSymmetryMatrix_Lagrange() argument
2480 if (!sp->spintdim) { in PetscDualSpaceCreateInteriorSymmetryMatrix_Lagrange()
2484 lag = (PetscDualSpace_Lag *)sp->data; in PetscDualSpaceCreateInteriorSymmetryMatrix_Lagrange()
2487 PetscCall(PetscDualSpaceGetDM(sp, &dm)); in PetscDualSpaceCreateInteriorSymmetryMatrix_Lagrange()
2488 PetscCall(PetscDualSpaceGetFormDegree(sp, &formDegree)); in PetscDualSpaceCreateInteriorSymmetryMatrix_Lagrange()
2627 PETSC_INTERN PetscErrorCode PetscDualSpaceGetBoundarySymmetries_Internal(PetscDualSpace sp, PetscIn… in PetscDualSpaceGetBoundarySymmetries_Internal() argument
2634 PetscCall(DMPlexGetTransitiveClosure(sp->dm, 0, PETSC_TRUE, &closureSize, &closure)); in PetscDualSpaceGetBoundarySymmetries_Internal()
2643 PetscCall(PetscDualSpaceGetPointSubspace(sp, point, &psp)); in PetscDualSpaceGetBoundarySymmetries_Internal()
2651 PetscCall(DMPlexRestoreTransitiveClosure(sp->dm, 0, PETSC_TRUE, &closureSize, &closure)); in PetscDualSpaceGetBoundarySymmetries_Internal()
2669 static PetscErrorCode PetscDualSpaceGetSymmetries_Lagrange(PetscDualSpace sp, const PetscInt ****pe… in PetscDualSpaceGetSymmetries_Lagrange() argument
2671 PetscDualSpace_Lag *lag = (PetscDualSpace_Lag *)sp->data; in PetscDualSpaceGetSymmetries_Lagrange()
2675 PetscCall(PetscDualSpaceGetOrder(sp, &order)); in PetscDualSpaceGetSymmetries_Lagrange()
2676 PetscCall(PetscDualSpaceGetNumComponents(sp, &Nc)); in PetscDualSpaceGetSymmetries_Lagrange()
2677 PetscCall(DMGetDimension(sp->dm, &dim)); in PetscDualSpaceGetSymmetries_Lagrange()
2686 PetscCall(DMPlexGetChart(sp->dm, &pStart, &pEnd)); in PetscDualSpaceGetSymmetries_Lagrange()
2691 PetscCall(DMPlexGetCellType(sp->dm, 0, &ct)); in PetscDualSpaceGetSymmetries_Lagrange()
2696 spintdim = sp->spintdim; in PetscDualSpaceGetSymmetries_Lagrange()
2727 PetscCall(PetscDualSpaceCreateInteriorSymmetryMatrix_Lagrange(sp, ornt, &symMat)); in PetscDualSpaceGetSymmetries_Lagrange()
2786 PetscCall(PetscDualSpaceGetBoundarySymmetries_Internal(sp, symperms, symflips)); in PetscDualSpaceGetSymmetries_Lagrange()
2808 static PetscErrorCode PetscDualSpaceLagrangeGetContinuity_Lagrange(PetscDualSpace sp, PetscBool *co… in PetscDualSpaceLagrangeGetContinuity_Lagrange() argument
2810 PetscDualSpace_Lag *lag = (PetscDualSpace_Lag *)sp->data; in PetscDualSpaceLagrangeGetContinuity_Lagrange()
2813 PetscValidHeaderSpecific(sp, PETSCDUALSPACE_CLASSID, 1); in PetscDualSpaceLagrangeGetContinuity_Lagrange()
2819 static PetscErrorCode PetscDualSpaceLagrangeSetContinuity_Lagrange(PetscDualSpace sp, PetscBool con… in PetscDualSpaceLagrangeSetContinuity_Lagrange() argument
2821 PetscDualSpace_Lag *lag = (PetscDualSpace_Lag *)sp->data; in PetscDualSpaceLagrangeSetContinuity_Lagrange()
2824 PetscValidHeaderSpecific(sp, PETSCDUALSPACE_CLASSID, 1); in PetscDualSpaceLagrangeSetContinuity_Lagrange()
2844 PetscErrorCode PetscDualSpaceLagrangeGetContinuity(PetscDualSpace sp, PetscBool *continuous) in PetscDualSpaceLagrangeGetContinuity() argument
2847 PetscValidHeaderSpecific(sp, PETSCDUALSPACE_CLASSID, 1); in PetscDualSpaceLagrangeGetContinuity()
2849 …PetscTryMethod(sp, "PetscDualSpaceLagrangeGetContinuity_C", (PetscDualSpace, PetscBool *), (sp, co… in PetscDualSpaceLagrangeGetContinuity()
2869 PetscErrorCode PetscDualSpaceLagrangeSetContinuity(PetscDualSpace sp, PetscBool continuous) in PetscDualSpaceLagrangeSetContinuity() argument
2872 PetscValidHeaderSpecific(sp, PETSCDUALSPACE_CLASSID, 1); in PetscDualSpaceLagrangeSetContinuity()
2873 PetscValidLogicalCollectiveBool(sp, continuous, 2); in PetscDualSpaceLagrangeSetContinuity()
2874 …PetscTryMethod(sp, "PetscDualSpaceLagrangeSetContinuity_C", (PetscDualSpace, PetscBool), (sp, cont… in PetscDualSpaceLagrangeSetContinuity()
2878 static PetscErrorCode PetscDualSpaceLagrangeGetTensor_Lagrange(PetscDualSpace sp, PetscBool *tensor) in PetscDualSpaceLagrangeGetTensor_Lagrange() argument
2880 PetscDualSpace_Lag *lag = (PetscDualSpace_Lag *)sp->data; in PetscDualSpaceLagrangeGetTensor_Lagrange()
2887 static PetscErrorCode PetscDualSpaceLagrangeSetTensor_Lagrange(PetscDualSpace sp, PetscBool tensor) in PetscDualSpaceLagrangeSetTensor_Lagrange() argument
2889 PetscDualSpace_Lag *lag = (PetscDualSpace_Lag *)sp->data; in PetscDualSpaceLagrangeSetTensor_Lagrange()
2896 static PetscErrorCode PetscDualSpaceLagrangeGetTrimmed_Lagrange(PetscDualSpace sp, PetscBool *trimm… in PetscDualSpaceLagrangeGetTrimmed_Lagrange() argument
2898 PetscDualSpace_Lag *lag = (PetscDualSpace_Lag *)sp->data; in PetscDualSpaceLagrangeGetTrimmed_Lagrange()
2905 static PetscErrorCode PetscDualSpaceLagrangeSetTrimmed_Lagrange(PetscDualSpace sp, PetscBool trimme… in PetscDualSpaceLagrangeSetTrimmed_Lagrange() argument
2907 PetscDualSpace_Lag *lag = (PetscDualSpace_Lag *)sp->data; in PetscDualSpaceLagrangeSetTrimmed_Lagrange()
2914 static PetscErrorCode PetscDualSpaceLagrangeGetNodeType_Lagrange(PetscDualSpace sp, PetscDTNodeType… in PetscDualSpaceLagrangeGetNodeType_Lagrange() argument
2916 PetscDualSpace_Lag *lag = (PetscDualSpace_Lag *)sp->data; in PetscDualSpaceLagrangeGetNodeType_Lagrange()
2925 static PetscErrorCode PetscDualSpaceLagrangeSetNodeType_Lagrange(PetscDualSpace sp, PetscDTNodeType… in PetscDualSpaceLagrangeSetNodeType_Lagrange() argument
2927 PetscDualSpace_Lag *lag = (PetscDualSpace_Lag *)sp->data; in PetscDualSpaceLagrangeSetNodeType_Lagrange()
2930 …= PETSCDTNODES_GAUSSJACOBI || exponent > -1., PetscObjectComm((PetscObject)sp), PETSC_ERR_ARG_OUTO… in PetscDualSpaceLagrangeSetNodeType_Lagrange()
2937 static PetscErrorCode PetscDualSpaceLagrangeGetUseMoments_Lagrange(PetscDualSpace sp, PetscBool *us… in PetscDualSpaceLagrangeGetUseMoments_Lagrange() argument
2939 PetscDualSpace_Lag *lag = (PetscDualSpace_Lag *)sp->data; in PetscDualSpaceLagrangeGetUseMoments_Lagrange()
2946 static PetscErrorCode PetscDualSpaceLagrangeSetUseMoments_Lagrange(PetscDualSpace sp, PetscBool use… in PetscDualSpaceLagrangeSetUseMoments_Lagrange() argument
2948 PetscDualSpace_Lag *lag = (PetscDualSpace_Lag *)sp->data; in PetscDualSpaceLagrangeSetUseMoments_Lagrange()
2955 static PetscErrorCode PetscDualSpaceLagrangeGetMomentOrder_Lagrange(PetscDualSpace sp, PetscInt *mo… in PetscDualSpaceLagrangeGetMomentOrder_Lagrange() argument
2957 PetscDualSpace_Lag *lag = (PetscDualSpace_Lag *)sp->data; in PetscDualSpaceLagrangeGetMomentOrder_Lagrange()
2964 static PetscErrorCode PetscDualSpaceLagrangeSetMomentOrder_Lagrange(PetscDualSpace sp, PetscInt mom… in PetscDualSpaceLagrangeSetMomentOrder_Lagrange() argument
2966 PetscDualSpace_Lag *lag = (PetscDualSpace_Lag *)sp->data; in PetscDualSpaceLagrangeSetMomentOrder_Lagrange()
2988 PetscErrorCode PetscDualSpaceLagrangeGetTensor(PetscDualSpace sp, PetscBool *tensor) in PetscDualSpaceLagrangeGetTensor() argument
2991 PetscValidHeaderSpecific(sp, PETSCDUALSPACE_CLASSID, 1); in PetscDualSpaceLagrangeGetTensor()
2993 …PetscTryMethod(sp, "PetscDualSpaceLagrangeGetTensor_C", (PetscDualSpace, PetscBool *), (sp, tensor… in PetscDualSpaceLagrangeGetTensor()
3010 PetscErrorCode PetscDualSpaceLagrangeSetTensor(PetscDualSpace sp, PetscBool tensor) in PetscDualSpaceLagrangeSetTensor() argument
3013 PetscValidHeaderSpecific(sp, PETSCDUALSPACE_CLASSID, 1); in PetscDualSpaceLagrangeSetTensor()
3014 …PetscTryMethod(sp, "PetscDualSpaceLagrangeSetTensor_C", (PetscDualSpace, PetscBool), (sp, tensor)); in PetscDualSpaceLagrangeSetTensor()
3033 PetscErrorCode PetscDualSpaceLagrangeGetTrimmed(PetscDualSpace sp, PetscBool *trimmed) in PetscDualSpaceLagrangeGetTrimmed() argument
3036 PetscValidHeaderSpecific(sp, PETSCDUALSPACE_CLASSID, 1); in PetscDualSpaceLagrangeGetTrimmed()
3038 …PetscTryMethod(sp, "PetscDualSpaceLagrangeGetTrimmed_C", (PetscDualSpace, PetscBool *), (sp, trimm… in PetscDualSpaceLagrangeGetTrimmed()
3055 PetscErrorCode PetscDualSpaceLagrangeSetTrimmed(PetscDualSpace sp, PetscBool trimmed) in PetscDualSpaceLagrangeSetTrimmed() argument
3058 PetscValidHeaderSpecific(sp, PETSCDUALSPACE_CLASSID, 1); in PetscDualSpaceLagrangeSetTrimmed()
3059 …PetscTryMethod(sp, "PetscDualSpaceLagrangeSetTrimmed_C", (PetscDualSpace, PetscBool), (sp, trimmed… in PetscDualSpaceLagrangeSetTrimmed()
3083 PetscErrorCode PetscDualSpaceLagrangeGetNodeType(PetscDualSpace sp, PeOp PetscDTNodeType *nodeType,… in PetscDualSpaceLagrangeGetNodeType() argument
3086 PetscValidHeaderSpecific(sp, PETSCDUALSPACE_CLASSID, 1); in PetscDualSpaceLagrangeGetNodeType()
3090 …PetscTryMethod(sp, "PetscDualSpaceLagrangeGetNodeType_C", (PetscDualSpace, PetscDTNodeType *, Pets… in PetscDualSpaceLagrangeGetNodeType()
3112 PetscErrorCode PetscDualSpaceLagrangeSetNodeType(PetscDualSpace sp, PetscDTNodeType nodeType, Petsc… in PetscDualSpaceLagrangeSetNodeType() argument
3115 PetscValidHeaderSpecific(sp, PETSCDUALSPACE_CLASSID, 1); in PetscDualSpaceLagrangeSetNodeType()
3116 …PetscTryMethod(sp, "PetscDualSpaceLagrangeSetNodeType_C", (PetscDualSpace, PetscDTNodeType, PetscB… in PetscDualSpaceLagrangeSetNodeType()
3135 PetscErrorCode PetscDualSpaceLagrangeGetUseMoments(PetscDualSpace sp, PetscBool *useMoments) in PetscDualSpaceLagrangeGetUseMoments() argument
3138 PetscValidHeaderSpecific(sp, PETSCDUALSPACE_CLASSID, 1); in PetscDualSpaceLagrangeGetUseMoments()
3140 …PetscUseMethod(sp, "PetscDualSpaceLagrangeGetUseMoments_C", (PetscDualSpace, PetscBool *), (sp, us… in PetscDualSpaceLagrangeGetUseMoments()
3157 PetscErrorCode PetscDualSpaceLagrangeSetUseMoments(PetscDualSpace sp, PetscBool useMoments) in PetscDualSpaceLagrangeSetUseMoments() argument
3160 PetscValidHeaderSpecific(sp, PETSCDUALSPACE_CLASSID, 1); in PetscDualSpaceLagrangeSetUseMoments()
3161 …PetscTryMethod(sp, "PetscDualSpaceLagrangeSetUseMoments_C", (PetscDualSpace, PetscBool), (sp, useM… in PetscDualSpaceLagrangeSetUseMoments()
3180 PetscErrorCode PetscDualSpaceLagrangeGetMomentOrder(PetscDualSpace sp, PetscInt *order) in PetscDualSpaceLagrangeGetMomentOrder() argument
3183 PetscValidHeaderSpecific(sp, PETSCDUALSPACE_CLASSID, 1); in PetscDualSpaceLagrangeGetMomentOrder()
3185 …PetscUseMethod(sp, "PetscDualSpaceLagrangeGetMomentOrder_C", (PetscDualSpace, PetscInt *), (sp, or… in PetscDualSpaceLagrangeGetMomentOrder()
3202 PetscErrorCode PetscDualSpaceLagrangeSetMomentOrder(PetscDualSpace sp, PetscInt order) in PetscDualSpaceLagrangeSetMomentOrder() argument
3205 PetscValidHeaderSpecific(sp, PETSCDUALSPACE_CLASSID, 1); in PetscDualSpaceLagrangeSetMomentOrder()
3206 …PetscTryMethod(sp, "PetscDualSpaceLagrangeSetMomentOrder_C", (PetscDualSpace, PetscInt), (sp, orde… in PetscDualSpaceLagrangeSetMomentOrder()
3210 static PetscErrorCode PetscDualSpaceInitialize_Lagrange(PetscDualSpace sp) in PetscDualSpaceInitialize_Lagrange() argument
3213 sp->ops->destroy = PetscDualSpaceDestroy_Lagrange; in PetscDualSpaceInitialize_Lagrange()
3214 sp->ops->view = PetscDualSpaceView_Lagrange; in PetscDualSpaceInitialize_Lagrange()
3215 sp->ops->setfromoptions = PetscDualSpaceSetFromOptions_Lagrange; in PetscDualSpaceInitialize_Lagrange()
3216 sp->ops->duplicate = PetscDualSpaceDuplicate_Lagrange; in PetscDualSpaceInitialize_Lagrange()
3217 sp->ops->setup = PetscDualSpaceSetUp_Lagrange; in PetscDualSpaceInitialize_Lagrange()
3218 sp->ops->createheightsubspace = NULL; in PetscDualSpaceInitialize_Lagrange()
3219 sp->ops->createpointsubspace = NULL; in PetscDualSpaceInitialize_Lagrange()
3220 sp->ops->getsymmetries = PetscDualSpaceGetSymmetries_Lagrange; in PetscDualSpaceInitialize_Lagrange()
3221 sp->ops->apply = PetscDualSpaceApplyDefault; in PetscDualSpaceInitialize_Lagrange()
3222 sp->ops->applyall = PetscDualSpaceApplyAllDefault; in PetscDualSpaceInitialize_Lagrange()
3223 sp->ops->applyint = PetscDualSpaceApplyInteriorDefault; in PetscDualSpaceInitialize_Lagrange()
3224 sp->ops->createalldata = PetscDualSpaceCreateAllDataDefault; in PetscDualSpaceInitialize_Lagrange()
3225 sp->ops->createintdata = PetscDualSpaceCreateInteriorDataDefault; in PetscDualSpaceInitialize_Lagrange()
3243 PETSC_EXTERN PetscErrorCode PetscDualSpaceCreate_Lagrange(PetscDualSpace sp) in PetscDualSpaceCreate_Lagrange() argument
3248 PetscValidHeaderSpecific(sp, PETSCDUALSPACE_CLASSID, 1); in PetscDualSpaceCreate_Lagrange()
3250 sp->data = lag; in PetscDualSpaceCreate_Lagrange()
3261 PetscCall(PetscDualSpaceInitialize_Lagrange(sp)); in PetscDualSpaceCreate_Lagrange()
3262 …PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeGetContinuity_C", Pet… in PetscDualSpaceCreate_Lagrange()
3263 …PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeSetContinuity_C", Pet… in PetscDualSpaceCreate_Lagrange()
3264 …PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeGetTensor_C", PetscDu… in PetscDualSpaceCreate_Lagrange()
3265 …PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeSetTensor_C", PetscDu… in PetscDualSpaceCreate_Lagrange()
3266 …PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeGetTrimmed_C", PetscD… in PetscDualSpaceCreate_Lagrange()
3267 …PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeSetTrimmed_C", PetscD… in PetscDualSpaceCreate_Lagrange()
3268 …PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeGetNodeType_C", Petsc… in PetscDualSpaceCreate_Lagrange()
3269 …PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeSetNodeType_C", Petsc… in PetscDualSpaceCreate_Lagrange()
3270 …PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeGetUseMoments_C", Pet… in PetscDualSpaceCreate_Lagrange()
3271 …PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeSetUseMoments_C", Pet… in PetscDualSpaceCreate_Lagrange()
3272 …PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeGetMomentOrder_C", Pe… in PetscDualSpaceCreate_Lagrange()
3273 …PetscCall(PetscObjectComposeFunction((PetscObject)sp, "PetscDualSpaceLagrangeSetMomentOrder_C", Pe… in PetscDualSpaceCreate_Lagrange()