1*87828ca2SBarry Smith /* $Id: petscoptions.h,v 1.43 2001/01/15 21:50:04 bsmith Exp bsmith $ */ 2f26ada1bSBarry Smith /* 337f753daSBarry Smith Routines to determine options set in the options database. 4f26ada1bSBarry Smith */ 50a835dfdSSatish Balay #if !defined(__PETSCOPTIONS_H) 60a835dfdSSatish Balay #define __PETSCOPTIONS_H 73a3b2205SBarry Smith #include "petsc.h" 83a3b2205SBarry Smith 9b0a32e0cSBarry Smith EXTERN int PetscOptionsHasName(const char[],const char[],PetscTruth*); 10b0a32e0cSBarry Smith EXTERN int PetscOptionsGetInt(const char[],const char [],int *,PetscTruth*); 11b0a32e0cSBarry Smith EXTERN int PetscOptionsGetLogical(const char[],const char [],PetscTruth *,PetscTruth*); 12*87828ca2SBarry Smith EXTERN int PetscOptionsGetReal(const char[],const char[],double *,PetscTruth*); 13*87828ca2SBarry Smith EXTERN int PetscOptionsGetScalar(const char[],const char[],PetscScalar *,PetscTruth*); 14b0a32e0cSBarry Smith EXTERN int PetscOptionsGetIntArray(const char[],const char[],int[],int *,PetscTruth*); 15*87828ca2SBarry Smith EXTERN int PetscOptionsGetRealArray(const char[],const char[],double[],int *,PetscTruth*); 16b0a32e0cSBarry Smith EXTERN int PetscOptionsGetString(const char[],const char[],char[],int,PetscTruth*); 17b0a32e0cSBarry Smith EXTERN int PetscOptionsGetStringArray(const char[],const char[],char**,int*,PetscTruth*); 183a3b2205SBarry Smith 19b0a32e0cSBarry Smith EXTERN int PetscOptionsSetAlias(const char[],const char[]); 20b0a32e0cSBarry Smith EXTERN int PetscOptionsSetValue(const char[],const char[]); 21b0a32e0cSBarry Smith EXTERN int PetscOptionsClearValue(const char[]); 223a3b2205SBarry Smith 23b0a32e0cSBarry Smith EXTERN int PetscOptionsAllUsed(int *); 24b0a32e0cSBarry Smith EXTERN int PetscOptionsLeft(void); 25b0a32e0cSBarry Smith EXTERN int PetscOptionsPrint(FILE *); 264b0e389bSBarry Smith 27b0a32e0cSBarry Smith EXTERN int PetscOptionsCreate(void); 28b0a32e0cSBarry Smith EXTERN int PetscOptionsInsert(int *,char ***,const char[]); 29b0a32e0cSBarry Smith EXTERN int PetscOptionsInsertFile(const char[]); 30b0a32e0cSBarry Smith EXTERN int PetscOptionsDestroy(void); 315d0dffe5SBarry Smith 32b0a32e0cSBarry Smith EXTERN int PetscOptionsReject(const char[],const char[]); 33b0a32e0cSBarry Smith EXTERN int PetscOptionsGetAll(char*[]); 345d0dffe5SBarry Smith 35b0a32e0cSBarry Smith EXTERN int PetscOptionsGetenv(MPI_Comm,const char *,char[],int,PetscTruth *); 36b0a32e0cSBarry Smith EXTERN int PetscOptionsAtoi(const char[],int*); 37*87828ca2SBarry Smith EXTERN int PetscOptionsAtod(const char[],PetscReal*); 382e8a6d31SBarry Smith 39b0a32e0cSBarry Smith extern PetscTruth PetscOptionsPublish; 40b0a32e0cSBarry Smith extern int PetscOptionsPublishCount; 41b0a32e0cSBarry Smith #define PetscOptionsBegin(comm,prefix,mess,sec) 0; {\ 42b0a32e0cSBarry Smith for (PetscOptionsPublishCount=(PetscOptionsPublish?-1:1); PetscOptionsPublishCount<2; PetscOptionsPublishCount++) {\ 43b0a32e0cSBarry Smith int __ierr = PetscOptionsBegin_Private(comm,prefix,mess,sec);CHKERRQ(__ierr); 44b0a32e0cSBarry Smith #define PetscOptionsEnd() __ierr = PetscOptionsEnd_Private();CHKERRQ(__ierr);}} 45b0a32e0cSBarry Smith EXTERN int PetscOptionsBegin_Private(MPI_Comm,char*,char*,char*); 46b0a32e0cSBarry Smith EXTERN int PetscOptionsEnd_Private(void); 47b0a32e0cSBarry Smith EXTERN int PetscOptionsHead(char*); 48b0a32e0cSBarry Smith #define PetscOptionsTail() 0; {if (PetscOptionsPublishCount != 1) PetscFunctionReturn(0);} 49186905e3SBarry Smith 50b0a32e0cSBarry Smith EXTERN int PetscOptionsInt(char*,char*,char*,int,int*,PetscTruth*); 51*87828ca2SBarry Smith EXTERN int PetscOptionsReal(char*,char*,char*,double,double*,PetscTruth*); 52*87828ca2SBarry Smith EXTERN int PetscOptionsScalar(char*,char*,char*,PetscScalar,PetscScalar*,PetscTruth*); 53b0a32e0cSBarry Smith EXTERN int PetscOptionsName(char*,char*,char*,PetscTruth*); 54b0a32e0cSBarry Smith EXTERN int PetscOptionsString(char*,char*,char*,char*,char*,int,PetscTruth*); 55b0a32e0cSBarry Smith EXTERN int PetscOptionsLogical(char*,char*,char*,PetscTruth,PetscTruth*,PetscTruth*); 56b0a32e0cSBarry Smith EXTERN int PetscOptionsLogicalGroupBegin(char*,char*,char*,PetscTruth*); 57b0a32e0cSBarry Smith EXTERN int PetscOptionsLogicalGroup(char*,char*,char*,PetscTruth*); 58b0a32e0cSBarry Smith EXTERN int PetscOptionsLogicalGroupEnd(char*,char*,char*,PetscTruth*); 59b0a32e0cSBarry Smith EXTERN int PetscOptionsList(char*,char*,char*,PetscFList,char*,char*,int,PetscTruth*); 60b0a32e0cSBarry Smith EXTERN int PetscOptionsEList(char*,char*,char*,char**,int,char*,char *,int,PetscTruth*); 61*87828ca2SBarry Smith EXTERN int PetscOptionsRealArray(char*,char*,char*,double[],int*,PetscTruth*); 62b0a32e0cSBarry Smith EXTERN int PetscOptionsStringArray(char*,char*,char*,char**,int*,PetscTruth*); 633a3b2205SBarry Smith #endif 644bbc92c1SBarry Smith 654bbc92c1SBarry Smith 66