Skip to main content
`Ctrl`+`K`

# PetscOptionsPush

Push a new `PetscOptions` object as the default provider of options Allows using different parts of a code to use different options databases

## Synopsis

    #include "petscsys.h"
    PetscErrorCode PetscOptionsPush(PetscOptions opt)

Logically Collective

## Input Parameter

- opt - the options obtained with `PetscOptionsCreate()`

## Notes

Use `PetscOptionsPop()` to return to the previous default options database

The collectivity of this routine is complex; only the MPI ranks that call this routine will have the affect of these options. If some processes that create objects call this routine and others do not the code may fail in complicated ways because the same parallel solvers may incorrectly use different options on different ranks.

## Developer Notes

Though this functionality has been provided it has never been used in PETSc and might be removed.

## See Also

`PetscOptionsPop()`, `PetscOptionsCreate()`, `PetscOptionsInsert()`, `PetscOptionsSetValue()`, `PetscOptionsLeft()`

## Level

advanced

## Location

src/sys/objects/options.c

## Examples

src/sys/tutorials/ex20.c

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