Skip to main content
`Ctrl`+`K`

# PetscOptionsInsert

Inserts into the options database from the command line, the environmental variable and a file.

## Synopsis

    #include "petscsys.h"
    PetscErrorCode PetscOptionsInsert(PetscOptions options, int *argc, char ***args, const char file[]) PeNS

Collective on `PETSC_COMM_WORLD`

## Input Parameters

- options - options database or `NULL` for the default global database

- argc - count of number of command line arguments

- args - the command line arguments

- file - [optional] PETSc database file, append “:yaml” to filename to specify YAML options format. Use `NULL` or empty string to not check for code specific file. Also checks ~/.petscrc, .petscrc and petscrc. Use -skip_petscrc in the code specific file (or command line) to skip ~/.petscrc, .petscrc and petscrc files.

## Options Database Keys

- -options_file filename - read options from a file

- -options_file_yaml filename - read options from a YAML file

## Notes

Since `PetscOptionsInsert()` is automatically called by `PetscInitialize()`, the user does not typically need to call this routine. `PetscOptionsInsert()` can be called several times, adding additional entries into the database.

See `PetscInitialize()` for options related to option database monitoring.

## See Also

`PetscOptionsDestroy()`, `PetscOptionsView()`, `PetscOptionsInsertString()`, `PetscOptionsInsertFile()`, `PetscInitialize()`

## Level

advanced

## Location

src/sys/objects/options.c

## Examples

src/snes/tutorials/ex30.c
src/sys/tutorials/ex19.c
src/snes/tutorials/ex22.c

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