1*b0a32e0cSBarry Smith /* $Id: petscoptions.h,v 1.42 2000/09/22 20:47:47 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 9*b0a32e0cSBarry Smith EXTERN int PetscOptionsHasName(const char[],const char[],PetscTruth*); 10*b0a32e0cSBarry Smith EXTERN int PetscOptionsGetInt(const char[],const char [],int *,PetscTruth*); 11*b0a32e0cSBarry Smith EXTERN int PetscOptionsGetLogical(const char[],const char [],PetscTruth *,PetscTruth*); 12*b0a32e0cSBarry Smith EXTERN int PetscOptionsGetDouble(const char[],const char[],double *,PetscTruth*); 13*b0a32e0cSBarry Smith EXTERN int PetscOptionsGetScalar(const char[],const char[],Scalar *,PetscTruth*); 14*b0a32e0cSBarry Smith EXTERN int PetscOptionsGetIntArray(const char[],const char[],int[],int *,PetscTruth*); 15*b0a32e0cSBarry Smith EXTERN int PetscOptionsGetDoubleArray(const char[],const char[],double[],int *,PetscTruth*); 16*b0a32e0cSBarry Smith EXTERN int PetscOptionsGetString(const char[],const char[],char[],int,PetscTruth*); 17*b0a32e0cSBarry Smith EXTERN int PetscOptionsGetStringArray(const char[],const char[],char**,int*,PetscTruth*); 183a3b2205SBarry Smith 19*b0a32e0cSBarry Smith EXTERN int PetscOptionsSetAlias(const char[],const char[]); 20*b0a32e0cSBarry Smith EXTERN int PetscOptionsSetValue(const char[],const char[]); 21*b0a32e0cSBarry Smith EXTERN int PetscOptionsClearValue(const char[]); 223a3b2205SBarry Smith 23*b0a32e0cSBarry Smith EXTERN int PetscOptionsAllUsed(int *); 24*b0a32e0cSBarry Smith EXTERN int PetscOptionsLeft(void); 25*b0a32e0cSBarry Smith EXTERN int PetscOptionsPrint(FILE *); 264b0e389bSBarry Smith 27*b0a32e0cSBarry Smith EXTERN int PetscOptionsCreate(void); 28*b0a32e0cSBarry Smith EXTERN int PetscOptionsInsert(int *,char ***,const char[]); 29*b0a32e0cSBarry Smith EXTERN int PetscOptionsInsertFile(const char[]); 30*b0a32e0cSBarry Smith EXTERN int PetscOptionsDestroy(void); 315d0dffe5SBarry Smith 32*b0a32e0cSBarry Smith EXTERN int PetscOptionsReject(const char[],const char[]); 33*b0a32e0cSBarry Smith EXTERN int PetscOptionsGetAll(char*[]); 345d0dffe5SBarry Smith 35*b0a32e0cSBarry Smith EXTERN int PetscOptionsGetenv(MPI_Comm,const char *,char[],int,PetscTruth *); 36*b0a32e0cSBarry Smith EXTERN int PetscOptionsAtoi(const char[],int*); 37*b0a32e0cSBarry Smith EXTERN int PetscOptionsAtod(const char[],double*); 382e8a6d31SBarry Smith 39*b0a32e0cSBarry Smith extern PetscTruth PetscOptionsPublish; 40*b0a32e0cSBarry Smith extern int PetscOptionsPublishCount; 41*b0a32e0cSBarry Smith #define PetscOptionsBegin(comm,prefix,mess,sec) 0; {\ 42*b0a32e0cSBarry Smith for (PetscOptionsPublishCount=(PetscOptionsPublish?-1:1); PetscOptionsPublishCount<2; PetscOptionsPublishCount++) {\ 43*b0a32e0cSBarry Smith int __ierr = PetscOptionsBegin_Private(comm,prefix,mess,sec);CHKERRQ(__ierr); 44*b0a32e0cSBarry Smith #define PetscOptionsEnd() __ierr = PetscOptionsEnd_Private();CHKERRQ(__ierr);}} 45*b0a32e0cSBarry Smith EXTERN int PetscOptionsBegin_Private(MPI_Comm,char*,char*,char*); 46*b0a32e0cSBarry Smith EXTERN int PetscOptionsEnd_Private(void); 47*b0a32e0cSBarry Smith EXTERN int PetscOptionsHead(char*); 48*b0a32e0cSBarry Smith #define PetscOptionsTail() 0; {if (PetscOptionsPublishCount != 1) PetscFunctionReturn(0);} 49186905e3SBarry Smith 50*b0a32e0cSBarry Smith EXTERN int PetscOptionsInt(char*,char*,char*,int,int*,PetscTruth*); 51*b0a32e0cSBarry Smith EXTERN int PetscOptionsDouble(char*,char*,char*,double,double*,PetscTruth*); 52*b0a32e0cSBarry Smith EXTERN int PetscOptionsScalar(char*,char*,char*,Scalar,Scalar*,PetscTruth*); 53*b0a32e0cSBarry Smith EXTERN int PetscOptionsName(char*,char*,char*,PetscTruth*); 54*b0a32e0cSBarry Smith EXTERN int PetscOptionsString(char*,char*,char*,char*,char*,int,PetscTruth*); 55*b0a32e0cSBarry Smith EXTERN int PetscOptionsLogical(char*,char*,char*,PetscTruth,PetscTruth*,PetscTruth*); 56*b0a32e0cSBarry Smith EXTERN int PetscOptionsLogicalGroupBegin(char*,char*,char*,PetscTruth*); 57*b0a32e0cSBarry Smith EXTERN int PetscOptionsLogicalGroup(char*,char*,char*,PetscTruth*); 58*b0a32e0cSBarry Smith EXTERN int PetscOptionsLogicalGroupEnd(char*,char*,char*,PetscTruth*); 59*b0a32e0cSBarry Smith EXTERN int PetscOptionsList(char*,char*,char*,PetscFList,char*,char*,int,PetscTruth*); 60*b0a32e0cSBarry Smith EXTERN int PetscOptionsEList(char*,char*,char*,char**,int,char*,char *,int,PetscTruth*); 61*b0a32e0cSBarry Smith EXTERN int PetscOptionsDoubleArray(char*,char*,char*,double[],int*,PetscTruth*); 62*b0a32e0cSBarry Smith EXTERN int PetscOptionsStringArray(char*,char*,char*,char**,int*,PetscTruth*); 633a3b2205SBarry Smith #endif 644bbc92c1SBarry Smith 654bbc92c1SBarry Smith 66