Skip to main content
`Ctrl`+`K`

# DMNetworkGetGlobalVecOffset

Get the global offset for accessing the variables associated with a component for the given vertex/edge from the global vector

## Synopsis

    #include "petscdmnetwork.h"
    PetscErrorCode DMNetworkGetGlobalVecOffset(DM dm, PetscInt p, PetscInt compnum, PetscInt *offsetg)

Not Collective

## Input Parameters

- dm - the `DMNETWORK` object

- p - the edge or vertex point

- compnum - component number; use ALL_COMPONENTS if no specific component is requested

## Output Parameter

- offsetg - the global offset

## Notes

These offsets can be passed to `MatSetValues()` for matrices obtained with `DMCreateMatrix()`.

For vectors obtained with `DMCreateGlobalVector()` the offsets can be used with `VecSetValues()`.

For vectors obtained with `DMCreateGlobalVector()` and the array obtained with `VecGetArray`(vec,&array) you can access or set the vector values with array[offset - rstart] where restart is obtained with `VecGetOwnershipRange`(v,&rstart,`NULL`);

## See Also

`DM`, `DMNETWORK`, `DMNetworkGetLocalVecOffset()`, `DMGetGlobalVector()`, `DMNetworkGetComponent()`, `DMCreateGlobalVector()`, `VecGetArray()`, `VecSetValues()`, `MatSetValues()`

## Level

intermediate

## Location

src/dm/impls/network/network.c

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