PetscOptionsEnum#

Gets the enum value for a particular option in the database. Logically Collective on the communicator passed in PetscOptionsBegin()

Synopsis#

#include "petscsys.h"
PetscErrorCode  PetscOptionsEnum(const char opt[],const char text[],const char man[],const char *const *list,PetscEnum currentvalue,PetscEnum *value,PetscBool  *set)

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,&flg);
if (flg) {

Output Parameters#

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 if the set flag is true.

The default/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#

src/sys/objects/aoptions.c

Examples#

src/dm/impls/plex/tutorials/ex13.c.html
src/dm/impls/plex/tutorials/ex5.c.html
src/dm/tutorials/ex22.c.html
src/ksp/ksp/tutorials/ex10.c.html
src/ksp/ksp/tutorials/ex74.c.html
src/snes/tutorials/ex15.c.html
src/snes/tutorials/ex24.c.html
src/snes/tutorials/ex48.c.html
src/ts/tutorials/ex10.c.html
src/ts/tutorials/ex11.c.html
src/ts/tutorials/ex11_sa.c.html


Edit on GitLab

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