DMPlexGlobalVectorLoad#

Loads on-disk vector data into a global vector

Synopsis#

#include "petscdmplex.h"   
PetscErrorCode DMPlexGlobalVectorLoad(DM dm, PetscViewer viewer, DM sectiondm, PetscSF sf, Vec vec)

Collective

Input Parameters#

  • dm - The DM that represents the topology

  • viewer - The PetscViewer that represents the on-disk vector data

  • sectiondm - The DM that contains the global section on which vec is defined

  • sf - The PetscSF that migrates the on-disk vector data into vec

  • vec - The global vector to set values of

Notes#

In general dm and sectiondm are two different objects, the former carrying the topology and the latter carrying the section, and have been given a topology name and a section name, respectively, with PetscObjectSetName(). In practice, however, they can be the same object if it carries both topology and section; in that case the name of the object is used as both the topology name and the section name.

Typical calling sequence#

       DMCreate(PETSC_COMM_WORLD, &dm);
       DMSetType(dm, DMPLEX);
       PetscObjectSetName((PetscObject)dm, "topologydm_name");
       DMPlexTopologyLoad(dm, viewer, &sfX);
       DMClone(dm, &sectiondm);
       PetscObjectSetName((PetscObject)sectiondm, "sectiondm_name");
       DMPlexSectionLoad(dm, viewer, sectiondm, sfX, &gsf, NULL);
       DMGetGlobalVector(sectiondm, &vec);
       PetscObjectSetName((PetscObject)vec, "vec_name");
       DMPlexGlobalVectorLoad(dm, viewer, sectiondm, gsf, vec);
       DMRestoreGlobalVector(sectiondm, &vec);
       PetscSFDestroy(&gsf);
       PetscSFDestroy(&sfX);
       DMDestroy(&sectiondm);
       DMDestroy(&dm);

See Also#

DMPlex: Unstructured Grids, DM, DMPLEX, DMPlexTopologyLoad(), DMPlexSectionLoad(), DMPlexLocalVectorLoad(), DMPlexGlobalVectorView(), DMPlexLocalVectorView(), PetscSF, PetscViewer

Level#

advanced

Location#

src/dm/impls/plex/plex.c


Edit on GitLab

Index of all DMPlex routines
Table of Contents for all manual pages
Index of all manual pages