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