Actual source code: petscoptions.h
1: /* $Id: petscoptions.h,v 1.46 2001/09/07 20:13:16 bsmith Exp $ */
2: /*
3: Routines to determine options set in the options database.
4: */
7: #include petsc.h
8: PETSC_EXTERN_CXX_BEGIN
10: EXTERN int PetscOptionsHasName(const char[],const char[],PetscTruth*);
11: EXTERN int PetscOptionsGetInt(const char[],const char [],int *,PetscTruth*);
12: EXTERN int PetscOptionsGetLogical(const char[],const char [],PetscTruth *,PetscTruth*);
13: EXTERN int PetscOptionsGetReal(const char[],const char[],PetscReal *,PetscTruth*);
14: EXTERN int PetscOptionsGetScalar(const char[],const char[],PetscScalar *,PetscTruth*);
15: EXTERN int PetscOptionsGetIntArray(const char[],const char[],int[],int *,PetscTruth*);
16: EXTERN int PetscOptionsGetRealArray(const char[],const char[],PetscReal[],int *,PetscTruth*);
17: EXTERN int PetscOptionsGetString(const char[],const char[],char[],int,PetscTruth*);
18: EXTERN int PetscOptionsGetStringArray(const char[],const char[],char*[],int*,PetscTruth*);
20: EXTERN int PetscOptionsSetAlias(const char[],const char[]);
21: EXTERN int PetscOptionsSetValue(const char[],const char[]);
22: EXTERN int PetscOptionsClearValue(const char[]);
24: EXTERN int PetscOptionsAllUsed(int *);
25: EXTERN int PetscOptionsLeft(void);
26: EXTERN int PetscOptionsPrint(FILE *);
28: EXTERN int PetscOptionsCreate(void);
29: EXTERN int PetscOptionsInsert(int *,char ***,const char[]);
30: EXTERN int PetscOptionsInsertFile(const char[]);
31: EXTERN int PetscOptionsInsertString(const char[]);
32: EXTERN int PetscOptionsDestroy(void);
34: EXTERN int PetscOptionsReject(const char[],const char[]);
35: EXTERN int PetscOptionsGetAll(char*[]);
37: EXTERN int PetscOptionsGetenv(MPI_Comm,const char[],char[],int,PetscTruth *);
38: EXTERN int PetscOptionsAtoi(const char[],int*);
39: EXTERN int PetscOptionsAtod(const char[],PetscReal*);
41: extern PetscTruth PetscOptionsPublish;
42: extern int PetscOptionsPublishCount;
44: /*MC
45: PetscOptionsBegin - Begins a set of queries on the options database that are related and should be
46: displayed on the same window of a GUI that allows the user to set the options interactively.
48: Synopsis: int PetscOptionsBegin(MPI_Comm comm,const char prefix[],const char title[],const char mansec[])
50: Collective on MPI_Comm
52: Input Parameters:
53: + comm - communicator that shares GUI
54: . prefix - options prefix for all options displayed on window
55: . title - short descriptive text, for example "Krylov Solver Options"
56: - mansec - section of manual pages for options, for example KSP
58: Level: intermediate
60: Notes: Needs to be ended by a call the PetscOptionsEnd()
62: Can add subheadings with PetscOptionsHead()
64: .seealso: PetscOptionsGetReal(), PetscOptionsHasName(), PetscOptionsGetString(), PetscOptionsGetInt(),
65: PetscOptionsGetIntArray(), PetscOptionsGetRealArray(), PetscOptionsLogical()
66: PetscOptionsInt(), PetscOptionsString(), PetscOptionsReal(), PetscOptionsLogical(),
67: PetscOptionsName(), PetscOptionsBegin(), PetscOptionsEnd(), PetscOptionsHead(),
68: PetscOptionsStringArray(),PetscOptionsRealArray(), PetscOptionsScalar(),
69: PetscOptionsLogicalGroupBegin(), PetscOptionsLogicalGroup(), PetscOptionsLogicalGroupEnd(),
70: PetscOptionsList(), PetscOptionsEList()
72: M*/
73: #define PetscOptionsBegin(comm,prefix,mess,sec) 0; {\
74: for (PetscOptionsPublishCount=(PetscOptionsPublish?-1:1); PetscOptionsPublishCount<2; PetscOptionsPublishCount++) {\
75: int _5_PetscOptionsBegin_Private(comm,prefix,mess,sec);CHKERRQ(_5_ierr);
77: /*MC
78: PetscOptionsEnd - Ends a set of queries on the options database that are related and should be
79: displayed on the same window of a GUI that allows the user to set the options interactively.
81: Collective on the MPI_Comm used in PetscOptionsBegin()
83: Synopsis: int PetscOptionsEnd(void)
85: Level: intermediate
87: Notes: Needs to be preceded by a call to PetscOptionsBegin()
89: .seealso: PetscOptionsGetReal(), PetscOptionsHasName(), PetscOptionsGetString(), PetscOptionsGetInt(),
90: PetscOptionsGetIntArray(), PetscOptionsGetRealArray(), PetscOptionsLogical()
91: PetscOptionsInt(), PetscOptionsString(), PetscOptionsReal(), PetscOptionsLogical(),
92: PetscOptionsName(), PetscOptionsBegin(), PetscOptionsEnd(), PetscOptionsHead(),
93: PetscOptionsStringArray(),PetscOptionsRealArray(), PetscOptionsScalar(),
94: PetscOptionsLogicalGroupBegin(), PetscOptionsLogicalGroup(), PetscOptionsLogicalGroupEnd(),
95: PetscOptionsList(), PetscOptionsEList()
97: M*/
98: #define PetscOptionsEnd() _5_PetscOptionsEnd_Private();CHKERRQ(_5_ierr);}}
100: EXTERN int PetscOptionsBegin_Private(MPI_Comm,const char[],const char[],const char[]);
101: EXTERN int PetscOptionsEnd_Private(void);
102: EXTERN int PetscOptionsHead(const char[]);
104: /*MC
105: PetscOptionsTail - Ends a section of options begun with PetscOptionsHead()
106: See, for example, KSPSetFromOptions_GMRES().
108: Collective on the communicator passed in PetscOptionsBegin()
110: Synopsis: int PetscOptionsTail(void)
112: Level: intermediate
114: Notes: Must be between a PetscOptionsBegin() and a PetscOptionsEnd()
116: Must be preceded by a call to PetscOptionsHead() in the same function.
118: Concepts: options database^subheading
120: .seealso: PetscOptionsGetInt(), PetscOptionsGetReal(),
121: PetscOptionsHasName(), PetscOptionsGetIntArray(), PetscOptionsGetRealArray(), PetscOptionsLogical(),
122: PetscOptionsName(), PetscOptionsBegin(), PetscOptionsEnd(), PetscOptionsHead(),
123: PetscOptionsStringArray(),PetscOptionsRealArray(), PetscOptionsScalar(),
124: PetscOptionsLogicalGroupBegin(), PetscOptionsLogicalGroup(), PetscOptionsLogicalGroupEnd(),
125: PetscOptionsList(), PetscOptionsEList()
126: M*/
127: #define PetscOptionsTail() 0; {if (PetscOptionsPublishCount != 1) return(0);}
129: EXTERN int PetscOptionsInt(const char[],const char[],const char[],int,int*,PetscTruth*);
130: EXTERN int PetscOptionsReal(const char[],const char[],const char[],PetscReal,PetscReal*,PetscTruth*);
131: EXTERN int PetscOptionsScalar(const char[],const char[],const char[],PetscScalar,PetscScalar*,PetscTruth*);
132: EXTERN int PetscOptionsName(const char[],const char[],const char[],PetscTruth*);
133: EXTERN int PetscOptionsString(const char[],const char[],const char[],const char[],char*,int,PetscTruth*);
134: EXTERN int PetscOptionsLogical(const char[],const char[],const char[],PetscTruth,PetscTruth*,PetscTruth*);
135: EXTERN int PetscOptionsLogicalGroupBegin(const char[],const char[],const char[],PetscTruth*);
136: EXTERN int PetscOptionsLogicalGroup(const char[],const char[],const char[],PetscTruth*);
137: EXTERN int PetscOptionsLogicalGroupEnd(const char[],const char[],const char[],PetscTruth*);
138: EXTERN int PetscOptionsList(const char[],const char[],const char[],PetscFList,const char[],char[],int,PetscTruth*);
139: EXTERN int PetscOptionsEList(const char[],const char[],const char[],const char*[],int,const char[],int*,PetscTruth*);
140: EXTERN int PetscOptionsRealArray(const char[],const char[],const char[],PetscReal[],int*,PetscTruth*);
141: EXTERN int PetscOptionsIntArray(const char[],const char[],const char[],int[],int*,PetscTruth*);
142: EXTERN int PetscOptionsStringArray(const char[],const char[],const char[],char*[],int*,PetscTruth*);
144: PETSC_EXTERN_CXX_END
145: #endif