xref: /phasta/phSolver/common/common_c.h (revision 08d2ac07b0519855627ebfd43221a09a84cee7bb)
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