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

PetscOptionsString

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

Synopsis

#include "petscsys.h"
PetscErrorCode  PetscOptionsString(PetscOptionItems *PetscOptionsObject,const char opt[],const char text[],const char man[],const char currentvalue[],char value[],size_t len,PetscBool  *set)

Input Parameters

opt - option name
text - short string that describes the option
man - manual page with additional information on option
currentvalue - the current value; caller is responsible for setting this value correctly. This is not used to set value
len - length of the result string including null terminator

Output Parameter

value - the value to return
flg - PETSC_TRUE if found, else PETSC_FALSE

Notes

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

Even if the user provided no string (for example -optionname -someotheroption) the flag is set to PETSC_TRUE (and the string is fulled with nulls).

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(), PetscOptionsBool() PetscOptionsInt(), PetscOptionsReal(), PetscOptionsBool(), PetscOptionsName(), PetscOptionsBegin(), PetscOptionsEnd(), PetscOptionsHead(), PetscOptionsStringArray(),PetscOptionsRealArray(), PetscOptionsScalar(), PetscOptionsBoolGroupBegin(), PetscOptionsBoolGroup(), PetscOptionsBoolGroupEnd(), PetscOptionsFList(), PetscOptionsEList()

Level

beginner

Location

src/sys/objects/aoptions.c

Examples

src/vec/is/sf/tutorials/ex1.c.html
src/dm/impls/plex/tutorials/ex2.c.html
src/dm/impls/plex/tutorials/ex5.c.html
src/dm/impls/plex/tutorials/ex9.c.html
src/dm/impls/forest/tutorials/ex1.c.html
src/dm/label/tutorials/ex1.c.html
src/snes/tutorials/ex12.c.html
src/snes/tutorials/ex15.c.html
src/snes/tutorials/ex48.c.html
src/ts/tutorials/ex9.c.html
src/ts/tutorials/ex10.c.html

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