| /petsc/include/petsc/private/ |
| H A D | dmimpl.h | 275 PetscSection localSection; /* Layout for local vectors */ member 433 …PetscCheck(dm->localSection, PetscObjectComm((PetscObject)dm), PETSC_ERR_ARG_WRONG, "DM must have … in DMGetLocalOffset_Private() 434 PetscCall(PetscSectionGetOffset(dm->localSection, point, start)); in DMGetLocalOffset_Private() 435 PetscCall(PetscSectionGetDof(dm->localSection, point, &dof)); in DMGetLocalOffset_Private() 440 const PetscSection s = dm->localSection; in DMGetLocalOffset_Private() 455 …PetscCheck(dm->localSection, PetscObjectComm((PetscObject)dm), PETSC_ERR_ARG_WRONG, "DM must have … in DMGetLocalFieldOffset_Private() 456 PetscCall(PetscSectionGetFieldOffset(dm->localSection, point, field, start)); in DMGetLocalFieldOffset_Private() 457 PetscCall(PetscSectionGetFieldDof(dm->localSection, point, field, &dof)); in DMGetLocalFieldOffset_Private() 462 const PetscSection s = dm->localSection->field[field]; in DMGetLocalFieldOffset_Private() 477 …PetscCheck(dm->localSection, PetscObjectComm((PetscObject)dm), PETSC_ERR_ARG_WRONG, "DM must have … in DMGetGlobalOffset_Private() [all …]
|
| /petsc/doc/manual/ |
| H A D | section.md | 146 …d data with constraints, we use a pair of `PetscSections` called the `localSection` and `globalSec… 153 To do this, we introduce three new concepts; a `localSection`, `globalSection`, `pointSF`, and `sec… 161 … partition (including shared mesh points) and the data stored on it and call it the `localSection`. 162 The `localSection` describes the layout of the local vector. 163 …Section` we use `PetscSectionCreateGlobalSection()`, which takes the `localSection` and `pointSF` … 173 The `localSection`, `globalSection`, `pointSF`, and `sectionSF` on a `DM` can be obtained via `DMGe… 179 In addition to describing parallel data, the `localSection`/`globalSection` pair can be used to des… 183 Constraints should be indicated in the `localSection`. 187 Note that it is possible to have constraints set in a `localSection`, but have the `globalSection` …
|
| /petsc/src/dm/impls/plex/ |
| H A D | plexnatural.c | 88 PetscSection localSection; in DMPlexCreateGlobalToNaturalSF() local 90 PetscCall(DMGetLocalSection(dm, &localSection)); in DMPlexCreateGlobalToNaturalSF() 93 PetscCall(PetscSFDistributeSection(sfMigrationInv, localSection, NULL, section)); in DMPlexCreateGlobalToNaturalSF()
|
| H A D | plexsfc.c | 545 PetscSection csection, localSection = NULL; in DMPlexCorrectOrientationForIsoperiodic() local 569 PetscCall(DMGetLocalSection(dm, &localSection)); in DMPlexCorrectOrientationForIsoperiodic() 571 …PetscCall(PetscSectionCreateGlobalSection(localSection, pointSF, PETSC_TRUE, PETSC_TRUE, PETSC_FAL… in DMPlexCorrectOrientationForIsoperiodic() 576 PetscCall(PetscSectionGetStorageSize(localSection, &local_vec_length)); in DMPlexCorrectOrientationForIsoperiodic() 582 PetscCall(PetscSFSetGraphSection(sectionSF, localSection, globalSection)); in DMPlexCorrectOrientationForIsoperiodic() 797 …PetscCall(DMPlexOrientPointWithCorrections(dm, periodic_point, ornt, localSection, local_vec_lengt… in DMPlexCorrectOrientationForIsoperiodic()
|
| H A D | plexreorder.c | 263 if (dm->localSection) { in DMPlexPermute()
|
| H A D | plexdistribute.c | 1781 if (part->usevwgt && dm->localSection && l != nl - 1) { in DMPlexDistribute_Multistage() 1967 if (dm->localSection) { in DMPlexDistribute() 1970 PetscCall(PetscSFDistributeSection(sfMigration, dm->localSection, NULL, psection)); in DMPlexDistribute()
|
| H A D | plexpartition.c | 793 PetscSection section = dm->localSection, clSection = NULL; in PetscPartitionerDMPlexPartition()
|
| H A D | plexcreate.c | 5337 PetscCall(DMSetLocalSection(dm, pdm->localSection)); in DMSetFromOptions_Plex()
|
| /petsc/src/vec/is/sf/utils/ |
| H A D | sfutils.c | 128 PetscErrorCode PetscSFSetGraphSection(PetscSF sf, PetscSection localSection, PetscSection globalSec… in PetscSFSetGraphSection() argument 140 PetscValidHeaderSpecific(localSection, PETSC_SECTION_CLASSID, 2); in PetscSFSetGraphSection() 167 PetscCall(PetscSectionGetDof(localSection, p, &dof)); in PetscSFSetGraphSection() 168 PetscCall(PetscSectionGetOffset(localSection, p, &off)); in PetscSFSetGraphSection() 169 PetscCall(PetscSectionGetConstraintDof(localSection, p, &cdof)); in PetscSFSetGraphSection() 170 PetscCall(PetscSectionGetConstraintIndices(localSection, p, &cind)); in PetscSFSetGraphSection()
|
| /petsc/src/dm/interface/ |
| H A D | dm.c | 76 v->localSection = NULL; in DMCreate() 738 PetscCall(PetscSectionDestroy(&(*dm)->localSection)); in DMDestroy() 4356 if (!dm->localSection && dm->ops->createlocalsection) { in DMGetLocalSection() 4378 …if (dm->localSection) PetscCall(PetscObjectViewFromOptions((PetscObject)dm->localSection, NULL, "-… in DMGetLocalSection() 4380 *section = dm->localSection; in DMGetLocalSection() 4407 PetscCall(PetscSectionDestroy(&dm->localSection)); in DMSetLocalSection() 4408 dm->localSection = section; in DMSetLocalSection() 4409 if (section) PetscCall(PetscSectionGetNumFields(dm->localSection, &numFields)); in DMSetLocalSection() 4416 PetscCall(PetscSectionGetFieldName(dm->localSection, f, &name)); in DMSetLocalSection() 4557 static PetscErrorCode DMDefaultSectionCheckConsistency_Internal(DM dm, PetscSection localSection, P… in DMDefaultSectionCheckConsistency_Internal() argument [all …]
|
| /petsc/src/dm/impls/plex/cgns/ |
| H A D | plexcgns2.c | 2146 …PetscCall(DMPlexGetClosureIndices(cdm, cdm->localSection, cdm->localSection, i, PETSC_FALSE, &clos… in DMView_PlexCGNS() 2151 …PetscCall(DMPlexRestoreClosureIndices(cdm, cdm->localSection, cdm->localSection, i, PETSC_FALSE, &… in DMView_PlexCGNS() 2270 …PetscCall(DMPlexGetClosureIndices(cdm, cdm->localSection, cdm->localSection, face, PETSC_FALSE, &c… in DMView_PlexCGNS() 2279 …PetscCall(DMPlexRestoreClosureIndices(cdm, cdm->localSection, cdm->localSection, face, PETSC_FALSE… in DMView_PlexCGNS()
|
| /petsc/src/dm/impls/da/ |
| H A D | dagetarray.c | 175 if (da->localSection) { in DMDAVecGetArrayWrite() 227 if (da->localSection) { in DMDAVecRestoreArrayWrite()
|
| /petsc/src/dm/impls/forest/p4est/ |
| H A D | pforest.h | 2137 if (dmB->localSection != dmA->localSection || dmB->globalSection != dmA->globalSection) { in DMShareDiscretization() 2139 PetscCall(PetscObjectReference((PetscObject)dmA->localSection)); in DMShareDiscretization() 2140 PetscCall(PetscSectionDestroy(&dmB->localSection)); in DMShareDiscretization() 2141 dmB->localSection = dmA->localSection; in DMShareDiscretization()
|
| /petsc/src/dm/impls/network/ |
| H A D | network.c | 1226 PetscCall(PetscSectionGetOffset(network->plex->localSection, p, &offsetp)); in DMNetworkGetLocalVecOffset()
|