108d2ac07SCameron Smith /* Routine contains the structures for reading the user input through 208d2ac07SCameron Smith input_fform.cpp. The default values for all these variables are defined in 308d2ac07SCameron Smith input.config. 408d2ac07SCameron Smith 508d2ac07SCameron Smith Input variables that have been previously declared in common.h have to be 608d2ac07SCameron Smith re-declared here, in a consistant structure.*/ 759599516SKenneth E. Jansen 859599516SKenneth E. Jansen #include <FCMangle.h> 959599516SKenneth E. Jansen 1059599516SKenneth E. Jansen #define workfc FortranCInterface_GLOBAL_(workfc,WORKFC) 1159599516SKenneth E. Jansen #define fronts FortranCInterface_GLOBAL_(fronts,FRONTS) 1259599516SKenneth E. Jansen #define newdim FortranCInterface_GLOBAL_(newdim,NEWDIM) 1359599516SKenneth E. Jansen #define timer4 FortranCInterface_GLOBAL_(timer4,TIMER4) 1459599516SKenneth E. Jansen #define extrat FortranCInterface_GLOBAL_(extrat,EXTRAT) 1559599516SKenneth E. Jansen #define spongevar FortranCInterface_GLOBAL_(spongevar,SPONGEVAR) 1659599516SKenneth E. Jansen #define turbvar FortranCInterface_GLOBAL_(turbvar,TURBVAR) 1759599516SKenneth E. Jansen #define turbvari FortranCInterface_GLOBAL_(turbvari,TURBVARI) 1859599516SKenneth E. Jansen #define mpistats FortranCInterface_GLOBAL_(mpistats,MPISTATS) 1959599516SKenneth E. Jansen #define memstats FortranCInterface_GLOBAL_(memstats,MEMSTATS) 2059599516SKenneth E. Jansen #define spebcvr FortranCInterface_GLOBAL_(spebcvr,SPEBCVR) 2159599516SKenneth E. Jansen #define aerfrc FortranCInterface_GLOBAL_(aerfrc,AERFRC) 2259599516SKenneth E. Jansen #define astore FortranCInterface_GLOBAL_(astore,ASTORE) 2359599516SKenneth E. Jansen #define conpar FortranCInterface_GLOBAL_(conpar,CONPAR) 2459599516SKenneth E. Jansen #define ctrlvari FortranCInterface_GLOBAL_(ctrlvari,CTRLVARI) 2559599516SKenneth E. Jansen #define ctrlvar FortranCInterface_GLOBAL_(ctrlvar,CTRLVAR) 2659599516SKenneth E. Jansen #define shpdat FortranCInterface_GLOBAL_(shpdat,SHPDAT) 2759599516SKenneth E. Jansen #define datpnt FortranCInterface_GLOBAL_(datpnt,DATPNT) 2859599516SKenneth E. Jansen #define elmpar FortranCInterface_GLOBAL_(elmpar,ELMPAR) 2959599516SKenneth E. Jansen #define genpar FortranCInterface_GLOBAL_(genpar,GENPAR) 3059599516SKenneth E. Jansen #define inpdat FortranCInterface_GLOBAL_(inpdat,INPDAT) 3159599516SKenneth E. Jansen #define intdat FortranCInterface_GLOBAL_(intdat,INTDAT) 3259599516SKenneth E. Jansen #define mio FortranCInterface_GLOBAL_(mio,MIO) 3359599516SKenneth E. Jansen #define mioname FortranCInterface_GLOBAL_(mioname,MIONAME) 3459599516SKenneth E. Jansen #define itrpar FortranCInterface_GLOBAL_(itrpar,ITRPAR) 3559599516SKenneth E. Jansen #define itrpnt FortranCInterface_GLOBAL_(itrpnt,ITRPNT) 3659599516SKenneth E. Jansen #define matdat FortranCInterface_GLOBAL_(matdat,MATDAT) 3759599516SKenneth E. Jansen #define mmatpar FortranCInterface_GLOBAL_(mmatpar,MMATPAR) 3859599516SKenneth E. Jansen #define outpar FortranCInterface_GLOBAL_(outpar,OUTPAR) 3959599516SKenneth E. Jansen #define point FortranCInterface_GLOBAL_(point,POINT) 4059599516SKenneth E. Jansen #define precis FortranCInterface_GLOBAL_(precis,PRECIS) 4159599516SKenneth E. Jansen #define propar FortranCInterface_GLOBAL_(propar,PROPAR) 4259599516SKenneth E. Jansen #define resdat FortranCInterface_GLOBAL_(resdat,RESDAT) 4359599516SKenneth E. Jansen #define solpar FortranCInterface_GLOBAL_(solpar,SOLPAR) 4459599516SKenneth E. Jansen #define timdat FortranCInterface_GLOBAL_(timdat,TIMDAT) 4559599516SKenneth E. Jansen #define timpar FortranCInterface_GLOBAL_(timpar,TIMPAR) 4659599516SKenneth E. Jansen #define incomp FortranCInterface_GLOBAL_(incomp,INCOMP) 4759599516SKenneth E. Jansen #define mtimer1 FortranCInterface_GLOBAL_(mtimer1,MTIMER1) 4859599516SKenneth E. Jansen #define mtimer2 FortranCInterface_GLOBAL_(mtimer2,MTIMER2) 4959599516SKenneth E. Jansen #define timer3 FortranCInterface_GLOBAL_(timer3,TIMER3) 5059599516SKenneth E. Jansen #define title FortranCInterface_GLOBAL_(title,TITLE) 5159599516SKenneth E. Jansen #define sclrs FortranCInterface_GLOBAL_(sclrs,SCLRS) 5259599516SKenneth E. Jansen #define levlset FortranCInterface_GLOBAL_(levlset,LEVLSET) 5359599516SKenneth E. Jansen #define nomodule FortranCInterface_GLOBAL_(nomodule,NOMODULE) 5459599516SKenneth E. Jansen #define sequence FortranCInterface_GLOBAL_(sequence,SEQUENCE) 5559599516SKenneth E. Jansen #define amgvarr FortranCInterface_GLOBAL_(amgvarr,AMGVARR) 5659599516SKenneth E. Jansen #define amgvari FortranCInterface_GLOBAL_(amgvari,AMGVARI) 5759599516SKenneth E. Jansen 5859599516SKenneth E. Jansen #define MAXBLK 50000 5959599516SKenneth E. Jansen #define MAXSURF 30 6059599516SKenneth E. Jansen #define MAXTS 100 6159599516SKenneth E. Jansen #define MAXTOP 6 6259599516SKenneth E. Jansen #define MAXQPT 125 6359599516SKenneth E. Jansen #define MAXSH 32 6459599516SKenneth E. Jansen #define NSD 3 6559599516SKenneth E. Jansen #define NSDSQ 9 6659599516SKenneth E. Jansen #define machin 'RS/6000' 6759599516SKenneth E. Jansen #define machfl 4 6859599516SKenneth E. Jansen #define zero 0.0000000000000000000000000000000d0 6959599516SKenneth E. Jansen #define pt125 0.1250000000000000000000000000000d0 7059599516SKenneth E. Jansen #define pt25 0.2500000000000000000000000000000d0 7159599516SKenneth E. Jansen #define pt33 0.3333333333333333333333333333333d0 7259599516SKenneth E. Jansen #define pt39 0.3968502629920498686879264098181d0 7359599516SKenneth E. Jansen #define pt5 0.5000000000000000000000000000000d0 7459599516SKenneth E. Jansen #define pt57 0.5773502691896257645091487805020d0 7559599516SKenneth E. Jansen #define pt66 0.6666666666666666666666666666667d0 7659599516SKenneth E. Jansen #define pt75 0.7500000000000000000000000000000d0 7759599516SKenneth E. Jansen #define one 1.0000000000000000000000000000000d0 7859599516SKenneth E. Jansen #define sqt2 1.4142135623730950488016887242097d0 7959599516SKenneth E. Jansen #define onept5 1.5000000000000000000000000000000d0 8059599516SKenneth E. Jansen #define two 2.0000000000000000000000000000000d0 8159599516SKenneth E. Jansen #define three 3.0000000000000000000000000000000d0 8259599516SKenneth E. Jansen #define four 4.0000000000000000000000000000000d0 8359599516SKenneth E. Jansen #define five 5.0000000000000000000000000000000d0 8459599516SKenneth E. Jansen #define pi 3.1415926535897932384626433832795d0 8559599516SKenneth E. Jansen #define inv1024sq 9.5367431640625e-7 8659599516SKenneth E. Jansen 8759599516SKenneth E. Jansen #ifdef __cplusplus 8859599516SKenneth E. Jansen extern "C" { 8959599516SKenneth E. Jansen #endif 9059599516SKenneth E. Jansen extern struct { 9159599516SKenneth E. Jansen int master; 9259599516SKenneth E. Jansen int numpe; 9359599516SKenneth E. Jansen int myrank; 9459599516SKenneth E. Jansen } workfc ; 9559599516SKenneth E. Jansen 9659599516SKenneth E. Jansen extern struct { 9759599516SKenneth E. Jansen int maxfront; 9859599516SKenneth E. Jansen int nlwork; 9959599516SKenneth E. Jansen } fronts ; 10059599516SKenneth E. Jansen 10159599516SKenneth E. Jansen extern struct { 10259599516SKenneth E. Jansen int numper; 10359599516SKenneth E. Jansen int nshgt; 10459599516SKenneth E. Jansen int nshg0; 10559599516SKenneth E. Jansen } newdim ; 10659599516SKenneth E. Jansen 10759599516SKenneth E. Jansen extern struct { 10859599516SKenneth E. Jansen double birth; 10959599516SKenneth E. Jansen double death; 11059599516SKenneth E. Jansen double comtim; 11159599516SKenneth E. Jansen } timer4 ; 11259599516SKenneth E. Jansen 11359599516SKenneth E. Jansen extern struct { 11459599516SKenneth E. Jansen double ttim[100]; 11559599516SKenneth E. Jansen } extrat ; 11659599516SKenneth E. Jansen 11759599516SKenneth E. Jansen extern struct { 11859599516SKenneth E. Jansen double zoutsponge, radsponge, zinsponge, grthosponge, grthisponge; 11959599516SKenneth E. Jansen double betamax; 12059599516SKenneth E. Jansen int spongecontinuity, spongemomentum1, spongemomentum2; 12159599516SKenneth E. Jansen int spongeenergy, spongemomentum3; 12259599516SKenneth E. Jansen } spongevar ; 12359599516SKenneth E. Jansen 12459599516SKenneth E. Jansen extern struct { 12559599516SKenneth E. Jansen double eles; 12659599516SKenneth E. Jansen double ylimit[9][3]; /* 9 = 5 + 4 = puvwT + 4Scalars */ 12759599516SKenneth E. Jansen double rampmdot[3][2]; 12859599516SKenneth E. Jansen double rmutarget; 12959599516SKenneth E. Jansen double pzero; 13059599516SKenneth E. Jansen double wtavei; 13159599516SKenneth E. Jansen double dtavei; 13259599516SKenneth E. Jansen double dke; 13359599516SKenneth E. Jansen double fwr1; 13459599516SKenneth E. Jansen double flump; 13559599516SKenneth E. Jansen double DES_SA_hmin; 13659599516SKenneth E. Jansen int ierrcalc; 13759599516SKenneth E. Jansen int ihessian; 13859599516SKenneth E. Jansen int itwmod; 13959599516SKenneth E. Jansen int ngaussf; 14059599516SKenneth E. Jansen int idim; 14159599516SKenneth E. Jansen int nlist; 14259599516SKenneth E. Jansen int nintf[MAXTOP]; 14359599516SKenneth E. Jansen } turbvar ; 14459599516SKenneth E. Jansen 14559599516SKenneth E. Jansen extern struct { 14659599516SKenneth E. Jansen int irans, iles, idistcalc, isubmod; 14759599516SKenneth E. Jansen int ifproj; 14859599516SKenneth E. Jansen int i2filt; 14959599516SKenneth E. Jansen int modlstats; 15059599516SKenneth E. Jansen int idis; 15159599516SKenneth E. Jansen int nohomog; 15259599516SKenneth E. Jansen int ierrsmooth; 15359599516SKenneth E. Jansen int iramp; 15459599516SKenneth E. Jansen 15559599516SKenneth E. Jansen /* int itwmod; */ 15659599516SKenneth E. Jansen /* double rtavei; */ 15759599516SKenneth E. Jansen /* int ierrcalc; */ 15859599516SKenneth E. Jansen } turbvari ; 15959599516SKenneth E. Jansen 16059599516SKenneth E. Jansen extern struct { 16159599516SKenneth E. Jansen int iISend; 16259599516SKenneth E. Jansen int iISendScal; 16359599516SKenneth E. Jansen int iIRecv; 16459599516SKenneth E. Jansen int iIRecvScal; 16559599516SKenneth E. Jansen int iWaitAll; 16659599516SKenneth E. Jansen int iWaitAllScal; 16759599516SKenneth E. Jansen int iAllR; 16859599516SKenneth E. Jansen int iAllRScal; 16959599516SKenneth E. Jansen int impistat; 17059599516SKenneth E. Jansen int impistat2; 17159599516SKenneth E. Jansen double rmpitmr; 17259599516SKenneth E. Jansen double rISend; 17359599516SKenneth E. Jansen double rISendScal; 17459599516SKenneth E. Jansen double rIRecv; 17559599516SKenneth E. Jansen double rIRecvScal; 17659599516SKenneth E. Jansen double rWaitAll; 17759599516SKenneth E. Jansen double rWaitAllScal; 17859599516SKenneth E. Jansen double rAllR; 17959599516SKenneth E. Jansen double rAllRScal; 18059599516SKenneth E. Jansen double rCommu; 18159599516SKenneth E. Jansen double rCommuScal; 18259599516SKenneth E. Jansen } mpistats ; 18359599516SKenneth E. Jansen 18459599516SKenneth E. Jansen extern struct { 18559599516SKenneth E. Jansen double rheap; 18659599516SKenneth E. Jansen double rheapavail; 18759599516SKenneth E. Jansen double rstack; 18859599516SKenneth E. Jansen double rstackavail; 18959599516SKenneth E. Jansen double rshared; 19059599516SKenneth E. Jansen double rpersist; 19159599516SKenneth E. Jansen double rguard; 19259599516SKenneth E. Jansen double rmmap; 19359599516SKenneth E. Jansen } memstats ; 19459599516SKenneth E. Jansen 19559599516SKenneth E. Jansen 19659599516SKenneth E. Jansen extern struct { 19759599516SKenneth E. Jansen int irscale; 19859599516SKenneth E. Jansen int intpres; 19959599516SKenneth E. Jansen double plandist; 20059599516SKenneth E. Jansen double thetag; 20159599516SKenneth E. Jansen double ds; 20259599516SKenneth E. Jansen double tolerence; 20359599516SKenneth E. Jansen double radcyl; 20459599516SKenneth E. Jansen double rbltin; 20559599516SKenneth E. Jansen double rvscal; 20659599516SKenneth E. Jansen } spebcvr ; 20759599516SKenneth E. Jansen 20859599516SKenneth E. Jansen extern struct { 20959599516SKenneth E. Jansen double scdiff[5]; 21059599516SKenneth E. Jansen double tdecay; 21159599516SKenneth E. Jansen int nsclr, isclr,nsolt, nosource; 21259599516SKenneth E. Jansen int consrv_sclr_conv_vel; 21359599516SKenneth E. Jansen } sclrs; 21459599516SKenneth E. Jansen 21559599516SKenneth E. Jansen extern struct { 21659599516SKenneth E. Jansen double flxID[MAXSURF+1][10] ; 21759599516SKenneth E. Jansen double Force[3]; 21859599516SKenneth E. Jansen double HFlux; 21959599516SKenneth E. Jansen int nsrflist[MAXSURF+1]; 22059599516SKenneth E. Jansen int isrfIM; 22159599516SKenneth E. Jansen double flxIDsclr[MAXSURF][4]; 22259599516SKenneth E. Jansen int irankfilesforce[MAXSURF+1]; 22359599516SKenneth E. Jansen } aerfrc ; 22459599516SKenneth E. Jansen 22559599516SKenneth E. Jansen extern struct { 22659599516SKenneth E. Jansen double a[100000]; 22759599516SKenneth E. Jansen } astore ; 22859599516SKenneth E. Jansen 22959599516SKenneth E. Jansen extern struct { 23059599516SKenneth E. Jansen int numnp; 23159599516SKenneth E. Jansen int numel; 23259599516SKenneth E. Jansen int numelb; 23359599516SKenneth E. Jansen int numpbc; 23459599516SKenneth E. Jansen int nen; 23559599516SKenneth E. Jansen int nfaces; 23659599516SKenneth E. Jansen int numflx; 23759599516SKenneth E. Jansen int ndof; 23859599516SKenneth E. Jansen int iALE; 23959599516SKenneth E. Jansen int icoord; 24059599516SKenneth E. Jansen int navier; 24159599516SKenneth E. Jansen int irs; 24259599516SKenneth E. Jansen int iexec; 24359599516SKenneth E. Jansen int necho; 24459599516SKenneth E. Jansen int ichem; 24559599516SKenneth E. Jansen int iRK; 24659599516SKenneth E. Jansen int nedof; 24759599516SKenneth E. Jansen int nshg; 24859599516SKenneth E. Jansen int nnz; 24959599516SKenneth E. Jansen int istop; 25059599516SKenneth E. Jansen int nflow; 25159599516SKenneth E. Jansen int nnz_tot; 25259599516SKenneth E. Jansen int idtn; 25359599516SKenneth E. Jansen } conpar ; 25459599516SKenneth E. Jansen 25559599516SKenneth E. Jansen /*chen Sep 25 2009 Flow Control Parameters*/ 25659599516SKenneth E. Jansen extern struct{ 25759599516SKenneth E. Jansen int iI2Binlet; 25859599516SKenneth E. Jansen int isetOutPres; 25959599516SKenneth E. Jansen int isetInitial; 26059599516SKenneth E. Jansen } ctrlvari; 26159599516SKenneth E. Jansen 26259599516SKenneth E. Jansen extern struct{ 26359599516SKenneth E. Jansen double inletVelX; 26459599516SKenneth E. Jansen double outPres1; 26559599516SKenneth E. Jansen double xvel_ini; 26659599516SKenneth E. Jansen double yvel_ini; 26759599516SKenneth E. Jansen double zvel_ini; 26859599516SKenneth E. Jansen double temp_ini; 26959599516SKenneth E. Jansen double pres_ini; 27059599516SKenneth E. Jansen double evis_ini; 27159599516SKenneth E. Jansen } ctrlvar; 27259599516SKenneth E. Jansen 27359599516SKenneth E. Jansen extern struct { 27459599516SKenneth E. Jansen double epsilon_ls; 27559599516SKenneth E. Jansen double epsilon_lsd; 27659599516SKenneth E. Jansen double dtlset; 27759599516SKenneth E. Jansen int iLSet; 27859599516SKenneth E. Jansen int ivconstraint; 27959599516SKenneth E. Jansen int iExpLSSclr1; 28059599516SKenneth E. Jansen int iExpLSSclr2; 28159599516SKenneth E. Jansen } levlset; 28259599516SKenneth E. Jansen 28359599516SKenneth E. Jansen extern struct { 28459599516SKenneth E. Jansen int nshape; 28559599516SKenneth E. Jansen int nshapeb; 28659599516SKenneth E. Jansen int maxshb; 28759599516SKenneth E. Jansen int nshl; 28859599516SKenneth E. Jansen int nshlb; 28959599516SKenneth E. Jansen int nfath; 29059599516SKenneth E. Jansen int ntopsh; 29159599516SKenneth E. Jansen int nsonmax; 29259599516SKenneth E. Jansen } shpdat ; 29359599516SKenneth E. Jansen 29459599516SKenneth E. Jansen extern struct { 29559599516SKenneth E. Jansen int mshp; 29659599516SKenneth E. Jansen int mshgl; 29759599516SKenneth E. Jansen int mwght; 29859599516SKenneth E. Jansen int mshpb; 29959599516SKenneth E. Jansen int mshglb; 30059599516SKenneth E. Jansen int mwghtb; 30159599516SKenneth E. Jansen int mmut; 30259599516SKenneth E. Jansen int mrhot; 30359599516SKenneth E. Jansen int mxst; 30459599516SKenneth E. Jansen } datpnt ; 30559599516SKenneth E. Jansen 30659599516SKenneth E. Jansen extern struct { 30759599516SKenneth E. Jansen int lelCat; 30859599516SKenneth E. Jansen int lcsyst; 30959599516SKenneth E. Jansen int iorder; 31059599516SKenneth E. Jansen int nenb; 31159599516SKenneth E. Jansen int nelblk; 31259599516SKenneth E. Jansen int nelblb; 31359599516SKenneth E. Jansen int ndofl; 31459599516SKenneth E. Jansen int nsymdl; 31559599516SKenneth E. Jansen int nenl; 31659599516SKenneth E. Jansen int nfacel; 31759599516SKenneth E. Jansen int nenbl; 31859599516SKenneth E. Jansen int intind; 31959599516SKenneth E. Jansen int mattyp; 32059599516SKenneth E. Jansen } elmpar ; 32159599516SKenneth E. Jansen 32259599516SKenneth E. Jansen extern struct { 32359599516SKenneth E. Jansen double E3nsd; 32459599516SKenneth E. Jansen int I3nsd; 32559599516SKenneth E. Jansen int nsymdf; 32659599516SKenneth E. Jansen int ndofBC; 32759599516SKenneth E. Jansen int ndiBCB; 32859599516SKenneth E. Jansen int ndBCB; 32959599516SKenneth E. Jansen int Jactyp; 33059599516SKenneth E. Jansen int jump; 33159599516SKenneth E. Jansen int ires; 33259599516SKenneth E. Jansen int iprec; 33359599516SKenneth E. Jansen int iprev; 33459599516SKenneth E. Jansen int ibound; 33559599516SKenneth E. Jansen int idiff; 33659599516SKenneth E. Jansen int lhs; 33759599516SKenneth E. Jansen int itau; 33859599516SKenneth E. Jansen int ipord; 33959599516SKenneth E. Jansen int ipred; 34059599516SKenneth E. Jansen int lstres; 34159599516SKenneth E. Jansen int iepstm; 34259599516SKenneth E. Jansen double dtsfct; 34359599516SKenneth E. Jansen double taucfct; 34459599516SKenneth E. Jansen int ibksiz; 34559599516SKenneth E. Jansen int iabc; 34659599516SKenneth E. Jansen int isurf; 34759599516SKenneth E. Jansen int idflx; 34859599516SKenneth E. Jansen double Bo; 34959599516SKenneth E. Jansen int EntropyPressure; 35059599516SKenneth E. Jansen int irampViscOutlet; 35159599516SKenneth E. Jansen int istretchOutlet; 35259599516SKenneth E. Jansen int iremoveStabTimeTerm; 35359599516SKenneth E. Jansen } genpar ; 35459599516SKenneth E. Jansen 35559599516SKenneth E. Jansen extern struct { 35659599516SKenneth E. Jansen double epstol[6]; /* 1+ max number of scalars (beginning of the 35759599516SKenneth E. Jansen end of time sequences) */ 35859599516SKenneth E. Jansen double Delt[MAXTS]; 35959599516SKenneth E. Jansen double CFLfl[MAXTS]; 36059599516SKenneth E. Jansen double CFLsl[MAXTS]; 36159599516SKenneth E. Jansen int nstep[MAXTS]; 36259599516SKenneth E. Jansen int niter[MAXTS]; 36359599516SKenneth E. Jansen int impl[MAXTS]; 36459599516SKenneth E. Jansen double rhoinf[MAXTS]; 36559599516SKenneth E. Jansen int LHSupd[6]; 36659599516SKenneth E. Jansen int loctim[MAXTS]; 36759599516SKenneth E. Jansen double deltol[2][MAXTS]; 368*f4e2c78fSKenneth E. Jansen int svLSFlag; 369*f4e2c78fSKenneth E. Jansen int svLSType; 37059599516SKenneth E. Jansen } inpdat ; 37159599516SKenneth E. Jansen 37259599516SKenneth E. Jansen extern struct { 37359599516SKenneth E. Jansen int iin; 37459599516SKenneth E. Jansen int igeom; 37559599516SKenneth E. Jansen int ipar; 37659599516SKenneth E. Jansen int ibndc; 37759599516SKenneth E. Jansen int imat; 37859599516SKenneth E. Jansen int iecho; 37959599516SKenneth E. Jansen int iout; 38059599516SKenneth E. Jansen int ichmou; 38159599516SKenneth E. Jansen int irstin; 38259599516SKenneth E. Jansen int irstou; 38359599516SKenneth E. Jansen int ihist; 38459599516SKenneth E. Jansen int iflux; 38559599516SKenneth E. Jansen int ierror; 38659599516SKenneth E. Jansen int itable; 38759599516SKenneth E. Jansen int iforce; 38859599516SKenneth E. Jansen int igraph; 38959599516SKenneth E. Jansen int itime; 39059599516SKenneth E. Jansen } mio ; 39159599516SKenneth E. Jansen 39259599516SKenneth E. Jansen extern struct { 39359599516SKenneth E. Jansen double fin; 39459599516SKenneth E. Jansen double fgeom; 39559599516SKenneth E. Jansen double fpar; 39659599516SKenneth E. Jansen double fbndc; 39759599516SKenneth E. Jansen double fmat; 39859599516SKenneth E. Jansen double fecho; 39959599516SKenneth E. Jansen double frstin; 40059599516SKenneth E. Jansen double frstou; 40159599516SKenneth E. Jansen double fhist; 40259599516SKenneth E. Jansen double ferror; 40359599516SKenneth E. Jansen double ftable; 40459599516SKenneth E. Jansen double fforce; 40559599516SKenneth E. Jansen double fgraph; 40659599516SKenneth E. Jansen double ftime; 40759599516SKenneth E. Jansen } mioname ; 40859599516SKenneth E. Jansen 40959599516SKenneth E. Jansen extern struct { 41059599516SKenneth E. Jansen double eGMRES; 41159599516SKenneth E. Jansen int lGMRES; 41259599516SKenneth E. Jansen int iKs; 41359599516SKenneth E. Jansen int ntotGM; 41459599516SKenneth E. Jansen } itrpar ; 41559599516SKenneth E. Jansen 41659599516SKenneth E. Jansen extern struct { 41759599516SKenneth E. Jansen int mHBrg; 41859599516SKenneth E. Jansen int meBrg; 41959599516SKenneth E. Jansen int myBrg; 42059599516SKenneth E. Jansen int mRcos; 42159599516SKenneth E. Jansen int mRsin; 42259599516SKenneth E. Jansen } itrpnt ; 42359599516SKenneth E. Jansen 42459599516SKenneth E. Jansen extern struct { 42559599516SKenneth E. Jansen double datmat[MAXTS][7][3]; 42659599516SKenneth E. Jansen int matflg[MAXTS][6]; 42759599516SKenneth E. Jansen int nummat; 42859599516SKenneth E. Jansen int mexist; 42959599516SKenneth E. Jansen } matdat ; 43059599516SKenneth E. Jansen 43159599516SKenneth E. Jansen extern struct { 43259599516SKenneth E. Jansen double pr, Planck, Stephan, Nh, Rh, Rgas; 43359599516SKenneth E. Jansen double gamma, gamma1, s0; 43408d2ac07SCameron Smith /*, const, xN2, xO2;*/ 43508d2ac07SCameron Smith /*double yN2, yO2, Msh[5], cpsh[5],s0sh[5],h0sh[5];*/ 43608d2ac07SCameron Smith /*double Rs[5], cps[5], cvs[5], h0s[5], Trot[5],sigs[5];*/ 43708d2ac07SCameron Smith /*double Tvib[5],g0s[5], dofs[5],ithm;*/ 43859599516SKenneth E. Jansen } mmatpar ; 43959599516SKenneth E. Jansen 44059599516SKenneth E. Jansen extern struct { 44159599516SKenneth E. Jansen double ro; 44259599516SKenneth E. Jansen double vel; 44359599516SKenneth E. Jansen double temper; 44459599516SKenneth E. Jansen double press; 44559599516SKenneth E. Jansen double entrop; 44659599516SKenneth E. Jansen int ntout; 44759599516SKenneth E. Jansen int ioform; 44859599516SKenneth E. Jansen int iowflux; 44959599516SKenneth E. Jansen int iofieldv; 45059599516SKenneth E. Jansen char iotype[80]; 45159599516SKenneth E. Jansen int ioybar; 45259599516SKenneth E. Jansen int nstepsincycle; 45359599516SKenneth E. Jansen int nphasesincycle; 45459599516SKenneth E. Jansen int ncycles_startphaseavg; 45559599516SKenneth E. Jansen int ivort; 45659599516SKenneth E. Jansen int icomputevort; 45759599516SKenneth E. Jansen int nsynciofiles; 45859599516SKenneth E. Jansen int nsynciofieldswriterestart; 45959599516SKenneth E. Jansen int iv_rankpercore; 46059599516SKenneth E. Jansen int iv_corepernode; 461d022ba44SCameron Smith int input_mode; //FIXME -1:streams, 0:posix, >0:syncio 462d022ba44SCameron Smith int output_mode; //FIXME -1:streams, 0:posix, >0:syncio 46359599516SKenneth E. Jansen /* int iostats; */ 46459599516SKenneth E. Jansen /* int ipresref; */ 46559599516SKenneth E. Jansen } outpar ; 46659599516SKenneth E. Jansen 46759599516SKenneth E. Jansen extern struct { 46859599516SKenneth E. Jansen int mbeg; 46959599516SKenneth E. Jansen int mend; 47059599516SKenneth E. Jansen int mprec; 47159599516SKenneth E. Jansen } point ; 47259599516SKenneth E. Jansen 47359599516SKenneth E. Jansen extern struct { 47459599516SKenneth E. Jansen double epsM; 47559599516SKenneth E. Jansen int iabres; 47659599516SKenneth E. Jansen } precis ; 47759599516SKenneth E. Jansen 47859599516SKenneth E. Jansen extern struct { 47959599516SKenneth E. Jansen int npro; 48059599516SKenneth E. Jansen } propar ; 48159599516SKenneth E. Jansen 48259599516SKenneth E. Jansen extern struct { 48359599516SKenneth E. Jansen double resfrt; 48459599516SKenneth E. Jansen } resdat ; 48559599516SKenneth E. Jansen 48659599516SKenneth E. Jansen extern struct { 48759599516SKenneth E. Jansen int imap; 48859599516SKenneth E. Jansen int ivart; 48959599516SKenneth E. Jansen int iDC; 49059599516SKenneth E. Jansen int iPcond; 49159599516SKenneth E. Jansen int Kspace; 49259599516SKenneth E. Jansen int nGMRES; 49359599516SKenneth E. Jansen int iconvflow; 49459599516SKenneth E. Jansen int iconvsclr; 49559599516SKenneth E. Jansen int idcsclr[2]; 49659599516SKenneth E. Jansen } solpar ; 49759599516SKenneth E. Jansen 49859599516SKenneth E. Jansen extern struct { 49959599516SKenneth E. Jansen double time; 50059599516SKenneth E. Jansen double CFLfld; 50159599516SKenneth E. Jansen double CFLsld; 50259599516SKenneth E. Jansen double Dtgl; 50359599516SKenneth E. Jansen double Dtmax; 50459599516SKenneth E. Jansen double alpha; 50559599516SKenneth E. Jansen double etol; 50659599516SKenneth E. Jansen int lstep; 50759599516SKenneth E. Jansen int ifunc; 50859599516SKenneth E. Jansen int itseq; 50959599516SKenneth E. Jansen int istep; 51059599516SKenneth E. Jansen int iter; 51159599516SKenneth E. Jansen int nitr; 51259599516SKenneth E. Jansen double almi; 51359599516SKenneth E. Jansen double alfi; 51459599516SKenneth E. Jansen double gami; 51559599516SKenneth E. Jansen double flmpl; 51659599516SKenneth E. Jansen double flmpr; 51759599516SKenneth E. Jansen double dtol[2]; 51859599516SKenneth E. Jansen int iCFLworst; 51959599516SKenneth E. Jansen int lskeep; 52059599516SKenneth E. Jansen } timdat ; 52159599516SKenneth E. Jansen 52259599516SKenneth E. Jansen extern struct { 52359599516SKenneth E. Jansen int LCtime; 52459599516SKenneth E. Jansen int ntseq; 52559599516SKenneth E. Jansen } timpar ; 52659599516SKenneth E. Jansen 52759599516SKenneth E. Jansen extern struct { 52859599516SKenneth E. Jansen int numeqns[100]; 52959599516SKenneth E. Jansen int minIters; 53059599516SKenneth E. Jansen int maxIters; 53159599516SKenneth E. Jansen int iprjFlag; 53259599516SKenneth E. Jansen int nPrjs; 53359599516SKenneth E. Jansen int ipresPrjFlag; 53459599516SKenneth E. Jansen int nPresPrjs; 53559599516SKenneth E. Jansen double prestol; 53659599516SKenneth E. Jansen double statsflow[6]; 53759599516SKenneth E. Jansen double statssclr[6]; 53859599516SKenneth E. Jansen int iverbose; 53959599516SKenneth E. Jansen } incomp ; 54059599516SKenneth E. Jansen 54159599516SKenneth E. Jansen extern struct { 54259599516SKenneth E. Jansen double ccode[13]; 54359599516SKenneth E. Jansen } mtimer1 ; 54459599516SKenneth E. Jansen 54559599516SKenneth E. Jansen extern struct { 54659599516SKenneth E. Jansen double flops; 54759599516SKenneth E. Jansen double gbytes; 54859599516SKenneth E. Jansen double sbytes; 54959599516SKenneth E. Jansen int iclock; 55059599516SKenneth E. Jansen int icd; 55159599516SKenneth E. Jansen int icode; 55259599516SKenneth E. Jansen int icode2; 55359599516SKenneth E. Jansen int icode3; 55459599516SKenneth E. Jansen } mtimer2 ; 55559599516SKenneth E. Jansen 55659599516SKenneth E. Jansen extern struct { 55759599516SKenneth E. Jansen double cpu[11]; 55859599516SKenneth E. Jansen double cpu0[11]; 55959599516SKenneth E. Jansen int nacess[11]; 56059599516SKenneth E. Jansen } timer3 ; 56159599516SKenneth E. Jansen 56259599516SKenneth E. Jansen extern struct { 56359599516SKenneth E. Jansen double title; 56459599516SKenneth E. Jansen int ititle; 56559599516SKenneth E. Jansen } title ; 56659599516SKenneth E. Jansen 56759599516SKenneth E. Jansen extern struct { 56859599516SKenneth E. Jansen int intg[MAXTS][2]; 56959599516SKenneth E. Jansen }intdat; 57059599516SKenneth E. Jansen 57159599516SKenneth E. Jansen extern struct { 57259599516SKenneth E. Jansen double bcttimescale; 57359599516SKenneth E. Jansen double ValueListResist[MAXSURF+1]; 57459599516SKenneth E. Jansen double rhovw; 57559599516SKenneth E. Jansen double thicknessvw; 57659599516SKenneth E. Jansen double evw; 57759599516SKenneth E. Jansen double rnuvw; 57859599516SKenneth E. Jansen double rshearconstantvw; 57959599516SKenneth E. Jansen double betai; 58059599516SKenneth E. Jansen int icardio; 58159599516SKenneth E. Jansen int itvn; 58259599516SKenneth E. Jansen int ipvsq; 58359599516SKenneth E. Jansen int numResistSrfs; 58459599516SKenneth E. Jansen int nsrflistResist[MAXSURF+1]; 58559599516SKenneth E. Jansen int numImpSrfs; 58659599516SKenneth E. Jansen int nsrflistImp[MAXSURF+1]; 58759599516SKenneth E. Jansen int impfile; 58859599516SKenneth E. Jansen int numRCRSrfs; 58959599516SKenneth E. Jansen int nsrflistRCR[MAXSURF+1]; 59059599516SKenneth E. Jansen int ircrfile; 59159599516SKenneth E. Jansen int ideformwall; 59259599516SKenneth E. Jansen int iwallmassfactor; 59359599516SKenneth E. Jansen int iwallstiffactor; 59459599516SKenneth E. Jansen int iviscflux; 59559599516SKenneth E. Jansen } nomodule; 59659599516SKenneth E. Jansen 59759599516SKenneth E. Jansen extern struct { 59859599516SKenneth E. Jansen int seqsize; 59959599516SKenneth E. Jansen int stepseq[100]; 60059599516SKenneth E. Jansen } sequence; 60159599516SKenneth E. Jansen 60259599516SKenneth E. Jansen extern struct { 60359599516SKenneth E. Jansen double strong_eps; /* strong criterion Stuben factor */ 60459599516SKenneth E. Jansen double ramg_eps; /* AMG convergence eps */ 60559599516SKenneth E. Jansen double ramg_relax; /* relaxation factor Gauss-Seidel/Jac*/ 60659599516SKenneth E. Jansen double ramg_trunc; /* truncation select */ 60759599516SKenneth E. Jansen double ramg_chebyratio; /* Eigen ratio for chebyshev smoothing */ 60859599516SKenneth E. Jansen } amgvarr ; 60959599516SKenneth E. Jansen 61059599516SKenneth E. Jansen extern struct { 61159599516SKenneth E. Jansen int irun_amg; /* Employ AMG feature solfar.f */ 61259599516SKenneth E. Jansen int irun_amg_prec; /* Run AMG as preconditioner to CG */ 61359599516SKenneth E. Jansen int iamg_verb; /* amg verbosity flag */ 61459599516SKenneth E. Jansen int iamg_neg_sten; /* neg only stencil or neg and pos */ 61559599516SKenneth E. Jansen int iamg_nlevel; /* number of levels 2-V etc. */ 61659599516SKenneth E. Jansen int iamg_c_solver; /* solve fine level iter. method */ 61759599516SKenneth E. Jansen int iamg_init; /* setup flag */ 61859599516SKenneth E. Jansen int iamg_setup_frez; /* how many solfars to re setup amg */ 61959599516SKenneth E. Jansen int iamg_interp; /* interpolation select */ 62059599516SKenneth E. Jansen int maxnev; /* total eigenvectors used for ggb*/ 62159599516SKenneth E. Jansen int maxncv; /* total iterative vectors for ggb*/ 62259599516SKenneth E. Jansen int iamg_smoother; /* Smoother type */ 62359599516SKenneth E. Jansen int mlsdeg; /* Polynomial Smoothing (MLS) degree */ 62459599516SKenneth E. Jansen int iamg_reduce; /* Run a reduced case */ 62559599516SKenneth E. Jansen } amgvari ; 62659599516SKenneth E. Jansen 62759599516SKenneth E. Jansen #ifdef __cplusplus 62859599516SKenneth E. Jansen } 62959599516SKenneth E. Jansen #endif 630