PetscOptionsEnum#
Gets the enum value for a particular option in the database.
Synopsis#
#include <petscoptions.h>
PetscErrorCode PetscOptionsEnum(const char opt[], const char text[], const char man[], const char *const *list, PetscEnum currentvalue, PetscEnum *value, PetscBool *set)
Logically Collective on the communicator passed in PetscOptionsBegin()
Input Parameters#
opt - option name
text - short string that describes the option
man - manual page with additional information on option
list - array containing the list of choices, followed by the enum name, followed by the enum prefix, followed by a null
currentvalue - the current value; caller is responsible for setting this value correctly. Normally this is done with either
PetscOptionsEnum(..., obj->value,&object->value,...) or
value = defaultvalue
PetscOptionsEnum(..., value,&value,&set);
if (set) {
Output Parameters#
value - the value to return
set -
PETSC_TRUE
if found, elsePETSC_FALSE
Notes#
Must be between a PetscOptionsBegin()
and a PetscOptionsEnd()
list
is usually something like PCASMTypes
or some other predefined list of enum names
If the user does not supply the option at all value
is NOT changed. Thus
you should ALWAYS initialize value
if you access it without first checking that set
is PETSC_TRUE
.
The currentvalue
passed into this routine does not get transferred to the output value
variable automatically.
See Also#
PetscOptionsGetReal()
, PetscOptionsHasName()
, PetscOptionsGetString()
, PetscOptionsGetInt()
,
PetscOptionsGetIntArray()
, PetscOptionsGetRealArray()
, PetscOptionsGetBool()
,
PetscOptionsInt()
, PetscOptionsString()
, PetscOptionsReal()
, PetscOptionsBool()
,
PetscOptionsName()
, PetscOptionsBegin()
, PetscOptionsEnd()
, PetscOptionsHeadBegin()
,
PetscOptionsStringArray()
, PetscOptionsRealArray()
, PetscOptionsScalar()
,
PetscOptionsBoolGroupBegin()
, PetscOptionsBoolGroup()
, PetscOptionsBoolGroupEnd()
,
PetscOptionsFList()
, PetscOptionsEList()
Level#
beginner
Location#
Examples#
src/dm/impls/plex/tutorials/ex13.c
src/dm/tutorials/ex22.c
src/snes/tutorials/ex48.c
src/ksp/ksp/tutorials/ex74.c
src/snes/tutorials/ex15.c
src/dm/impls/plex/tutorials/ex5.c
src/snes/tutorials/ex24.c
src/ksp/ksp/tutorials/ex10.c
src/snes/tutorials/ex4.c
src/snes/tutorials/ex11.c
Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages