1*08d2ac07SCameron Smith /* Routine contains the structures for reading the user input through 2*08d2ac07SCameron Smith input_fform.cpp. The default values for all these variables are defined in 3*08d2ac07SCameron Smith input.config. 4*08d2ac07SCameron Smith 5*08d2ac07SCameron Smith Input variables that have been previously declared in common.h have to be 6*08d2ac07SCameron 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]; 36859599516SKenneth E. Jansen } inpdat ; 36959599516SKenneth E. Jansen 37059599516SKenneth E. Jansen extern struct { 37159599516SKenneth E. Jansen int iin; 37259599516SKenneth E. Jansen int igeom; 37359599516SKenneth E. Jansen int ipar; 37459599516SKenneth E. Jansen int ibndc; 37559599516SKenneth E. Jansen int imat; 37659599516SKenneth E. Jansen int iecho; 37759599516SKenneth E. Jansen int iout; 37859599516SKenneth E. Jansen int ichmou; 37959599516SKenneth E. Jansen int irstin; 38059599516SKenneth E. Jansen int irstou; 38159599516SKenneth E. Jansen int ihist; 38259599516SKenneth E. Jansen int iflux; 38359599516SKenneth E. Jansen int ierror; 38459599516SKenneth E. Jansen int itable; 38559599516SKenneth E. Jansen int iforce; 38659599516SKenneth E. Jansen int igraph; 38759599516SKenneth E. Jansen int itime; 38859599516SKenneth E. Jansen } mio ; 38959599516SKenneth E. Jansen 39059599516SKenneth E. Jansen extern struct { 39159599516SKenneth E. Jansen double fin; 39259599516SKenneth E. Jansen double fgeom; 39359599516SKenneth E. Jansen double fpar; 39459599516SKenneth E. Jansen double fbndc; 39559599516SKenneth E. Jansen double fmat; 39659599516SKenneth E. Jansen double fecho; 39759599516SKenneth E. Jansen double frstin; 39859599516SKenneth E. Jansen double frstou; 39959599516SKenneth E. Jansen double fhist; 40059599516SKenneth E. Jansen double ferror; 40159599516SKenneth E. Jansen double ftable; 40259599516SKenneth E. Jansen double fforce; 40359599516SKenneth E. Jansen double fgraph; 40459599516SKenneth E. Jansen double ftime; 40559599516SKenneth E. Jansen } mioname ; 40659599516SKenneth E. Jansen 40759599516SKenneth E. Jansen extern struct { 40859599516SKenneth E. Jansen double eGMRES; 40959599516SKenneth E. Jansen int lGMRES; 41059599516SKenneth E. Jansen int iKs; 41159599516SKenneth E. Jansen int ntotGM; 41259599516SKenneth E. Jansen } itrpar ; 41359599516SKenneth E. Jansen 41459599516SKenneth E. Jansen extern struct { 41559599516SKenneth E. Jansen int mHBrg; 41659599516SKenneth E. Jansen int meBrg; 41759599516SKenneth E. Jansen int myBrg; 41859599516SKenneth E. Jansen int mRcos; 41959599516SKenneth E. Jansen int mRsin; 42059599516SKenneth E. Jansen } itrpnt ; 42159599516SKenneth E. Jansen 42259599516SKenneth E. Jansen extern struct { 42359599516SKenneth E. Jansen double datmat[MAXTS][7][3]; 42459599516SKenneth E. Jansen int matflg[MAXTS][6]; 42559599516SKenneth E. Jansen int nummat; 42659599516SKenneth E. Jansen int mexist; 42759599516SKenneth E. Jansen } matdat ; 42859599516SKenneth E. Jansen 42959599516SKenneth E. Jansen extern struct { 43059599516SKenneth E. Jansen double pr, Planck, Stephan, Nh, Rh, Rgas; 43159599516SKenneth E. Jansen double gamma, gamma1, s0; 432*08d2ac07SCameron Smith /*, const, xN2, xO2;*/ 433*08d2ac07SCameron Smith /*double yN2, yO2, Msh[5], cpsh[5],s0sh[5],h0sh[5];*/ 434*08d2ac07SCameron Smith /*double Rs[5], cps[5], cvs[5], h0s[5], Trot[5],sigs[5];*/ 435*08d2ac07SCameron Smith /*double Tvib[5],g0s[5], dofs[5],ithm;*/ 43659599516SKenneth E. Jansen } mmatpar ; 43759599516SKenneth E. Jansen 43859599516SKenneth E. Jansen extern struct { 43959599516SKenneth E. Jansen double ro; 44059599516SKenneth E. Jansen double vel; 44159599516SKenneth E. Jansen double temper; 44259599516SKenneth E. Jansen double press; 44359599516SKenneth E. Jansen double entrop; 44459599516SKenneth E. Jansen int ntout; 44559599516SKenneth E. Jansen int ioform; 44659599516SKenneth E. Jansen int iowflux; 44759599516SKenneth E. Jansen int iofieldv; 44859599516SKenneth E. Jansen char iotype[80]; 44959599516SKenneth E. Jansen int ioybar; 45059599516SKenneth E. Jansen int nstepsincycle; 45159599516SKenneth E. Jansen int nphasesincycle; 45259599516SKenneth E. Jansen int ncycles_startphaseavg; 45359599516SKenneth E. Jansen int ivort; 45459599516SKenneth E. Jansen int icomputevort; 45559599516SKenneth E. Jansen int nsynciofiles; 45659599516SKenneth E. Jansen int nsynciofieldswriterestart; 45759599516SKenneth E. Jansen int iv_rankpercore; 45859599516SKenneth E. Jansen int iv_corepernode; 45959599516SKenneth E. Jansen /* int iostats; */ 46059599516SKenneth E. Jansen /* int ipresref; */ 46159599516SKenneth E. Jansen } outpar ; 46259599516SKenneth E. Jansen 46359599516SKenneth E. Jansen extern struct { 46459599516SKenneth E. Jansen int mbeg; 46559599516SKenneth E. Jansen int mend; 46659599516SKenneth E. Jansen int mprec; 46759599516SKenneth E. Jansen } point ; 46859599516SKenneth E. Jansen 46959599516SKenneth E. Jansen extern struct { 47059599516SKenneth E. Jansen double epsM; 47159599516SKenneth E. Jansen int iabres; 47259599516SKenneth E. Jansen } precis ; 47359599516SKenneth E. Jansen 47459599516SKenneth E. Jansen extern struct { 47559599516SKenneth E. Jansen int npro; 47659599516SKenneth E. Jansen } propar ; 47759599516SKenneth E. Jansen 47859599516SKenneth E. Jansen extern struct { 47959599516SKenneth E. Jansen double resfrt; 48059599516SKenneth E. Jansen } resdat ; 48159599516SKenneth E. Jansen 48259599516SKenneth E. Jansen extern struct { 48359599516SKenneth E. Jansen int imap; 48459599516SKenneth E. Jansen int ivart; 48559599516SKenneth E. Jansen int iDC; 48659599516SKenneth E. Jansen int iPcond; 48759599516SKenneth E. Jansen int Kspace; 48859599516SKenneth E. Jansen int nGMRES; 48959599516SKenneth E. Jansen int iconvflow; 49059599516SKenneth E. Jansen int iconvsclr; 49159599516SKenneth E. Jansen int idcsclr[2]; 49259599516SKenneth E. Jansen } solpar ; 49359599516SKenneth E. Jansen 49459599516SKenneth E. Jansen extern struct { 49559599516SKenneth E. Jansen double time; 49659599516SKenneth E. Jansen double CFLfld; 49759599516SKenneth E. Jansen double CFLsld; 49859599516SKenneth E. Jansen double Dtgl; 49959599516SKenneth E. Jansen double Dtmax; 50059599516SKenneth E. Jansen double alpha; 50159599516SKenneth E. Jansen double etol; 50259599516SKenneth E. Jansen int lstep; 50359599516SKenneth E. Jansen int ifunc; 50459599516SKenneth E. Jansen int itseq; 50559599516SKenneth E. Jansen int istep; 50659599516SKenneth E. Jansen int iter; 50759599516SKenneth E. Jansen int nitr; 50859599516SKenneth E. Jansen double almi; 50959599516SKenneth E. Jansen double alfi; 51059599516SKenneth E. Jansen double gami; 51159599516SKenneth E. Jansen double flmpl; 51259599516SKenneth E. Jansen double flmpr; 51359599516SKenneth E. Jansen double dtol[2]; 51459599516SKenneth E. Jansen int iCFLworst; 51559599516SKenneth E. Jansen int lskeep; 51659599516SKenneth E. Jansen } timdat ; 51759599516SKenneth E. Jansen 51859599516SKenneth E. Jansen extern struct { 51959599516SKenneth E. Jansen int LCtime; 52059599516SKenneth E. Jansen int ntseq; 52159599516SKenneth E. Jansen } timpar ; 52259599516SKenneth E. Jansen 52359599516SKenneth E. Jansen extern struct { 52459599516SKenneth E. Jansen int numeqns[100]; 52559599516SKenneth E. Jansen int minIters; 52659599516SKenneth E. Jansen int maxIters; 52759599516SKenneth E. Jansen int iprjFlag; 52859599516SKenneth E. Jansen int nPrjs; 52959599516SKenneth E. Jansen int ipresPrjFlag; 53059599516SKenneth E. Jansen int nPresPrjs; 53159599516SKenneth E. Jansen double prestol; 53259599516SKenneth E. Jansen double statsflow[6]; 53359599516SKenneth E. Jansen double statssclr[6]; 53459599516SKenneth E. Jansen int iverbose; 53559599516SKenneth E. Jansen } incomp ; 53659599516SKenneth E. Jansen 53759599516SKenneth E. Jansen extern struct { 53859599516SKenneth E. Jansen double ccode[13]; 53959599516SKenneth E. Jansen } mtimer1 ; 54059599516SKenneth E. Jansen 54159599516SKenneth E. Jansen extern struct { 54259599516SKenneth E. Jansen double flops; 54359599516SKenneth E. Jansen double gbytes; 54459599516SKenneth E. Jansen double sbytes; 54559599516SKenneth E. Jansen int iclock; 54659599516SKenneth E. Jansen int icd; 54759599516SKenneth E. Jansen int icode; 54859599516SKenneth E. Jansen int icode2; 54959599516SKenneth E. Jansen int icode3; 55059599516SKenneth E. Jansen } mtimer2 ; 55159599516SKenneth E. Jansen 55259599516SKenneth E. Jansen extern struct { 55359599516SKenneth E. Jansen double cpu[11]; 55459599516SKenneth E. Jansen double cpu0[11]; 55559599516SKenneth E. Jansen int nacess[11]; 55659599516SKenneth E. Jansen } timer3 ; 55759599516SKenneth E. Jansen 55859599516SKenneth E. Jansen extern struct { 55959599516SKenneth E. Jansen double title; 56059599516SKenneth E. Jansen int ititle; 56159599516SKenneth E. Jansen } title ; 56259599516SKenneth E. Jansen 56359599516SKenneth E. Jansen extern struct { 56459599516SKenneth E. Jansen int intg[MAXTS][2]; 56559599516SKenneth E. Jansen }intdat; 56659599516SKenneth E. Jansen 56759599516SKenneth E. Jansen extern struct { 56859599516SKenneth E. Jansen double bcttimescale; 56959599516SKenneth E. Jansen double ValueListResist[MAXSURF+1]; 57059599516SKenneth E. Jansen double rhovw; 57159599516SKenneth E. Jansen double thicknessvw; 57259599516SKenneth E. Jansen double evw; 57359599516SKenneth E. Jansen double rnuvw; 57459599516SKenneth E. Jansen double rshearconstantvw; 57559599516SKenneth E. Jansen double betai; 57659599516SKenneth E. Jansen int icardio; 57759599516SKenneth E. Jansen int itvn; 57859599516SKenneth E. Jansen int ipvsq; 57959599516SKenneth E. Jansen int numResistSrfs; 58059599516SKenneth E. Jansen int nsrflistResist[MAXSURF+1]; 58159599516SKenneth E. Jansen int numImpSrfs; 58259599516SKenneth E. Jansen int nsrflistImp[MAXSURF+1]; 58359599516SKenneth E. Jansen int impfile; 58459599516SKenneth E. Jansen int numRCRSrfs; 58559599516SKenneth E. Jansen int nsrflistRCR[MAXSURF+1]; 58659599516SKenneth E. Jansen int ircrfile; 58759599516SKenneth E. Jansen int ideformwall; 58859599516SKenneth E. Jansen int iwallmassfactor; 58959599516SKenneth E. Jansen int iwallstiffactor; 59059599516SKenneth E. Jansen int iviscflux; 59159599516SKenneth E. Jansen } nomodule; 59259599516SKenneth E. Jansen 59359599516SKenneth E. Jansen extern struct { 59459599516SKenneth E. Jansen int seqsize; 59559599516SKenneth E. Jansen int stepseq[100]; 59659599516SKenneth E. Jansen } sequence; 59759599516SKenneth E. Jansen 59859599516SKenneth E. Jansen extern struct { 59959599516SKenneth E. Jansen double strong_eps; /* strong criterion Stuben factor */ 60059599516SKenneth E. Jansen double ramg_eps; /* AMG convergence eps */ 60159599516SKenneth E. Jansen double ramg_relax; /* relaxation factor Gauss-Seidel/Jac*/ 60259599516SKenneth E. Jansen double ramg_trunc; /* truncation select */ 60359599516SKenneth E. Jansen double ramg_chebyratio; /* Eigen ratio for chebyshev smoothing */ 60459599516SKenneth E. Jansen } amgvarr ; 60559599516SKenneth E. Jansen 60659599516SKenneth E. Jansen extern struct { 60759599516SKenneth E. Jansen int irun_amg; /* Employ AMG feature solfar.f */ 60859599516SKenneth E. Jansen int irun_amg_prec; /* Run AMG as preconditioner to CG */ 60959599516SKenneth E. Jansen int iamg_verb; /* amg verbosity flag */ 61059599516SKenneth E. Jansen int iamg_neg_sten; /* neg only stencil or neg and pos */ 61159599516SKenneth E. Jansen int iamg_nlevel; /* number of levels 2-V etc. */ 61259599516SKenneth E. Jansen int iamg_c_solver; /* solve fine level iter. method */ 61359599516SKenneth E. Jansen int iamg_init; /* setup flag */ 61459599516SKenneth E. Jansen int iamg_setup_frez; /* how many solfars to re setup amg */ 61559599516SKenneth E. Jansen int iamg_interp; /* interpolation select */ 61659599516SKenneth E. Jansen int maxnev; /* total eigenvectors used for ggb*/ 61759599516SKenneth E. Jansen int maxncv; /* total iterative vectors for ggb*/ 61859599516SKenneth E. Jansen int iamg_smoother; /* Smoother type */ 61959599516SKenneth E. Jansen int mlsdeg; /* Polynomial Smoothing (MLS) degree */ 62059599516SKenneth E. Jansen int iamg_reduce; /* Run a reduced case */ 62159599516SKenneth E. Jansen } amgvari ; 62259599516SKenneth E. Jansen 62359599516SKenneth E. Jansen #ifdef __cplusplus 62459599516SKenneth E. Jansen } 62559599516SKenneth E. Jansen #endif 626