00001
00002
00003
00004
00005
00006
00007 #ifndef G94_GLOBALS_H
00008 #define G94_GLOBALS_H
00009
00010 #ifdef __cplusplus
00011 extern "C" {
00012 #endif
00013
00014
00015 #include "f2c.h"
00016
00017 #if defined(GAUSS94)
00018 #define GAUSSVER 94
00019 #else
00020 #define GAUSSVER 98
00021 #endif
00022
00023
00024 #ifdef DEFMAXATM
00025 const int MAXATM = DEFMAXATM;
00026 #else
00027 #if GAUSSVER == 94
00028
00029 const int MAXATM = 1000;
00030 #else
00031
00032 const int MAXATM = 20000;
00033 #endif
00034 #endif
00035
00036 const int MAXAT1 = MAXATM+1;
00037
00038 #ifdef DEFMAXSHL
00039 const int MAXSHL = DEFMAXSHL;
00040 #else
00041 #if GAUSSVER == 94
00042
00043 const int MAXSHL = 2500;
00044 #else
00045
00046 const int MAXSHL = 20000;
00047 #endif
00048 #endif
00049
00050 const int MAXPRM = 3*MAXSHL;
00051 const int MAXSH1 = MAXSHL+1;
00052
00053 #ifdef DEFMAXNZ
00054 const int MAXNZ = DEFMAXNZ;
00055 #else
00056 #if GAUSSVER == 94
00057
00058 const int MAXNZ = 1200;
00059 #else
00060
00061 const int MAXNZ = 20000;
00062 #endif
00063 #endif
00064
00065 #if GAUSSVER == 94
00066 const int MAXSUB = 40;
00067 const int MAXDIR = 80*sizeof(int);
00068 #else
00069 const int MAXSUB = 40;
00070 const int MAXDIR = 80*sizeof(int);
00071 #endif
00072
00073
00074
00075 typedef struct {
00076 integer natoms;
00077 integer icharge;
00078 integer multip;
00079 integer nae;
00080 integer nbe;
00081 integer ne;
00082 integer nbasis;
00083 #if GAUSSVER == 94
00084 integer ian[MAXAT1];
00085 #else
00086 integer ian[MAXATM];
00087 #endif
00088 doublereal atmchg[MAXATM];
00089 doublereal c[MAXATM][3];
00090
00091
00092 #if GAUSSVER == 98
00093 integer iattyp[MAXATM];
00094 doublereal atchmm[MAXATM];
00095 #endif
00096 } mol_type;
00097
00098 struct b_type{
00099 doublereal exx[MAXPRM];
00100 doublereal c1[MAXPRM];
00101 doublereal c2[MAXPRM];
00102 doublereal c3[MAXPRM];
00103 doublereal x[MAXSHL];
00104 doublereal y[MAXSHL];
00105 doublereal z[MAXSHL];
00106 integer jan[MAXSHL];
00107 integer shella[MAXSHL];
00108 integer shelln[MAXSHL];
00109 integer shellt[MAXSHL];
00110 integer shellc[MAXSHL];
00111 integer aos[MAXSHL];
00112 integer aon[MAXSHL];
00113 integer nshell;
00114 integer maxtyp;
00115 };
00116
00117 typedef struct
00118 {
00119 integer maxm[2];
00120 } maxmem_type;
00121
00122
00123 typedef struct {
00124 doublereal scale[MAXSHL];
00125 } scale_type;
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189
00190 typedef struct {
00191 integer nchain;
00192 integer idum;
00193 } nchain_type;
00194
00195 typedef struct {
00196 integer iunit[20];
00197 } munit_type;
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222
00223
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235
00236 typedef struct {
00237 doublereal phycon[30];
00238 } phycon_type;
00239
00240
00241
00242
00243
00244
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259
00260
00261 typedef struct {
00262 integer iop[50];
00263 } iop_type;
00264
00265 typedef struct {
00266 integer nsubst;
00267 integer ipdsub;
00268 integer linkn [MAXSUB];
00269 integer lendir [MAXSUB];
00270 integer linkd [MAXSUB][MAXDIR];
00271 } substn_type;
00272
00273 typedef struct {
00274 doublereal tstart[3];
00275 doublereal tstop[3];
00276 doublereal elapsd[3];
00277 } clcks_type;
00278
00279 typedef struct {
00280 integer killnk;
00281 integer kilcnt;
00282 integer refcnt;
00283 integer kill;
00284 integer numprc;
00285 integer klpd1[2];
00286 doublereal jobtim;
00287 } kjob_type;
00288
00289 typedef struct {
00290 logical debug;
00291 integer ntrout;
00292 } ntr002_type;
00293
00294 typedef struct {
00295 integer ispect;
00296 integer lspect;
00297 integer nrorb;
00298 integer noa;
00299 integer nva;
00300 integer nob;
00301 integer nvb;
00302 integer noaob;
00303 integer noava;
00304 integer noavb;
00305 integer nobva;
00306 integer nobvb;
00307 integer nvavb;
00308 integer noa2;
00309 integer noa3;
00310 integer nob2;
00311 integer nob3;
00312 integer nva2;
00313 integer nva3;
00314 integer nvb2;
00315 integer nvb3;
00316 integer novaa;
00317 integer novab;
00318 integer novbb;
00319 integer maxbuc;
00320 integer ieval;
00321 integer ioab;
00322 integer loab;
00323 } orb_type;
00324
00325 typedef struct {
00326 integer idb1;
00327 integer idb2;
00328 integer idb3;
00329 integer idb4;
00330 integer idb5;
00331 integer idb6;
00332 integer idb7;
00333 integer idb8;
00334 integer idb9;
00335 integer idb10;
00336 integer idb11;
00337 integer idb12;
00338 integer idb13;
00339 integer idb14;
00340 integer idb15;
00341 integer idb16;
00342 integer idb17;
00343 integer idb18;
00344 integer idb19;
00345 integer idb20;
00346 integer idb21;
00347 integer iad1;
00348 integer iad2;
00349 integer iad3;
00350 integer ias1;
00351 integer ias2;
00352 integer iwd1;
00353 integer iwd2;
00354 integer iwd3;
00355 integer iws1;
00356 integer iws2;
00357 integer iscr1;
00358 integer iscr2;
00359 integer iscr3;
00360 integer iscr4;
00361 integer iscr5;
00362 integer iscr6;
00363 integer iscr7;
00364 integer iscr8;
00365 integer iscr9;
00366 integer iscr10;
00367 integer iscr11;
00368 integer iscr12;
00369 integer iscr13;
00370 integer iscr14;
00371 integer iscr15;
00372 integer iscr16;
00373 integer iscr17;
00374 integer iscr18;
00375 integer iscr19;
00376 } bucknr_type;
00377
00378 typedef struct {
00379 integer in;
00380 integer iout;
00381 integer ipunch;
00382 } io_type;
00383
00384 typedef struct {
00385 integer nsymop;
00386 integer nreps;
00387 integer lblrep[32];
00388 doublereal chrtbl[16][10];
00389 doublereal symops[10][9];
00390 integer iprmut[10][MAXATM];
00391 } repcom_type;
00392
00393 typedef struct {
00394 integer ismode;
00395 integer mode;
00396 integer istat;
00397 integer last;
00398 integer ntx;
00399 integer iux[5];
00400 integer icon;
00401 integer nrpext;
00402 integer knit1;
00403 integer knit2;
00404 integer ibase;
00405 integer ibasd[2];
00406 integer dbase;
00407 integer dbasd[2];
00408 integer ireset[2];
00409 integer iq;
00410 integer ifil;
00411 integer intcnt;
00412 integer itotal;
00413 integer limint;
00414 integer nwpi;
00415 integer nwiib;
00416 integer isym2e;
00417 } ibf_type;
00418
00419 #ifdef GAU_MAIN
00420
00421 int f77argc = 0;
00422 char* f77argv =NULL;
00423
00424 #else
00425
00426 extern int f77argc ;
00427 extern char* f77argv ;
00428
00429 #endif
00430
00431 #if defined(GAUSSVER)
00432
00433
00434
00435 extern mol_type mol_;
00436 extern integer info_[20];
00437 extern nchain_type nchain_;
00438 extern munit_type munit_;
00439 extern phycon_type phycon_;
00440 extern iop_type iop_;
00441 extern substn_type substn_;
00442 extern clcks_type clcks_;
00443 extern kjob_type kjob_;
00444 extern ntr002_type ntr002_;
00445 extern b_type b_;
00446 extern b_type b2_;
00447 extern orb_type orb_;
00448 extern bucknr_type bucknr_;
00449 extern io_type io_;
00450 extern repcom_type repcom_;
00451 extern ibf_type ibf_;
00452 extern scale_type scale_;
00453 extern maxmem_type maxmem_;
00454
00455 #endif
00456
00457 #ifdef __cplusplus
00458 }
00459 #endif
00460
00461
00462 #endif