~ubuntu-branches/ubuntu/vivid/psicode/vivid

« back to all changes in this revision

Viewing changes to src/bin/detci/structs.h

  • Committer: Bazaar Package Importer
  • Author(s): Michael Banck
  • Date: 2008-06-07 16:49:57 UTC
  • mfrom: (2.1.2 hardy)
  • Revision ID: james.westby@ubuntu.com-20080607164957-8pifvb133yjlkagn
Tags: 3.3.0-3
* debian/rules (DEB_MAKE_CHECK_TARGET): Do not abort test suite on
  failures.
* debian/rules (DEB_CONFIGURE_EXTRA_FLAGS): Set ${bindir} to /usr/lib/psi.
* debian/rules (install/psi3): Move psi3 file to /usr/bin.
* debian/patches/07_464867_move_executables.dpatch: New patch, add
  /usr/lib/psi to the $PATH, so that the moved executables are found.
  (closes: #464867)
* debian/patches/00list: Adjusted.

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
 
16
16
/*** DEFINES ***/
17
17
 
 
18
typedef unsigned long long int BIGINT; /* should be 64bits even on 32bit arch */
 
19
 
18
20
#define CI_BLK_MAX 650
19
21
#define IOFF_MAX 50604
20
22
 
228
230
*/
229
231
struct calcinfo {
230
232
   int natom;            /* number of atoms */
231
 
   int natom3;           /* number of atoms * 3 (to save calculations) */
232
233
   int nso;              /* number of symmetry orbitals */
233
234
   int nmo;              /* number of molecular orbitals */
234
235
   int nmotri;           /* num elements in lwr diag matrix nmo big */
236
237
   int *docc;            /* doubly occupied orbitals per irrep */
237
238
   int *socc;            /* singly occupied orbitals per irrep */
238
239
   int *frozen_docc;     /* frozen doubly occupied orbs per irrep */
 
240
   int *rstr_docc;       /* restricted core orbitals per irrep */
 
241
   int *rstr_uocc;       /* restricted virtual orbitals per irrep */
239
242
   int *frozen_uocc;     /* frozen virtual orbs per irrep */
240
243
   int iopen;            /* flag for whether open shell or not */
241
244
   double enuc;          /* nuclear repulsion energy */
267
270
   int num_bet_str;      /* number of beta strings */
268
271
   int num_ci_orbs;      /* nmo - num orbs frozen */
269
272
   int num_fzv_orbs;     /* number of frozen/deleted virtual orbitals */
 
273
   int num_vir_orbs;     /* number of restricted virtual orbitals */
270
274
   int ref_alp;          /* address of reference alpha string */
271
275
   int ref_bet;          /* address of reference beta string */
272
276
   int ref_alp_list;     /* string list containing reference alpha string */
314
318
   int fci_strings;  /* do a FULL ci calc?  (affects string storage) */
315
319
   int fzc;          /* do implicit frozen core (remove those orbs)? */
316
320
                     /* the alternative is a "restricted core" calc  */
317
 
   int S;            /* the value of quantum number S */
 
321
   double S;         /* the value of quantum number S */
318
322
   int Ms0;          /* 1 if Ms=0, 0 otherwise */
319
323
   int ref_sym;      /* irrep for CI vectors;  -1 = find automatically */
320
324
   int opentype;     /* closed, highspin, or open-shell singlet; see #define */
417
421
                              roots and irreps of opdm in opdmfile */ 
418
422
   int **orbs_idxmat;      /* matrix of index values for various
419
423
                              roots and irreps of orbitals in orbsfile */ 
 
424
   int transdens;          /* compute transition densities? */
 
425
   int dipmom;             /* compute dipole moment or transition dip mom?  */
 
426
   int tdm_write;          /* write the transition density matrix/matrices? */
 
427
   int tdm_print;          /* print the transition density matrix/matrices? */
420
428
   int tpdm;               /* call the tpdm subroutine? */
421
429
   int tpdm_write;         /* write the tpdm? */
422
430
   int tpdm_print;         /* print the tpdm? */
437
445
                              do only determinants (or their
438
446
                              spin-complements) in RASCI versions of
439
447
                              Krylov's SF CI */
 
448
   int print_sigma_overlap;/* Print sigma overlap matrix?  Test for Arteum */
440
449
   int filter_guess;       /* 1 if we want to filter out some of our guess
441
450
                              vectors by checking the phase of a pair of
442
451
                              determinants */
455
464
   int filter_guess_Jbc;   /* string list number for beta of det 2 */
456
465
   int filter_guess_H0_det1; /* H0block determinant number for det 1 */
457
466
   int filter_guess_H0_det2; /* H0block determinant number for det 2 */
 
467
   int zero_det;           /* zero out any particular determinant? */
 
468
   int zero_det_Ia;        /* absolute alpha string addr for zero det */
 
469
   int zero_det_Ib;        /* absolute beta  string addr for zero det */
 
470
   int zero_det_Iac;       /* string list number for alpha of zero det */
 
471
   int zero_det_Ibc;       /* string list number for beta of zero det */
 
472
   int zero_det_Iaridx;    /* relative alpha string for zero det */
 
473
   int zero_det_Ibridx;    /* relative beta string for zero det */
 
474
   int follow_vec_num;     /* num components in user-specified vec to follow */
 
475
   double *follow_vec_coef;/* array of coefficients for vec to follow */
 
476
   int *follow_vec_Ia;     /* array of absolute alpha strings for vector */
 
477
   int *follow_vec_Ib;     /* array of absolute beta  strings for vector */
 
478
   int *follow_vec_Iac;    /* array of alpha string lists for vector */
 
479
   int *follow_vec_Ibc;    /* array of beta  string lists for vector */
 
480
   int *follow_vec_Iaridx; /* array of alpha relative idx for vector */
 
481
   int *follow_vec_Ibridx; /* array of beta  relative idx for vector */
 
482
   int *ex_type;           /* Determine nonstandard excitation types, such
 
483
                                as CID, CIST, CIDTQ, etc. */
 
484
   int *average_states;    /* which states to average in a SA calc */
 
485
   double *average_weights;/* the weights for each state in a SA calc */
 
486
   int average_num;        /* length of the above two arrays */
458
487
};
459
488
 
460
489
 
467
496
** beta) and determines the CI vector block number.
468
497
*/
469
498
struct ci_blks {
470
 
   unsigned long vectlen;     /* total number of elements in the CI vector */
 
499
   BIGINT vectlen;            /* total number of elements in the CI vector */
471
500
   int num_blocks;            /* number of blocks in the CI vector */
472
501
   int Ia_code[CI_BLK_MAX];   /* gives the block's alpha string code */ 
473
502
   int Ib_code[CI_BLK_MAX];   /* gives the block's beta string code */ 
474
503
   int Ia_size[CI_BLK_MAX];   /* num of alp strings in the block */
475
504
   int Ib_size[CI_BLK_MAX];   /* num of bet strings in the block */
476
 
   unsigned long offset[CI_BLK_MAX];  /* offset for absolute numbering */
 
505
   BIGINT offset[CI_BLK_MAX];  /* offset for absolute numbering */
477
506
   int **decode;              /* gives the block number for a given pair
478
507
                                  of alpha and beta codes */
479
508
   int num_alp_codes;         /* number of alpha codes in decode matrix */