PetscOptionsBegin#
Begins a set of queries on the options database that are related and should be displayed on the same window of a GUI that allows the user to set the options interactively. Often one should use PetscObjectOptionsBegin() rather than this call.
Synopsis#
#include <petscoptions.h>
PetscErrorCode PetscOptionsBegin(MPI_Comm comm,const char prefix[],const char title[],const char mansec[])
Collective
Input Parameters#
- comm - communicator that shares GUI 
- prefix - options prefix for all options displayed on window (optional) 
- title - short descriptive text, for example “Krylov Solver Options” 
- mansec - section of manual pages for options, for example - KSP(optional)
Notes#
This is a macro that handles its own error checking, it does not return an error code.
The set of queries needs to be ended by a call to PetscOptionsEnd().
One can add subheadings with PetscOptionsHeadBegin().
Developer Notes#
PetscOptionsPublish is set in PetscOptionsCheckInitial_Private() with -saws_options. When PetscOptionsPublish is set the
loop between PetscOptionsBegin() and PetscOptionsEnd() is run THREE times with PetscOptionsPublishCount of values -1,0,1.
Otherwise the loop is run ONCE with a PetscOptionsPublishCount of 1.
- -1 - - PetscOptionsInt()etc. just call- PetscOptionsGetInt()etc.
- 0 - The GUI objects are created in - PetscOptionsInt()etc. and displayed in- PetscOptionsEnd()and the options database updated with user changes;- PetscOptionsGetInt()etc. are also called.
- 1 - - PetscOptionsInt()etc. again call- PetscOptionsGetInt()etc. (possibly getting new values), in addition the help message and default values are printed if -help was given. When- PetscOptionsObject.changedmethodis set this causes- PetscOptionsPublishCountto be reset to -2 (so in the next loop iteration it is -1) and the whole process is repeated. This is to handle when, for example, the- KSPTypeis changed thus changing the list of options available so they need to be redisplayed so the user can change the. Changing- PetscOptionsObjects.changedmethodis never currently set.
Fortran Note#
Returns ierr error code per PETSc Fortran API
See Also#
PetscOptionsGetReal(), PetscOptionsHasName(), PetscOptionsGetString(), PetscOptionsGetInt(),
PetscOptionsGetIntArray(), PetscOptionsGetRealArray(), PetscOptionsBool()
PetscOptionsInt(), PetscOptionsString(), PetscOptionsReal(), PetscOptionsBool(),
PetscOptionsName(), PetscOptionsEnd(), PetscOptionsHeadBegin(),
PetscOptionsStringArray(), PetscOptionsRealArray(), PetscOptionsScalar(),
PetscOptionsBoolGroupBegin(), PetscOptionsBoolGroup(), PetscOptionsBoolGroupEnd(),
PetscOptionsFList(), PetscOptionsEList(), PetscObjectOptionsBegin()
Level#
intermediate
Location#
Examples#
Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages