1*ef66eb69SBarry Smith /* $Id: petscoptions.h,v 1.45 2001/08/07 21:32:24 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*); 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[]); 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*); 3787828ca2SBarry 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++) {\ 43*ef66eb69SBarry Smith int _5_ierr = PetscOptionsBegin_Private(comm,prefix,mess,sec);CHKERRQ(_5_ierr); 44*ef66eb69SBarry Smith #define PetscOptionsEnd() _5_ierr = PetscOptionsEnd_Private();CHKERRQ(_5_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*); 51f6275e2eSBarry Smith EXTERN int PetscOptionsReal(char*,char*,char*,PetscReal,PetscReal*,PetscTruth*); 5287828ca2SBarry 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*); 61f6275e2eSBarry Smith EXTERN int PetscOptionsRealArray(char*,char*,char*,PetscReal[],int*,PetscTruth*); 62b0a32e0cSBarry Smith EXTERN int PetscOptionsStringArray(char*,char*,char*,char**,int*,PetscTruth*); 633a3b2205SBarry Smith #endif 644bbc92c1SBarry Smith 654bbc92c1SBarry Smith 66