Lines Matching refs:dmf

8555 PetscErrorCode DMPlexMatSetClosureRefined(DM dmf, PetscSection fsection, PetscSection globalFSection, DM dmc, PetscSection csection, PetscSection globalCSection, Mat A, PetscInt point, const PetscScalar values[], InsertMode mode)
8557 DM_Plex *mesh = (DM_Plex *)dmf->data;
8568 PetscValidHeaderSpecific(dmf, DM_CLASSID, 1);
8570 if (!fsection) PetscCall(DMGetLocalSection(dmf, &fsection));
8574 if (!globalFSection) PetscCall(DMGetGlobalSection(dmf, &globalFSection));
8580 PetscCheck(numFields <= 31, PetscObjectComm((PetscObject)dmf), PETSC_ERR_ARG_OUTOFRANGE, "Number of fields %" PetscInt_FMT " limited to 31", numFields);
8622 PetscCall(DMGetWorkArray(dmf, maxFPoints * 2 * numSubcells, MPIU_INT, &ftotpoints));
8625 PetscCall(DMPlexGetTransitiveClosure(dmf, point * numSubcells + r, PETSC_TRUE, &numFPoints, &fpoints));
8640 PetscCall(DMPlexRestoreTransitiveClosure(dmf, point, PETSC_TRUE, &numFPoints, &fpoints));
8656 PetscCheck(!numFields || foffsets[numFields] == numFIndices, PetscObjectComm((PetscObject)dmf), PETSC_ERR_PLIB, "Invalid size for closure %" PetscInt_FMT " should be %" PetscInt_FMT, foffsets[numFields], numFIndices);
8658 PetscCall(DMGetWorkArray(dmf, numFIndices, MPIU_INT, &findices));
8711 PetscCall(DMRestoreWorkArray(dmf, numFIndices, MPIU_INT, &findices));
8714 PetscCall(DMRestoreWorkArray(dmf, numCPoints * 2 * 4, MPIU_INT, &ftotpoints));
8716 PetscCall(DMRestoreWorkArray(dmf, numFIndices, MPIU_INT, &findices));
8721 PetscErrorCode DMPlexMatGetClosureIndicesRefined(DM dmf, PetscSection fsection, PetscSection globalFSection, DM dmc, PetscSection csection, PetscSection globalCSection, PetscInt point, PetscInt cindices[], PetscInt findices[])
8731 PetscValidHeaderSpecific(dmf, DM_CLASSID, 1);
8733 if (!fsection) PetscCall(DMGetLocalSection(dmf, &fsection));
8737 if (!globalFSection) PetscCall(DMGetGlobalSection(dmf, &globalFSection));
8742 PetscCheck(numFields <= 31, PetscObjectComm((PetscObject)dmf), PETSC_ERR_ARG_OUTOFRANGE, "Number of fields %" PetscInt_FMT " limited to 31", numFields);
8782 PetscCall(DMGetWorkArray(dmf, maxFPoints * 2 * numSubcells, MPIU_INT, &ftotpoints));
8785 PetscCall(DMPlexGetTransitiveClosure(dmf, point * numSubcells + r, PETSC_TRUE, &numFPoints, &fpoints));
8800 PetscCall(DMPlexRestoreTransitiveClosure(dmf, point, PETSC_TRUE, &numFPoints, &fpoints));
8816 PetscCheck(!numFields || foffsets[numFields] == numFIndices, PetscObjectComm((PetscObject)dmf), PETSC_ERR_PLIB, "Invalid size for closure %" PetscInt_FMT " should be %" PetscInt_FMT, foffsets[numFields], numFIndices);
8859 PetscCall(DMRestoreWorkArray(dmf, numCPoints * 2 * 4, MPIU_INT, &ftotpoints));
10237 static PetscErrorCode DMCreateAffineInterpolationCorrection_Plex(DM dmc, DM dmf, Vec *shift)
10248 PetscCall(DMGetFullDM(dmf, &dmfo));
10250 PetscCall(DMPlexGetRegularRefinement(dmf, &regular));
10257 PetscCall(DMCreateGlobalVector(dmf, &fglobal));
10259 PetscCall(DMCreateLocalVector(dmf, &flocal));
10269 PetscCall(DMLocalToGlobalBegin(dmf, flocal, INSERT_VALUES, fglobal));
10270 PetscCall(DMLocalToGlobalEnd(dmf, flocal, INSERT_VALUES, fglobal));