Phase 1 | Write a program that prints the alpha and beta string determinants for singles substitutions.
- Add code to read nAlpha, nBeta, and nBasis directly from command line. (Done 4/13/19)
- Format the output for alpha and beta strings (Done 4/13/19)
- Fix the conditional statement that requires nBasis to be greater than either nAlpha or nBeta. (Done 4/12/19)
Phase 2 | Modify the program so that it uses the array containing nDet # of singles substitutions as the reference for the doubles substitutions.
- Create another subroutine for doubles. (Done 5/7/19)
Compile using: pgfortran -i8 -o filename.exe filename.f90
-i8 Makes default integer and logical variables 8 bytes long (same as the -integer_size 64 option). The default is -integer_size 32.
-Segmentation Fault : occurs when nBasis is significantly larger than either nAlpha or nBeta, works up to /.exe 65 65 66
- Pass IStrings : Find a way to form all combinations of possible matrix elements using the reference, singles, and doubles determinants. Figure out how to pass the Istrings array from singles and doubles subroutines into allocatable arrays defined in the program. Loop over all iDet. (Not Done/In Progress)
- XOR : Check for differences in orbital occupations. Not done bitwise, using integer strings. (Not Done)
- Spin Symmetry : Consider spin blocks and spin flips.(Not Done)
- Generate MO coefficients and get overlaps. Compute using Gaussian--H2 minimal basis @ 2 Å. (Not Done)
- Get nAlpha, nBeta, nBasis, and form overlaps to solve S^2 matrix elements. (Not Done)
- Diagonalize and get S^2 expectation values. (Not Done)
.
.
.
.
.