petsc-3.13.6 2020-09-29
Report Typos and Errors

PetscOptionsEList

Puts a list of option values that a single one may be selected from Logically Collective on the communicator passed in PetscOptionsBegin()

Synopsis

#include "petscsys.h"
PetscErrorCode  PetscOptionsEList(PetscOptionItems *PetscOptionsObject,const char opt[],const char ltext[],const char man[],const char *const *list,PetscInt ntext,const char currentvalue[],PetscInt *value,PetscBool  *set)

Input Parameters

opt - option name
ltext - short string that describes the option
man - manual page with additional information on option
list - the possible choices (one of these must be selected, anything else is invalid)
ntext - number of choices
currentvalue - the current value; caller is responsible for setting this value correctly. Normally this is done with
                PetscOptionsElist(..., obj->value,&value,&flg);
                if (flg) {

Output Parameter

value - the index of the value to return
set - PETSC_TRUE if found, else PETSC_FALSE

Notes

Must be between a PetscOptionsBegin() and a PetscOptionsEnd()

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.

See PetscOptionsFList() for when the choices are given in a PetscFunctionList()

See Also

PetscOptionsGetInt(), PetscOptionsGetReal(),
PetscOptionsHasName(), PetscOptionsGetIntArray(), PetscOptionsGetRealArray(), PetscOptionsBool(), PetscOptionsName(), PetscOptionsBegin(), PetscOptionsEnd(), PetscOptionsHead(), PetscOptionsStringArray(),PetscOptionsRealArray(), PetscOptionsScalar(), PetscOptionsBoolGroupBegin(), PetscOptionsBoolGroup(), PetscOptionsBoolGroupEnd(), PetscOptionsFList(), PetscOptionsEnum()

Level

intermediate

Location

src/sys/objects/aoptions.c

Examples

src/dm/field/tutorials/ex1.c.html
src/ksp/ksp/tutorials/ex29.c.html
src/ksp/ksp/tutorials/ex32.c.html
src/ksp/ksp/tutorials/ex71.c.html
src/ksp/ksp/tutorials/ex73.c.html
src/snes/tutorials/ex12.c.html
src/snes/tutorials/ex62.c.html
src/snes/tutorials/ex77.c.html
src/ts/tutorials/ex48.c.html
src/tao/tutorials/ex1.c.html
src/tao/tutorials/ex2.c.html

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