173f4d377SMatthew Knepley /* $Id: petscoptions.h,v 1.46 2001/09/07 20:13:16 bsmith Exp $ */ 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*); 12f6275e2eSBarry Smith EXTERN int PetscOptionsGetReal(const char[],const char[],PetscReal *,PetscTruth*); 1387828ca2SBarry Smith EXTERN int PetscOptionsGetScalar(const char[],const char[],PetscScalar *,PetscTruth*); 14b0a32e0cSBarry Smith EXTERN int PetscOptionsGetIntArray(const char[],const char[],int[],int *,PetscTruth*); 15f6275e2eSBarry Smith EXTERN int PetscOptionsGetRealArray(const char[],const char[],PetscReal[],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[]); 305e05d0b6SBarry Smith EXTERN int PetscOptionsInsertString(const char*); 31b0a32e0cSBarry Smith EXTERN int PetscOptionsDestroy(void); 325d0dffe5SBarry Smith 33b0a32e0cSBarry Smith EXTERN int PetscOptionsReject(const char[],const char[]); 34b0a32e0cSBarry Smith EXTERN int PetscOptionsGetAll(char*[]); 355d0dffe5SBarry Smith 36b0a32e0cSBarry Smith EXTERN int PetscOptionsGetenv(MPI_Comm,const char *,char[],int,PetscTruth *); 37b0a32e0cSBarry Smith EXTERN int PetscOptionsAtoi(const char[],int*); 3887828ca2SBarry Smith EXTERN int PetscOptionsAtod(const char[],PetscReal*); 392e8a6d31SBarry Smith 40b0a32e0cSBarry Smith extern PetscTruth PetscOptionsPublish; 41b0a32e0cSBarry Smith extern int PetscOptionsPublishCount; 42b0a32e0cSBarry Smith #define PetscOptionsBegin(comm,prefix,mess,sec) 0; {\ 43b0a32e0cSBarry Smith for (PetscOptionsPublishCount=(PetscOptionsPublish?-1:1); PetscOptionsPublishCount<2; PetscOptionsPublishCount++) {\ 44ef66eb69SBarry Smith int _5_ierr = PetscOptionsBegin_Private(comm,prefix,mess,sec);CHKERRQ(_5_ierr); 45ef66eb69SBarry Smith #define PetscOptionsEnd() _5_ierr = PetscOptionsEnd_Private();CHKERRQ(_5_ierr);}} 46b0a32e0cSBarry Smith EXTERN int PetscOptionsBegin_Private(MPI_Comm,char*,char*,char*); 47b0a32e0cSBarry Smith EXTERN int PetscOptionsEnd_Private(void); 48b0a32e0cSBarry Smith EXTERN int PetscOptionsHead(char*); 49b0a32e0cSBarry Smith #define PetscOptionsTail() 0; {if (PetscOptionsPublishCount != 1) PetscFunctionReturn(0);} 50186905e3SBarry Smith 51b0a32e0cSBarry Smith EXTERN int PetscOptionsInt(char*,char*,char*,int,int*,PetscTruth*); 52f6275e2eSBarry Smith EXTERN int PetscOptionsReal(char*,char*,char*,PetscReal,PetscReal*,PetscTruth*); 5387828ca2SBarry Smith EXTERN int PetscOptionsScalar(char*,char*,char*,PetscScalar,PetscScalar*,PetscTruth*); 54b0a32e0cSBarry Smith EXTERN int PetscOptionsName(char*,char*,char*,PetscTruth*); 55b0a32e0cSBarry Smith EXTERN int PetscOptionsString(char*,char*,char*,char*,char*,int,PetscTruth*); 56b0a32e0cSBarry Smith EXTERN int PetscOptionsLogical(char*,char*,char*,PetscTruth,PetscTruth*,PetscTruth*); 57b0a32e0cSBarry Smith EXTERN int PetscOptionsLogicalGroupBegin(char*,char*,char*,PetscTruth*); 58b0a32e0cSBarry Smith EXTERN int PetscOptionsLogicalGroup(char*,char*,char*,PetscTruth*); 59b0a32e0cSBarry Smith EXTERN int PetscOptionsLogicalGroupEnd(char*,char*,char*,PetscTruth*); 60b0a32e0cSBarry Smith EXTERN int PetscOptionsList(char*,char*,char*,PetscFList,char*,char*,int,PetscTruth*); 61b0a32e0cSBarry Smith EXTERN int PetscOptionsEList(char*,char*,char*,char**,int,char*,char *,int,PetscTruth*); 62f6275e2eSBarry Smith EXTERN int PetscOptionsRealArray(char*,char*,char*,PetscReal[],int*,PetscTruth*); 63*9da8ff0dSBarry Smith EXTERN int PetscOptionsIntArray(char*,char*,char*,int[],int*,PetscTruth*); 64b0a32e0cSBarry Smith EXTERN int PetscOptionsStringArray(char*,char*,char*,char**,int*,PetscTruth*); 653a3b2205SBarry Smith #endif 664bbc92c1SBarry Smith 674bbc92c1SBarry Smith 68