:orphan:
# PetscOptionsSetValue
Sets an option name-value pair in the options database, overriding whatever is already present.
## Synopsis
```
#include "petscsys.h"
PetscErrorCode PetscOptionsSetValue(PetscOptions options, const char name[], const char value[])
```
Logically Collective
## Input Parameters
- ***options -*** options database, use `NULL` for the default global database
- ***name -*** name of option, this SHOULD have the - prepended
- ***value -*** the option value (not used for all options, so can be `NULL`)
## Note
This function can be called BEFORE `PetscInitialize()`
The collectivity of this routine is complex; only the MPI processes 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.
## Developers Note
Uses malloc() directly because PETSc may not be initialized yet.
## See Also
`PetscOptionsInsert()`, `PetscOptionsClearValue()`
## Level
intermediate
## Location
src/sys/objects/options.c
## Examples
src/ksp/ksp/tutorials/ex76.c
src/snes/tutorials/ex30.c
src/sys/tutorials/ex16.c
src/sys/tutorials/ex16f.F90
src/sys/tutorials/ex20.c
src/tao/unconstrained/tutorials/eptorsion1.c
src/tao/unconstrained/tutorials/eptorsion3.c
src/tao/unconstrained/tutorials/rosenbrock1.c
src/vec/vec/tutorials/ex10.c
src/vec/vec/tutorials/ex5.c
src/vec/vec/tutorials/ex5f.F90
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/sys/objects/options.c)
[Index of all Sys routines](index.md)
[Table of Contents for all manual pages](/manualpages/index.md)
[Index of all manual pages](/manualpages/singleindex.md)