diff --git a/.github/workflows/github_actions.yml b/.github/workflows/github_actions.yml index 0a2559fd65..05615043c6 100644 --- a/.github/workflows/github_actions.yml +++ b/.github/workflows/github_actions.yml @@ -209,12 +209,6 @@ jobs: armci_network: MPI-PR nwchem_modules: "tinyqmpw python" fc: ifx - - os: ubuntu-latest - experimental: true - mpi_impl: intel - armci_network: SOCKETS - nwchem_modules: "tce" - fc: ifx - os: ubuntu-22.04 experimental: true mpi_impl: intel diff --git a/QA/doqmtests.mpi b/QA/doqmtests.mpi index c586d8e87d..b7720d8cb3 100755 --- a/QA/doqmtests.mpi +++ b/QA/doqmtests.mpi @@ -577,6 +577,9 @@ let "myexit+=$?" let "myexit+=$?" ./runtests.mpi.unix procs $np gw_symmetry let "myexit+=$?" +# BSE +./runtests.mpi.unix procs $np bse_ethene +let "myexit+=$?" # x2c ./runtests.mpi.unix procs $np x2c-h2se let "myexit+=$?" diff --git a/QA/runtests.mpi.unix b/QA/runtests.mpi.unix index f86341a927..05a06b1847 100755 --- a/QA/runtests.mpi.unix +++ b/QA/runtests.mpi.unix @@ -433,6 +433,13 @@ sync set overall_status = 1 continue fi + # delete @GW lines for BSE tests + if [[ `grep -c 'NWChem BSE Module' ${STUB}.out` > 0 ]] ; then + rm -f sort.new + cat ${STUB}.ok.out.nwparse |grep -v @GW > sort.new && mv sort.new ${STUB}.ok.out.nwparse + rm -f sort.new + cat ${STUB}.out.nwparse |grep -v @GW > sort.new && mv sort.new ${STUB}.out.nwparse + fi #check if output is from EOMCCSD, since EOMCCSD output is non-deterministic if [[ `grep -c EOMCCSD ${STUB}.out.nwparse` > 0 ]] ; then rm -f sort.new diff --git a/QA/tests/bse_ethene/bse_ethene.nw b/QA/tests/bse_ethene/bse_ethene.nw new file mode 100644 index 0000000000..94867b61bc --- /dev/null +++ b/QA/tests/bse_ethene/bse_ethene.nw @@ -0,0 +1,45 @@ +title "ethene BSE" +memory total 2000 mb +start + +set lindep:n_dep 0 + +geometry +H 0.000000 0.923274 1.238289 +H 0.000000 -0.923274 1.238289 +H 0.000000 0.923274 -1.238289 +H 0.000000 -0.923274 -1.238289 +C 0.000000 0.000000 0.668188 +C 0.000000 0.000000 -0.668188 +end + +basis "ao basis" spherical bse + * library aug-cc-pvtz +end + +basis "ri basis" spherical bse + * library aug-cc-pvtz-rifit +end + +dft + direct + xc pbe0 + tolerances acccoul 10 + convergence energy 1d-8 + grid fine +end + +gw + evgw 5 + method analytic + states alpha occ -1 vir -1 +end + +task gw + +bse + nroots 12 + method davidson +end + +task bse diff --git a/QA/tests/bse_ethene/bse_ethene.out b/QA/tests/bse_ethene/bse_ethene.out new file mode 100644 index 0000000000..a1bd39b437 --- /dev/null +++ b/QA/tests/bse_ethene/bse_ethene.out @@ -0,0 +1,3934 @@ + argument 1 = /people/meji656/calculations/bse/QA/ethene.nw + NWChem w/ OpenMP: maximum threads = 1 + + + + + Northwest Computational Chemistry Package (NWChem) 7.3.0 + -------------------------------------------------------- + + + Environmental Molecular Sciences Laboratory + Pacific Northwest National Laboratory + Richland, WA 99352 + + Copyright (c) 1994-2025 + Pacific Northwest National Laboratory + Battelle Memorial Institute + + NWChem is an open-source computational chemistry package + distributed under the terms of the + Educational Community License (ECL) 2.0 + A copy of the license is included with this distribution + in the LICENSE.TXT file + + ACKNOWLEDGMENT + -------------- + + This software and its documentation were developed at the + EMSL at Pacific Northwest National Laboratory, a multiprogram + national laboratory, operated for the U.S. Department of Energy + by Battelle under Contract Number DE-AC05-76RL01830. Support + for this work was provided by the Department of Energy Office + of Biological and Environmental Research, Office of Basic + Energy Sciences, and the Office of Advanced Scientific Computing. + + + Job information + --------------- + + hostname = dc005 + program = /qfs/people/meji656/software/nwchem.bse/bin/LINUX64/nwchem + date = Thu Oct 16 11:04:26 2025 + + compiled = Thu_Oct_16_11:01:30_2025 + source = /qfs/people/meji656/software/nwchem.bse + nwchem branch = 7.3.0 + nwchem revision = v7.2.0-beta1-1624-g0dc011d0a0 + ga revision = 5.9.2 + use scalapack = F + input = /people/meji656/calculations/bse/QA/ethene.nw + prefix = ethene. + data base = ./ethene.db + status = startup + nproc = 7 + time left = -1s + + + + Memory information + ------------------ + + heap = 65535998 doubles = 500.0 Mbytes + stack = 65535995 doubles = 500.0 Mbytes + global = 131072000 doubles = 1000.0 Mbytes (distinct from heap & stack) + total = 262143993 doubles = 2000.0 Mbytes + verify = yes + hardfail = no + + + Directory information + --------------------- + + 0 permanent = . + 0 scratch = . + + + + + NWChem Input Module + ------------------- + + + ethene BSE + ---------- + + Scaling coordinates for geometry "geometry" by 1.889725989 + (inverse scale = 0.529177249) + + D2H symmetry detected + + ------ + auto-z + ------ + no constraints, skipping 0.0000000000000000 + no constraints, skipping 0.0000000000000000 + + + Geometry "geometry" -> "" + ------------------------- + + Output coordinates in angstroms (scale by 1.889725989 to convert to a.u.) + + No. Tag Charge X Y Z + ---- ---------------- ---------- -------------- -------------- -------------- + 1 H 1.0000 0.92327400 1.23828900 0.00000000 + 2 H 1.0000 -0.92327400 1.23828900 0.00000000 + 3 H 1.0000 0.92327400 -1.23828900 0.00000000 + 4 H 1.0000 -0.92327400 -1.23828900 0.00000000 + 5 C 6.0000 0.00000000 0.66818800 0.00000000 + 6 C 6.0000 0.00000000 -0.66818800 0.00000000 + + Atomic Mass + ----------- + + H 1.007825 + C 12.000000 + + + Effective nuclear repulsion energy (a.u.) 33.2981002050 + + Nuclear Dipole moment (a.u.) + ---------------------------- + X Y Z + ---------------- ---------------- ---------------- + 0.0000000000 0.0000000000 0.0000000000 + + Symmetry information + -------------------- + + Group name D2h + Group number 26 + Group order 8 + No. of unique centers 2 + + Symmetry unique atoms + + 1 5 + + + + Z-matrix (autoz) + -------- + + Units are Angstrom for bonds and degrees for angles + + Type Name I J K L M Value + ----------- -------- ----- ----- ----- ----- ----- ---------- + 1 Stretch 1 5 1.08510 + 2 Stretch 2 5 1.08510 + 3 Stretch 3 6 1.08510 + 4 Stretch 4 6 1.08510 + 5 Stretch 5 6 1.33638 + 6 Bend 1 5 2 116.61120 + 7 Bend 1 5 6 121.69440 + 8 Bend 2 5 6 121.69440 + 9 Bend 3 6 4 116.61120 + 10 Bend 3 6 5 121.69440 + 11 Bend 4 6 5 121.69440 + 12 Torsion 1 5 6 3 0.00000 + 13 Torsion 1 5 6 4 180.00000 + 14 Torsion 2 5 6 3 180.00000 + 15 Torsion 2 5 6 4 -0.00000 + + + XYZ format geometry + ------------------- + 6 + geometry + H 0.92327400 1.23828900 0.00000000 + H -0.92327400 1.23828900 0.00000000 + H 0.92327400 -1.23828900 0.00000000 + H -0.92327400 -1.23828900 0.00000000 + C 0.00000000 0.66818800 0.00000000 + C 0.00000000 -0.66818800 0.00000000 + + ============================================================================== + internuclear distances + ------------------------------------------------------------------------------ + center one | center two | atomic units | angstroms + ------------------------------------------------------------------------------ + 5 C | 1 H | 2.05055 | 1.08510 + 5 C | 2 H | 2.05055 | 1.08510 + 6 C | 3 H | 2.05055 | 1.08510 + 6 C | 4 H | 2.05055 | 1.08510 + 6 C | 5 C | 2.52538 | 1.33638 + ------------------------------------------------------------------------------ + number of included internuclear distances: 5 + ============================================================================== + + + + ============================================================================== + internuclear angles + ------------------------------------------------------------------------------ + center 1 | center 2 | center 3 | degrees + ------------------------------------------------------------------------------ + 1 H | 5 C | 2 H | 116.61 + 1 H | 5 C | 6 C | 121.69 + 2 H | 5 C | 6 C | 121.69 + 3 H | 6 C | 4 H | 116.61 + 3 H | 6 C | 5 C | 121.69 + 4 H | 6 C | 5 C | 121.69 + ------------------------------------------------------------------------------ + number of included internuclear angles: 6 + ============================================================================== + + + + + + Summary of "ao basis" -> "" (spherical) + ------------------------------------------------------------------------------ + Tag Description Shells Functions and Types + ---------------- ------------------------------ ------ --------------------- + * aug-cc-pvtz on all atoms + + + + + Summary of "ri basis" -> "" (spherical) + ------------------------------------------------------------------------------ + Tag Description Shells Functions and Types + ---------------- ------------------------------ ------ --------------------- + * aug-cc-pvtz-rifit on all atoms + + + + NWChem GW Module + ---------------- + + + ethene BSE + + + + NWChem DFT Module + ----------------- + + + ethene BSE + + + Basis "ao basis" -> "ao basis" (spherical) + ----- + H (Hydrogen) + ------------ + Exponent Coefficients + -------------- --------------------------------------------------------- + 1 S 3.38700000E+01 0.006068 + 1 S 5.09500000E+00 0.045308 + 1 S 1.15900000E+00 0.202822 + + 2 S 3.25800000E-01 1.000000 + + 3 S 1.02700000E-01 1.000000 + + 4 S 2.52600000E-02 1.000000 + + 5 P 1.40700000E+00 1.000000 + + 6 P 3.88000000E-01 1.000000 + + 7 P 1.02000000E-01 1.000000 + + 8 D 1.05700000E+00 1.000000 + + 9 D 2.47000000E-01 1.000000 + + C (Carbon) + ---------- + Exponent Coefficients + -------------- --------------------------------------------------------- + 1 S 8.23600000E+03 0.000531 + 1 S 1.23500000E+03 0.004108 + 1 S 2.80800000E+02 0.021087 + 1 S 7.92700000E+01 0.081853 + 1 S 2.55900000E+01 0.234817 + 1 S 8.99700000E+00 0.434401 + 1 S 3.31900000E+00 0.346129 + 1 S 3.64300000E-01 -0.008983 + + 2 S 9.05900000E-01 1.000000 + + 3 S 8.23600000E+03 -0.000113 + 3 S 1.23500000E+03 -0.000878 + 3 S 2.80800000E+02 -0.004540 + 3 S 7.92700000E+01 -0.018133 + 3 S 2.55900000E+01 -0.055760 + 3 S 8.99700000E+00 -0.126895 + 3 S 3.31900000E+00 -0.170352 + 3 S 3.64300000E-01 0.598684 + + 4 S 1.28500000E-01 1.000000 + + 5 S 4.40200000E-02 1.000000 + + 6 P 1.87100000E+01 0.014031 + 6 P 4.13300000E+00 0.086866 + 6 P 1.20000000E+00 0.290216 + + 7 P 3.82700000E-01 1.000000 + + 8 P 1.20900000E-01 1.000000 + + 9 P 3.56900000E-02 1.000000 + + 10 D 1.09700000E+00 1.000000 + + 11 D 3.18000000E-01 1.000000 + + 12 D 1.00000000E-01 1.000000 + + 13 F 7.61000000E-01 1.000000 + + 14 F 2.68000000E-01 1.000000 + + + + Summary of "ao basis" -> "ao basis" (spherical) + ------------------------------------------------------------------------------ + Tag Description Shells Functions and Types + ---------------- ------------------------------ ------ --------------------- + H aug-cc-pvtz 9 23 4s3p2d + C aug-cc-pvtz 14 46 5s4p3d2f + + + + + Summary of "ao basis" -> "ao basis" (spherical) + ------------------------------------------------------------------------------ + Tag Description Shells Functions and Types + ---------------- ------------------------------ ------ --------------------- + H aug-cc-pvtz 9 23 4s3p2d + C aug-cc-pvtz 14 46 5s4p3d2f + + + Symmetry analysis of basis + -------------------------- + + ag 35 + au 12 + b1g 27 + b1u 18 + b2g 12 + b2u 35 + b3g 18 + b3u 27 + + Caching 1-el integrals + tol_rho modified to match energy + convergence criterion. + + General Information + ------------------- + SCF calculation type: DFT + Wavefunction type: closed shell. + No. of atoms : 6 + No. of electrons : 16 + Alpha electrons : 8 + Beta electrons : 8 + Charge : 0 + Spin multiplicity: 1 + Use of symmetry is: on ; symmetry adaption is: on + Maximum number of iterations: 50 + This is a Direct SCF calculation. + AO basis - number of functions: 184 + number of shells: 64 + Convergence on energy requested: 1.00D-08 + Convergence on density requested: 1.00D-05 + Convergence on gradient requested: 5.00D-04 + + XC Information + -------------- + PBE0 Method XC Functional + Hartree-Fock (Exact) Exchange 0.250 + PerdewBurkeErnzerhof Exchange Functional 0.750 + Perdew 1991 LDA Correlation Functional 1.000 local + PerdewBurkeErnz. Correlation Functional 1.000 non-local + + Grid Information + ---------------- + Grid used for XC integration: fine + Radial quadrature: Mura-Knowles + Angular quadrature: Lebedev. + Tag B.-S. Rad. Rad. Pts. Rad. Cut. Ang. Pts. + --- ---------- --------- --------- --------- + H 0.35 60 15.0 590 + C 0.70 70 13.0 590 + Grid pruning is: on + Number of quadrature shells: 130 + Spatial weights used: Erf1 + + Convergence Information + ----------------------- + Convergence aids based upon iterative change in + total energy or number of iterations. + Levelshifting, if invoked, occurs when the + HOMO/LUMO gap drops below (HL_TOL): 1.00D-02 + DIIS, if invoked, will attempt to extrapolate + using up to (NFOCK): 10 stored Fock matrices. + + Damping( 0%) Levelshifting(0.5) DIIS + --------------- ------------------- --------------- + dE on: start ASAP start + dE off: 2 iters 50 iters 50 iters + + + Screening Tolerance Information + ------------------------------- + Density screening/tol_rho: 1.00D-11 + AO Gaussian exp screening on grid/accAOfunc: 18 + CD Gaussian exp screening on grid/accCDfunc: 20 + XC Gaussian exp screening on grid/accXCfunc: 20 + Schwarz screening/accCoul: 1.00D-10 + + + Forcing the number of linearly dependent vectors to be 0 + + Superposition of Atomic Density Guess + ------------------------------------- + + Sum of atomic energies: -77.34060632 + + Non-variational initial energy + ------------------------------ + + Total energy = -78.455147 + 1-e energy = -167.874960 + 2-e energy = 56.121713 + HOMO = -0.345565 + LUMO = -0.010066 + + + Symmetry analysis of molecular orbitals - initial + ------------------------------------------------- + + Numbering of irreducible representations: + + 1 ag 2 au 3 b1g 4 b1u 5 b2g + 6 b2u 7 b3g 8 b3u + + Orbital symmetries: + + 1 ag 2 b2u 3 ag 4 b2u 5 b3u + 6 ag 7 b1g 8 b1u 9 b3g 10 ag + 11 b2u 12 b3u 13 b1g 14 b1u 15 ag + 16 b2u 17 b3g 18 ag + + Time after variat. SCF: 0.6 + Time prior to 1st pass: 0.6 + + Grid_pts file = ./ethene.gridpts.0 + Record size in doubles = 12289 No. of grid_pts per rec = 3070 + Max. records in memory = 5 Max. recs in file = 144750120 + + + Memory utilization after 1st SCF pass: + Heap Space remaining (MW): 31.85 31851590 + Stack Space remaining (MW): 65.53 65534900 + + convergence iter energy DeltaE RMS-Dens Diis-err time + ---------------- ----- ----------------- --------- --------- --------- ------ + d= 0,ls=0.0,diis 1 -78.4948720218 -1.12D+02 2.79D-03 1.96D-01 1.0 + d= 0,ls=0.0,diis 2 -78.5108256483 -1.60D-02 3.67D-04 8.12D-03 1.5 + d= 0,ls=0.0,diis 3 -78.5113261696 -5.01D-04 1.64D-04 4.05D-03 1.9 + d= 0,ls=0.0,diis 4 -78.5118217097 -4.96D-04 3.00D-05 9.87D-05 2.3 + d= 0,ls=0.0,diis 5 -78.5118344037 -1.27D-05 1.02D-05 4.05D-07 2.7 + d= 0,ls=0.0,diis 6 -78.5118344578 -5.41D-08 4.79D-07 1.43D-09 3.1 + d= 0,ls=0.0,diis 7 -78.5118344583 -4.57D-10 7.88D-08 2.30D-11 3.5 + + + Total DFT energy = -78.511834458262 + One electron energy = -170.172785981702 + Coulomb energy = 70.545536392539 + Exchange-Corr. energy = -12.182685074135 + Nuclear repulsion energy = 33.298100205037 + + Numeric. integr. density = 15.999999625470 + + Total iterative time = 2.9s + + + + Occupations of the irreducible representations + ---------------------------------------------- + + irrep alpha beta + -------- -------- -------- + ag 3.0 3.0 + au 0.0 0.0 + b1g 1.0 1.0 + b1u 1.0 1.0 + b2g 0.0 0.0 + b2u 2.0 2.0 + b3g 0.0 0.0 + b3u 1.0 1.0 + + + DFT Final Molecular Orbital Analysis + ------------------------------------ + + Vector 1 Occ=2.000000D+00 E=-1.022806D+01 Symmetry=ag + MO Center= -2.5D-16, 2.5D-12, -2.0D-19, r^2= 4.7D-01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 93 0.697273 5 C s 139 0.697273 6 C s + 94 0.039874 5 C s 140 0.039874 6 C s + 96 -0.034387 5 C s 142 -0.034387 6 C s + + Vector 2 Occ=2.000000D+00 E=-1.022710D+01 Symmetry=b2u + MO Center= -1.6D-16, -2.5D-12, 1.6D-18, r^2= 4.7D-01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 93 0.696292 5 C s 139 -0.696292 6 C s + 96 0.086883 5 C s 142 -0.086883 6 C s + 105 -0.048427 5 C py 151 -0.048427 6 C py + 94 0.034528 5 C s 140 -0.034528 6 C s + + Vector 3 Occ=2.000000D+00 E=-7.849862D-01 Symmetry=ag + MO Center= 9.2D-15, 5.7D-15, 1.3D-15, r^2= 1.1D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 95 0.346917 5 C s 141 0.346917 6 C s + 96 0.210224 5 C s 142 0.210224 6 C s + 94 0.077322 5 C s 140 0.077322 6 C s + 99 -0.061606 5 C py 145 0.061606 6 C py + 1 0.050488 1 H s 24 0.050488 2 H s + + Vector 4 Occ=2.000000D+00 E=-5.999211D-01 Symmetry=b2u + MO Center= -1.8D-17, -5.3D-15, 2.9D-30, r^2= 2.1D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 95 0.280677 5 C s 141 -0.280677 6 C s + 96 0.253326 5 C s 142 -0.253326 6 C s + 102 0.092804 5 C py 148 0.092804 6 C py + 99 0.091684 5 C py 145 0.091684 6 C py + 1 0.088625 1 H s 24 0.088625 2 H s + + Vector 5 Occ=2.000000D+00 E=-4.846036D-01 Symmetry=b3u + MO Center= -8.7D-15, -1.7D-17, 1.8D-30, r^2= 1.9D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 101 0.219376 5 C px 147 0.219376 6 C px + 98 0.183308 5 C px 144 0.183308 6 C px + 104 0.121723 5 C px 150 0.121723 6 C px + 2 0.116614 1 H s 25 -0.116614 2 H s + 48 0.116614 3 H s 71 -0.116614 4 H s + + Vector 6 Occ=2.000000D+00 E=-4.349223D-01 Symmetry=ag + MO Center= 1.7D-17, -7.8D-16, 4.6D-17, r^2= 1.7D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 102 0.258705 5 C py 148 -0.258705 6 C py + 99 0.236125 5 C py 145 -0.236125 6 C py + 105 0.129879 5 C py 151 -0.129879 6 C py + 2 0.098618 1 H s 25 0.098618 2 H s + 48 0.098618 3 H s 71 0.098618 4 H s + + Vector 7 Occ=2.000000D+00 E=-3.684131D-01 Symmetry=b1g + MO Center= -1.3D-15, -6.3D-16, -1.7D-16, r^2= 2.4D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 101 0.212487 5 C px 147 -0.212487 6 C px + 104 0.194628 5 C px 150 -0.194628 6 C px + 98 0.171029 5 C px 144 -0.171029 6 C px + 2 0.135915 1 H s 25 -0.135915 2 H s + 48 -0.135915 3 H s 71 0.135915 4 H s + + Vector 8 Occ=2.000000D+00 E=-2.890724D-01 Symmetry=b1u + MO Center= -7.9D-16, -1.8D-15, -2.3D-15, r^2= 1.5D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 103 0.283530 5 C pz 149 0.283530 6 C pz + 100 0.219168 5 C pz 146 0.219168 6 C pz + 106 0.174998 5 C pz 152 0.174998 6 C pz + + Vector 9 Occ=0.000000D+00 E=-3.548042D-03 Symmetry=b3g + MO Center= -6.8D-15, 2.0D-14, -3.2D-15, r^2= 3.7D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 109 0.584222 5 C pz 155 -0.584222 6 C pz + 106 0.337827 5 C pz 152 -0.337827 6 C pz + 103 0.272457 5 C pz 149 -0.272457 6 C pz + 100 0.204921 5 C pz 146 -0.204921 6 C pz + 116 0.048577 5 C d -1 162 0.048577 6 C d -1 + + Vector 10 Occ=0.000000D+00 E= 4.384170D-03 Symmetry=ag + MO Center= 2.6D-13, 7.1D-13, -2.8D-14, r^2= 1.6D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 97 1.404756 5 C s 143 1.404756 6 C s + 96 1.321118 5 C s 142 1.321118 6 C s + 3 -0.862193 1 H s 26 -0.862193 2 H s + 49 -0.862193 3 H s 72 -0.862193 4 H s + 4 -0.685329 1 H s 27 -0.685329 2 H s + + Vector 11 Occ=0.000000D+00 E= 2.006975D-02 Symmetry=b2u + MO Center= -1.6D-12, -3.0D-13, -2.0D-14, r^2= 2.1D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 4 2.006766 1 H s 27 2.006766 2 H s + 50 -2.006766 3 H s 73 -2.006766 4 H s + 108 -1.483093 5 C py 154 -1.483093 6 C py + 105 -1.241238 5 C py 151 -1.241238 6 C py + 97 1.169076 5 C s 143 -1.169076 6 C s + + Vector 12 Occ=0.000000D+00 E= 2.254180D-02 Symmetry=b3u + MO Center= -4.6D-13, -4.5D-13, 8.3D-16, r^2= 2.0D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 4 2.087153 1 H s 27 -2.087153 2 H s + 50 2.087153 3 H s 73 -2.087153 4 H s + 3 0.902567 1 H s 26 -0.902567 2 H s + 49 0.902567 3 H s 72 -0.902567 4 H s + 107 -0.753449 5 C px 153 -0.753449 6 C px + + Vector 13 Occ=0.000000D+00 E= 4.941841D-02 Symmetry=b1g + MO Center= 2.2D-12, 1.6D-12, -8.1D-16, r^2= 2.9D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 4 6.100810 1 H s 27 -6.100810 2 H s + 50 -6.100810 3 H s 73 6.100810 4 H s + 107 -3.734128 5 C px 153 3.734128 6 C px + 3 -1.565954 1 H s 26 1.565954 2 H s + 49 1.565954 3 H s 72 -1.565954 4 H s + + Vector 14 Occ=0.000000D+00 E= 5.736419D-02 Symmetry=b1u + MO Center= 4.6D-15, 3.6D-14, 5.1D-15, r^2= 1.2D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 109 0.681083 5 C pz 155 0.681083 6 C pz + 13 -0.180567 1 H pz 36 -0.180567 2 H pz + 59 -0.180567 3 H pz 82 -0.180567 4 H pz + 121 0.129439 5 C d -1 167 -0.129439 6 C d -1 + 103 -0.078227 5 C pz 149 -0.078227 6 C pz + + Vector 15 Occ=0.000000D+00 E= 7.276423D-02 Symmetry=ag + MO Center= 2.7D-14, -1.2D-13, 9.5D-15, r^2= 1.5D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 108 2.125022 5 C py 154 -2.125022 6 C py + 105 0.365271 5 C py 151 -0.365271 6 C py + 3 0.254010 1 H s 26 0.254010 2 H s + 49 0.254010 3 H s 72 0.254010 4 H s + 124 0.211656 5 C d 2 170 0.211656 6 C d 2 + + Vector 16 Occ=0.000000D+00 E= 9.123937D-02 Symmetry=b2u + MO Center= -3.8D-14, -2.6D-13, -2.0D-16, r^2= 2.7D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 97 21.195858 5 C s 143 -21.195858 6 C s + 108 -9.364020 5 C py 154 -9.364020 6 C py + 4 5.455877 1 H s 27 5.455877 2 H s + 50 -5.455877 3 H s 73 -5.455877 4 H s + 96 2.760374 5 C s 142 -2.760374 6 C s + + Vector 17 Occ=0.000000D+00 E= 9.995970D-02 Symmetry=b3g + MO Center= 1.1D-13, -1.6D-14, 2.5D-14, r^2= 1.6D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 109 2.937580 5 C pz 155 -2.937580 6 C pz + 106 0.762391 5 C pz 152 -0.762391 6 C pz + 121 -0.488636 5 C d -1 167 -0.488636 6 C d -1 + 13 -0.225333 1 H pz 36 -0.225333 2 H pz + 59 0.225333 3 H pz 82 0.225333 4 H pz + + Vector 18 Occ=0.000000D+00 E= 1.000600D-01 Symmetry=ag + MO Center= 1.8D-12, -1.4D-12, 1.4D-15, r^2= 2.0D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 97 5.333165 5 C s 143 5.333165 6 C s + 96 4.830051 5 C s 142 4.830051 6 C s + 3 -3.374198 1 H s 26 -3.374198 2 H s + 49 -3.374198 3 H s 72 -3.374198 4 H s + 4 -1.399059 1 H s 27 -1.399059 2 H s + + Vector 19 Occ=0.000000D+00 E= 1.030495D-01 Symmetry=b3u + MO Center= -1.5D-12, 4.6D-14, 3.2D-15, r^2= 2.1D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 4 3.802208 1 H s 27 -3.802208 2 H s + 50 3.802208 3 H s 73 -3.802208 4 H s + 3 2.954214 1 H s 26 -2.954214 2 H s + 49 2.954214 3 H s 72 -2.954214 4 H s + 107 -2.523785 5 C px 153 -2.523785 6 C px + + Vector 20 Occ=0.000000D+00 E= 1.248602D-01 Symmetry=ag + MO Center= 2.3D-13, -8.0D-15, 1.1D-14, r^2= 7.8D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 -2.254999 5 C s 97 -2.265880 5 C s + 142 -2.254999 6 C s 143 -2.265880 6 C s + 3 2.144877 1 H s 26 2.144877 2 H s + 49 2.144877 3 H s 72 2.144877 4 H s + 124 -1.715692 5 C d 2 170 -1.715692 6 C d 2 + + Vector 21 Occ=0.000000D+00 E= 1.366644D-01 Symmetry=b1g + MO Center= -2.5D-11, -2.0D-12, 3.4D-16, r^2= 2.2D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 107 9.335454 5 C px 153 -9.335454 6 C px + 4 -8.447405 1 H s 27 8.447405 2 H s + 50 8.447405 3 H s 73 -8.447405 4 H s + 120 -3.541182 5 C d -2 166 -3.541182 6 C d -2 + 3 3.333429 1 H s 26 -3.333429 2 H s + + Vector 22 Occ=0.000000D+00 E= 1.422546D-01 Symmetry=b2u + MO Center= 3.7D-11, 1.3D-12, -2.2D-16, r^2= 1.6D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 97 41.460656 5 C s 143 -41.460656 6 C s + 108 -10.668545 5 C py 154 -10.668545 6 C py + 3 -7.665293 1 H s 26 -7.665293 2 H s + 49 7.665293 3 H s 72 7.665293 4 H s + 96 5.151937 5 C s 142 -5.151937 6 C s + + Vector 23 Occ=0.000000D+00 E= 1.624733D-01 Symmetry=b3u + MO Center= -7.7D-14, 7.5D-13, 9.4D-27, r^2= 8.7D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 1.499089 1 H s 26 -1.499089 2 H s + 49 1.499089 3 H s 72 -1.499089 4 H s + 107 -1.372446 5 C px 153 -1.372446 6 C px + 4 1.268886 1 H s 27 -1.268886 2 H s + 50 1.268886 3 H s 73 -1.268886 4 H s + + Vector 24 Occ=0.000000D+00 E= 1.644270D-01 Symmetry=b2g + MO Center= -3.6D-15, 4.0D-16, -4.2D-15, r^2= 6.9D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 13 1.028777 1 H pz 36 -1.028777 2 H pz + 59 1.028777 3 H pz 82 -1.028777 4 H pz + 123 0.294653 5 C d 1 169 0.294653 6 C d 1 + 118 0.134109 5 C d 1 164 0.134109 6 C d 1 + 22 0.111356 1 H d 1 45 0.111356 2 H d 1 + + Vector 25 Occ=0.000000D+00 E= 2.051705D-01 Symmetry=b2u + MO Center= -5.5D-13, 1.1D-14, -8.1D-17, r^2= 1.1D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 97 34.242636 5 C s 143 -34.242636 6 C s + 3 -7.256803 1 H s 26 -7.256803 2 H s + 49 7.256803 3 H s 72 7.256803 4 H s + 105 7.006765 5 C py 151 7.006765 6 C py + 108 -6.636453 5 C py 154 -6.636453 6 C py + + Vector 26 Occ=0.000000D+00 E= 2.312309D-01 Symmetry=ag + MO Center= -1.6D-13, 1.2D-12, -7.4D-15, r^2= 1.2D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 108 2.604559 5 C py 154 -2.604559 6 C py + 105 1.762063 5 C py 151 -1.762063 6 C py + 12 -1.276749 1 H py 35 -1.276749 2 H py + 58 1.276749 3 H py 81 1.276749 4 H py + 96 -1.041942 5 C s 142 -1.041942 6 C s + + Vector 27 Occ=0.000000D+00 E= 2.326321D-01 Symmetry=au + MO Center= -7.4D-14, -1.1D-15, -8.7D-17, r^2= 9.8D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 13 2.585644 1 H pz 36 -2.585644 2 H pz + 59 -2.585644 3 H pz 82 2.585644 4 H pz + 123 2.349091 5 C d 1 169 -2.349091 6 C d 1 + 22 0.182180 1 H d 1 45 0.182180 2 H d 1 + 68 -0.182180 3 H d 1 91 -0.182180 4 H d 1 + + Vector 28 Occ=0.000000D+00 E= 2.467432D-01 Symmetry=b1u + MO Center= 7.2D-14, 3.1D-13, 9.9D-15, r^2= 1.0D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 106 1.729680 5 C pz 152 1.729680 6 C pz + 13 -1.513275 1 H pz 36 -1.513275 2 H pz + 59 -1.513275 3 H pz 82 -1.513275 4 H pz + 109 0.720299 5 C pz 155 0.720299 6 C pz + 121 0.404009 5 C d -1 167 -0.404009 6 C d -1 + + Vector 29 Occ=0.000000D+00 E= 2.494753D-01 Symmetry=b2u + MO Center= 2.2D-13, -7.3D-12, -5.9D-16, r^2= 1.4D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 97 24.264389 5 C s 143 -24.264389 6 C s + 108 -9.444530 5 C py 154 -9.444530 6 C py + 105 -7.463228 5 C py 151 -7.463228 6 C py + 96 6.625894 5 C s 142 -6.625894 6 C s + 4 4.186872 1 H s 27 4.186872 2 H s + + Vector 30 Occ=0.000000D+00 E= 2.753507D-01 Symmetry=b3u + MO Center= -8.3D-14, 1.7D-13, 4.1D-28, r^2= 1.1D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 107 -2.514586 5 C px 153 -2.514586 6 C px + 4 2.438029 1 H s 27 -2.438029 2 H s + 50 2.438029 3 H s 73 -2.438029 4 H s + 11 1.822888 1 H px 34 1.822888 2 H px + 57 1.822888 3 H px 80 1.822888 4 H px + + Vector 31 Occ=0.000000D+00 E= 3.007835D-01 Symmetry=b1g + MO Center= -2.9D-11, 2.1D-12, -2.1D-15, r^2= 1.5D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 21.390114 1 H s 26 -21.390114 2 H s + 49 -21.390114 3 H s 72 21.390114 4 H s + 107 11.279300 5 C px 153 -11.279300 6 C px + 120 -9.872773 5 C d -2 166 -9.872773 6 C d -2 + 4 -6.984163 1 H s 27 6.984163 2 H s + + Vector 32 Occ=0.000000D+00 E= 3.032774D-01 Symmetry=b3g + MO Center= 1.3D-15, -1.5D-12, -4.4D-15, r^2= 1.1D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 106 4.387972 5 C pz 152 -4.387972 6 C pz + 109 2.710753 5 C pz 155 -2.710753 6 C pz + 13 -1.430996 1 H pz 36 -1.430996 2 H pz + 59 1.430996 3 H pz 82 1.430996 4 H pz + 121 -1.170211 5 C d -1 167 -1.170211 6 C d -1 + + Vector 33 Occ=0.000000D+00 E= 3.154773D-01 Symmetry=b3u + MO Center= 4.6D-11, -1.4D-11, 3.4D-16, r^2= 1.1D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 8.729502 1 H s 26 -8.729502 2 H s + 49 8.729502 3 H s 72 -8.729502 4 H s + 104 -4.824802 5 C px 150 -4.824802 6 C px + 11 -3.313834 1 H px 34 -3.313834 2 H px + 57 -3.313834 3 H px 80 -3.313834 4 H px + + Vector 34 Occ=0.000000D+00 E= 3.174433D-01 Symmetry=b1g + MO Center= -6.0D-11, -1.0D-11, -2.8D-15, r^2= 1.2D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 38.472643 1 H s 26 -38.472643 2 H s + 49 -38.472643 3 H s 72 38.472643 4 H s + 120 -19.158492 5 C d -2 166 -19.158492 6 C d -2 + 11 -8.632898 1 H px 34 -8.632898 2 H px + 57 8.632898 3 H px 80 8.632898 4 H px + + Vector 35 Occ=0.000000D+00 E= 3.191068D-01 Symmetry=b1u + MO Center= 2.8D-14, -2.2D-13, -4.2D-16, r^2= 6.7D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 106 1.633170 5 C pz 152 1.633170 6 C pz + 121 1.542727 5 C d -1 167 -1.542727 6 C d -1 + 13 -0.894041 1 H pz 36 -0.894041 2 H pz + 59 -0.894041 3 H pz 82 -0.894041 4 H pz + 109 0.205827 5 C pz 155 0.205827 6 C pz + + Vector 36 Occ=0.000000D+00 E= 3.202112D-01 Symmetry=ag + MO Center= -5.1D-11, -1.5D-12, -8.8D-15, r^2= 1.2D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 10.562979 5 C s 142 10.562979 6 C s + 3 -6.843947 1 H s 26 -6.843947 2 H s + 49 -6.843947 3 H s 72 -6.843947 4 H s + 97 6.280666 5 C s 143 6.280666 6 C s + 105 3.182384 5 C py 151 -3.182384 6 C py + + Vector 37 Occ=0.000000D+00 E= 3.448208D-01 Symmetry=ag + MO Center= 3.6D-12, 6.4D-13, 3.7D-15, r^2= 9.3D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 5.233032 5 C s 142 5.233032 6 C s + 97 -3.170248 5 C s 143 -3.170248 6 C s + 11 1.473348 1 H px 34 -1.473348 2 H px + 57 1.473348 3 H px 80 -1.473348 4 H px + 122 1.351636 5 C d 0 168 1.351636 6 C d 0 + + Vector 38 Occ=0.000000D+00 E= 3.488037D-01 Symmetry=b2u + MO Center= -4.0D-13, 1.6D-13, -3.6D-16, r^2= 1.1D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 97 22.492838 5 C s 143 -22.492838 6 C s + 96 14.415590 5 C s 142 -14.415590 6 C s + 3 -11.878160 1 H s 26 -11.878160 2 H s + 49 11.878160 3 H s 72 11.878160 4 H s + 105 6.342904 5 C py 151 6.342904 6 C py + + Vector 39 Occ=0.000000D+00 E= 3.579103D-01 Symmetry=b3u + MO Center= -7.5D-15, 2.0D-11, -1.4D-25, r^2= 9.4D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 11.474598 1 H s 26 -11.474598 2 H s + 49 11.474598 3 H s 72 -11.474598 4 H s + 104 -7.127397 5 C px 150 -7.127397 6 C px + 120 -4.592866 5 C d -2 166 4.592866 6 C d -2 + 11 -2.762418 1 H px 34 -2.762418 2 H px + + Vector 40 Occ=0.000000D+00 E= 3.644591D-01 Symmetry=ag + MO Center= 1.7D-12, -1.6D-11, 7.5D-15, r^2= 9.9D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 19.130613 5 C s 142 19.130613 6 C s + 3 -9.296632 1 H s 26 -9.296632 2 H s + 49 -9.296632 3 H s 72 -9.296632 4 H s + 124 7.966091 5 C d 2 170 7.966091 6 C d 2 + 12 5.035763 1 H py 35 5.035763 2 H py + + Vector 41 Occ=0.000000D+00 E= 3.766951D-01 Symmetry=b2g + MO Center= 7.7D-14, -1.3D-12, -9.4D-16, r^2= 8.6D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 13 2.740159 1 H pz 36 -2.740159 2 H pz + 59 2.740159 3 H pz 82 -2.740159 4 H pz + 123 2.294488 5 C d 1 169 2.294488 6 C d 1 + 118 0.326499 5 C d 1 164 0.326499 6 C d 1 + 22 0.235718 1 H d 1 45 0.235718 2 H d 1 + + Vector 42 Occ=0.000000D+00 E= 3.839297D-01 Symmetry=b1g + MO Center= -1.5D-11, -8.8D-13, 1.4D-15, r^2= 1.2D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 23.853206 1 H s 26 -23.853206 2 H s + 49 -23.853206 3 H s 72 23.853206 4 H s + 104 -19.731466 5 C px 150 19.731466 6 C px + 11 -6.390105 1 H px 34 -6.390105 2 H px + 57 6.390105 3 H px 80 6.390105 4 H px + + Vector 43 Occ=0.000000D+00 E= 3.897336D-01 Symmetry=b3g + MO Center= 1.7D-12, 1.1D-12, -2.2D-14, r^2= 9.8D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 121 4.816671 5 C d -1 167 4.816671 6 C d -1 + 13 -2.856179 1 H pz 36 -2.856179 2 H pz + 59 2.856179 3 H pz 82 2.856179 4 H pz + 106 -2.281819 5 C pz 152 2.281819 6 C pz + 116 0.448419 5 C d -1 162 0.448419 6 C d -1 + + Vector 44 Occ=0.000000D+00 E= 4.233482D-01 Symmetry=b2u + MO Center= -4.7D-12, -2.3D-12, 1.2D-14, r^2= 9.3D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 97 34.078787 5 C s 143 -34.078787 6 C s + 3 -6.907989 1 H s 26 -6.907989 2 H s + 49 6.907989 3 H s 72 6.907989 4 H s + 105 5.743004 5 C py 151 5.743004 6 C py + 108 -5.091862 5 C py 154 -5.091862 6 C py + + Vector 45 Occ=0.000000D+00 E= 4.532871D-01 Symmetry=b2u + MO Center= 5.7D-11, 5.4D-12, 9.6D-15, r^2= 1.1D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 97 36.643543 5 C s 143 -36.643543 6 C s + 3 -16.370118 1 H s 26 -16.370118 2 H s + 49 16.370118 3 H s 72 16.370118 4 H s + 124 13.340458 5 C d 2 170 -13.340458 6 C d 2 + 96 -12.826860 5 C s 142 12.826860 6 C s + + Vector 46 Occ=0.000000D+00 E= 4.768370D-01 Symmetry=b1u + MO Center= -2.0D-13, 3.0D-13, -2.6D-15, r^2= 5.5D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 106 2.900077 5 C pz 152 2.900077 6 C pz + 13 -1.280435 1 H pz 36 -1.280435 2 H pz + 59 -1.280435 3 H pz 82 -1.280435 4 H pz + 121 0.497582 5 C d -1 167 -0.497582 6 C d -1 + 10 -0.279014 1 H pz 33 -0.279014 2 H pz + + Vector 47 Occ=0.000000D+00 E= 4.872453D-01 Symmetry=b2u + MO Center= 2.8D-11, 8.5D-12, 2.4D-15, r^2= 9.0D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 32.866305 5 C s 142 -32.866305 6 C s + 105 -26.258425 5 C py 151 -26.258425 6 C py + 97 15.482175 5 C s 143 -15.482175 6 C s + 3 13.560104 1 H s 26 13.560104 2 H s + 49 -13.560104 3 H s 72 -13.560104 4 H s + + Vector 48 Occ=0.000000D+00 E= 5.049696D-01 Symmetry=au + MO Center= -2.2D-12, 1.0D-12, -5.8D-15, r^2= 8.2D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 123 7.354152 5 C d 1 169 -7.354152 6 C d 1 + 13 4.789036 1 H pz 36 -4.789036 2 H pz + 59 -4.789036 3 H pz 82 4.789036 4 H pz + 118 0.249553 5 C d 1 164 -0.249553 6 C d 1 + 20 -0.236306 1 H d -1 43 0.236306 2 H d -1 + + Vector 49 Occ=0.000000D+00 E= 5.384322D-01 Symmetry=ag + MO Center= -8.4D-14, 3.9D-12, 1.7D-16, r^2= 7.7D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 105 4.985763 5 C py 151 -4.985763 6 C py + 108 1.804444 5 C py 154 -1.804444 6 C py + 12 -1.777148 1 H py 35 -1.777148 2 H py + 58 1.777148 3 H py 81 1.777148 4 H py + 2 1.027758 1 H s 25 1.027758 2 H s + + Vector 50 Occ=0.000000D+00 E= 6.133381D-01 Symmetry=b1g + MO Center= 5.0D-11, 2.9D-12, 4.3D-15, r^2= 1.0D+01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 96.286382 1 H s 26 -96.286382 2 H s + 49 -96.286382 3 H s 72 96.286382 4 H s + 120 -51.643732 5 C d -2 166 -51.643732 6 C d -2 + 11 -18.956248 1 H px 34 -18.956248 2 H px + 57 18.956248 3 H px 80 18.956248 4 H px + + Vector 51 Occ=0.000000D+00 E= 6.263700D-01 Symmetry=b3g + MO Center= 9.6D-13, 1.7D-13, 1.1D-15, r^2= 6.5D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 106 8.228639 5 C pz 152 -8.228639 6 C pz + 121 -2.170217 5 C d -1 167 -2.170217 6 C d -1 + 109 1.206639 5 C pz 155 -1.206639 6 C pz + 13 -0.970356 1 H pz 36 -0.970356 2 H pz + 59 0.970356 3 H pz 82 0.970356 4 H pz + + Vector 52 Occ=0.000000D+00 E= 6.448119D-01 Symmetry=b1g + MO Center= -2.7D-11, 1.6D-12, 1.1D-15, r^2= 8.0D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 76.651749 1 H s 26 -76.651749 2 H s + 49 -76.651749 3 H s 72 76.651749 4 H s + 120 -30.671960 5 C d -2 166 -30.671960 6 C d -2 + 104 -20.182172 5 C px 150 20.182172 6 C px + 11 -14.309029 1 H px 34 -14.309029 2 H px + + Vector 53 Occ=0.000000D+00 E= 6.744531D-01 Symmetry=ag + MO Center= -6.5D-13, 7.2D-12, 3.9D-17, r^2= 6.3D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 11.688655 5 C s 142 11.688655 6 C s + 124 7.676071 5 C d 2 170 7.676071 6 C d 2 + 105 4.602148 5 C py 151 -4.602148 6 C py + 3 -4.369524 1 H s 26 -4.369524 2 H s + 49 -4.369524 3 H s 72 -4.369524 4 H s + + Vector 54 Occ=0.000000D+00 E= 6.927754D-01 Symmetry=b3u + MO Center= 1.6D-13, 4.7D-12, 3.2D-15, r^2= 8.2D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 7.216424 1 H s 26 -7.216424 2 H s + 49 7.216424 3 H s 72 -7.216424 4 H s + 104 -4.993069 5 C px 150 -4.993069 6 C px + 12 -3.379224 1 H py 35 3.379224 2 H py + 58 3.379224 3 H py 81 -3.379224 4 H py + + Vector 55 Occ=0.000000D+00 E= 7.181933D-01 Symmetry=b3u + MO Center= 1.0D-12, 3.3D-13, -2.4D-14, r^2= 7.1D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 14.837799 1 H s 26 -14.837799 2 H s + 49 14.837799 3 H s 72 -14.837799 4 H s + 104 -12.954857 5 C px 150 -12.954857 6 C px + 120 -6.432303 5 C d -2 166 6.432303 6 C d -2 + 11 -2.438918 1 H px 34 -2.438918 2 H px + + Vector 56 Occ=0.000000D+00 E= 7.218794D-01 Symmetry=b2g + MO Center= 3.6D-14, 5.7D-15, 2.2D-14, r^2= 4.6D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 118 0.870986 5 C d 1 164 0.870986 6 C d 1 + 22 0.466604 1 H d 1 45 0.466604 2 H d 1 + 68 0.466604 3 H d 1 91 0.466604 4 H d 1 + 123 -0.447791 5 C d 1 169 -0.447791 6 C d 1 + 20 -0.204264 1 H d -1 43 0.204264 2 H d -1 + + Vector 57 Occ=0.000000D+00 E= 7.559092D-01 Symmetry=b2u + MO Center= 5.4D-12, 7.5D-12, -2.1D-15, r^2= 7.3D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 16.202263 5 C s 142 -16.202263 6 C s + 105 13.300659 5 C py 151 13.300659 6 C py + 3 -12.359287 1 H s 26 -12.359287 2 H s + 49 12.359287 3 H s 72 12.359287 4 H s + 11 4.014298 1 H px 34 -4.014298 2 H px + + Vector 58 Occ=0.000000D+00 E= 7.793969D-01 Symmetry=b1u + MO Center= 1.1D-14, -1.9D-13, -1.9D-15, r^2= 4.8D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 106 -0.637735 5 C pz 152 -0.637735 6 C pz + 13 0.631574 1 H pz 36 0.631574 2 H pz + 59 0.631574 3 H pz 82 0.631574 4 H pz + 116 -0.597054 5 C d -1 162 0.597054 6 C d -1 + 121 0.543336 5 C d -1 167 -0.543336 6 C d -1 + + Vector 59 Occ=0.000000D+00 E= 7.865207D-01 Symmetry=b2u + MO Center= -8.2D-11, -5.9D-11, 2.4D-15, r^2= 7.2D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 22.796852 5 C s 142 -22.796852 6 C s + 105 -21.665126 5 C py 151 -21.665126 6 C py + 97 -14.930488 5 C s 143 14.930488 6 C s + 3 12.452993 1 H s 26 12.452993 2 H s + 49 -12.452993 3 H s 72 -12.452993 4 H s + + Vector 60 Occ=0.000000D+00 E= 7.876274D-01 Symmetry=au + MO Center= 4.4D-14, 3.2D-13, 4.0D-15, r^2= 6.6D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 123 4.807967 5 C d 1 169 -4.807967 6 C d 1 + 13 1.677225 1 H pz 36 -1.677225 2 H pz + 59 -1.677225 3 H pz 82 1.677225 4 H pz + 133 1.351189 5 C f -2 179 1.351189 6 C f -2 + 22 -0.918850 1 H d 1 45 -0.918850 2 H d 1 + + Vector 61 Occ=0.000000D+00 E= 7.915853D-01 Symmetry=ag + MO Center= -6.5D-12, 5.1D-11, 7.4D-15, r^2= 7.8D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 25.682254 5 C s 142 25.682254 6 C s + 3 -10.755720 1 H s 26 -10.755720 2 H s + 49 -10.755720 3 H s 72 -10.755720 4 H s + 105 6.343653 5 C py 151 -6.343653 6 C py + 2 -3.719989 1 H s 25 -3.719989 2 H s + + Vector 62 Occ=0.000000D+00 E= 8.081660D-01 Symmetry=b3u + MO Center= 2.7D-13, -1.9D-13, 4.2D-16, r^2= 5.7D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 6.797902 1 H s 26 -6.797902 2 H s + 49 6.797902 3 H s 72 -6.797902 4 H s + 104 -4.167939 5 C px 150 -4.167939 6 C px + 11 -2.930145 1 H px 34 -2.930145 2 H px + 57 -2.930145 3 H px 80 -2.930145 4 H px + + Vector 63 Occ=0.000000D+00 E= 8.099782D-01 Symmetry=ag + MO Center= -2.2D-13, -1.2D-11, -5.1D-15, r^2= 6.6D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 17.157266 5 C s 142 17.157266 6 C s + 3 -8.923709 1 H s 26 -8.923709 2 H s + 49 -8.923709 3 H s 72 -8.923709 4 H s + 97 5.045535 5 C s 143 5.045535 6 C s + 105 3.892013 5 C py 151 -3.892013 6 C py + + Vector 64 Occ=0.000000D+00 E= 8.293102D-01 Symmetry=b1u + MO Center= 1.8D-14, -5.0D-14, -5.3D-16, r^2= 5.2D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 106 2.724131 5 C pz 152 2.724131 6 C pz + 121 1.630203 5 C d -1 167 -1.630203 6 C d -1 + 13 -1.442482 1 H pz 36 -1.442482 2 H pz + 59 -1.442482 3 H pz 82 -1.442482 4 H pz + 22 -0.656638 1 H d 1 45 0.656638 2 H d 1 + + Vector 65 Occ=0.000000D+00 E= 8.309116D-01 Symmetry=b1g + MO Center= 3.2D-11, -1.5D-12, 1.4D-14, r^2= 7.3D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 87.571396 1 H s 26 -87.571396 2 H s + 49 -87.571396 3 H s 72 87.571396 4 H s + 120 -31.963356 5 C d -2 166 -31.963356 6 C d -2 + 104 -30.138433 5 C px 150 30.138433 6 C px + 11 -16.029712 1 H px 34 -16.029712 2 H px + + Vector 66 Occ=0.000000D+00 E= 8.404699D-01 Symmetry=b3g + MO Center= -1.8D-13, 1.6D-13, 1.4D-15, r^2= 6.5D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 106 2.873236 5 C pz 152 -2.873236 6 C pz + 109 1.369776 5 C pz 155 -1.369776 6 C pz + 116 1.037114 5 C d -1 162 1.037114 6 C d -1 + 13 -1.002169 1 H pz 36 -1.002169 2 H pz + 59 1.002169 3 H pz 82 1.002169 4 H pz + + Vector 67 Occ=0.000000D+00 E= 8.750228D-01 Symmetry=b2g + MO Center= 4.0D-14, -5.6D-13, -3.5D-16, r^2= 5.6D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 13 2.251335 1 H pz 36 -2.251335 2 H pz + 59 2.251335 3 H pz 82 -2.251335 4 H pz + 123 1.996209 5 C d 1 169 1.996209 6 C d 1 + 20 -0.714123 1 H d -1 43 0.714123 2 H d -1 + 66 0.714123 3 H d -1 89 -0.714123 4 H d -1 + + Vector 68 Occ=0.000000D+00 E= 8.768530D-01 Symmetry=b2u + MO Center= 2.1D-14, 6.1D-12, -6.1D-16, r^2= 6.8D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 32.949868 5 C s 142 -32.949868 6 C s + 97 30.004520 5 C s 143 -30.004520 6 C s + 3 -11.097851 1 H s 26 -11.097851 2 H s + 49 11.097851 3 H s 72 11.097851 4 H s + 108 -6.298868 5 C py 154 -6.298868 6 C py + + Vector 69 Occ=0.000000D+00 E= 8.862319D-01 Symmetry=b3u + MO Center= 5.0D-12, 1.2D-13, -1.1D-15, r^2= 6.4D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 9.450676 1 H s 26 -9.450676 2 H s + 49 9.450676 3 H s 72 -9.450676 4 H s + 104 -6.184869 5 C px 150 -6.184869 6 C px + 120 -3.164408 5 C d -2 166 3.164408 6 C d -2 + 11 -2.842368 1 H px 34 -2.842368 2 H px + + Vector 70 Occ=0.000000D+00 E= 8.930242D-01 Symmetry=ag + MO Center= -3.6D-13, 7.9D-13, 2.7D-16, r^2= 4.4D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 5.302870 5 C s 142 5.302870 6 C s + 3 -3.067525 1 H s 26 -3.067525 2 H s + 49 -3.067525 3 H s 72 -3.067525 4 H s + 97 2.292625 5 C s 143 2.292625 6 C s + 124 1.782211 5 C d 2 170 1.782211 6 C d 2 + + Vector 71 Occ=0.000000D+00 E= 9.542365D-01 Symmetry=b1g + MO Center= 2.0D-11, 3.9D-12, -1.2D-14, r^2= 6.9D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 72.378559 1 H s 26 -72.378559 2 H s + 49 -72.378559 3 H s 72 72.378559 4 H s + 120 -43.120787 5 C d -2 166 -43.120787 6 C d -2 + 11 -11.728404 1 H px 34 -11.728404 2 H px + 57 11.728404 3 H px 80 11.728404 4 H px + + Vector 72 Occ=0.000000D+00 E= 9.546307D-01 Symmetry=b3u + MO Center= 1.1D-13, -1.7D-12, 4.4D-16, r^2= 6.5D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 104 -1.178257 5 C px 150 -1.178257 6 C px + 101 1.166948 5 C px 147 1.166948 6 C px + 138 -1.101687 5 C f 3 184 -1.101687 6 C f 3 + 120 1.068940 5 C d -2 166 -1.068940 6 C d -2 + 19 -1.010245 1 H d -2 42 -1.010245 2 H d -2 + + Vector 73 Occ=0.000000D+00 E= 9.613116D-01 Symmetry=b2g + MO Center= 2.8D-14, 5.9D-14, -7.5D-16, r^2= 5.2D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 22 0.942200 1 H d 1 45 0.942200 2 H d 1 + 68 0.942200 3 H d 1 91 0.942200 4 H d 1 + 13 0.576658 1 H pz 36 -0.576658 2 H pz + 59 0.576658 3 H pz 82 -0.576658 4 H pz + 10 0.428724 1 H pz 33 -0.428724 2 H pz + + Vector 74 Occ=0.000000D+00 E= 9.626514D-01 Symmetry=b3g + MO Center= 8.0D-14, -1.9D-13, -1.2D-16, r^2= 6.0D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 121 3.967334 5 C d -1 167 3.967334 6 C d -1 + 106 -2.448393 5 C pz 152 2.448393 6 C pz + 13 -2.341926 1 H pz 36 -2.341926 2 H pz + 59 2.341926 3 H pz 82 2.341926 4 H pz + 116 1.200938 5 C d -1 162 1.200938 6 C d -1 + + Vector 75 Occ=0.000000D+00 E= 9.807345D-01 Symmetry=b2u + MO Center= 8.2D-13, 4.4D-12, -1.5D-15, r^2= 7.0D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 40.461202 5 C s 142 -40.461202 6 C s + 97 22.237170 5 C s 143 -22.237170 6 C s + 105 -13.977848 5 C py 151 -13.977848 6 C py + 108 -4.261610 5 C py 154 -4.261610 6 C py + 2 -3.673410 1 H s 25 -3.673410 2 H s + + Vector 76 Occ=0.000000D+00 E= 9.962738D-01 Symmetry=au + MO Center= 5.0D-13, 1.8D-13, -8.1D-16, r^2= 5.8D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 123 2.319801 5 C d 1 169 -2.319801 6 C d 1 + 13 1.518737 1 H pz 36 -1.518737 2 H pz + 59 -1.518737 3 H pz 82 1.518737 4 H pz + 20 -0.864994 1 H d -1 43 0.864994 2 H d -1 + 66 -0.864994 3 H d -1 89 0.864994 4 H d -1 + + Vector 77 Occ=0.000000D+00 E= 1.005420D+00 Symmetry=b2u + MO Center= -8.1D-13, 6.6D-12, 5.6D-17, r^2= 6.2D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 105 -14.438388 5 C py 151 -14.438388 6 C py + 96 13.980475 5 C s 142 -13.980475 6 C s + 3 9.874282 1 H s 26 9.874282 2 H s + 49 -9.874282 3 H s 72 -9.874282 4 H s + 124 -8.227329 5 C d 2 170 8.227329 6 C d 2 + + Vector 78 Occ=0.000000D+00 E= 1.012841D+00 Symmetry=b1u + MO Center= -3.2D-14, 3.8D-14, -7.0D-15, r^2= 5.5D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 106 1.147020 5 C pz 152 1.147020 6 C pz + 20 0.888062 1 H d -1 43 0.888062 2 H d -1 + 66 -0.888062 3 H d -1 89 -0.888062 4 H d -1 + 103 0.823431 5 C pz 149 0.823431 6 C pz + 13 -0.663923 1 H pz 36 -0.663923 2 H pz + + Vector 79 Occ=0.000000D+00 E= 1.021600D+00 Symmetry=ag + MO Center= 3.7D-13, -5.5D-12, 6.6D-15, r^2= 6.6D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 13.712463 5 C s 142 13.712463 6 C s + 3 -5.624192 1 H s 26 -5.624192 2 H s + 49 -5.624192 3 H s 72 -5.624192 4 H s + 124 3.924232 5 C d 2 170 3.924232 6 C d 2 + 12 3.225287 1 H py 35 3.225287 2 H py + + Vector 80 Occ=0.000000D+00 E= 1.036269D+00 Symmetry=b1g + MO Center= 3.8D-12, -1.0D-13, 4.1D-16, r^2= 8.1D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 104 16.936523 5 C px 150 -16.936523 6 C px + 120 -6.632609 5 C d -2 166 -6.632609 6 C d -2 + 107 5.420780 5 C px 153 -5.420780 6 C px + 4 -2.833739 1 H s 27 2.833739 2 H s + 50 2.833739 3 H s 73 -2.833739 4 H s + + Vector 81 Occ=0.000000D+00 E= 1.107246D+00 Symmetry=au + MO Center= -9.0D-13, 1.3D-13, -4.6D-15, r^2= 5.2D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 123 3.746513 5 C d 1 169 -3.746513 6 C d 1 + 13 2.801727 1 H pz 36 -2.801727 2 H pz + 59 -2.801727 3 H pz 82 2.801727 4 H pz + 22 0.833143 1 H d 1 45 0.833143 2 H d 1 + 68 -0.833143 3 H d 1 91 -0.833143 4 H d 1 + + Vector 82 Occ=0.000000D+00 E= 1.151976D+00 Symmetry=ag + MO Center= 4.0D-14, 5.2D-12, -1.5D-16, r^2= 5.5D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 8.515628 5 C s 142 8.515628 6 C s + 105 6.629883 5 C py 151 -6.629883 6 C py + 3 -4.277571 1 H s 26 -4.277571 2 H s + 49 -4.277571 3 H s 72 -4.277571 4 H s + 97 2.040236 5 C s 143 2.040236 6 C s + + Vector 83 Occ=0.000000D+00 E= 1.173532D+00 Symmetry=b2u + MO Center= -4.5D-11, -1.6D-12, 3.0D-16, r^2= 6.2D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 28.320394 5 C s 142 -28.320394 6 C s + 105 -23.265868 5 C py 151 -23.265868 6 C py + 97 -15.067916 5 C s 143 15.067916 6 C s + 3 14.054253 1 H s 26 14.054253 2 H s + 49 -14.054253 3 H s 72 -14.054253 4 H s + + Vector 84 Occ=0.000000D+00 E= 1.219534D+00 Symmetry=b1g + MO Center= 4.7D-11, 2.6D-12, 3.0D-15, r^2= 6.1D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 63.365796 1 H s 26 -63.365796 2 H s + 49 -63.365796 3 H s 72 63.365796 4 H s + 120 -26.675021 5 C d -2 166 -26.675021 6 C d -2 + 104 -17.399643 5 C px 150 17.399643 6 C px + 11 -11.673443 1 H px 34 -11.673443 2 H px + + Vector 85 Occ=0.000000D+00 E= 1.236757D+00 Symmetry=b1u + MO Center= 2.7D-14, -1.3D-13, 1.2D-16, r^2= 3.8D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 121 0.787205 5 C d -1 167 -0.787205 6 C d -1 + 135 0.769103 5 C f 0 181 0.769103 6 C f 0 + 22 -0.623858 1 H d 1 45 0.623858 2 H d 1 + 68 -0.623858 3 H d 1 91 0.623858 4 H d 1 + 106 0.525770 5 C pz 152 0.525770 6 C pz + + Vector 86 Occ=0.000000D+00 E= 1.297398D+00 Symmetry=b3g + MO Center= -3.2D-14, -2.7D-14, 6.3D-16, r^2= 4.9D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 137 1.483834 5 C f 2 183 -1.483834 6 C f 2 + 116 1.208720 5 C d -1 162 1.208720 6 C d -1 + 20 1.168072 1 H d -1 43 1.168072 2 H d -1 + 66 1.168072 3 H d -1 89 1.168072 4 H d -1 + 106 1.161731 5 C pz 152 -1.161731 6 C pz + + Vector 87 Occ=0.000000D+00 E= 1.303847D+00 Symmetry=ag + MO Center= 3.1D-13, 2.1D-12, 6.8D-17, r^2= 4.3D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 6.310080 5 C s 142 6.310080 6 C s + 2 -2.058177 1 H s 25 -2.058177 2 H s + 48 -2.058177 3 H s 71 -2.058177 4 H s + 3 -1.834065 1 H s 26 -1.834065 2 H s + 49 -1.834065 3 H s 72 -1.834065 4 H s + + Vector 88 Occ=0.000000D+00 E= 1.334906D+00 Symmetry=b3u + MO Center= 4.5D-13, -1.3D-13, -3.1D-16, r^2= 4.7D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 120 2.951620 5 C d -2 166 -2.951620 6 C d -2 + 104 2.710331 5 C px 150 2.710331 6 C px + 3 -2.043909 1 H s 26 2.043909 2 H s + 49 -2.043909 3 H s 72 2.043909 4 H s + 136 -1.010788 5 C f 1 182 -1.010788 6 C f 1 + + Vector 89 Occ=0.000000D+00 E= 1.397196D+00 Symmetry=b3g + MO Center= 2.9D-13, 6.6D-13, 3.2D-15, r^2= 4.3D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 106 7.073965 5 C pz 152 -7.073965 6 C pz + 103 1.757465 5 C pz 149 -1.757465 6 C pz + 116 -1.355295 5 C d -1 162 -1.355295 6 C d -1 + 121 -1.347775 5 C d -1 167 -1.347775 6 C d -1 + 137 -1.232825 5 C f 2 183 1.232825 6 C f 2 + + Vector 90 Occ=0.000000D+00 E= 1.406964D+00 Symmetry=b2u + MO Center= 6.4D-13, -2.1D-12, -4.2D-15, r^2= 5.4D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 105 27.988286 5 C py 151 27.988286 6 C py + 96 -17.107791 5 C s 142 17.107791 6 C s + 3 -13.664034 1 H s 26 -13.664034 2 H s + 49 13.664034 3 H s 72 13.664034 4 H s + 124 5.473840 5 C d 2 170 -5.473840 6 C d 2 + + Vector 91 Occ=0.000000D+00 E= 1.408262D+00 Symmetry=b1g + MO Center= -5.6D-12, 5.1D-14, 3.6D-17, r^2= 5.5D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 24.025351 1 H s 26 -24.025351 2 H s + 49 -24.025351 3 H s 72 24.025351 4 H s + 104 -12.577827 5 C px 150 12.577827 6 C px + 120 -7.690649 5 C d -2 166 -7.690649 6 C d -2 + 115 3.592450 5 C d -2 161 3.592450 6 C d -2 + + Vector 92 Occ=0.000000D+00 E= 1.427378D+00 Symmetry=b2g + MO Center= 4.0D-14, -3.0D-14, -1.5D-15, r^2= 4.2D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 13 1.181130 1 H pz 36 -1.181130 2 H pz + 59 1.181130 3 H pz 82 -1.181130 4 H pz + 123 0.896550 5 C d 1 169 0.896550 6 C d 1 + 20 -0.876496 1 H d -1 43 0.876496 2 H d -1 + 66 0.876496 3 H d -1 89 -0.876496 4 H d -1 + + Vector 93 Occ=0.000000D+00 E= 1.484936D+00 Symmetry=b1u + MO Center= -2.9D-14, -8.3D-13, -1.1D-15, r^2= 4.2D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 106 3.223253 5 C pz 152 3.223253 6 C pz + 10 -1.292936 1 H pz 33 -1.292936 2 H pz + 56 -1.292936 3 H pz 79 -1.292936 4 H pz + 13 -1.278857 1 H pz 36 -1.278857 2 H pz + 59 -1.278857 3 H pz 82 -1.278857 4 H pz + + Vector 94 Occ=0.000000D+00 E= 1.505755D+00 Symmetry=b3u + MO Center= 7.0D-12, 2.3D-12, 1.6D-15, r^2= 4.3D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 17.558735 1 H s 26 -17.558735 2 H s + 49 17.558735 3 H s 72 -17.558735 4 H s + 104 -16.663772 5 C px 150 -16.663772 6 C px + 2 6.515990 1 H s 25 -6.515990 2 H s + 48 6.515990 3 H s 71 -6.515990 4 H s + + Vector 95 Occ=0.000000D+00 E= 1.545224D+00 Symmetry=ag + MO Center= -8.0D-12, -1.8D-12, 5.5D-16, r^2= 4.5D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 16.476449 5 C s 142 16.476449 6 C s + 105 8.202946 5 C py 151 -8.202946 6 C py + 3 -5.796989 1 H s 26 -5.796989 2 H s + 49 -5.796989 3 H s 72 -5.796989 4 H s + 124 5.268525 5 C d 2 170 5.268525 6 C d 2 + + Vector 96 Occ=0.000000D+00 E= 1.579696D+00 Symmetry=b3u + MO Center= -1.5D-13, 3.3D-14, -6.4D-17, r^2= 4.8D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 120 3.104215 5 C d -2 166 -3.104215 6 C d -2 + 12 -2.175757 1 H py 35 2.175757 2 H py + 58 2.175757 3 H py 81 -2.175757 4 H py + 101 -1.445741 5 C px 147 -1.445741 6 C px + 9 -1.037369 1 H py 32 1.037369 2 H py + + Vector 97 Occ=0.000000D+00 E= 1.595339D+00 Symmetry=b1g + MO Center= -5.7D-13, -2.0D-12, 5.9D-16, r^2= 4.5D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 104 18.785507 5 C px 150 -18.785507 6 C px + 3 -12.047539 1 H s 26 12.047539 2 H s + 49 12.047539 3 H s 72 -12.047539 4 H s + 2 -4.433912 1 H s 25 4.433912 2 H s + 48 4.433912 3 H s 71 -4.433912 4 H s + + Vector 98 Occ=0.000000D+00 E= 1.601870D+00 Symmetry=b1u + MO Center= -2.8D-14, 3.8D-13, -1.8D-15, r^2= 3.3D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 137 1.969155 5 C f 2 183 1.969155 6 C f 2 + 103 1.224151 5 C pz 149 1.224151 6 C pz + 20 0.801587 1 H d -1 43 0.801587 2 H d -1 + 66 -0.801587 3 H d -1 89 -0.801587 4 H d -1 + 10 -0.691730 1 H pz 33 -0.691730 2 H pz + + Vector 99 Occ=0.000000D+00 E= 1.610774D+00 Symmetry=b2u + MO Center= -7.3D-12, -1.2D-11, -1.7D-14, r^2= 5.1D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 31.497283 5 C s 142 -31.497283 6 C s + 3 -13.765455 1 H s 26 -13.765455 2 H s + 49 13.765455 3 H s 72 13.765455 4 H s + 97 13.302946 5 C s 143 -13.302946 6 C s + 105 8.967091 5 C py 151 8.967091 6 C py + + Vector 100 Occ=0.000000D+00 E= 1.643497D+00 Symmetry=b3g + MO Center= -1.2D-13, -5.9D-14, 1.7D-14, r^2= 4.1D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 106 5.315641 5 C pz 152 -5.315641 6 C pz + 121 -2.948339 5 C d -1 167 -2.948339 6 C d -1 + 116 -1.954867 5 C d -1 162 -1.954867 6 C d -1 + 135 -1.393789 5 C f 0 181 1.393789 6 C f 0 + 137 0.985428 5 C f 2 183 -0.985428 6 C f 2 + + Vector 101 Occ=0.000000D+00 E= 1.677931D+00 Symmetry=ag + MO Center= -1.4D-13, 9.6D-12, 2.1D-15, r^2= 5.4D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 38.582062 5 C s 142 38.582062 6 C s + 3 -14.593483 1 H s 26 -14.593483 2 H s + 49 -14.593483 3 H s 72 -14.593483 4 H s + 2 -11.480835 1 H s 25 -11.480835 2 H s + 48 -11.480835 3 H s 71 -11.480835 4 H s + + Vector 102 Occ=0.000000D+00 E= 1.724719D+00 Symmetry=b2u + MO Center= -2.9D-14, 1.2D-12, 7.2D-16, r^2= 4.3D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 41.221382 5 C s 142 -41.221382 6 C s + 97 18.996188 5 C s 143 -18.996188 6 C s + 105 -16.890785 5 C py 151 -16.890785 6 C py + 102 -3.755569 5 C py 108 -3.754472 5 C py + 148 -3.755569 6 C py 154 -3.754472 6 C py + + Vector 103 Occ=0.000000D+00 E= 1.746638D+00 Symmetry=b3u + MO Center= 3.4D-12, -8.6D-13, 3.3D-16, r^2= 4.3D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 7.299056 1 H s 26 -7.299056 2 H s + 49 7.299056 3 H s 72 -7.299056 4 H s + 2 5.400744 1 H s 25 -5.400744 2 H s + 48 5.400744 3 H s 71 -5.400744 4 H s + 104 -4.671640 5 C px 150 -4.671640 6 C px + + Vector 104 Occ=0.000000D+00 E= 1.868382D+00 Symmetry=b2u + MO Center= -7.9D-13, 8.8D-13, -2.9D-16, r^2= 4.6D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 105 22.571769 5 C py 151 22.571769 6 C py + 3 -17.007739 1 H s 26 -17.007739 2 H s + 49 17.007739 3 H s 72 17.007739 4 H s + 97 16.090844 5 C s 143 -16.090844 6 C s + 124 10.494075 5 C d 2 170 -10.494075 6 C d 2 + + Vector 105 Occ=0.000000D+00 E= 1.868942D+00 Symmetry=au + MO Center= 2.7D-14, 1.2D-12, -3.2D-15, r^2= 4.2D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 133 4.496980 5 C f -2 179 4.496980 6 C f -2 + 123 4.383421 5 C d 1 169 -4.383421 6 C d 1 + 13 2.166247 1 H pz 36 -2.166247 2 H pz + 59 -2.166247 3 H pz 82 2.166247 4 H pz + 10 -1.773523 1 H pz 33 1.773523 2 H pz + + Vector 106 Occ=0.000000D+00 E= 1.884921D+00 Symmetry=ag + MO Center= -2.8D-12, -1.2D-12, 2.9D-16, r^2= 4.1D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 11.470025 5 C s 142 11.470025 6 C s + 2 -3.996747 1 H s 25 -3.996747 2 H s + 48 -3.996747 3 H s 71 -3.996747 4 H s + 124 4.005699 5 C d 2 170 4.005699 6 C d 2 + 3 -3.616339 1 H s 26 -3.616339 2 H s + + Vector 107 Occ=0.000000D+00 E= 1.887787D+00 Symmetry=b2g + MO Center= -5.4D-14, -5.9D-12, -8.4D-17, r^2= 4.0D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 118 2.942375 5 C d 1 164 2.942375 6 C d 1 + 10 2.496840 1 H pz 33 -2.496840 2 H pz + 56 2.496840 3 H pz 79 -2.496840 4 H pz + 133 -1.783450 5 C f -2 179 1.783450 6 C f -2 + 22 1.007636 1 H d 1 45 1.007636 2 H d 1 + + Vector 108 Occ=0.000000D+00 E= 1.905095D+00 Symmetry=au + MO Center= 1.0D-12, 4.8D-12, 6.6D-15, r^2= 4.0D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 118 2.637006 5 C d 1 164 -2.637006 6 C d 1 + 10 2.332248 1 H pz 33 -2.332248 2 H pz + 56 -2.332248 3 H pz 79 2.332248 4 H pz + 133 -1.225373 5 C f -2 179 -1.225373 6 C f -2 + 22 0.957245 1 H d 1 45 0.957245 2 H d 1 + + Vector 109 Occ=0.000000D+00 E= 1.919690D+00 Symmetry=b1g + MO Center= 5.8D-12, -1.1D-12, -7.1D-15, r^2= 4.4D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 46.218007 1 H s 26 -46.218007 2 H s + 49 -46.218007 3 H s 72 46.218007 4 H s + 104 -29.422509 5 C px 150 29.422509 6 C px + 120 -13.844738 5 C d -2 166 -13.844738 6 C d -2 + 11 -7.845751 1 H px 34 -7.845751 2 H px + + Vector 110 Occ=0.000000D+00 E= 2.045912D+00 Symmetry=b1g + MO Center= -6.4D-12, -1.1D-11, 3.1D-15, r^2= 5.6D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 53.101912 1 H s 26 -53.101912 2 H s + 49 -53.101912 3 H s 72 53.101912 4 H s + 120 -27.271036 5 C d -2 166 -27.271036 6 C d -2 + 115 -12.249277 5 C d -2 161 -12.249277 6 C d -2 + 2 11.283859 1 H s 25 -11.283859 2 H s + + Vector 111 Occ=0.000000D+00 E= 2.073585D+00 Symmetry=b2u + MO Center= 1.2D-11, 9.7D-13, 4.2D-17, r^2= 4.2D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 17.110766 5 C s 142 -17.110766 6 C s + 105 -12.538156 5 C py 151 -12.538156 6 C py + 124 -3.920783 5 C d 2 170 3.920783 6 C d 2 + 3 3.594833 1 H s 26 3.594833 2 H s + 49 -3.594833 3 H s 72 -3.594833 4 H s + + Vector 112 Occ=0.000000D+00 E= 2.099982D+00 Symmetry=b3u + MO Center= -3.0D-13, 1.0D-11, 3.4D-16, r^2= 4.8D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 104 -7.619859 5 C px 150 -7.619859 6 C px + 3 7.238603 1 H s 26 -7.238603 2 H s + 49 7.238603 3 H s 72 -7.238603 4 H s + 138 -7.173109 5 C f 3 184 -7.173109 6 C f 3 + 2 4.894330 1 H s 25 -4.894330 2 H s + + Vector 113 Occ=0.000000D+00 E= 2.142873D+00 Symmetry=b3g + MO Center= -1.2D-12, 1.1D-13, 5.2D-16, r^2= 4.1D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 116 4.857350 5 C d -1 162 4.857350 6 C d -1 + 137 2.931398 5 C f 2 183 -2.931398 6 C f 2 + 10 -2.777954 1 H pz 33 -2.777954 2 H pz + 56 2.777954 3 H pz 79 2.777954 4 H pz + 13 -1.397570 1 H pz 36 -1.397570 2 H pz + + Vector 114 Occ=0.000000D+00 E= 2.216154D+00 Symmetry=b1g + MO Center= 1.1D-13, 4.2D-13, 5.4D-17, r^2= 3.9D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 2 9.885235 1 H s 25 -9.885235 2 H s + 48 -9.885235 3 H s 71 9.885235 4 H s + 115 -8.973294 5 C d -2 161 -8.973294 6 C d -2 + 104 -7.132870 5 C px 150 7.132870 6 C px + 120 4.805043 5 C d -2 166 4.805043 6 C d -2 + + Vector 115 Occ=0.000000D+00 E= 2.296798D+00 Symmetry=ag + MO Center= -3.1D-13, 8.3D-14, -1.8D-16, r^2= 4.0D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 16.387685 5 C s 142 16.387685 6 C s + 3 -6.027764 1 H s 26 -6.027764 2 H s + 49 -6.027764 3 H s 72 -6.027764 4 H s + 105 5.339396 5 C py 151 -5.339396 6 C py + 2 -5.247612 1 H s 25 -5.247612 2 H s + + Vector 116 Occ=0.000000D+00 E= 2.388810D+00 Symmetry=b2u + MO Center= -1.9D-12, 6.6D-13, -1.0D-17, r^2= 3.8D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 105 8.841544 5 C py 151 8.841544 6 C py + 119 -6.664046 5 C d 2 165 6.664046 6 C d 2 + 102 -4.865024 5 C py 148 -4.865024 6 C py + 132 4.375223 5 C f -3 178 4.375223 6 C f -3 + 96 4.234239 5 C s 142 -4.234239 6 C s + + Vector 117 Occ=0.000000D+00 E= 2.561066D+00 Symmetry=b1u + MO Center= -3.7D-14, 6.5D-14, -2.5D-16, r^2= 2.2D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 103 2.033262 5 C pz 149 2.033262 6 C pz + 10 -0.917137 1 H pz 33 -0.917137 2 H pz + 56 -0.917137 3 H pz 79 -0.917137 4 H pz + 106 0.900137 5 C pz 152 0.900137 6 C pz + 100 -0.804730 5 C pz 146 -0.804730 6 C pz + + Vector 118 Occ=0.000000D+00 E= 2.714619D+00 Symmetry=ag + MO Center= -5.2D-12, -8.9D-14, 9.3D-17, r^2= 1.9D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 102 1.015207 5 C py 148 -1.015207 6 C py + 97 0.804844 5 C s 143 0.804844 6 C s + 105 0.731083 5 C py 151 -0.731083 6 C py + 12 -0.603840 1 H py 35 -0.603840 2 H py + 58 0.603840 3 H py 81 0.603840 4 H py + + Vector 119 Occ=0.000000D+00 E= 2.719795D+00 Symmetry=b3u + MO Center= 5.5D-12, 1.5D-12, -1.9D-16, r^2= 2.9D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 7.400286 1 H s 26 -7.400286 2 H s + 49 7.400286 3 H s 72 -7.400286 4 H s + 104 -6.597812 5 C px 150 -6.597812 6 C px + 2 4.198131 1 H s 25 -4.198131 2 H s + 48 4.198131 3 H s 71 -4.198131 4 H s + + Vector 120 Occ=0.000000D+00 E= 2.918378D+00 Symmetry=b3g + MO Center= 9.2D-15, 8.1D-14, -1.9D-16, r^2= 1.8D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 103 1.989992 5 C pz 149 -1.989992 6 C pz + 106 1.053784 5 C pz 152 -1.053784 6 C pz + 137 -0.829129 5 C f 2 183 0.829129 6 C f 2 + 100 -0.693763 5 C pz 146 0.693763 6 C pz + 135 -0.654963 5 C f 0 181 0.654963 6 C f 0 + + Vector 121 Occ=0.000000D+00 E= 2.942708D+00 Symmetry=ag + MO Center= -2.0D-14, 4.0D-14, -7.5D-16, r^2= 1.8D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 132 1.275190 5 C f -3 178 -1.275190 6 C f -3 + 95 -0.989790 5 C s 141 -0.989790 6 C s + 94 -0.935591 5 C s 140 -0.935591 6 C s + 102 -0.896633 5 C py 148 0.896633 6 C py + 124 0.871030 5 C d 2 170 0.871030 6 C d 2 + + Vector 122 Occ=0.000000D+00 E= 2.951720D+00 Symmetry=b1u + MO Center= 3.7D-16, -1.8D-13, 7.4D-16, r^2= 1.4D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 103 1.386599 5 C pz 149 1.386599 6 C pz + 137 0.927448 5 C f 2 183 0.927448 6 C f 2 + 116 0.842335 5 C d -1 162 -0.842335 6 C d -1 + 111 -0.679996 5 C d -1 157 0.679996 6 C d -1 + 10 -0.423184 1 H pz 33 -0.423184 2 H pz + + Vector 123 Occ=0.000000D+00 E= 2.976639D+00 Symmetry=b1g + MO Center= -5.9D-14, -9.9D-13, 1.2D-16, r^2= 2.7D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 104 6.876209 5 C px 150 -6.876209 6 C px + 120 -4.317257 5 C d -2 166 -4.317257 6 C d -2 + 3 2.407360 1 H s 26 -2.407360 2 H s + 49 -2.407360 3 H s 72 2.407360 4 H s + 115 -1.655042 5 C d -2 161 -1.655042 6 C d -2 + + Vector 124 Occ=0.000000D+00 E= 2.983830D+00 Symmetry=b2g + MO Center= -2.7D-14, -2.5D-14, 2.3D-16, r^2= 1.7D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 118 1.242753 5 C d 1 164 1.242753 6 C d 1 + 113 -0.713913 5 C d 1 159 -0.713913 6 C d 1 + 10 0.509722 1 H pz 33 -0.509722 2 H pz + 56 0.509722 3 H pz 79 -0.509722 4 H pz + 133 -0.459312 5 C f -2 179 0.459312 6 C f -2 + + Vector 125 Occ=0.000000D+00 E= 3.056879D+00 Symmetry=b2u + MO Center= 6.3D-13, -2.7D-13, 1.2D-16, r^2= 3.3D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 105 8.473105 5 C py 151 8.473105 6 C py + 3 -3.678128 1 H s 26 -3.678128 2 H s + 49 3.678128 3 H s 72 3.678128 4 H s + 96 -3.490988 5 C s 132 3.492352 5 C f -3 + 142 3.490988 6 C s 178 3.492352 6 C f -3 + + Vector 126 Occ=0.000000D+00 E= 3.117573D+00 Symmetry=au + MO Center= -4.3D-14, -1.9D-14, -7.6D-16, r^2= 2.1D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 123 1.267890 5 C d 1 169 -1.267890 6 C d 1 + 118 -0.908613 5 C d 1 164 0.908613 6 C d 1 + 13 0.763207 1 H pz 36 -0.763207 2 H pz + 59 -0.763207 3 H pz 82 0.763207 4 H pz + 113 0.556388 5 C d 1 159 -0.556388 6 C d 1 + + Vector 127 Occ=0.000000D+00 E= 3.155321D+00 Symmetry=b2g + MO Center= 5.3D-14, 3.3D-14, 8.5D-16, r^2= 1.9D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 118 0.833932 5 C d 1 164 0.833932 6 C d 1 + 126 -0.796525 5 C f -2 172 0.796525 6 C f -2 + 10 0.640407 1 H pz 33 -0.640407 2 H pz + 56 0.640407 3 H pz 79 -0.640407 4 H pz + 22 0.373624 1 H d 1 45 0.373624 2 H d 1 + + Vector 128 Occ=0.000000D+00 E= 3.168746D+00 Symmetry=b1u + MO Center= -5.4D-14, 9.4D-14, -4.4D-17, r^2= 1.9D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 103 0.920499 5 C pz 149 0.920499 6 C pz + 106 0.718988 5 C pz 152 0.718988 6 C pz + 128 -0.661323 5 C f 0 174 -0.661323 6 C f 0 + 10 -0.614629 1 H pz 33 -0.614629 2 H pz + 56 -0.614629 3 H pz 79 -0.614629 4 H pz + + Vector 129 Occ=0.000000D+00 E= 3.173081D+00 Symmetry=b3u + MO Center= -6.5D-13, 3.4D-13, -8.2D-16, r^2= 2.1D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 104 -5.457251 5 C px 150 -5.457251 6 C px + 3 5.427088 1 H s 26 -5.427088 2 H s + 49 5.427088 3 H s 72 -5.427088 4 H s + 2 4.254454 1 H s 25 -4.254454 2 H s + 48 4.254454 3 H s 71 -4.254454 4 H s + + Vector 130 Occ=0.000000D+00 E= 3.263821D+00 Symmetry=ag + MO Center= 1.0D-12, -5.3D-12, 2.8D-16, r^2= 2.1D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 105 2.934854 5 C py 151 -2.934854 6 C py + 119 2.498214 5 C d 2 165 2.498214 6 C d 2 + 102 -2.039955 5 C py 148 2.039955 6 C py + 124 1.657250 5 C d 2 170 1.657250 6 C d 2 + 8 -1.045582 1 H px 31 1.045582 2 H px + + Vector 131 Occ=0.000000D+00 E= 3.294970D+00 Symmetry=b3g + MO Center= 8.8D-14, -1.3D-13, 7.1D-17, r^2= 2.2D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 106 3.556920 5 C pz 152 -3.556920 6 C pz + 103 2.487022 5 C pz 149 -2.487022 6 C pz + 116 -2.057573 5 C d -1 162 -2.057573 6 C d -1 + 137 -1.083664 5 C f 2 183 1.083664 6 C f 2 + 121 -0.838904 5 C d -1 167 -0.838904 6 C d -1 + + Vector 132 Occ=0.000000D+00 E= 3.302628D+00 Symmetry=b2u + MO Center= -3.3D-12, 4.9D-12, 6.0D-16, r^2= 2.8D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 31.371506 5 C s 142 -31.371506 6 C s + 105 -23.628958 5 C py 151 -23.628958 6 C py + 3 9.541568 1 H s 26 9.541568 2 H s + 49 -9.541568 3 H s 72 -9.541568 4 H s + 102 -6.997990 5 C py 148 -6.997990 6 C py + + Vector 133 Occ=0.000000D+00 E= 3.394283D+00 Symmetry=b1u + MO Center= -7.2D-15, -2.6D-14, 1.7D-16, r^2= 2.3D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 137 0.666533 5 C f 2 183 0.666533 6 C f 2 + 130 -0.524009 5 C f 2 176 -0.524009 6 C f 2 + 116 -0.427457 5 C d -1 162 0.427457 6 C d -1 + 111 0.354604 5 C d -1 121 0.353331 5 C d -1 + 157 -0.354604 6 C d -1 167 -0.353331 6 C d -1 + + Vector 134 Occ=0.000000D+00 E= 3.398186D+00 Symmetry=b3u + MO Center= 2.6D-14, -1.4D-13, 5.8D-17, r^2= 2.3D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 104 3.056784 5 C px 150 3.056784 6 C px + 3 -2.636132 1 H s 26 2.636132 2 H s + 49 -2.636132 3 H s 72 2.636132 4 H s + 101 1.756851 5 C px 147 1.756851 6 C px + 2 -1.020569 1 H s 25 1.020569 2 H s + + Vector 135 Occ=0.000000D+00 E= 3.417741D+00 Symmetry=ag + MO Center= -1.2D-13, 6.2D-13, 1.9D-16, r^2= 2.7D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 9.573990 5 C s 142 9.573990 6 C s + 2 -3.438129 1 H s 25 -3.438129 2 H s + 48 -3.438129 3 H s 71 -3.438129 4 H s + 3 -3.384096 1 H s 26 -3.384096 2 H s + 49 -3.384096 3 H s 72 -3.384096 4 H s + + Vector 136 Occ=0.000000D+00 E= 3.438142D+00 Symmetry=b3u + MO Center= -9.6D-14, 3.6D-12, 1.1D-16, r^2= 2.5D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 9.174568 1 H s 26 -9.174568 2 H s + 49 9.174568 3 H s 72 -9.174568 4 H s + 104 -8.502788 5 C px 150 -8.502788 6 C px + 2 7.042162 1 H s 25 -7.042162 2 H s + 48 7.042162 3 H s 71 -7.042162 4 H s + + Vector 137 Occ=0.000000D+00 E= 3.486172D+00 Symmetry=b3g + MO Center= -5.2D-15, 1.1D-13, 1.9D-16, r^2= 2.1D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 116 3.835452 5 C d -1 162 3.835452 6 C d -1 + 106 -2.331781 5 C pz 152 2.331781 6 C pz + 103 -2.040555 5 C pz 149 2.040555 6 C pz + 121 0.764777 5 C d -1 167 0.764777 6 C d -1 + 130 0.691804 5 C f 2 176 -0.691804 6 C f 2 + + Vector 138 Occ=0.000000D+00 E= 3.528384D+00 Symmetry=ag + MO Center= 3.0D-13, -1.3D-12, 1.3D-16, r^2= 2.2D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 20.453021 5 C s 142 20.453021 6 C s + 2 -6.642540 1 H s 25 -6.642540 2 H s + 48 -6.642540 3 H s 71 -6.642540 4 H s + 3 -6.523789 1 H s 26 -6.523789 2 H s + 49 -6.523789 3 H s 72 -6.523789 4 H s + + Vector 139 Occ=0.000000D+00 E= 3.528767D+00 Symmetry=b1g + MO Center= 1.2D-12, -3.7D-12, 9.8D-16, r^2= 2.5D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 28.733600 1 H s 26 -28.733600 2 H s + 49 -28.733600 3 H s 72 28.733600 4 H s + 104 -18.943742 5 C px 150 18.943742 6 C px + 2 10.369331 1 H s 25 -10.369331 2 H s + 48 -10.369331 3 H s 71 10.369331 4 H s + + Vector 140 Occ=0.000000D+00 E= 3.565814D+00 Symmetry=b2u + MO Center= -1.8D-13, 1.4D-13, -3.4D-16, r^2= 1.9D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 15.860446 5 C s 142 -15.860446 6 C s + 97 10.025750 5 C s 143 -10.025750 6 C s + 3 -4.850424 1 H s 26 -4.850424 2 H s + 49 4.850424 3 H s 72 4.850424 4 H s + 2 -4.818473 1 H s 25 -4.818473 2 H s + + Vector 141 Occ=0.000000D+00 E= 3.692240D+00 Symmetry=b2g + MO Center= 5.2D-15, 5.4D-14, 5.1D-17, r^2= 3.0D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 15 0.455936 1 H d -1 38 -0.455936 2 H d -1 + 61 -0.455936 3 H d -1 84 0.455936 4 H d -1 + 123 0.453570 5 C d 1 169 0.453570 6 C d 1 + 13 0.435720 1 H pz 36 -0.435720 2 H pz + 59 0.435720 3 H pz 82 -0.435720 4 H pz + + Vector 142 Occ=0.000000D+00 E= 3.693464D+00 Symmetry=b1g + MO Center= 1.4D-12, 4.3D-14, 5.4D-16, r^2= 2.6D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 23.394344 1 H s 26 -23.394344 2 H s + 49 -23.394344 3 H s 72 23.394344 4 H s + 104 -15.107710 5 C px 150 15.107710 6 C px + 120 -7.613443 5 C d -2 166 -7.613443 6 C d -2 + 115 -5.787825 5 C d -2 161 -5.787825 6 C d -2 + + Vector 143 Occ=0.000000D+00 E= 3.759431D+00 Symmetry=b3u + MO Center= -5.7D-14, -4.3D-13, 6.3D-17, r^2= 2.8D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 101 5.802096 5 C px 147 5.802096 6 C px + 2 -2.606416 1 H s 25 2.606416 2 H s + 48 -2.606416 3 H s 71 2.606416 4 H s + 9 1.948693 1 H py 32 -1.948693 2 H py + 55 -1.948693 3 H py 78 1.948693 4 H py + + Vector 144 Occ=0.000000D+00 E= 3.780095D+00 Symmetry=b2u + MO Center= -1.3D-12, 6.7D-13, -3.1D-16, r^2= 2.3D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 102 8.831045 5 C py 148 8.831045 6 C py + 119 5.408024 5 C d 2 165 -5.408024 6 C d 2 + 97 -5.268217 5 C s 143 5.268217 6 C s + 2 -3.911057 1 H s 25 -3.911057 2 H s + 48 3.911057 3 H s 71 3.911057 4 H s + + Vector 145 Occ=0.000000D+00 E= 3.794814D+00 Symmetry=au + MO Center= 1.5D-13, -7.4D-14, -1.4D-16, r^2= 2.3D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 118 2.270937 5 C d 1 164 -2.270937 6 C d 1 + 133 1.640530 5 C f -2 179 1.640530 6 C f -2 + 123 1.147635 5 C d 1 169 -1.147635 6 C d 1 + 13 0.731374 1 H pz 36 -0.731374 2 H pz + 59 -0.731374 3 H pz 82 0.731374 4 H pz + + Vector 146 Occ=0.000000D+00 E= 3.852083D+00 Symmetry=ag + MO Center= -4.8D-13, 5.8D-13, 4.8D-17, r^2= 2.7D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 4.846128 5 C s 142 4.846128 6 C s + 119 1.898343 5 C d 2 165 1.898343 6 C d 2 + 105 1.778794 5 C py 151 -1.778794 6 C py + 3 -1.747813 1 H s 26 -1.747813 2 H s + 49 -1.747813 3 H s 72 -1.747813 4 H s + + Vector 147 Occ=0.000000D+00 E= 3.919474D+00 Symmetry=b1g + MO Center= -2.4D-12, 6.8D-13, -7.5D-16, r^2= 2.6D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 17.555887 1 H s 26 -17.555887 2 H s + 49 -17.555887 3 H s 72 17.555887 4 H s + 120 -11.437520 5 C d -2 166 -11.437520 6 C d -2 + 104 4.370122 5 C px 150 -4.370122 6 C px + 101 2.903535 5 C px 147 -2.903535 6 C px + + Vector 148 Occ=0.000000D+00 E= 3.987905D+00 Symmetry=b3u + MO Center= 2.5D-13, -9.4D-13, -2.8D-17, r^2= 2.7D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 1.789591 1 H s 26 -1.789591 2 H s + 49 1.789591 3 H s 72 -1.789591 4 H s + 101 -1.771181 5 C px 147 -1.771181 6 C px + 2 1.664464 1 H s 25 -1.664464 2 H s + 48 1.664464 3 H s 71 -1.664464 4 H s + + Vector 149 Occ=0.000000D+00 E= 4.013923D+00 Symmetry=b3g + MO Center= -7.5D-13, -7.4D-14, -3.9D-16, r^2= 2.4D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 116 1.638750 5 C d -1 162 1.638750 6 C d -1 + 106 -1.416280 5 C pz 152 1.416280 6 C pz + 121 1.353090 5 C d -1 167 1.353090 6 C d -1 + 13 -0.610881 1 H pz 36 -0.610881 2 H pz + 59 0.610881 3 H pz 82 0.610881 4 H pz + + Vector 150 Occ=0.000000D+00 E= 4.058863D+00 Symmetry=au + MO Center= 6.0D-13, 3.1D-14, -9.0D-17, r^2= 2.5D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 10 0.870500 1 H pz 33 -0.870500 2 H pz + 56 -0.870500 3 H pz 79 0.870500 4 H pz + 123 0.761838 5 C d 1 169 -0.761838 6 C d 1 + 13 0.694815 1 H pz 36 -0.694815 2 H pz + 59 -0.694815 3 H pz 82 0.694815 4 H pz + + Vector 151 Occ=0.000000D+00 E= 4.060577D+00 Symmetry=b2u + MO Center= 3.7D-12, 5.6D-14, 3.2D-16, r^2= 2.8D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 105 12.453910 5 C py 151 12.453910 6 C py + 3 -7.562000 1 H s 26 -7.562000 2 H s + 49 7.562000 3 H s 72 7.562000 4 H s + 97 6.442575 5 C s 143 -6.442575 6 C s + 124 4.598888 5 C d 2 170 -4.598888 6 C d 2 + + Vector 152 Occ=0.000000D+00 E= 4.196675D+00 Symmetry=b1u + MO Center= 1.6D-14, 5.6D-14, -5.7D-16, r^2= 2.5D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 106 0.664769 5 C pz 152 0.664769 6 C pz + 130 0.590680 5 C f 2 176 0.590680 6 C f 2 + 15 0.492205 1 H d -1 38 0.492205 2 H d -1 + 61 -0.492205 3 H d -1 84 -0.492205 4 H d -1 + 116 0.455984 5 C d -1 162 -0.455984 6 C d -1 + + Vector 153 Occ=0.000000D+00 E= 4.232507D+00 Symmetry=ag + MO Center= -7.1D-14, 1.9D-13, 5.7D-16, r^2= 2.5D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 105 2.680295 5 C py 151 -2.680295 6 C py + 2 1.044825 1 H s 25 1.044825 2 H s + 48 1.044825 3 H s 71 1.044825 4 H s + 9 -0.999706 1 H py 32 -0.999706 2 H py + 55 0.999706 3 H py 78 0.999706 4 H py + + Vector 154 Occ=0.000000D+00 E= 4.243521D+00 Symmetry=b1g + MO Center= 4.0D-12, 5.9D-13, 4.0D-16, r^2= 2.7D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 115 14.268893 5 C d -2 161 14.268893 6 C d -2 + 2 -12.430814 1 H s 25 12.430814 2 H s + 48 12.430814 3 H s 71 -12.430814 4 H s + 101 6.023896 5 C px 147 -6.023896 6 C px + 8 4.734180 1 H px 31 4.734180 2 H px + + Vector 155 Occ=0.000000D+00 E= 4.288705D+00 Symmetry=b2u + MO Center= -3.2D-12, -8.2D-13, 1.0D-16, r^2= 3.0D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 105 9.212269 5 C py 151 9.212269 6 C py + 3 -6.827777 1 H s 26 -6.827777 2 H s + 49 6.827777 3 H s 72 6.827777 4 H s + 97 5.546425 5 C s 143 -5.546425 6 C s + 96 3.932261 5 C s 142 -3.932261 6 C s + + Vector 156 Occ=0.000000D+00 E= 4.392696D+00 Symmetry=b1u + MO Center= 1.8D-10, -1.3D-13, -6.7D-17, r^2= 3.1D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 10 1.388922 1 H pz 33 1.388922 2 H pz + 56 1.388922 3 H pz 79 1.388922 4 H pz + 103 -1.265402 5 C pz 149 -1.265402 6 C pz + 106 -1.187674 5 C pz 152 -1.187674 6 C pz + 116 -0.672991 5 C d -1 162 0.672991 6 C d -1 + + Vector 157 Occ=0.000000D+00 E= 4.392913D+00 Symmetry=b2g + MO Center= -1.8D-10, -2.9D-14, -6.7D-17, r^2= 3.3D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 10 1.888336 1 H pz 33 -1.888336 2 H pz + 56 1.888336 3 H pz 79 -1.888336 4 H pz + 118 1.861288 5 C d 1 164 1.861288 6 C d 1 + 133 -0.850012 5 C f -2 179 0.850012 6 C f -2 + 7 -0.653857 1 H pz 30 0.653857 2 H pz + + Vector 158 Occ=0.000000D+00 E= 4.499776D+00 Symmetry=b1g + MO Center= 4.9D-12, 8.8D-14, 3.9D-16, r^2= 2.7D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 10.858075 1 H s 26 -10.858075 2 H s + 49 -10.858075 3 H s 72 10.858075 4 H s + 115 -6.376393 5 C d -2 161 -6.376393 6 C d -2 + 120 -5.327368 5 C d -2 166 -5.327368 6 C d -2 + 138 3.423476 5 C f 3 184 -3.423476 6 C f 3 + + Vector 159 Occ=0.000000D+00 E= 4.578625D+00 Symmetry=b2u + MO Center= -5.4D-12, -1.5D-13, -1.9D-17, r^2= 3.3D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 119 5.016655 5 C d 2 165 -5.016655 6 C d 2 + 102 4.720310 5 C py 148 4.720310 6 C py + 105 -3.292777 5 C py 151 -3.292777 6 C py + 9 2.879729 1 H py 32 2.879729 2 H py + 55 2.879729 3 H py 78 2.879729 4 H py + + Vector 160 Occ=0.000000D+00 E= 4.594921D+00 Symmetry=ag + MO Center= 2.5D-13, 9.9D-14, 2.6D-18, r^2= 2.3D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 4.473930 5 C s 142 4.473930 6 C s + 119 -2.006385 5 C d 2 165 -2.006385 6 C d 2 + 3 -1.970747 1 H s 26 -1.970747 2 H s + 49 -1.970747 3 H s 72 -1.970747 4 H s + 8 1.266642 1 H px 31 -1.266642 2 H px + + Vector 161 Occ=0.000000D+00 E= 4.613250D+00 Symmetry=b3g + MO Center= 9.8D-14, 3.4D-13, -7.6D-17, r^2= 1.8D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 103 1.816166 5 C pz 149 -1.816166 6 C pz + 116 -1.789031 5 C d -1 162 -1.789031 6 C d -1 + 128 -0.992573 5 C f 0 174 0.992573 6 C f 0 + 130 -0.865607 5 C f 2 176 0.865607 6 C f 2 + 10 0.398757 1 H pz 33 0.398757 2 H pz + + Vector 162 Occ=0.000000D+00 E= 4.632655D+00 Symmetry=au + MO Center= 1.0D-12, 2.1D-14, 1.4D-16, r^2= 3.2D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 10 2.152198 1 H pz 33 -2.152198 2 H pz + 56 -2.152198 3 H pz 79 2.152198 4 H pz + 133 -1.925078 5 C f -2 179 -1.925078 6 C f -2 + 118 0.976198 5 C d 1 164 -0.976198 6 C d 1 + 123 -0.692180 5 C d 1 169 0.692180 6 C d 1 + + Vector 163 Occ=0.000000D+00 E= 4.642340D+00 Symmetry=b1u + MO Center= 1.9D-14, -3.3D-13, 8.7D-17, r^2= 2.5D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 103 0.841165 5 C pz 149 0.841165 6 C pz + 128 -0.611940 5 C f 0 174 -0.611940 6 C f 0 + 106 -0.607387 5 C pz 152 -0.607387 6 C pz + 17 -0.577654 1 H d 1 40 0.577654 2 H d 1 + 63 -0.577654 3 H d 1 86 0.577654 4 H d 1 + + Vector 164 Occ=0.000000D+00 E= 4.739661D+00 Symmetry=b3g + MO Center= -1.1D-12, 8.1D-14, 4.0D-17, r^2= 3.2D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 106 2.781296 5 C pz 152 -2.781296 6 C pz + 116 2.540166 5 C d -1 162 2.540166 6 C d -1 + 10 -2.328247 1 H pz 33 -2.328247 2 H pz + 56 2.328247 3 H pz 79 2.328247 4 H pz + 137 1.696192 5 C f 2 183 -1.696192 6 C f 2 + + Vector 165 Occ=0.000000D+00 E= 4.844054D+00 Symmetry=b3u + MO Center= -3.4D-14, -9.5D-15, 1.4D-17, r^2= 3.2D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 115 2.466469 5 C d -2 161 -2.466469 6 C d -2 + 138 2.331444 5 C f 3 184 2.331444 6 C f 3 + 9 -2.168979 1 H py 32 2.168979 2 H py + 55 2.168979 3 H py 78 -2.168979 4 H py + 2 -1.852195 1 H s 25 1.852195 2 H s + + Vector 166 Occ=0.000000D+00 E= 4.915557D+00 Symmetry=b2u + MO Center= -1.5D-13, 3.3D-14, 4.5D-17, r^2= 1.8D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 105 5.657348 5 C py 151 5.657348 6 C py + 102 3.656434 5 C py 148 3.656434 6 C py + 3 -3.597785 1 H s 26 -3.597785 2 H s + 49 3.597785 3 H s 72 3.597785 4 H s + 2 -2.577924 1 H s 25 -2.577924 2 H s + + Vector 167 Occ=0.000000D+00 E= 4.918236D+00 Symmetry=b2g + MO Center= -2.4D-14, -1.2D-14, -2.1D-16, r^2= 2.3D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 113 0.633956 5 C d 1 159 0.633956 6 C d 1 + 126 -0.573089 5 C f -2 172 0.573089 6 C f -2 + 17 0.558003 1 H d 1 40 0.558003 2 H d 1 + 63 0.558003 3 H d 1 86 0.558003 4 H d 1 + 13 -0.383052 1 H pz 36 0.383052 2 H pz + + Vector 168 Occ=0.000000D+00 E= 4.963900D+00 Symmetry=b1g + MO Center= -9.0D-14, 5.8D-13, -1.7D-16, r^2= 3.5D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 27.090227 1 H s 26 -27.090227 2 H s + 49 -27.090227 3 H s 72 27.090227 4 H s + 120 -13.216870 5 C d -2 166 -13.216870 6 C d -2 + 11 -4.975404 1 H px 34 -4.975404 2 H px + 57 4.975404 3 H px 80 4.975404 4 H px + + Vector 169 Occ=0.000000D+00 E= 4.975204D+00 Symmetry=ag + MO Center= 2.0D-13, 7.8D-14, 3.2D-18, r^2= 3.1D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 6.650423 5 C s 142 6.650423 6 C s + 105 2.978328 5 C py 151 -2.978328 6 C py + 3 -2.274549 1 H s 26 -2.274549 2 H s + 49 -2.274549 3 H s 72 -2.274549 4 H s + 102 1.781762 5 C py 148 -1.781762 6 C py + + Vector 170 Occ=0.000000D+00 E= 5.005542D+00 Symmetry=b3u + MO Center= -4.6D-13, -2.8D-13, 2.6D-16, r^2= 3.0D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 138 2.589061 5 C f 3 184 2.589061 6 C f 3 + 8 2.356453 1 H px 31 2.356453 2 H px + 54 2.356453 3 H px 77 2.356453 4 H px + 3 -2.101816 1 H s 26 2.101816 2 H s + 49 -2.101816 3 H s 72 2.101816 4 H s + + Vector 171 Occ=0.000000D+00 E= 5.154510D+00 Symmetry=b3g + MO Center= -1.3D-15, 5.3D-14, -2.1D-16, r^2= 2.4D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 116 1.679134 5 C d -1 162 1.679134 6 C d -1 + 10 -1.321449 1 H pz 33 -1.321449 2 H pz + 56 1.321449 3 H pz 79 1.321449 4 H pz + 130 0.720961 5 C f 2 176 -0.720961 6 C f 2 + 103 0.664072 5 C pz 149 -0.664072 6 C pz + + Vector 172 Occ=0.000000D+00 E= 5.229639D+00 Symmetry=ag + MO Center= 2.8D-14, 5.0D-13, -1.5D-17, r^2= 2.5D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 4.498324 5 C s 142 4.498324 6 C s + 2 -2.052266 1 H s 25 -2.052266 2 H s + 48 -2.052266 3 H s 71 -2.052266 4 H s + 3 -1.871342 1 H s 26 -1.871342 2 H s + 49 -1.871342 3 H s 72 -1.871342 4 H s + + Vector 173 Occ=0.000000D+00 E= 5.235511D+00 Symmetry=au + MO Center= -7.0D-14, 3.0D-14, -1.2D-17, r^2= 2.3D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 126 1.097432 5 C f -2 172 1.097432 6 C f -2 + 133 -0.721117 5 C f -2 179 -0.721117 6 C f -2 + 17 -0.567218 1 H d 1 40 -0.567218 2 H d 1 + 63 0.567218 3 H d 1 86 0.567218 4 H d 1 + 7 -0.499270 1 H pz 30 0.499270 2 H pz + + Vector 174 Occ=0.000000D+00 E= 5.238430D+00 Symmetry=b1g + MO Center= 7.0D-14, 3.3D-13, -2.3D-16, r^2= 3.0D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 6.256645 1 H s 26 -6.256645 2 H s + 49 -6.256645 3 H s 72 6.256645 4 H s + 104 -4.497559 5 C px 150 4.497559 6 C px + 8 2.570841 1 H px 31 2.570841 2 H px + 54 -2.570841 3 H px 77 -2.570841 4 H px + + Vector 175 Occ=0.000000D+00 E= 5.304467D+00 Symmetry=b2u + MO Center= 4.5D-14, -3.3D-13, 1.8D-16, r^2= 3.0D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 105 6.397573 5 C py 151 6.397573 6 C py + 3 -3.107374 1 H s 26 -3.107374 2 H s + 49 3.107374 3 H s 72 3.107374 4 H s + 119 -2.598275 5 C d 2 165 2.598275 6 C d 2 + 96 -2.345514 5 C s 142 2.345514 6 C s + + Vector 176 Occ=0.000000D+00 E= 5.642461D+00 Symmetry=b3u + MO Center= -1.1D-13, -2.5D-13, 9.0D-18, r^2= 2.5D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 101 7.087770 5 C px 147 7.087770 6 C px + 2 -5.650633 1 H s 25 5.650633 2 H s + 48 -5.650633 3 H s 71 5.650633 4 H s + 3 -5.244334 1 H s 26 5.244334 2 H s + 49 -5.244334 3 H s 72 5.244334 4 H s + + Vector 177 Occ=0.000000D+00 E= 5.700666D+00 Symmetry=ag + MO Center= 8.0D-14, -3.8D-15, 1.4D-17, r^2= 2.3D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 4.560244 5 C s 142 4.560244 6 C s + 2 -1.544304 1 H s 25 -1.544304 2 H s + 48 -1.544304 3 H s 71 -1.544304 4 H s + 94 -1.468142 5 C s 140 -1.468142 6 C s + 117 -1.239658 5 C d 0 163 -1.239658 6 C d 0 + + Vector 178 Occ=0.000000D+00 E= 6.082796D+00 Symmetry=b2u + MO Center= 4.0D-14, 3.4D-14, 9.9D-18, r^2= 2.7D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 102 5.609786 5 C py 148 5.609786 6 C py + 105 -4.936849 5 C py 151 -4.936849 6 C py + 119 3.562864 5 C d 2 165 -3.562864 6 C d 2 + 96 3.355648 5 C s 142 -3.355648 6 C s + 9 2.421343 1 H py 32 2.421343 2 H py + + Vector 179 Occ=0.000000D+00 E= 6.200928D+00 Symmetry=b3u + MO Center= 8.7D-14, 3.4D-12, 1.8D-17, r^2= 2.2D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 2 6.989232 1 H s 25 -6.989232 2 H s + 48 6.989232 3 H s 71 -6.989232 4 H s + 3 6.601184 1 H s 26 -6.601184 2 H s + 49 6.601184 3 H s 72 -6.601184 4 H s + 101 -6.243092 5 C px 147 -6.243092 6 C px + + Vector 180 Occ=0.000000D+00 E= 6.287690D+00 Symmetry=b2u + MO Center= 5.5D-12, -4.4D-13, 2.7D-17, r^2= 2.1D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 102 13.573700 5 C py 148 13.573700 6 C py + 96 -11.120563 5 C s 142 11.120563 6 C s + 105 8.030670 5 C py 151 8.030670 6 C py + 119 6.712231 5 C d 2 165 -6.712231 6 C d 2 + 2 -5.881740 1 H s 25 -5.881740 2 H s + + Vector 181 Occ=0.000000D+00 E= 6.376028D+00 Symmetry=b1g + MO Center= -5.5D-12, -2.2D-12, 3.1D-17, r^2= 2.5D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 10.835540 1 H s 26 -10.835540 2 H s + 49 -10.835540 3 H s 72 10.835540 4 H s + 104 -10.603720 5 C px 150 10.603720 6 C px + 101 -9.825072 5 C px 147 9.825072 6 C px + 2 9.053385 1 H s 25 -9.053385 2 H s + + Vector 182 Occ=0.000000D+00 E= 6.599618D+00 Symmetry=b1g + MO Center= -1.9D-13, -1.1D-12, 6.3D-18, r^2= 2.0D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 7.415252 1 H s 26 -7.415252 2 H s + 49 -7.415252 3 H s 72 7.415252 4 H s + 115 -3.756201 5 C d -2 161 -3.756201 6 C d -2 + 120 -3.686876 5 C d -2 166 -3.686876 6 C d -2 + 131 2.476598 5 C f 3 177 -2.476598 6 C f 3 + + Vector 183 Occ=0.000000D+00 E= 1.597797D+01 Symmetry=ag + MO Center= 5.3D-14, -2.2D-12, 9.5D-18, r^2= 1.9D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 95 11.024965 5 C s 141 11.024965 6 C s + 93 5.947991 5 C s 139 5.947991 6 C s + 2 -3.062838 1 H s 25 -3.062838 2 H s + 48 -3.062838 3 H s 71 -3.062838 4 H s + 102 2.529519 5 C py 148 -2.529519 6 C py + + Vector 184 Occ=0.000000D+00 E= 1.635332D+01 Symmetry=b2u + MO Center= -1.1D-13, 1.9D-12, 1.5D-17, r^2= 1.3D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 96 28.216766 5 C s 142 -28.216766 6 C s + 105 -11.107657 5 C py 151 -11.107657 6 C py + 95 10.572236 5 C s 141 -10.572236 6 C s + 93 5.791949 5 C s 139 -5.791949 6 C s + 2 -4.282627 1 H s 25 -4.282627 2 H s + + + center of mass + -------------- + x = 0.00000000 y = 0.00000000 z = 0.00000000 + + moments of inertia (a.u.) + ------------------ + 60.339693835094 0.000000000000 0.000000000000 + 0.000000000000 12.271679422553 0.000000000000 + 0.000000000000 0.000000000000 72.611373257647 + + Multipole analysis of the density + --------------------------------- + + L x y z total alpha beta nuclear + - - - - ----- ----- ---- ------- + 0 0 0 0 -0.000000 -8.000000 -8.000000 16.000000 + + 1 1 0 0 -0.000000 -0.000000 -0.000000 0.000000 + 1 0 1 0 0.000000 0.000000 0.000000 0.000000 + 1 0 0 1 -0.000000 -0.000000 -0.000000 0.000000 + + 2 2 0 0 -9.169714 -10.673056 -10.673056 12.176399 + 2 1 1 0 0.000000 0.000000 0.000000 0.000000 + 2 1 0 1 -0.000000 -0.000000 -0.000000 0.000000 + 2 0 2 0 -9.087223 -25.061414 -25.061414 41.035604 + 2 0 1 1 0.000000 0.000000 0.000000 0.000000 + 2 0 0 2 -11.700160 -5.850080 -5.850080 0.000000 + + + *********************** + *** GW *** + *********************** + + Basis "ri basis" -> "ri basis" (spherical) + ----- + H (Hydrogen) + ------------ + Exponent Coefficients + -------------- --------------------------------------------------------- + 1 S 8.51282759E+00 1.000000 + + 2 S 1.87308912E+00 1.000000 + + 3 S 5.26184269E-01 1.000000 + + 4 S 2.89739899E-01 1.000000 + + 5 S 1.27194361E-01 1.000000 + + 6 P 2.37254916E+00 1.000000 + + 7 P 1.18040845E+00 1.000000 + + 8 P 6.03822042E-01 1.000000 + + 9 P 2.35512895E-01 1.000000 + + 10 D 1.80963732E+00 1.000000 + + 11 D 1.14397261E+00 1.000000 + + 12 D 4.36654051E-01 1.000000 + + 13 F 1.80630606E+00 1.000000 + + 14 F 2.52977878E-01 1.000000 + + C (Carbon) + ---------- + Exponent Coefficients + -------------- --------------------------------------------------------- + 1 S 2.80556612E+02 1.000000 + + 2 S 6.02302472E+01 1.000000 + + 3 S 2.21166508E+01 1.000000 + + 4 S 6.86209329E+00 1.000000 + + 5 S 1.56225495E+00 1.000000 + + 6 S 9.12450455E-01 1.000000 + + 7 S 5.02749170E-01 1.000000 + + 8 S 2.15823487E-01 1.000000 + + 9 S 1.01536279E-01 1.000000 + + 10 P 2.42318652E+01 1.000000 + + 11 P 6.47645142E+00 1.000000 + + 12 P 2.12908847E+00 1.000000 + + 13 P 1.03756397E+00 1.000000 + + 14 P 5.49412750E-01 1.000000 + + 15 P 2.81526522E-01 1.000000 + + 16 P 1.15059544E-01 1.000000 + + 17 D 9.71898108E+00 1.000000 + + 18 D 3.03514750E+00 1.000000 + + 19 D 1.46777376E+00 1.000000 + + 20 D 5.73708279E-01 1.000000 + + 21 D 2.90555897E-01 1.000000 + + 22 D 1.48904560E-01 1.000000 + + 23 F 2.27562013E+00 1.000000 + + 24 F 1.19688989E+00 1.000000 + + 25 F 5.41574872E-01 1.000000 + + 26 F 2.01792770E-01 1.000000 + + 27 G 1.21661016E+00 1.000000 + + 28 G 4.35997529E-01 1.000000 + + + + Summary of "ri basis" -> "ri basis" (spherical) + ------------------------------------------------------------------------------ + Tag Description Shells Functions and Types + ---------------- ------------------------------ ------ --------------------- + H aug-cc-pvtz-rifit 14 46 5s4p3d2f + C aug-cc-pvtz-rifit 28 106 9s7p6d4f2g + + + + Memory Information + ------------------ + Available GA per process is 999.9 MBs + Available stack per process is 500.0 MBs + Available heap per process is 243.5 MBs + + Peak memory in Initialization + Peak GA per process is 14.2 MBs + Peak stack per process is 0.5 MBs + Peak heap per process is 16.0 MBs + Memory not in MA per process 0.0 MBs + + Peak memory in AFF Calculation + Peak GA per process is 16.8 MBs + Peak stack per process is 15.1 MBs + Peak heap per process is 0.0 MBs + Memory not in MA per process 15.1 MBs + + Computing 2-center integrals + Computing Inverse Cholesky factor + Computing 3-center integrals + Transform ERIs + Distribute ERIs + Read inverse + Orthogonalize ERIs + Computing V_xc ... + + Grid_pts file = ./ethene.gridpts.0 + Record size in doubles = 12289 No. of grid_pts per rec = 3070 + Max. records in memory = 5 Max. recs in file = 144750120 + + Computing Sigma_x + + *** G0W0 + + Computing RPA polarizability + Solving quasiparticle equations + + Alpha Orbitals + State Energy (eV) Error (eV) + ----------------------------------- +@GW 1 -286.084 0.004 +@GW 2 -286.073 0.004 +@GW 3 -23.169 0.005 +@GW 4 -18.815 0.004 +@GW 5 -15.793 0.002 +@GW 6 -14.569 0.002 +@GW 7 -12.965 0.002 +@GW 8 -10.353 0.002 +@GW 9 2.041 0.005 +@GW 10 0.846 0.005 +@GW 11 1.111 0.004 +@GW 12 1.180 0.004 +@GW 13 1.642 0.002 +@GW 14 2.372 0.002 +@GW 15 2.748 0.002 +@GW 16 3.067 0.004 +@GW 17 3.504 0.002 +@GW 18 3.524 0.002 +@GW 19 3.670 0.002 +@GW 20 4.764 0.003 +@GW 21 4.495 0.002 +@GW 22 4.751 0.002 +@GW 23 5.881 0.003 +@GW 24 5.909 0.003 +@GW 25 6.723 0.002 +@GW 26 7.485 0.002 +@GW 27 7.490 0.002 +@GW 28 7.917 0.002 +@GW 29 8.039 0.003 +@GW 30 8.635 0.002 +@GW 31 9.312 0.002 +@GW 32 9.296 0.002 +@GW 33 9.944 0.003 +@GW 34 9.647 0.002 +@GW 35 10.231 0.002 +@GW 36 9.923 0.004 +@GW 37 10.672 0.003 +@GW 38 10.819 0.002 +@GW 39 11.061 0.003 +@GW 40 11.117 0.002 +@GW 41 11.600 0.003 +@GW 42 11.532 0.002 +@GW 43 11.779 0.003 +@GW 44 12.769 0.001 +@GW 45 13.573 0.003 +@GW 46 14.427 0.005 +@GW 47 14.823 0.002 +@GW 48 15.193 0.003 +@GW 49 16.343 0.003 +@GW 50 18.203 0.004 +@GW 51 18.677 0.002 +@GW 52 18.998 0.002 +@GW 53 20.008 0.003 +@GW 54 20.437 0.003 +@GW 55 21.217 0.005 +@GW 56 21.966 0.005 +@GW 57 22.318 0.004 +@GW 58 23.786 0.002 +@GW 59 23.225 0.003 +@GW 60 23.171 0.002 +@GW 61 23.306 0.003 +@GW 62 24.118 0.002 +@GW 63 23.989 0.003 +@GW 64 24.673 0.005 +@GW 65 24.136 0.004 +@GW 66 24.823 0.003 +@GW 67 25.936 0.002 +@GW 68 25.657 0.002 +@GW 69 25.810 0.005 +@GW 70 26.547 0.004 +@GW 71 27.649 0.002 +@GW 72 27.909 0.004 +@GW 73 28.311 0.005 +@GW 74 28.142 0.004 +@GW 75 28.628 0.004 +@GW 76 29.009 0.002 +@GW 77 29.105 0.005 +@GW 78 29.750 0.003 +@GW 79 29.641 0.004 +@GW 80 29.830 0.003 +@GW 81 32.309 0.004 +@GW 82 33.966 0.005 +@GW 83 34.044 0.003 +@GW 84 35.140 0.002 +@GW 85 36.152 0.003 +@GW 86 37.656 0.004 +@GW 87 37.668 0.002 +@GW 88 38.841 0.002 +@GW 89 40.370 0.003 +@GW 90 40.034 0.005 +@GW 91 40.783 0.002 +@GW 92 41.208 0.005 +@GW 93 42.710 0.003 +@GW 94 44.248 0.001 +@GW 95 44.900 0.004 +@GW 96 46.329 0.002 +@GW 97 46.208 0.003 +@GW 98 46.507 0.004 +@GW 99 46.328 0.004 +@GW 100 47.943 0.002 +@GW 101 48.480 0.004 +@GW 102 50.574 0.001 +@GW 103 50.783 0.004 +@GW 104 53.785 0.004 +@GW 105 54.727 0.004 +@GW 106 54.776 0.004 +@GW 107 54.869 0.004 +@GW 108 55.553 0.000 +@GW 109 56.474 0.002 +@GW 110 58.897 0.003 +@GW 111 59.890 0.002 +@GW 112 60.789 0.003 +@GW 113 62.885 0.003 +@GW 114 64.610 0.000 +@GW 115 66.654 0.004 +@GW 116 68.185 0.004 +@GW 117 75.381 0.374 * +@GW 118 79.348 0.001 +@GW 119 79.072 0.002 +@GW 120 84.968 0.003 +@GW 121 86.150 0.000 +@GW 122 85.664 0.005 +@GW 123 85.157 0.000 +@GW 124 86.161 0.000 +@GW 125 88.115 0.002 +@GW 126 89.243 0.000 +@GW 127 91.499 0.001 +@GW 128 91.709 0.000 +@GW 129 92.308 0.003 +@GW 130 94.369 0.004 +@GW 131 94.206 0.003 +@GW 132 95.320 0.000 +@GW 133 97.466 0.001 +@GW 134 98.867 0.001 +@GW 135 97.157 0.000 +@GW 136 99.472 0.002 +@GW 137 99.825 0.004 +@GW 138 101.821 0.003 +@GW 139 101.738 0.001 +@GW 140 102.233 0.002 +@GW 141 106.123 0.005 +@GW 142 106.142 0.000 +@GW 143 107.653 0.001 +@GW 144 108.844 0.000 +@GW 145 108.765 0.000 +@GW 146 111.399 0.000 +@GW 147 112.052 0.002 +@GW 148 114.104 0.005 +@GW 149 114.669 0.000 +@GW 150 115.326 0.002 +@GW 151 115.325 0.005 +@GW 152 118.278 0.004 +@GW 153 121.519 0.004 +@GW 154 123.754 0.062 * +@GW 155 122.162 0.005 +@GW 156 125.607 0.000 +@GW 157 124.790 0.002 +@GW 158 128.497 0.002 +@GW 159 130.813 0.002 +@GW 160 132.292 0.002 +@GW 161 132.414 0.004 +@GW 162 130.210 0.005 +@GW 163 132.665 0.000 +@GW 164 132.887 0.001 +@GW 165 136.687 0.004 +@GW 166 139.856 0.000 +@GW 167 140.076 0.004 +@GW 168 139.698 0.004 +@GW 169 141.035 0.004 +@GW 170 142.672 0.003 +@GW 171 146.435 0.004 +@GW 172 150.465 0.002 +@GW 173 150.013 0.001 +@GW 174 148.870 0.000 +@GW 175 149.633 0.002 +@GW 176 161.129 0.001 +@GW 177 162.439 0.000 +@GW 178 174.320 0.002 +@GW 179 177.400 0.001 +@GW 180 180.230 0.003 +@GW 181 181.783 0.000 +@GW 182 189.764 0.004 +@GW 183 447.673 0.004 +@GW 184 457.429 0.000 + + * Result did not converge + + + *** G1W1 + + Computing RPA polarizability + Solving quasiparticle equations + + Alpha Orbitals + State Energy (eV) Error (eV) + ----------------------------------- +@GW 1 -290.613 0.003 +@GW 2 -290.581 0.003 +@GW 3 -24.406 0.003 +@GW 4 -19.705 0.002 +@GW 5 -16.450 0.005 +@GW 6 -14.972 0.003 +@GW 7 -13.307 0.002 +@GW 8 -10.537 0.004 +@GW 9 2.223 0.004 +@GW 10 0.891 0.002 +@GW 11 1.145 0.005 +@GW 12 1.207 0.004 +@GW 13 1.655 0.003 +@GW 14 2.421 0.002 +@GW 15 2.794 0.002 +@GW 16 3.112 0.002 +@GW 17 3.573 0.002 +@GW 18 3.589 0.002 +@GW 19 3.732 0.002 +@GW 20 4.867 0.003 +@GW 21 4.555 0.002 +@GW 22 4.825 0.002 +@GW 23 5.992 0.003 +@GW 24 6.024 0.003 +@GW 25 6.845 0.003 +@GW 26 7.599 0.003 +@GW 27 7.604 0.003 +@GW 28 8.043 0.003 +@GW 29 8.162 0.003 +@GW 30 8.735 0.003 +@GW 31 9.473 0.004 +@GW 32 9.635 0.002 +@GW 33 10.092 0.004 +@GW 34 9.734 0.003 +@GW 35 10.295 0.002 +@GW 36 10.122 0.002 +@GW 37 10.803 0.003 +@GW 38 11.039 0.002 +@GW 39 11.209 0.004 +@GW 40 11.271 0.004 +@GW 41 11.730 0.004 +@GW 42 11.700 0.004 +@GW 43 11.869 0.003 +@GW 44 13.067 0.002 +@GW 45 13.702 0.004 +@GW 46 14.792 0.003 +@GW 47 15.035 0.002 +@GW 48 15.374 0.005 +@GW 49 16.509 0.004 +@GW 50 18.343 0.004 +@GW 51 18.860 0.002 +@GW 52 19.450 0.004 +@GW 53 20.317 0.004 +@GW 54 20.685 0.002 +@GW 55 21.347 0.004 +@GW 56 22.037 0.002 +@GW 57 22.448 0.004 +@GW 58 23.795 0.004 +@GW 59 23.275 0.004 +@GW 60 23.446 0.005 +@GW 61 23.170 0.003 +@GW 62 24.085 0.004 +@GW 63 24.096 0.004 +@GW 64 24.666 0.002 +@GW 65 24.335 0.002 +@GW 66 25.005 0.004 +@GW 67 25.936 0.004 +@GW 68 25.863 0.002 +@GW 69 26.120 0.004 +@GW 70 26.841 0.002 +@GW 71 27.786 0.004 +@GW 72 27.967 0.003 +@GW 73 28.295 0.004 +@GW 74 28.161 0.005 +@GW 75 28.681 0.002 +@GW 76 29.258 0.003 +@GW 77 29.414 0.004 +@GW 78 29.893 0.004 +@GW 79 29.986 0.004 +@GW 80 30.046 0.002 +@GW 81 32.591 0.004 +@GW 82 33.851 0.003 +@GW 83 34.180 0.005 +@GW 84 35.313 0.002 +@GW 85 36.420 0.002 +@GW 86 37.793 0.004 +@GW 87 38.198 0.004 +@GW 88 38.850 0.004 +@GW 89 40.680 0.004 +@GW 90 40.675 0.002 +@GW 91 40.654 0.003 +@GW 92 41.707 0.005 +@GW 93 43.113 0.004 +@GW 94 43.625 0.002 +@GW 95 44.522 0.004 +@GW 96 46.284 0.005 +@GW 97 46.173 0.003 +@GW 98 46.949 0.003 +@GW 99 46.220 0.002 +@GW 100 47.609 0.003 +@GW 101 48.358 0.002 +@GW 102 50.595 0.003 +@GW 103 51.207 0.004 +@GW 104 54.157 0.004 +@GW 105 54.172 0.005 +@GW 106 55.383 0.001 +@GW 107 55.092 0.005 +@GW 108 55.094 0.004 +@GW 109 55.997 0.004 +@GW 110 58.845 0.004 +@GW 111 59.437 0.004 +@GW 112 60.788 0.004 +@GW 113 62.997 0.004 +@GW 114 64.344 0.005 +@GW 115 67.061 0.002 +@GW 116 69.187 0.002 +@GW 117 74.537 0.001 +@GW 118 79.872 0.004 +@GW 119 79.457 0.005 +@GW 120 85.037 0.005 +@GW 121 86.177 0.005 +@GW 122 87.003 0.004 +@GW 123 86.620 0.002 +@GW 124 87.531 0.004 +@GW 125 89.132 0.000 +@GW 126 90.633 0.002 +@GW 127 91.857 0.004 +@GW 128 91.928 0.002 +@GW 129 92.675 0.002 +@GW 130 95.932 0.004 +@GW 131 95.879 0.005 +@GW 132 95.919 0.004 +@GW 133 98.167 0.002 +@GW 134 98.709 0.004 +@GW 135 97.994 0.004 +@GW 136 100.004 0.002 +@GW 137 100.847 0.005 +@GW 138 101.673 0.004 +@GW 139 101.985 0.005 +@GW 140 103.111 0.004 +@GW 141 106.578 0.005 +@GW 142 106.260 0.004 +@GW 143 108.163 0.003 +@GW 144 108.703 0.004 +@GW 145 109.359 0.003 +@GW 146 111.399 0.002 +@GW 147 112.494 0.004 +@GW 148 114.151 0.004 +@GW 149 114.599 0.004 +@GW 150 115.640 0.002 +@GW 151 115.963 0.004 +@GW 152 119.365 0.005 +@GW 153 121.744 0.004 +@GW 154 121.444 0.003 +@GW 155 121.843 0.004 +@GW 156 125.698 0.004 +@GW 157 125.517 0.004 +@GW 158 128.051 0.003 +@GW 159 130.719 0.004 +@GW 160 131.126 0.002 +@GW 161 131.962 0.004 +@GW 162 131.239 0.002 +@GW 163 133.437 0.000 +@GW 164 134.113 0.004 +@GW 165 137.646 0.002 +@GW 166 142.485 0.059 * +@GW 167 142.065 0.005 +@GW 168 140.660 0.005 +@GW 169 141.484 0.002 +@GW 170 143.149 0.000 +@GW 171 145.970 0.004 +@GW 172 150.491 0.004 +@GW 173 148.870 0.004 +@GW 174 147.965 0.002 +@GW 175 149.480 0.004 +@GW 176 161.374 0.004 +@GW 177 163.436 0.001 +@GW 178 174.039 0.004 +@GW 179 176.818 0.004 +@GW 180 179.928 0.003 +@GW 181 181.504 0.004 +@GW 182 189.389 0.000 +@GW 183 450.394 0.001 +@GW 184 459.318 0.003 + + * Result did not converge + + + *** G2W2 + + Computing RPA polarizability + Solving quasiparticle equations + + Alpha Orbitals + State Energy (eV) Error (eV) + ----------------------------------- +@GW 1 -291.832 0.003 +@GW 2 -291.798 0.003 +@GW 3 -24.583 0.005 +@GW 4 -19.808 0.003 +@GW 5 -16.517 0.002 +@GW 6 -15.027 0.005 +@GW 7 -13.349 0.004 +@GW 8 -10.555 0.002 +@GW 9 2.236 0.005 +@GW 10 0.893 0.002 +@GW 11 1.146 0.002 +@GW 12 1.208 0.002 +@GW 13 1.654 0.002 +@GW 14 2.424 0.002 +@GW 15 2.796 0.002 +@GW 16 3.114 0.002 +@GW 17 3.577 0.002 +@GW 18 3.590 0.005 +@GW 19 3.735 0.002 +@GW 20 4.874 0.003 +@GW 21 4.557 0.002 +@GW 22 4.829 0.002 +@GW 23 6.000 0.003 +@GW 24 6.032 0.003 +@GW 25 6.852 0.003 +@GW 26 7.607 0.002 +@GW 27 7.610 0.003 +@GW 28 8.052 0.003 +@GW 29 8.170 0.003 +@GW 30 8.742 0.003 +@GW 31 9.482 0.003 +@GW 32 9.650 0.003 +@GW 33 10.102 0.003 +@GW 34 9.739 0.003 +@GW 35 10.308 0.003 +@GW 36 10.135 0.003 +@GW 37 10.812 0.003 +@GW 38 11.053 0.005 +@GW 39 11.220 0.003 +@GW 40 11.280 0.003 +@GW 41 11.738 0.003 +@GW 42 11.709 0.003 +@GW 43 11.875 0.003 +@GW 44 13.090 0.002 +@GW 45 13.712 0.003 +@GW 46 14.827 0.003 +@GW 47 15.054 0.004 +@GW 48 15.391 0.004 +@GW 49 16.543 0.003 +@GW 50 18.394 0.004 +@GW 51 18.975 0.004 +@GW 52 19.423 0.004 +@GW 53 20.351 0.003 +@GW 54 20.735 0.002 +@GW 55 21.388 0.002 +@GW 56 22.100 0.003 +@GW 57 22.541 0.003 +@GW 58 23.972 0.004 +@GW 59 23.238 0.004 +@GW 60 23.389 0.002 +@GW 61 23.252 0.003 +@GW 62 24.066 0.003 +@GW 63 24.111 0.004 +@GW 64 24.746 0.003 +@GW 65 24.382 0.002 +@GW 66 24.990 0.004 +@GW 67 26.020 0.004 +@GW 68 25.773 0.002 +@GW 69 26.205 0.003 +@GW 70 26.887 0.004 +@GW 71 27.878 0.002 +@GW 72 28.111 0.004 +@GW 73 28.317 0.004 +@GW 74 28.162 0.003 +@GW 75 28.812 0.004 +@GW 76 29.380 0.003 +@GW 77 29.405 0.002 +@GW 78 29.992 0.004 +@GW 79 29.875 0.004 +@GW 80 30.144 0.004 +@GW 81 32.695 0.002 +@GW 82 33.785 0.004 +@GW 83 33.976 0.003 +@GW 84 35.436 0.005 +@GW 85 36.542 0.003 +@GW 86 37.750 0.002 +@GW 87 37.959 0.002 +@GW 88 38.765 0.005 +@GW 89 40.488 0.003 +@GW 90 40.716 0.005 +@GW 91 40.860 0.003 +@GW 92 41.852 0.002 +@GW 93 43.002 0.003 +@GW 94 43.778 0.004 +@GW 95 44.281 0.005 +@GW 96 46.541 0.001 +@GW 97 46.374 0.004 +@GW 98 46.549 0.000 +@GW 99 46.393 0.003 +@GW 100 47.627 0.004 +@GW 101 48.283 0.002 +@GW 102 50.574 0.002 +@GW 103 50.605 0.004 +@GW 104 54.069 0.004 +@GW 105 54.298 0.004 +@GW 106 54.969 0.000 +@GW 107 55.010 0.004 +@GW 108 55.405 0.002 +@GW 109 55.659 0.003 +@GW 110 59.147 0.003 +@GW 111 59.725 0.004 +@GW 112 60.838 0.004 +@GW 113 62.043 0.005 +@GW 114 64.438 0.004 +@GW 115 67.456 0.004 +@GW 116 68.840 0.004 +@GW 117 74.350 0.005 +@GW 118 80.031 0.002 +@GW 119 79.521 0.004 +@GW 120 85.070 0.004 +@GW 121 86.643 0.000 +@GW 122 87.301 0.004 +@GW 123 86.822 0.004 +@GW 124 87.615 0.005 +@GW 125 88.889 0.004 +@GW 126 90.590 0.004 +@GW 127 91.628 0.002 +@GW 128 92.226 0.004 +@GW 129 93.037 0.004 +@GW 130 96.103 0.004 +@GW 131 96.256 0.003 +@GW 132 95.066 0.002 +@GW 133 98.132 0.003 +@GW 134 98.670 0.004 +@GW 135 98.131 0.005 +@GW 136 100.412 0.004 +@GW 137 100.981 0.005 +@GW 138 101.941 0.004 +@GW 139 103.138 0.001 +@GW 140 103.415 0.005 +@GW 141 106.479 0.003 +@GW 142 107.151 0.000 +@GW 143 108.414 0.000 +@GW 144 108.499 0.004 +@GW 145 109.723 0.003 +@GW 146 110.563 0.004 +@GW 147 112.553 0.003 +@GW 148 114.340 0.004 +@GW 149 114.935 0.004 +@GW 150 116.068 0.002 +@GW 151 116.585 0.004 +@GW 152 119.773 0.005 +@GW 153 122.321 0.000 +@GW 154 121.207 0.004 +@GW 155 122.233 0.002 +@GW 156 125.350 0.004 +@GW 157 125.043 0.004 +@GW 158 128.482 0.005 +@GW 159 130.435 0.005 +@GW 160 131.328 0.004 +@GW 161 132.854 0.004 +@GW 162 131.399 0.005 +@GW 163 133.405 0.003 +@GW 164 134.086 0.002 +@GW 165 138.053 0.004 +@GW 166 142.318 0.005 +@GW 167 140.503 0.005 +@GW 168 140.915 0.003 +@GW 169 142.002 0.004 +@GW 170 142.738 0.004 +@GW 171 145.565 0.002 +@GW 172 150.487 0.002 +@GW 173 149.161 0.004 +@GW 174 148.090 0.004 +@GW 175 149.981 0.000 +@GW 176 160.818 0.005 +@GW 177 163.710 0.004 +@GW 178 174.194 0.004 +@GW 179 176.590 0.002 +@GW 180 179.939 0.004 +@GW 181 180.157 0.002 +@GW 182 188.808 0.000 +@GW 183 449.969 0.004 +@GW 184 459.400 0.005 + + *** G3W3 + + Computing RPA polarizability + Solving quasiparticle equations + + Alpha Orbitals + State Energy (eV) Error (eV) + ----------------------------------- +@GW 1 -292.106 0.000 +@GW 2 -292.071 0.000 +@GW 3 -24.604 0.000 +@GW 4 -19.819 0.000 +@GW 5 -16.524 0.000 +@GW 6 -15.034 0.000 +@GW 7 -13.353 0.000 +@GW 8 -10.557 0.000 +@GW 9 2.238 0.000 +@GW 10 0.893 0.000 +@GW 11 1.146 0.000 +@GW 12 1.208 0.000 +@GW 13 1.654 0.000 +@GW 14 2.424 0.000 +@GW 15 2.796 0.000 +@GW 16 3.114 0.000 +@GW 17 3.577 0.000 +@GW 18 3.591 0.000 +@GW 19 3.735 0.000 +@GW 20 4.874 0.000 +@GW 21 4.558 0.000 +@GW 22 4.829 0.000 +@GW 23 6.000 0.000 +@GW 24 6.033 0.000 +@GW 25 6.853 0.000 +@GW 26 7.607 0.000 +@GW 27 7.611 0.000 +@GW 28 8.052 0.000 +@GW 29 8.171 0.000 +@GW 30 8.743 0.000 +@GW 31 9.483 0.000 +@GW 32 9.652 0.000 +@GW 33 10.103 0.000 +@GW 34 9.740 0.000 +@GW 35 10.309 0.000 +@GW 36 10.136 0.000 +@GW 37 10.813 0.000 +@GW 38 11.055 0.000 +@GW 39 11.221 0.000 +@GW 40 11.281 0.000 +@GW 41 11.739 0.000 +@GW 42 11.710 0.000 +@GW 43 11.876 0.000 +@GW 44 13.092 0.000 +@GW 45 13.713 0.000 +@GW 46 14.830 0.000 +@GW 47 15.056 0.000 +@GW 48 15.393 0.000 +@GW 49 16.546 0.000 +@GW 50 18.397 0.000 +@GW 51 18.986 0.000 +@GW 52 19.428 0.000 +@GW 53 20.358 0.000 +@GW 54 20.741 0.000 +@GW 55 21.392 0.000 +@GW 56 22.101 0.000 +@GW 57 22.552 0.000 +@GW 58 23.991 0.000 +@GW 59 23.247 0.000 +@GW 60 23.394 0.000 +@GW 61 23.261 0.000 +@GW 62 24.067 0.000 +@GW 63 24.105 0.000 +@GW 64 24.755 0.000 +@GW 65 24.389 0.000 +@GW 66 24.993 0.000 +@GW 67 26.024 0.000 +@GW 68 25.784 0.000 +@GW 69 26.214 0.000 +@GW 70 26.850 0.000 +@GW 71 27.890 0.000 +@GW 72 28.116 0.000 +@GW 73 28.321 0.000 +@GW 74 28.179 0.000 +@GW 75 28.826 0.000 +@GW 76 29.388 0.000 +@GW 77 29.415 0.000 +@GW 78 30.004 0.000 +@GW 79 29.831 0.000 +@GW 80 30.141 0.000 +@GW 81 32.701 0.000 +@GW 82 33.813 0.000 +@GW 83 33.989 0.000 +@GW 84 35.436 0.000 +@GW 85 36.552 0.000 +@GW 86 37.732 0.000 +@GW 87 37.995 0.000 +@GW 88 38.762 0.000 +@GW 89 40.512 0.000 +@GW 90 40.682 0.000 +@GW 91 40.876 0.000 +@GW 92 41.876 0.000 +@GW 93 43.021 0.000 +@GW 94 43.643 0.000 +@GW 95 44.331 0.000 +@GW 96 46.561 0.000 +@GW 97 46.430 0.000 +@GW 98 46.600 0.000 +@GW 99 46.395 0.000 +@GW 100 47.627 0.000 +@GW 101 48.317 0.000 +@GW 102 50.591 0.000 +@GW 103 50.660 0.000 +@GW 104 54.356 0.000 +@GW 105 54.320 0.000 +@GW 106 55.067 0.000 +@GW 107 55.095 0.000 +@GW 108 55.296 0.000 +@GW 109 55.641 0.000 +@GW 110 59.227 0.000 +@GW 111 59.754 0.000 +@GW 112 60.713 0.000 +@GW 113 61.695 0.000 +@GW 114 64.098 0.000 +@GW 115 67.481 0.000 +@GW 116 68.852 0.000 +@GW 117 74.219 0.000 +@GW 118 80.292 0.000 +@GW 119 79.603 0.000 +@GW 120 85.065 0.000 +@GW 121 86.684 0.000 +@GW 122 87.307 0.000 +@GW 123 86.786 0.000 +@GW 124 87.716 0.000 +@GW 125 88.995 0.000 +@GW 126 90.571 0.000 +@GW 127 91.693 0.000 +@GW 128 92.339 0.000 +@GW 129 93.155 0.000 +@GW 130 95.966 0.000 +@GW 131 96.292 0.000 +@GW 132 95.292 0.000 +@GW 133 98.207 0.000 +@GW 134 98.694 0.000 +@GW 135 98.194 0.000 +@GW 136 100.327 0.000 +@GW 137 100.947 0.000 +@GW 138 102.059 0.000 +@GW 139 103.426 0.000 +@GW 140 103.550 0.000 +@GW 141 106.836 0.000 +@GW 142 106.833 0.000 +@GW 143 108.978 0.000 +@GW 144 108.343 0.000 +@GW 145 109.723 0.000 +@GW 146 110.365 0.000 +@GW 147 112.532 0.000 +@GW 148 114.547 0.000 +@GW 149 114.969 0.000 +@GW 150 116.032 0.000 +@GW 151 116.793 0.000 +@GW 152 119.771 0.000 +@GW 153 121.779 0.000 +@GW 154 121.373 0.000 +@GW 155 121.968 0.000 +@GW 156 125.433 0.000 +@GW 157 125.085 0.000 +@GW 158 128.750 0.000 +@GW 159 130.764 0.000 +@GW 160 131.534 0.000 +@GW 161 133.166 0.000 +@GW 162 131.414 0.000 +@GW 163 133.106 0.000 +@GW 164 133.959 0.000 +@GW 165 138.155 0.000 +@GW 166 142.267 0.000 +@GW 167 140.702 0.000 +@GW 168 140.878 0.000 +@GW 169 141.586 0.000 +@GW 170 142.765 0.000 +@GW 171 145.835 0.000 +@GW 172 150.291 0.000 +@GW 173 149.298 0.000 +@GW 174 148.211 0.000 +@GW 175 150.010 0.000 +@GW 176 160.064 0.000 +@GW 177 162.209 0.000 +@GW 178 174.554 0.000 +@GW 179 176.702 0.000 +@GW 180 179.318 0.000 +@GW 181 180.031 0.000 +@GW 182 188.352 0.000 +@GW 183 450.134 0.000 +@GW 184 459.741 0.000 + + *** G4W4 + + Computing RPA polarizability + Solving quasiparticle equations + + Alpha Orbitals + State Energy (eV) Error (eV) + ----------------------------------- +@GW 1 -292.165 0.000 +@GW 2 -292.129 0.000 +@GW 3 -24.606 0.000 +@GW 4 -19.820 0.000 +@GW 5 -16.524 0.000 +@GW 6 -15.035 0.000 +@GW 7 -13.353 0.000 +@GW 8 -10.557 0.000 +@GW 9 2.238 0.000 +@GW 10 0.893 0.000 +@GW 11 1.146 0.000 +@GW 12 1.208 0.000 +@GW 13 1.654 0.000 +@GW 14 2.424 0.000 +@GW 15 2.796 0.000 +@GW 16 3.114 0.000 +@GW 17 3.577 0.000 +@GW 18 3.591 0.000 +@GW 19 3.735 0.000 +@GW 20 4.874 0.000 +@GW 21 4.558 0.000 +@GW 22 4.829 0.000 +@GW 23 6.000 0.000 +@GW 24 6.033 0.000 +@GW 25 6.853 0.000 +@GW 26 7.607 0.000 +@GW 27 7.611 0.000 +@GW 28 8.052 0.000 +@GW 29 8.171 0.000 +@GW 30 8.743 0.000 +@GW 31 9.483 0.000 +@GW 32 9.652 0.000 +@GW 33 10.103 0.000 +@GW 34 9.740 0.000 +@GW 35 10.309 0.000 +@GW 36 10.136 0.000 +@GW 37 10.813 0.000 +@GW 38 11.055 0.000 +@GW 39 11.221 0.000 +@GW 40 11.281 0.000 +@GW 41 11.739 0.000 +@GW 42 11.710 0.000 +@GW 43 11.876 0.000 +@GW 44 13.092 0.000 +@GW 45 13.713 0.000 +@GW 46 14.830 0.000 +@GW 47 15.056 0.000 +@GW 48 15.394 0.000 +@GW 49 16.546 0.000 +@GW 50 18.397 0.000 +@GW 51 18.987 0.000 +@GW 52 19.429 0.000 +@GW 53 20.358 0.000 +@GW 54 20.742 0.000 +@GW 55 21.393 0.000 +@GW 56 22.101 0.000 +@GW 57 22.553 0.000 +@GW 58 23.993 0.000 +@GW 59 23.248 0.000 +@GW 60 23.394 0.000 +@GW 61 23.262 0.000 +@GW 62 24.067 0.000 +@GW 63 24.105 0.000 +@GW 64 24.756 0.000 +@GW 65 24.390 0.000 +@GW 66 24.994 0.000 +@GW 67 26.024 0.000 +@GW 68 25.786 0.000 +@GW 69 26.215 0.000 +@GW 70 26.843 0.000 +@GW 71 27.891 0.000 +@GW 72 28.117 0.000 +@GW 73 28.322 0.000 +@GW 74 28.180 0.000 +@GW 75 28.827 0.000 +@GW 76 29.388 0.000 +@GW 77 29.417 0.000 +@GW 78 30.006 0.000 +@GW 79 29.818 0.000 +@GW 80 30.141 0.000 +@GW 81 32.701 0.000 +@GW 82 33.816 0.000 +@GW 83 33.990 0.000 +@GW 84 35.436 0.000 +@GW 85 36.554 0.000 +@GW 86 37.733 0.000 +@GW 87 37.999 0.000 +@GW 88 38.762 0.000 +@GW 89 40.516 0.000 +@GW 90 40.683 0.000 +@GW 91 40.877 0.000 +@GW 92 41.879 0.000 +@GW 93 43.025 0.000 +@GW 94 43.621 0.000 +@GW 95 44.337 0.000 +@GW 96 46.551 0.000 +@GW 97 46.436 0.000 +@GW 98 46.604 0.000 +@GW 99 46.394 0.000 +@GW 100 47.641 0.000 +@GW 101 48.320 0.000 +@GW 102 50.618 0.000 +@GW 103 50.666 0.000 +@GW 104 54.356 0.000 +@GW 105 54.327 0.000 +@GW 106 55.077 0.000 +@GW 107 55.101 0.000 +@GW 108 55.281 0.000 +@GW 109 55.638 0.000 +@GW 110 59.229 0.000 +@GW 111 59.775 0.000 +@GW 112 60.709 0.000 +@GW 113 61.711 0.000 +@GW 114 64.091 0.000 +@GW 115 67.501 0.000 +@GW 116 68.801 0.000 +@GW 117 74.201 0.000 +@GW 118 80.324 0.000 +@GW 119 79.604 0.000 +@GW 120 85.081 0.000 +@GW 121 86.705 0.000 +@GW 122 87.376 0.000 +@GW 123 86.811 0.000 +@GW 124 87.715 0.000 +@GW 125 89.018 0.000 +@GW 126 90.594 0.000 +@GW 127 91.741 0.000 +@GW 128 92.344 0.000 +@GW 129 93.204 0.000 +@GW 130 95.998 0.000 +@GW 131 96.461 0.000 +@GW 132 95.308 0.000 +@GW 133 98.209 0.000 +@GW 134 98.662 0.000 +@GW 135 98.253 0.000 +@GW 136 100.353 0.000 +@GW 137 101.116 0.000 +@GW 138 102.095 0.000 +@GW 139 103.487 0.000 +@GW 140 103.548 0.000 +@GW 141 106.858 0.000 +@GW 142 106.830 0.000 +@GW 143 108.946 0.000 +@GW 144 108.291 0.000 +@GW 145 109.777 0.000 +@GW 146 110.431 0.000 +@GW 147 112.586 0.000 +@GW 148 114.421 0.000 +@GW 149 114.929 0.000 +@GW 150 116.050 0.000 +@GW 151 116.806 0.000 +@GW 152 119.745 0.000 +@GW 153 121.329 0.000 +@GW 154 121.440 0.000 +@GW 155 121.967 0.000 +@GW 156 125.421 0.000 +@GW 157 125.099 0.000 +@GW 158 128.673 0.000 +@GW 159 130.758 0.000 +@GW 160 131.664 0.000 +@GW 161 133.129 0.000 +@GW 162 131.437 0.000 +@GW 163 133.162 0.000 +@GW 164 133.996 0.000 +@GW 165 138.200 0.000 +@GW 166 142.277 0.000 +@GW 167 140.742 0.000 +@GW 168 140.814 0.000 +@GW 169 141.563 0.000 +@GW 170 142.485 0.000 +@GW 171 145.817 0.000 +@GW 172 150.347 0.000 +@GW 173 149.330 0.000 +@GW 174 148.401 0.000 +@GW 175 149.959 0.000 +@GW 176 160.630 0.000 +@GW 177 162.188 0.000 +@GW 178 174.572 0.000 +@GW 179 176.620 0.000 +@GW 180 179.647 0.000 +@GW 181 180.115 0.000 +@GW 182 188.264 0.000 +@GW 183 450.236 0.000 +@GW 184 459.774 0.000 + + GW Timing Statistics + ------------------------ + Init. : 0.1s + ERIs : 0.6s + Distr.: 0.1s + Vxc : 0.3s + Sigma_x : 0.0s + RPA : 1.1s + Wmn : 2.6s + Sigma_c : 1.1s + GW total: 6.2s + + + Task times cpu: 9.5s wall: 9.5s + + + NWChem Input Module + ------------------- + + + + NWChem BSE Module + ----------------- + + + ethene BSE + + + + *********************** + *** BSE *** + *********************** + + + Computing 2-center integrals + Computing Inverse Cholesky factor + Computing 3-center integrals + Transform ERIs + Distribute ERIs + Read inverse + Orthogonalize ERIs + + 12 smallest diagonals (eV) +------------------------------------ + No. Spin Occ Vir Irrep Diag +------------------------------------ + 1 1 8 10 b1u 7.371 + 2 1 8 12 b2g 8.075 + 3 1 8 11 b3g 8.092 + 4 1 7 9 b2g 8.612 + 5 1 8 9 b2u 8.769 + 6 1 8 14 ag 8.977 + 7 1 8 15 b1u 9.151 + 8 1 8 13 au 9.217 + 9 1 6 9 b3g 10.006 + 10 1 8 18 b1u 10.067 + 11 1 8 19 b2g 10.128 + 12 1 7 10 b1g 10.149 + + -------------------------------- + Iter Ntrials Nconv Res + -------------------------------- + 1 48 0 0.13829 + 2 60 0 0.60130E-01 + 3 72 0 0.41802E-01 + 4 84 0 0.16459E-01 + 5 96 0 0.40756E-02 + 6 106 2 0.53951E-03 + 7 110 12 0.31237E-04 + + ---------------------------------------------------------------------------- + Root 1 singlet b1u 0.246691089 a.u. 6.7128 eV + ---------------------------------------------------------------------------- + Transition Moments X -0.00000 Y 0.00000 Z 0.63468 + Transition Moments XX -0.00000 XY -0.00000 XZ -0.00000 + Transition Moments YY 0.00000 YZ -0.00000 ZZ -0.00000 + Dipole Oscillator Strength 0.0662477913 + Electric Quadrupole 0.0000000000 + Magnetic Dipole 0.0000000000 + Total Oscillator Strength 0.0662477913 + + Exciton norm = 1.0007 + sigma_e = 2.9290 Angstrom + sigma_h = 1.2335 Angstrom + |d_h->e| = 0.0000 Angstrom + d_exc = 3.1763 Angstrom + d_CD = -2.0812 Angstrom + Pearson C.C. = 0.0016 + + Occ. 8 b1u --- Virt. 10 ag 0.88787 X + Occ. 8 b1u --- Virt. 15 ag 0.22656 X + Occ. 8 b1u --- Virt. 18 ag -0.37636 X + Occ. 8 b1u --- Virt. 20 ag -0.07921 X + Occ. 8 b1u --- Virt. 36 ag 0.10264 X + ---------------------------------------------------------------------------- + Root 2 singlet b2g 0.266803497 a.u. 7.2601 eV + ---------------------------------------------------------------------------- + Transition Moments X -0.00000 Y -0.00000 Z -0.00000 + Transition Moments XX -0.00000 XY -0.00000 XZ 1.11297 + Transition Moments YY -0.00000 YZ 0.00000 ZZ 0.00000 + Dipole Oscillator Strength 0.0000000000 + Electric Quadrupole 0.0000001253 + Magnetic Dipole 0.0000000000 + Total Oscillator Strength 0.0000001253 + + Exciton norm = 1.0002 + sigma_e = 3.0882 Angstrom + sigma_h = 1.2374 Angstrom + |d_h->e| = 0.0000 Angstrom + d_exc = 3.3252 Angstrom + d_CD = -2.1628 Angstrom + Pearson C.C. = 0.0015 + + Occ. 7 b1g --- Virt. 9 b3g -0.10351 X + Occ. 8 b1u --- Virt. 12 b3u -0.84740 X + Occ. 8 b1u --- Virt. 19 b3u 0.47037 X + Occ. 8 b1u --- Virt. 23 b3u -0.16114 X + Occ. 8 b1u --- Virt. 30 b3u -0.08590 X + Occ. 8 b1u --- Virt. 33 b3u -0.11947 X + ---------------------------------------------------------------------------- + Root 3 singlet b2u 0.270263287 a.u. 7.3542 eV + ---------------------------------------------------------------------------- + Transition Moments X 0.00000 Y 1.31671 Z -0.00000 + Transition Moments XX 0.00000 XY -0.00000 XZ 0.00000 + Transition Moments YY -0.00000 YZ -0.00000 ZZ 0.00000 + Dipole Oscillator Strength 0.3123747752 + Electric Quadrupole 0.0000000000 + Magnetic Dipole 0.0000000000 + Total Oscillator Strength 0.3123747752 + + Exciton norm = 1.0800 + sigma_e = 1.5911 Angstrom + sigma_h = 1.2393 Angstrom + |d_h->e| = 0.0000 Angstrom + d_exc = 2.0824 Angstrom + d_CD = -1.4152 Angstrom + Pearson C.C. = -0.0682 + + Occ. 4 b2u --- Virt. 10 ag 0.05533 X + Occ. 4 b2u --- Virt. 18 ag -0.05131 X + Occ. 5 b3u --- Virt. 21 b1g -0.05017 X + Occ. 6 ag --- Virt. 29 b2u 0.06125 X + Occ. 6 ag --- Virt. 47 b2u -0.06305 X + Occ. 7 b1g --- Virt. 12 b3u -0.05129 X + Occ. 7 b1g --- Virt. 23 b3u 0.07452 X + Occ. 7 b1g --- Virt. 39 b3u -0.06555 X + Occ. 8 b1u --- Virt. 9 b3g -0.97902 X + Occ. 8 b1u --- Virt. 9 b3g 0.16835 Y + Occ. 8 b1u --- Virt. 17 b3g 0.18241 X + Occ. 8 b1u --- Virt. 17 b3g -0.06693 Y + ---------------------------------------------------------------------------- + Root 4 singlet b3g 0.273729174 a.u. 7.4486 eV + ---------------------------------------------------------------------------- + Transition Moments X -0.00000 Y 0.00000 Z 0.00000 + Transition Moments XX -0.00000 XY 0.00000 XZ -0.00000 + Transition Moments YY -0.00000 YZ 1.29703 ZZ -0.00000 + Dipole Oscillator Strength 0.0000000000 + Electric Quadrupole 0.0000001837 + Magnetic Dipole 0.0000000000 + Total Oscillator Strength 0.0000001837 + + Exciton norm = 1.0008 + sigma_e = 3.3930 Angstrom + sigma_h = 1.2340 Angstrom + |d_h->e| = 0.0000 Angstrom + d_exc = 3.6079 Angstrom + d_CD = -2.3135 Angstrom + Pearson C.C. = 0.0021 + + Occ. 8 b1u --- Virt. 11 b2u -0.88475 X + Occ. 8 b1u --- Virt. 16 b2u 0.39648 X + Occ. 8 b1u --- Virt. 22 b2u -0.20810 X + Occ. 8 b1u --- Virt. 29 b2u -0.08008 X + Occ. 8 b1u --- Virt. 38 b2u 0.07408 X + ---------------------------------------------------------------------------- + Root 5 singlet b2g 0.298859271 a.u. 8.1324 eV + ---------------------------------------------------------------------------- + Transition Moments X -0.00000 Y 0.00000 Z -0.00000 + Transition Moments XX 0.00000 XY 0.00000 XZ 0.75346 + Transition Moments YY 0.00000 YZ 0.00000 ZZ 0.00000 + Dipole Oscillator Strength 0.0000000000 + Electric Quadrupole 0.0000000807 + Magnetic Dipole 0.0000000000 + Total Oscillator Strength 0.0000000807 + + Exciton norm = 1.0022 + sigma_e = 1.4814 Angstrom + sigma_h = 1.5298 Angstrom + |d_h->e| = 0.0000 Angstrom + d_exc = 2.1066 Angstrom + d_CD = -1.5056 Angstrom + Pearson C.C. = 0.0214 + + Occ. 7 b1g --- Virt. 9 b3g -0.94829 X + Occ. 7 b1g --- Virt. 17 b3g 0.27644 X + Occ. 7 b1g --- Virt. 32 b3g -0.08680 X + Occ. 8 b1u --- Virt. 12 b3u 0.11512 X + ---------------------------------------------------------------------------- + Root 6 singlet ag 0.317192549 a.u. 8.6312 eV + ---------------------------------------------------------------------------- + Transition Moments X -0.00000 Y 0.00000 Z -0.00000 + Transition Moments XX 0.22176 XY 0.00000 XZ -0.00000 + Transition Moments YY 0.03261 YZ 0.00000 ZZ 3.26434 + Dipole Oscillator Strength 0.0000000000 + Electric Quadrupole 0.0000005590 + Magnetic Dipole 0.0000000000 + Total Oscillator Strength 0.0000005590 + + Exciton norm = 1.0018 + sigma_e = 3.3411 Angstrom + sigma_h = 1.2395 Angstrom + |d_h->e| = 0.0000 Angstrom + d_exc = 3.5464 Angstrom + d_CD = -2.2903 Angstrom + Pearson C.C. = 0.0148 + + Occ. 5 b3u --- Virt. 19 b3u -0.05101 X + Occ. 6 ag --- Virt. 10 ag -0.06000 X + Occ. 7 b1g --- Virt. 13 b1g 0.05381 X + Occ. 7 b1g --- Virt. 21 b1g 0.06258 X + Occ. 8 b1u --- Virt. 14 b1u -0.97987 X + Occ. 8 b1u --- Virt. 28 b1u 0.10411 X + ---------------------------------------------------------------------------- + Root 7 singlet au 0.322627078 a.u. 8.7791 eV + ---------------------------------------------------------------------------- + Transition Moments X -0.00000 Y 0.00000 Z -0.00000 + Transition Moments XX -0.00000 XY -0.00000 XZ 0.00000 + Transition Moments YY -0.00000 YZ 0.00000 ZZ -0.00000 + Dipole Oscillator Strength 0.0000000000 + Electric Quadrupole 0.0000000000 + Magnetic Dipole 0.0000000000 + Total Oscillator Strength 0.0000000000 + + Exciton norm = 1.0001 + sigma_e = 4.2572 Angstrom + sigma_h = 1.2334 Angstrom + |d_h->e| = 0.0000 Angstrom + d_exc = 4.4313 Angstrom + d_CD = -2.7453 Angstrom + Pearson C.C. = 0.0008 + + Occ. 8 b1u --- Virt. 13 b1g -0.90699 X + Occ. 8 b1u --- Virt. 21 b1g -0.39989 X + Occ. 8 b1u --- Virt. 31 b1g 0.10951 X + Occ. 8 b1u --- Virt. 42 b1g -0.06040 X + ---------------------------------------------------------------------------- + Root 8 singlet b1u 0.325922951 a.u. 8.8688 eV + ---------------------------------------------------------------------------- + Transition Moments X 0.00000 Y -0.00000 Z -0.06747 + Transition Moments XX -0.00000 XY 0.00000 XZ 0.00000 + Transition Moments YY -0.00000 YZ -0.00000 ZZ 0.00000 + Dipole Oscillator Strength 0.0009890180 + Electric Quadrupole 0.0000000000 + Magnetic Dipole 0.0000000000 + Total Oscillator Strength 0.0009890180 + + Exciton norm = 1.0001 + sigma_e = 3.5269 Angstrom + sigma_h = 1.2333 Angstrom + |d_h->e| = 0.0000 Angstrom + d_exc = 3.7352 Angstrom + d_CD = -2.3801 Angstrom + Pearson C.C. = 0.0010 + + Occ. 8 b1u --- Virt. 10 ag -0.28119 X + Occ. 8 b1u --- Virt. 15 ag 0.89452 X + Occ. 8 b1u --- Virt. 20 ag -0.23582 X + Occ. 8 b1u --- Virt. 26 ag -0.23849 X + Occ. 8 b1u --- Virt. 40 ag -0.05195 X + ---------------------------------------------------------------------------- + Root 9 singlet b3g 0.342961771 a.u. 9.3325 eV + ---------------------------------------------------------------------------- + Transition Moments X -0.00000 Y 0.00000 Z 0.00000 + Transition Moments XX 0.00000 XY 0.00000 XZ -0.00000 + Transition Moments YY 0.00000 YZ 0.97607 ZZ -0.00000 + Dipole Oscillator Strength 0.0000000000 + Electric Quadrupole 0.0000002047 + Magnetic Dipole 0.0000000000 + Total Oscillator Strength 0.0000002047 + + Exciton norm = 1.0018 + sigma_e = 1.4402 Angstrom + sigma_h = 1.2713 Angstrom + |d_h->e| = 0.0000 Angstrom + d_exc = 1.9205 Angstrom + d_CD = -1.3557 Angstrom + Pearson C.C. = 0.0005 + + Occ. 3 ag --- Virt. 9 b3g 0.06802 X + Occ. 6 ag --- Virt. 9 b3g -0.93871 X + Occ. 6 ag --- Virt. 17 b3g 0.29390 X + Occ. 6 ag --- Virt. 32 b3g -0.10846 X + Occ. 8 b1u --- Virt. 11 b2u 0.07229 X + Occ. 8 b1u --- Virt. 25 b2u 0.06362 X + ---------------------------------------------------------------------------- + Root 10 singlet b1g 0.346394566 a.u. 9.4259 eV + ---------------------------------------------------------------------------- + Transition Moments X 0.00000 Y 0.00000 Z 0.00000 + Transition Moments XX -0.00000 XY -2.72617 XZ -0.00000 + Transition Moments YY 0.00000 YZ 0.00000 ZZ 0.00000 + Dipole Oscillator Strength 0.0000000000 + Electric Quadrupole 0.0000016449 + Magnetic Dipole 0.0000000000 + Total Oscillator Strength 0.0000016449 + + Exciton norm = 1.0015 + sigma_e = 2.9369 Angstrom + sigma_h = 1.5327 Angstrom + |d_h->e| = 0.0000 Angstrom + d_exc = 3.1898 Angstrom + d_CD = -2.2348 Angstrom + Pearson C.C. = 0.0889 + + Occ. 5 b3u --- Virt. 11 b2u 0.07827 X + Occ. 7 b1g --- Virt. 10 ag -0.88448 X + Occ. 7 b1g --- Virt. 15 ag -0.21120 X + Occ. 7 b1g --- Virt. 18 ag 0.37838 X + Occ. 7 b1g --- Virt. 20 ag 0.07213 X + Occ. 7 b1g --- Virt. 36 ag -0.09602 X + ---------------------------------------------------------------------------- + Root 11 singlet b1u 0.360291828 a.u. 9.8040 eV + ---------------------------------------------------------------------------- + Transition Moments X 0.00000 Y -0.00000 Z -0.77727 + Transition Moments XX 0.00000 XY -0.00000 XZ -0.00000 + Transition Moments YY 0.00000 YZ -0.00000 ZZ -0.00000 + Dipole Oscillator Strength 0.1451145008 + Electric Quadrupole 0.0000000000 + Magnetic Dipole 0.0000000000 + Total Oscillator Strength 0.1451145008 + + Exciton norm = 1.0019 + sigma_e = 3.1946 Angstrom + sigma_h = 1.2363 Angstrom + |d_h->e| = 0.0000 Angstrom + d_exc = 3.4171 Angstrom + d_CD = -2.2154 Angstrom + Pearson C.C. = 0.0072 + + Occ. 4 b2u --- Virt. 9 b3g -0.09238 X + Occ. 8 b1u --- Virt. 10 ag -0.22833 X + Occ. 8 b1u --- Virt. 15 ag -0.27760 X + Occ. 8 b1u --- Virt. 18 ag -0.51979 X + Occ. 8 b1u --- Virt. 20 ag -0.74490 X + Occ. 8 b1u --- Virt. 26 ag 0.09443 X + Occ. 8 b1u --- Virt. 36 ag 0.11741 X + Occ. 8 b1u --- Virt. 37 ag 0.08516 X + ---------------------------------------------------------------------------- + Root 12 singlet b2g 0.370794261 a.u. 10.0898 eV + ---------------------------------------------------------------------------- + Transition Moments X -0.00000 Y -0.00000 Z -0.00000 + Transition Moments XX -0.00000 XY -0.00000 XZ 0.48226 + Transition Moments YY -0.00000 YZ 0.00000 ZZ -0.00000 + Dipole Oscillator Strength 0.0000000000 + Electric Quadrupole 0.0000000631 + Magnetic Dipole 0.0000000000 + Total Oscillator Strength 0.0000000631 + + Exciton norm = 1.0003 + sigma_e = 4.1986 Angstrom + sigma_h = 1.2343 Angstrom + |d_h->e| = 0.0000 Angstrom + d_exc = 4.3754 Angstrom + d_CD = -2.7164 Angstrom + Pearson C.C. = 0.0007 + + Occ. 7 b1g --- Virt. 9 b3g -0.05230 X + Occ. 8 b1u --- Virt. 12 b3u -0.48002 X + Occ. 8 b1u --- Virt. 19 b3u -0.61254 X + Occ. 8 b1u --- Virt. 23 b3u 0.57753 X + Occ. 8 b1u --- Virt. 30 b3u 0.07044 X + Occ. 8 b1u --- Virt. 33 b3u 0.20774 X + Occ. 8 b1u --- Virt. 39 b3u -0.09137 X + + Task times cpu: 12.7s wall: 12.7s + + + NWChem Input Module + ------------------- + + + Summary of allocated global arrays +----------------------------------- + No active global arrays + + +MA_summarize_allocated_blocks: starting scan ... +MA_summarize_allocated_blocks: scan completed: 0 heap blocks, 0 stack blocks +MA usage statistics: + + allocation statistics: + heap stack + ---- ----- + current number of blocks 0 0 + maximum number of blocks 30 62 + current total bytes 0 0 + maximum total bytes 316535072 43735224 + maximum total K-bytes 316536 43736 + maximum total M-bytes 317 44 + + + CITATION + -------- + Please cite the following reference when publishing + results obtained with NWChem: + + E. Apra, E. J. Bylaska, W. A. de Jong, N. Govind, K. Kowalski, + T. P. Straatsma, M. Valiev, H. J. J. van Dam, Y. Alexeev, J. Anchell, + V. Anisimov, F. W. Aquino, R. Atta-Fynn, J. Autschbach, N. P. Bauman, + J. C. Becca, D. E. Bernholdt, K. Bhaskaran-Nair, S. Bogatko, P. Borowski, + J. Boschen, J. Brabec, A. Bruner, E. Cauet, Y. Chen, G. N. Chuev, + C. J. Cramer, J. Daily, M. J. O. Deegan, T. H. Dunning Jr., M. Dupuis, + K. G. Dyall, G. I. Fann, S. A. Fischer, A. Fonari, H. Fruchtl, L. Gagliardi, + J. Garza, N. Gawande, S. Ghosh, K. Glaesemann, A. W. Gotz, J. Hammond, + V. Helms, E. D. Hermes, K. Hirao, S. Hirata, M. Jacquelin, L. Jensen, + B. G. Johnson, H. Jonsson, R. A. Kendall, M. Klemm, R. Kobayashi, V. Konkov, + S. Krishnamoorthy, M. Krishnan, Z. Lin, R. D. Lins, R. J. Littlefield, + A. J. Logsdail, K. Lopata, W. Ma, A. V. Marenich, J. Martin del Campo, + D. Mejia-Rodriguez, J. E. Moore, J. M. Mullin, T. Nakajima, D. R. Nascimento, + J. A. Nichols, P. J. Nichols, J. Nieplocha, A. Otero-de-la-Roza, B. Palmer, + A. Panyala, T. Pirojsirikul, B. Peng, R. Peverati, J. Pittner, L. Pollack, + R. M. Richard, P. Sadayappan, G. C. Schatz, W. A. Shelton, D. W. Silverstein, + D. M. A. Smith, T. A. Soares, D. Song, M. Swart, H. L. Taylor, G. S. Thomas, + V. Tipparaju, D. G. Truhlar, K. Tsemekhman, T. Van Voorhis, + A. Vazquez-Mayagoitia, P. Verma, O. Villa, A. Vishnu, K. D. Vogiatzis, + D. Wang, J. H. Weare, M. J. Williamson, T. L. Windus, K. Wolinski, + A. T. Wong, Q. Wu, C. Yang, Q. Yu, M. Zacharias, Z. Zhang, Y. Zhao, + and R. J. Harrison + "NWChem: Past, present, and future + J. Chem. Phys. 152, 184102 (2020) + doi:10.1063/5.0004997 + + AUTHORS + ------- + E. Apra, E. J. Bylaska, N. Govind, K. Kowalski, D. Mejia-Rodriguez, + N. P. Bauman, A. Panyala, R. J. Harrison, M. Valiev, W. A. de Jong, + T. P. Straatsma, H. J. J. van Dam, D. Wang, T. L. Windus, J. Hammond, + J. Autschbach, R. de P. Soares, A. Kunitsa, K. Bhaskaran-Nair, J. Brabec, + K. Lopata, S. A. Fischer, S. Krishnamoorthy, M. Jacquelin, R. Goswami, + A. Woods, W. Ma, M. Klemm, O. Villa, Y. Chen, V. Anisimov, F. Aquino, + S. Hirata, M. T. Hackler, E. Hermes, L. Jensen, J. E. Moore, J. C. Becca, + V. Konjkov, T. Risthaus, M. Malagoli, A. Marenich, A. Otero-de-la-Roza, + J. Mullin, P. Nichols, R. Peverati, J. Pittner, Y. Zhao, P.-D. Fan, + A. Fonari, M. J. Williamson, J. R. Rehr, M. Dupuis, D. Silverstein, + D. M. A. Smith, J. Nieplocha, V. Tipparaju, M. Krishnan, B. E. Van Kuiken, + A. Vazquez-Mayagoitia, M. Swart, Q. Wu, T. Van Voorhis, A. A. Auer, + M. Nooijen, L. D. Crosby, E. Brown, G. Cisneros, G. I. Fann, H. Fruchtl, + J. Garza, K. Hirao, R. A. Kendall, J. A. Nichols, K. Tsemekhman, K. Wolinski, + J. Anchell, D. E. Bernholdt, P. Borowski, T. Clark, D. Clerc, H. Dachsel, + M. J. O. Deegan, K. Dyall, D. Elwood, E. Glendening, M. Gutowski, A. C. Hess, + J. Jaffe, B. G. Johnson, J. Ju, R. Kobayashi, R. Kutteh, Z. Lin, + R. Littlefield, X. Long, B. Meng, T. Nakajima, S. Niu, L. Pollack, M. Rosing, + K. Glaesemann, G. Sandrone, M. Stave, H. Taylor, G. Thomas, J. H. van Lenthe, + A. T. Wong, Z. Zhang. + + Total times cpu: 22.6s wall: 22.6s diff --git a/QA/tests/gw_closedshell/gw_closedshell.nw b/QA/tests/gw_closedshell/gw_closedshell.nw index 811d01c3b2..89cf841965 100644 --- a/QA/tests/gw_closedshell/gw_closedshell.nw +++ b/QA/tests/gw_closedshell/gw_closedshell.nw @@ -35,11 +35,8 @@ end gw core - eta 0.01 method cdgw states alpha occ 7 - solver newton 15 - convergence 0.001 ev end task dft gw @@ -52,27 +49,8 @@ end gw core first 4 - eta 0.01 - method cdgw 128 - solver newton 15 + method cdgw states alpha occ 4 - convergence 0.001 ev -end - -task dft gw - -dft - noscf -end - -unset gw:first - -gw - core - eta 0.01 - solver newton 15 - states alpha occ 7 - convergence 0.001 ev end task dft gw diff --git a/QA/tests/gw_closedshell/gw_closedshell.out b/QA/tests/gw_closedshell/gw_closedshell.out index b65b475664..71df44359c 100644 --- a/QA/tests/gw_closedshell/gw_closedshell.out +++ b/QA/tests/gw_closedshell/gw_closedshell.out @@ -1,4 +1,5 @@ - argument 1 = gw_closedshell.nw + argument 1 = /people/meji656/calculations/bse/QA/gw_closedshell.nw + NWChem w/ OpenMP: maximum threads = 1 @@ -21,11 +22,11 @@ H 2.5025 -1.2628 -0.0022 H 0.9511 -2.0241 -0.0008 end -basis "ao basis" spherical +basis "ao basis" bse spherical * library cc-pvdz end -basis "cd basis" spherical +basis "cd basis" bse spherical * library cc-pvdz-rifit end @@ -40,11 +41,8 @@ end gw core - eta 0.01 method cdgw states alpha occ 7 - solver newton 15 - convergence 0.001 ev end task dft gw @@ -57,27 +55,8 @@ end gw core first 4 - eta 0.01 - method cdgw 128 - solver newton 15 + method cdgw states alpha occ 4 - convergence 0.001 ev -end - -task dft gw - -dft - noscf -end - -unset gw:first - -gw - core - eta 0.01 - solver newton 15 - states alpha occ 7 - convergence 0.001 ev end task dft gw @@ -88,7 +67,7 @@ task dft gw - Northwest Computational Chemistry Package (NWChem) 7.0.1 + Northwest Computational Chemistry Package (NWChem) 7.3.0 -------------------------------------------------------- @@ -96,7 +75,7 @@ task dft gw Pacific Northwest National Laboratory Richland, WA 99352 - Copyright (c) 1994-2020 + Copyright (c) 1994-2025 Pacific Northwest National Laboratory Battelle Memorial Institute @@ -121,21 +100,21 @@ task dft gw Job information --------------- - hostname = dmejiar-VirtualBox - program = nwchem - date = Fri Feb 4 04:13:35 2022 + hostname = dc004 + program = /qfs/people/meji656/software/nwchem.bse/bin/LINUX64/nwchem + date = Thu Oct 16 10:34:35 2025 - compiled = Fri_Feb_04_04:04:58_2022 - source = /home/dmejiar/Software/nwchem_gfortran_gw - nwchem branch = 7.0.0 - nwchem revision = nwchem_on_git-3497-g0c7e480c37 - ga revision = 5.8.1 - use scalapack = T - input = gw_closedshell.nw + compiled = Thu_Oct_16_10:07:15_2025 + source = /qfs/people/meji656/software/nwchem.bse + nwchem branch = 7.3.0 + nwchem revision = v7.2.0-beta1-1624-g0dc011d0a0 + ga revision = 5.9.2 + use scalapack = F + input = /people/meji656/calculations/bse/QA/gw_closedshell.nw prefix = gw_closedshell. data base = ./gw_closedshell.db status = startup - nproc = 2 + nproc = 7 time left = -1s @@ -143,10 +122,10 @@ task dft gw Memory information ------------------ - heap = 65536000 doubles = 500.0 Mbytes - stack = 65535997 doubles = 500.0 Mbytes - global = 131072000 doubles = 1000.0 Mbytes (distinct from heap & stack) - total = 262143997 doubles = 2000.0 Mbytes + heap = 65535998 doubles = 500.0 Mbytes + stack = 65535995 doubles = 500.0 Mbytes + global = 131072000 doubles = 1000.0 Mbytes (distinct from heap & stack) + total = 262143993 doubles = 2000.0 Mbytes verify = yes hardfail = no @@ -311,9 +290,6 @@ task dft gw - library name resolved from: environment - library file name is: - Summary of "ao basis" -> "" (spherical) @@ -323,9 +299,6 @@ task dft gw * cc-pvdz on all atoms - library name resolved from: environment - library file name is: - Summary of "cd basis" -> "" (spherical) @@ -337,8 +310,8 @@ task dft gw pbe96 is a nonlocal functional; adding pw91lda local functional. - NWChem GW@DFT Module - -------------------- + NWChem GW Module + ---------------- GW Trifluoroacetamide @@ -796,48 +769,48 @@ task dft gw HOMO = -0.354463 LUMO = 0.023799 - Time after variat. SCF: 1.2 + Time after variat. SCF: 0.8 3 Center 2 Electron Integral Information ---------------------------------------- Maximum number of 3-center 2e- integrals is: 4898880. This is reduced with Schwarz screening to: 3084900. - Incore requires a per proc buffer size of: 1377181. + Incore requires a per proc buffer size of: 398581. Minimum dble words available (all nodes) is: 131060988 - This is reduced (for later use) to: 130785792 - proc 0 Suggested buffer size is: 1377181 - Max Suggested buffer size is: 1377181 + This is reduced (for later use) to: 130844112 + proc 0 Suggested buffer size is: 398581 + Max Suggested buffer size is: 398581 no. integral batches is: 1000 Incore memory use for 3-center 2e- integrals is turned off. - Time prior to 1st pass: 1.2 + Time prior to 1st pass: 0.8 Memory utilization after 1st SCF pass: - Heap Space remaining (MW): 65.53 65525792 - Stack Space remaining (MW): 65.54 65535156 + Heap Space remaining (MW): 65.53 65525790 + Stack Space remaining (MW): 65.54 65535148 convergence iter energy DeltaE RMS-Dens Diis-err time ---------------- ----- ----------------- --------- --------- --------- ------ - d= 0,ls=0.0,diis 1 -506.2138586363 -8.41D+02 1.85D-02 2.46D+00 5.4 - d= 0,ls=0.0,diis 2 -505.9428729180 2.71D-01 1.15D-02 5.90D+00 9.7 - d= 0,ls=0.0,diis 3 -506.4729357426 -5.30D-01 2.21D-03 1.04D-01 13.9 - d= 0,ls=0.0,diis 4 -506.4807116964 -7.78D-03 8.40D-04 2.68D-02 18.1 - d= 0,ls=0.0,diis 5 -506.4832631842 -2.55D-03 1.27D-04 5.68D-04 23.8 + d= 0,ls=0.0,diis 1 -506.2138586373 -8.41D+02 1.85D-02 2.46D+00 1.3 + d= 0,ls=0.0,diis 2 -505.9428729965 2.71D-01 1.15D-02 5.90D+00 1.9 + d= 0,ls=0.0,diis 3 -506.4729357440 -5.30D-01 2.21D-03 1.04D-01 2.4 + d= 0,ls=0.0,diis 4 -506.4807116867 -7.78D-03 8.40D-04 2.68D-02 3.0 + d= 0,ls=0.0,diis 5 -506.4832631820 -2.55D-03 1.27D-04 5.68D-04 3.7 Resetting Diis - d= 0,ls=0.0,diis 6 -506.4833170187 -5.38D-05 4.21D-05 2.12D-05 29.7 - d= 0,ls=0.0,diis 7 -506.4833201162 -3.10D-06 2.25D-05 3.93D-06 36.1 - d= 0,ls=0.0,diis 8 -506.4833202140 -9.77D-08 9.51D-06 4.40D-06 42.1 + d= 0,ls=0.0,diis 6 -506.4833170167 -5.38D-05 4.21D-05 2.12D-05 4.4 + d= 0,ls=0.0,diis 7 -506.4833201141 -3.10D-06 2.25D-05 3.93D-06 5.2 + d= 0,ls=0.0,diis 8 -506.4833202118 -9.77D-08 9.51D-06 4.40D-06 5.9 - Total DFT energy = -506.483320213950 - One electron energy = -1365.175909550851 - Coulomb energy = 581.765579688889 - Exchange-Corr. energy = -58.042890125742 + Total DFT energy = -506.483320211761 + One electron energy = -1365.175909547848 + Coulomb energy = 581.765579681333 + Exchange-Corr. energy = -58.042890118999 Nuclear repulsion energy = 334.969899773753 - Numeric. integr. density = 56.000003719920 + Numeric. integr. density = 56.000003716419 - Total iterative time = 40.9s + Total iterative time = 5.1s @@ -870,32 +843,36 @@ task dft gw 2 0 0 2 -28.307350 -52.360374 -52.360374 76.413398 - *********************** - *** GW@DFT *** - *********************** + *********************** + *** GW *** + *********************** Memory Information ------------------ - Available GA per process is 999.9 MBs + Available GA per process is 1000.0 MBs Available stack per process is 500.0 MBs Available heap per process is 499.9 MBs Peak memory in Initialization - Peak GA per process is 5.6 MBs + Peak GA per process is 1.6 MBs Peak stack per process is 0.1 MBs - Peak heap per process is 6.5 MBs + Peak heap per process is 2.9 MBs Memory not in MA per process 0.0 MBs Peak memory in CDGW Calculation - Peak GA per process is 7.0 MBs + Peak GA per process is 2.0 MBs Peak stack per process is 2.7 MBs - Peak heap per process is 2.1 MBs + Peak heap per process is 1.3 MBs Memory not in MA per process 0.0 MBs Computing 2-center integrals Computing Inverse Cholesky factor Computing 3-center integrals + Transform ERIs + Distribute ERIs + Read inverse + Orthogonalize ERIs Computing Vxc Computing Sigma_x Computing W(iw) on the imaginary grid @@ -904,28 +881,28 @@ task dft gw Alpha Orbitals State Energy (eV) Error (eV) ----------------------------------- -@GW 1 -695.048 0.000 -@GW 2 -694.653 0.000 -@GW 3 -694.648 0.000 -@GW 4 -538.987 0.000 -@GW 5 -408.010 0.000 -@GW 6 -300.254 0.000 -@GW 7 -296.783 0.000 +@GW 1 -695.046 0.002 +@GW 2 -694.650 0.002 +@GW 3 -694.645 0.002 +@GW 4 -538.980 0.006 +@GW 5 -408.006 0.001 +@GW 6 -300.252 0.002 +@GW 7 -296.781 0.002 GW Timing Statistics ------------------------ Init. : 0.1s - ERIs : 0.7s + ERIs : 0.2s Distr.: 0.0s - Vxc : 4.9s + Vxc : 0.5s Vmo : 0.0s - iW : 2.8s + iW : 0.9s I_n : 0.0s - R_n : 1.1s - GW total: 9.6s + R_n : 0.2s + GW total: 2.0s - Task times cpu: 51.4s wall: 51.6s + Task times cpu: 7.6s wall: 7.6s NWChem Input Module @@ -933,8 +910,8 @@ task dft gw - NWChem GW@DFT Module - -------------------- + NWChem GW Module + ---------------- GW Trifluoroacetamide @@ -1034,34 +1011,34 @@ task dft gw Loading old vectors from job with title : -GW Trifluoroacetamide +W vals - Time after variat. SCF: 51.9 + Time after variat. SCF: 8.0 3 Center 2 Electron Integral Information ---------------------------------------- Maximum number of 3-center 2e- integrals is: 4898880. This is reduced with Schwarz screening to: 3084900. - Incore requires a per proc buffer size of: 1377181. + Incore requires a per proc buffer size of: 398581. Minimum dble words available (all nodes) is: 131060988 - This is reduced (for later use) to: 130586152 - proc 0 Suggested buffer size is: 1377181 - Max Suggested buffer size is: 1377181 + This is reduced (for later use) to: 130644472 + proc 0 Suggested buffer size is: 398581 + Max Suggested buffer size is: 398581 no. integral batches is: 1000 Incore memory use for 3-center 2e- integrals is turned off. - Time prior to 1st pass: 51.9 + Time prior to 1st pass: 8.0 - Total DFT energy = -506.483320618786 - One electron energy = -1365.176616645610 - Coulomb energy = 581.766179275143 - Exchange-Corr. energy = -58.042783022072 + Total DFT energy = -506.483320616637 + One electron energy = -1365.176616647789 + Coulomb energy = 581.766179277314 + Exchange-Corr. energy = -58.042783019915 Nuclear repulsion energy = 334.969899773753 - Numeric. integr. density = 56.000003720190 + Numeric. integr. density = 56.000003716815 - Total iterative time = 5.9s + Total iterative time = 0.7s @@ -1094,32 +1071,36 @@ GW Trifluoroacetamide 2 0 0 2 -28.307350 -52.360374 -52.360374 76.413398 - *********************** - *** GW@DFT *** - *********************** + *********************** + *** GW *** + *********************** Memory Information ------------------ - Available GA per process is 999.9 MBs + Available GA per process is 1000.0 MBs Available stack per process is 500.0 MBs Available heap per process is 499.9 MBs Peak memory in Initialization - Peak GA per process is 5.6 MBs + Peak GA per process is 1.6 MBs Peak stack per process is 0.1 MBs - Peak heap per process is 6.5 MBs + Peak heap per process is 2.9 MBs Memory not in MA per process 0.0 MBs Peak memory in CDGW Calculation - Peak GA per process is 7.0 MBs + Peak GA per process is 2.0 MBs Peak stack per process is 2.7 MBs - Peak heap per process is 1.5 MBs + Peak heap per process is 1.2 MBs Memory not in MA per process 0.0 MBs Computing 2-center integrals Computing Inverse Cholesky factor Computing 3-center integrals + Transform ERIs + Distribute ERIs + Read inverse + Orthogonalize ERIs Computing Vxc Computing Sigma_x Computing W(iw) on the imaginary grid @@ -1128,249 +1109,25 @@ GW Trifluoroacetamide Alpha Orbitals State Energy (eV) Error (eV) ----------------------------------- -@GW 4 -538.987 0.000 -@GW 5 -408.010 0.000 -@GW 6 -300.254 0.000 -@GW 7 -296.783 0.000 +@GW 4 -538.980 0.006 +@GW 5 -408.006 0.001 +@GW 6 -300.252 0.002 +@GW 7 -296.781 0.002 GW Timing Statistics ------------------------ Init. : 0.1s - ERIs : 0.8s + ERIs : 0.2s Distr.: 0.0s - Vxc : 4.9s + Vxc : 0.5s Vmo : 0.0s - iW : 1.6s + iW : 0.9s I_n : 0.0s - R_n : 0.6s - GW total: 8.0s + R_n : 0.1s + GW total: 1.8s - Task times cpu: 14.1s wall: 14.1s - - - NWChem Input Module - ------------------- - - - - NWChem GW@DFT Module - -------------------- - - - GW Trifluoroacetamide - - - - NWChem DFT Module - ----------------- - - - GW Trifluoroacetamide - - - - - Summary of "ao basis" -> "ao basis" (spherical) - ------------------------------------------------------------------------------ - Tag Description Shells Functions and Types - ---------------- ------------------------------ ------ --------------------- - F cc-pvdz 6 14 3s2p1d - O cc-pvdz 6 14 3s2p1d - N cc-pvdz 6 14 3s2p1d - C cc-pvdz 6 14 3s2p1d - H cc-pvdz 3 5 2s1p - - - Caching 1-el integrals - - General Information - ------------------- - SCF calculation type: DFT - Wavefunction type: closed shell. - No. of atoms : 9 - No. of electrons : 56 - Alpha electrons : 28 - Beta electrons : 28 - Charge : 0 - Spin multiplicity: 1 - Use of symmetry is: off; symmetry adaption is: off - Maximum number of iterations: 50 - This is a Direct SCF calculation. - AO basis - number of functions: 108 - number of shells: 48 - A Charge density fitting basis will be used. - CD basis - number of functions: 420 - number of shells: 138 - Convergence on energy requested: 1.00D-06 - Convergence on density requested: 1.00D-05 - Convergence on gradient requested: 5.00D-04 - - XC Information - -------------- - Hartree-Fock (Exact) Exchange 0.450 - PerdewBurkeErnzerhof Exchange Functional 0.550 - Perdew 1991 LDA Correlation Functional 1.000 local - PerdewBurkeErnz. Correlation Functional 1.000 non-local - - Grid Information - ---------------- - Grid used for XC integration: medium - Radial quadrature: Mura-Knowles - Angular quadrature: Lebedev. - Tag B.-S. Rad. Rad. Pts. Rad. Cut. Ang. Pts. - --- ---------- --------- --------- --------- - F 0.50 49 11.0 434 - O 0.60 49 9.0 434 - N 0.65 49 8.0 434 - C 0.70 49 10.0 434 - H 0.35 45 10.0 434 - Grid pruning is: on - Number of quadrature shells: 433 - Spatial weights used: Erf1 - - Convergence Information - ----------------------- - Convergence aids based upon iterative change in - total energy or number of iterations. - Levelshifting, if invoked, occurs when the - HOMO/LUMO gap drops below (HL_TOL): 1.00D-02 - DIIS, if invoked, will attempt to extrapolate - using up to (NFOCK): 10 stored Fock matrices. - - Damping( 0%) Levelshifting(0.5) DIIS - --------------- ------------------- --------------- - dE on: start ASAP start - dE off: 2 iters 50 iters 50 iters - - - Screening Tolerance Information - ------------------------------- - Density screening/tol_rho: 1.00D-10 - AO Gaussian exp screening on grid/accAOfunc: 14 - CD Gaussian exp screening on grid/accCDfunc: 20 - XC Gaussian exp screening on grid/accXCfunc: 20 - Schwarz screening/accCoul: 1.00D-12 - - - Loading old vectors from job with title : - -GW Trifluoroacetamide - - Time after variat. SCF: 66.0 - - 3 Center 2 Electron Integral Information - ---------------------------------------- - Maximum number of 3-center 2e- integrals is: 4898880. - This is reduced with Schwarz screening to: 3084900. - Incore requires a per proc buffer size of: 1377181. - Minimum dble words available (all nodes) is: 131060988 - This is reduced (for later use) to: 130586152 - proc 0 Suggested buffer size is: 1377181 - Max Suggested buffer size is: 1377181 - no. integral batches is: 1000 - - Incore memory use for 3-center 2e- integrals is turned off. - Time prior to 1st pass: 66.0 - - - Total DFT energy = -506.483320619392 - One electron energy = -1365.176616645610 - Coulomb energy = 581.766179275142 - Exchange-Corr. energy = -58.042783022677 - Nuclear repulsion energy = 334.969899773753 - - Numeric. integr. density = 56.000003721840 - - Total iterative time = 5.9s - - - - center of mass - -------------- - x = 0.05046829 y = 0.11377991 z = 0.00004386 - - moments of inertia (a.u.) - ------------------ - 724.808949354496 0.000000000000 0.000000000000 - 0.000000000000 484.336918953950 -0.000000000000 - 0.000000000000 -0.000000000000 886.538753836127 - - Multipole analysis of the density - --------------------------------- - - L x y z total alpha beta nuclear - - - - - ----- ----- ---- ------- - 0 0 0 0 -0.000000 -28.000000 -28.000000 56.000000 - - 1 1 0 0 -1.489094 -0.744547 -0.744547 -0.000000 - 1 0 1 0 -0.546971 -0.273486 -0.273486 0.000000 - 1 0 0 1 0.000605 0.000302 0.000302 0.000000 - - 2 2 0 0 -27.181301 -96.832025 -96.832025 166.482750 - 2 1 1 0 4.886093 -1.980672 -1.980672 8.847437 - 2 1 0 1 0.002838 -0.001223 -0.001223 0.005284 - 2 0 2 0 -26.258758 -158.160655 -158.160655 290.062553 - 2 0 1 1 -0.001360 -0.006340 -0.006340 0.011320 - 2 0 0 2 -28.307350 -52.360374 -52.360374 76.413398 - - - *********************** - *** GW@DFT *** - *********************** - - - Memory Information - ------------------ - Available GA per process is 999.9 MBs - Available stack per process is 500.0 MBs - Available heap per process is 499.9 MBs - - Peak memory in Initialization - Peak GA per process is 5.6 MBs - Peak stack per process is 0.1 MBs - Peak heap per process is 6.5 MBs - Memory not in MA per process 0.0 MBs - - Peak memory in AFF Calculation - Peak GA per process is 27.6 MBs - Peak stack per process is 38.3 MBs - Peak heap per process is 0.0 MBs - Memory not in MA per process 38.3 MBs - - Computing 2-center integrals - Computing Inverse Cholesky factor - Computing 3-center integrals - Computing V_xc ... - Computing Sigma_x - Computing RPA polarizability - Solving quasiparticle equations - - Alpha Orbitals - State Energy (eV) Error (eV) - ----------------------------------- -@GW 1 -695.048 0.000 -@GW 2 -694.652 0.000 -@GW 3 -694.648 0.000 -@GW 4 -538.986 0.000 -@GW 5 -408.009 0.000 -@GW 6 -300.254 0.000 -@GW 7 -296.783 0.000 - - GW Timing Statistics - ------------------------ - Init. : 0.1s - ERIs : 0.7s - Distr.: 0.0s - Vxc : 4.7s - Sigma_x : 0.0s - RPA : 2.6s - Wmn : 0.1s - Sigma_c : 0.0s - GW total: 8.4s - - - Task times cpu: 14.3s wall: 14.4s + Task times cpu: 2.6s wall: 2.6s NWChem Input Module @@ -1390,11 +1147,11 @@ MA usage statistics: heap stack ---- ----- current number of blocks 0 0 - maximum number of blocks 28 56 + maximum number of blocks 28 62 current total bytes 0 0 - maximum total bytes 25980280 80584200 - maximum total K-bytes 25981 80585 - maximum total M-bytes 26 81 + maximum total bytes 22153480 30740728 + maximum total K-bytes 22154 30741 + maximum total M-bytes 23 31 CITATION @@ -1430,24 +1187,25 @@ MA usage statistics: AUTHORS ------- - E. Apra, E. J. Bylaska, N. Govind, K. Kowalski, M. Valiev, W. A. de Jong, - T. P. Straatsma, H. J. J. van Dam, D. Wang, T. L. Windus, N. P. Bauman, - A. Panyala, J. Hammond, J. Autschbach, K. Bhaskaran-Nair, J. Brabec, - K. Lopata, S. A. Fischer, S. Krishnamoorthy, M. Jacquelin, W. Ma, M. Klemm, - O. Villa, Y. Chen, V. Anisimov, F. Aquino, S. Hirata, M. T. Hackler, - Eric Hermes, L. Jensen, J. E. Moore, J. C. Becca, V. Konjkov, - D. Mejia-Rodriguez, T. Risthaus, M. Malagoli, A. Marenich, - A. Otero-de-la-Roza, J. Mullin, P. Nichols, R. Peverati, J. Pittner, Y. Zhao, - P.-D. Fan, A. Fonari, M. J. Williamson, R. J. Harrison, J. R. Rehr, - M. Dupuis, D. Silverstein, D. M. A. Smith, J. Nieplocha, V. Tipparaju, - M. Krishnan, B. E. Van Kuiken, A. Vazquez-Mayagoitia, M. Swart, Q. Wu, - T. Van Voorhis, A. A. Auer, M. Nooijen, L. D. Crosby, E. Brown, G. Cisneros, - G. I. Fann, H. Fruchtl, J. Garza, K. Hirao, R. A. Kendall, J. A. Nichols, - K. Tsemekhman, K. Wolinski, J. Anchell, D. E. Bernholdt, P. Borowski, - T. Clark, D. Clerc, H. Dachsel, M. J. O. Deegan, K. Dyall, D. Elwood, - E. Glendening, M. Gutowski, A. C. Hess, J. Jaffe, B. G. Johnson, J. Ju, - R. Kobayashi, R. Kutteh, Z. Lin, R. Littlefield, X. Long, B. Meng, - T. Nakajima, S. Niu, L. Pollack, M. Rosing, K. Glaesemann, G. Sandrone, - M. Stave, H. Taylor, G. Thomas, J. H. van Lenthe, A. T. Wong, Z. Zhang. + E. Apra, E. J. Bylaska, N. Govind, K. Kowalski, D. Mejia-Rodriguez, + N. P. Bauman, A. Panyala, R. J. Harrison, M. Valiev, W. A. de Jong, + T. P. Straatsma, H. J. J. van Dam, D. Wang, T. L. Windus, J. Hammond, + J. Autschbach, R. de P. Soares, A. Kunitsa, K. Bhaskaran-Nair, J. Brabec, + K. Lopata, S. A. Fischer, S. Krishnamoorthy, M. Jacquelin, R. Goswami, + A. Woods, W. Ma, M. Klemm, O. Villa, Y. Chen, V. Anisimov, F. Aquino, + S. Hirata, M. T. Hackler, E. Hermes, L. Jensen, J. E. Moore, J. C. Becca, + V. Konjkov, T. Risthaus, M. Malagoli, A. Marenich, A. Otero-de-la-Roza, + J. Mullin, P. Nichols, R. Peverati, J. Pittner, Y. Zhao, P.-D. Fan, + A. Fonari, M. J. Williamson, J. R. Rehr, M. Dupuis, D. Silverstein, + D. M. A. Smith, J. Nieplocha, V. Tipparaju, M. Krishnan, B. E. Van Kuiken, + A. Vazquez-Mayagoitia, M. Swart, Q. Wu, T. Van Voorhis, A. A. Auer, + M. Nooijen, L. D. Crosby, E. Brown, G. Cisneros, G. I. Fann, H. Fruchtl, + J. Garza, K. Hirao, R. A. Kendall, J. A. Nichols, K. Tsemekhman, K. Wolinski, + J. Anchell, D. E. Bernholdt, P. Borowski, T. Clark, D. Clerc, H. Dachsel, + M. J. O. Deegan, K. Dyall, D. Elwood, E. Glendening, M. Gutowski, A. C. Hess, + J. Jaffe, B. G. Johnson, J. Ju, R. Kobayashi, R. Kutteh, Z. Lin, + R. Littlefield, X. Long, B. Meng, T. Nakajima, S. Niu, L. Pollack, M. Rosing, + K. Glaesemann, G. Sandrone, M. Stave, H. Taylor, G. Thomas, J. H. van Lenthe, + A. T. Wong, Z. Zhang. - Total times cpu: 79.8s wall: 80.2s + Total times cpu: 10.5s wall: 10.5s diff --git a/QA/tests/gw_openshell/gw_openshell.nw b/QA/tests/gw_openshell/gw_openshell.nw index 8cd6b114cd..c1a88055e4 100644 --- a/QA/tests/gw_openshell/gw_openshell.nw +++ b/QA/tests/gw_openshell/gw_openshell.nw @@ -24,35 +24,18 @@ end dft odft mult 2 - xc pbe96 + xc pbe0 direct grid fine nodisk - tolerances accCoul 14 + tolerances accCoul 12 convergence energy 1d-8 noprint "final vectors analysis" end gw - eta 0.001 method cdgw - solver newton 20 states alpha occ 5 vir 5 states beta occ 5 vir 5 - convergence 0.001 ev -end - -task dft gw - -dft - noscf -end - -gw - eta 0.001 - solver newton 20 - states alpha occ 5 vir 5 - states beta occ 5 vir 5 - convergence 0.001 ev end task dft gw diff --git a/QA/tests/gw_openshell/gw_openshell.out b/QA/tests/gw_openshell/gw_openshell.out index 194a2425fc..f6a9ba5b6e 100644 --- a/QA/tests/gw_openshell/gw_openshell.out +++ b/QA/tests/gw_openshell/gw_openshell.out @@ -1,4 +1,5 @@ - argument 1 = gw_openshell.nw + argument 1 = /data/edo/nwchem/nwchem_bse-pull//QA/tests/gw_openshell/gw_openshell.nw + NWChem w/ OpenMP: maximum threads = 1 @@ -17,11 +18,11 @@ H 2.5025 -1.2628 -0.0022 H 0.9511 -2.0241 -0.0008 end -basis "ao basis" spherical +basis "ao basis" bse spherical * library cc-pvdz end -basis "cd basis" spherical +basis "cd basis" bse spherical * library cc-pvdz-rifit end @@ -29,35 +30,18 @@ end dft odft mult 2 - xc pbe96 + xc pbe0 direct grid fine nodisk - tolerances accCoul 14 + tolerances accCoul 12 convergence energy 1d-8 noprint "final vectors analysis" end gw - eta 0.001 method cdgw - solver newton 20 states alpha occ 5 vir 5 states beta occ 5 vir 5 - convergence 0.001 ev -end - -task dft gw - -dft - noscf -end - -gw - eta 0.001 - solver newton 20 - states alpha occ 5 vir 5 - states beta occ 5 vir 5 - convergence 0.001 ev end task dft gw @@ -69,7 +53,7 @@ task dft gw - Northwest Computational Chemistry Package (NWChem) 7.0.1 + Northwest Computational Chemistry Package (NWChem) 7.3.0 -------------------------------------------------------- @@ -77,7 +61,7 @@ task dft gw Pacific Northwest National Laboratory Richland, WA 99352 - Copyright (c) 1994-2020 + Copyright (c) 1994-2025 Pacific Northwest National Laboratory Battelle Memorial Institute @@ -102,21 +86,21 @@ task dft gw Job information --------------- - hostname = dmejiar-VirtualBox - program = nwchem - date = Fri Feb 4 10:51:34 2022 + hostname = mica + program = /data/edo/nwchem/nwchem_bse-pull//bin/LINUX64/nwchem + date = Thu Oct 16 12:25:05 2025 - compiled = Fri_Feb_04_04:17:52_2022 - source = /home/dmejiar/Software/nwchem_gfortran_gw - nwchem branch = 7.0.0 - nwchem revision = nwchem_on_git-3497-g0c7e480c37 - ga revision = 5.8.1 + compiled = Thu_Oct_16_12:11:32_2025 + source = /data/edo/nwchem/nwchem_bse-pull/ + nwchem branch = 7.3.0 + nwchem revision = v7.2.0-beta1-1593-g3a8d752956 + ga revision = 5.9.2 use scalapack = T - input = gw_openshell.nw + input = /data/edo/nwchem/nwchem_bse-pull//QA/tests/gw_openshell/gw_openshell.nw prefix = gw_openshell. data base = ./gw_openshell.db status = startup - nproc = 2 + nproc = 1 time left = -1s @@ -124,10 +108,10 @@ task dft gw Memory information ------------------ - heap = 65535996 doubles = 500.0 Mbytes - stack = 65536001 doubles = 500.0 Mbytes - global = 131072000 doubles = 1000.0 Mbytes (distinct from heap & stack) - total = 262143997 doubles = 2000.0 Mbytes + heap = 65535996 doubles = 500.0 Mbytes + stack = 65536001 doubles = 500.0 Mbytes + global = 131072000 doubles = 1000.0 Mbytes (distinct from heap & stack) + total = 262143997 doubles = 2000.0 Mbytes verify = yes hardfail = no @@ -251,9 +235,6 @@ task dft gw - library name resolved from: environment - library file name is: - Summary of "ao basis" -> "" (spherical) @@ -263,9 +244,6 @@ task dft gw * cc-pvdz on all atoms - library name resolved from: environment - library file name is: - Summary of "cd basis" -> "" (spherical) @@ -276,8 +254,8 @@ task dft gw - NWChem GW@DFT Module - -------------------- + NWChem GW Module + ---------------- GW Trifluoroacetamide @@ -603,8 +581,9 @@ task dft gw XC Information -------------- - PBE96 Method XC Functional - PerdewBurkeErnzerhof Exchange Functional 1.000 + PBE0 Method XC Functional + Hartree-Fock (Exact) Exchange 0.250 + PerdewBurkeErnzerhof Exchange Functional 0.750 Perdew 1991 LDA Correlation Functional 1.000 local PerdewBurkeErnz. Correlation Functional 1.000 non-local @@ -644,7 +623,7 @@ task dft gw AO Gaussian exp screening on grid/accAOfunc: 18 CD Gaussian exp screening on grid/accCDfunc: 20 XC Gaussian exp screening on grid/accXCfunc: 20 - Schwarz screening/accCoul: 1.00D-14 + Schwarz screening/accCoul: 1.00D-12 Superposition of Atomic Density Guess @@ -661,21 +640,21 @@ task dft gw HOMO = -0.154097 LUMO = 0.070838 - Time after variat. SCF: 0.6 + Time after variat. SCF: 0.7 3 Center 2 Electron Integral Information ---------------------------------------- Maximum number of 3-center 2e- integrals is: 529984. This is reduced with Schwarz screening to: 367500. - Incore requires a per proc buffer size of: 175029. + Incore requires a per proc buffer size of: 327517. Minimum dble words available (all nodes) is: 131065476 - This is reduced (for later use) to: 130813264 - proc 0 Suggested buffer size is: 175029 - Max Suggested buffer size is: 175029 + This is reduced (for later use) to: 130794336 + proc 0 Suggested buffer size is: 327517 + Max Suggested buffer size is: 327517 no. integral batches is: 1000 Incore memory use for 3-center 2e- integrals is turned off. - Time prior to 1st pass: 0.6 + Time prior to 1st pass: 0.7 Memory utilization after 1st SCF pass: Heap Space remaining (MW): 65.53 65530108 @@ -683,42 +662,42 @@ task dft gw convergence iter energy DeltaE RMS-Dens Diis-err time ---------------- ----- ----------------- --------- --------- --------- ------ - d= 0,ls=0.0,diis 1 -168.9561121185 -2.32D+02 2.05D-02 2.18D-01 1.5 - 1.84D-02 2.17D-01 - d= 0,ls=0.0,diis 2 -167.9504224824 1.01D+00 1.76D-02 2.63D+00 2.5 - 1.47D-02 2.33D+00 - d= 0,ls=0.0,diis 3 -169.0537934402 -1.10D+00 3.84D-03 2.91D-02 3.3 - 2.75D-03 2.86D-02 - d= 0,ls=0.0,diis 4 -169.0564442937 -2.65D-03 2.06D-03 2.17D-02 4.1 - 1.46D-03 2.00D-02 - d= 0,ls=0.0,diis 5 -169.0660484759 -9.60D-03 2.88D-04 5.93D-04 4.8 - 2.45D-04 5.80D-04 + d= 0,ls=0.0,diis 1 -168.9657539780 -2.32D+02 1.39D-02 1.93D-01 1.6 + 1.31D-02 1.92D-01 + d= 0,ls=0.0,diis 2 -168.6178261291 3.48D-01 1.00D-02 1.13D+00 2.5 + 9.06D-03 1.06D+00 + d= 0,ls=0.0,diis 3 -169.0613313213 -4.44D-01 1.36D-03 7.44D-03 3.5 + 1.32D-03 8.46D-03 + d= 0,ls=0.0,diis 4 -169.0630054782 -1.67D-03 9.29D-04 4.19D-03 4.5 + 5.76D-04 3.46D-03 + d= 0,ls=0.0,diis 5 -169.0646959497 -1.69D-03 1.55D-04 1.38D-04 5.5 + 1.31D-04 1.63D-04 Resetting Diis - d= 0,ls=0.0,diis 6 -169.0663002306 -2.52D-04 1.01D-04 2.23D-05 5.6 - 6.70D-05 2.22D-05 - d= 0,ls=0.0,diis 7 -169.0663113153 -1.11D-05 8.27D-05 2.77D-06 6.5 - 5.41D-05 1.73D-06 - d= 0,ls=0.0,diis 8 -169.0663035508 7.76D-06 4.90D-05 2.02D-05 7.2 - 4.55D-05 2.15D-05 - d= 0,ls=0.0,diis 9 -169.0663123641 -8.81D-06 1.02D-05 3.98D-07 8.1 - 7.29D-06 3.32D-07 - d= 0,ls=0.0,diis 10 -169.0663125308 -1.67D-07 2.91D-06 3.07D-08 8.9 - 2.57D-06 3.01D-08 - d= 0,ls=0.0,diis 11 -169.0663125423 -1.15D-08 1.15D-06 1.20D-08 9.6 - 1.36D-06 1.15D-08 - d= 0,ls=0.0,diis 12 -169.0663125471 -4.87D-09 6.52D-07 1.79D-09 10.4 - 2.64D-07 1.06D-09 + d= 0,ls=0.0,diis 6 -169.0647672024 -7.13D-05 4.96D-05 7.61D-06 6.5 + 5.91D-05 7.90D-06 + d= 0,ls=0.0,diis 7 -169.0647730165 -5.81D-06 5.03D-05 2.16D-06 7.5 + 1.81D-05 8.25D-07 + d= 0,ls=0.0,diis 8 -169.0647729683 4.81D-08 1.78D-05 2.36D-06 8.4 + 2.14D-05 3.64D-06 + d= 0,ls=0.0,diis 9 -169.0647741451 -1.18D-06 9.22D-06 5.57D-07 9.4 + 4.55D-06 2.30D-07 + d= 0,ls=0.0,diis 10 -169.0647743526 -2.08D-07 9.00D-06 4.08D-08 10.4 + 8.19D-06 2.42D-08 + d= 0,ls=0.0,diis 11 -169.0647744288 -7.62D-08 2.13D-06 7.37D-09 11.4 + 1.35D-06 1.44D-09 + d= 0,ls=0.0,diis 12 -169.0647744339 -5.12D-09 7.95D-07 7.61D-10 12.4 + 6.20D-07 8.83D-10 - Total DFT energy = -169.066312547124 - One electron energy = -355.393819271438 - Coulomb energy = 144.424914623888 - Exchange-Corr. energy = -21.405786398232 + Total DFT energy = -169.064774433938 + One electron energy = -355.358774140560 + Coulomb energy = 144.394070505297 + Exchange-Corr. energy = -21.408449297333 Nuclear repulsion energy = 63.308378498658 - Numeric. integr. density = 22.999999954116 + Numeric. integr. density = 22.999999950854 - Total iterative time = 9.8s + Total iterative time = 11.7s @@ -728,27 +707,27 @@ task dft gw alpha 1 2 3 4 5 6 7 8 9 10 beta 1 2 3 4 5 6 7 8 9 10 - overlap 1.000 1.000 1.000 1.000 1.000 0.996 0.996 0.990 1.000 0.985 + overlap 1.000 1.000 1.000 1.000 0.999 0.993 0.991 0.974 1.000 0.968 alpha 11 12 13 14 15 16 17 18 19 20 beta 11 12 13 14 15 16 17 18 19 20 - overlap 1.000 0.993 0.999 0.994 0.995 0.999 0.999 0.952 1.000 0.945 + overlap 1.000 0.985 0.999 0.987 0.993 0.998 0.997 0.946 1.000 0.920 alpha 21 22 23 24 25 26 27 28 29 30 - beta 21 22 23 24 25 26 27 28 29 30 - overlap 0.958 0.999 0.998 1.000 0.998 0.999 0.998 0.996 0.997 0.980 + beta 21 22 23 24 25 26 27 28 30 29 + overlap 0.928 0.997 0.998 1.000 0.997 0.999 0.996 0.993 0.996 0.977 alpha 31 32 33 34 35 36 37 38 39 40 beta 31 32 33 34 35 36 37 38 39 40 - overlap 0.985 0.996 0.991 0.992 0.999 1.000 0.997 0.994 0.997 0.999 + overlap 0.983 0.995 0.992 0.993 0.999 1.000 0.986 0.979 0.993 1.000 alpha 41 42 43 44 45 46 47 48 49 50 beta 41 42 43 44 45 46 47 48 49 50 - overlap 0.999 0.996 0.994 0.999 0.998 0.998 1.000 0.999 0.999 1.000 + overlap 0.999 0.999 0.992 0.994 0.998 0.997 1.000 0.998 0.999 1.000 alpha 51 52 @@ -758,7 +737,7 @@ task dft gw -------------------------- Expectation value of S2: -------------------------- - = 0.7519 (Exact = 0.7500) + = 0.7537 (Exact = 0.7500) center of mass @@ -778,21 +757,21 @@ task dft gw - - - - ----- ----- ---- ------- 0 0 0 0 -0.000000 -12.000000 -11.000000 23.000000 - 1 1 0 0 0.238427 0.541429 -0.303002 0.000000 - 1 0 1 0 -1.321737 -0.969708 -0.352030 0.000000 - 1 0 0 1 0.000663 -0.000054 0.000717 0.000000 + 1 1 0 0 0.206401 0.547712 -0.341311 0.000000 + 1 0 1 0 -1.390130 -1.013204 -0.376927 0.000000 + 1 0 0 1 0.000816 0.000001 0.000815 0.000000 - 2 2 0 0 -11.884337 -13.068472 -9.699498 10.883633 - 2 1 1 0 -0.250985 0.506239 0.213062 -0.970286 - 2 1 0 1 0.006019 -0.000243 -0.000755 0.007017 - 2 0 2 0 -11.275818 -52.448505 -49.703057 90.875744 - 2 0 1 1 0.001863 0.000480 -0.000509 0.001891 - 2 0 0 2 -13.100006 -6.900236 -6.199822 0.000052 + 2 2 0 0 -11.728128 -12.959803 -9.651957 10.883633 + 2 1 1 0 -0.304140 0.447969 0.218176 -0.970286 + 2 1 0 1 0.006364 0.000093 -0.000746 0.007017 + 2 0 2 0 -11.396501 -52.445939 -49.826305 90.875744 + 2 0 1 1 0.001878 0.000424 -0.000437 0.001891 + 2 0 0 2 -13.115703 -6.888717 -6.227038 0.000052 - *********************** - *** GW@DFT *** - *********************** + *********************** + *** GW *** + *********************** Memory Information @@ -802,15 +781,15 @@ task dft gw Available heap per process is 500.0 MBs Peak memory in Initialization - Peak GA per process is 1.4 MBs + Peak GA per process is 2.7 MBs Peak stack per process is 0.0 MBs - Peak heap per process is 1.6 MBs + Peak heap per process is 2.9 MBs Memory not in MA per process 0.0 MBs Peak memory in CDGW Calculation - Peak GA per process is 1.7 MBs + Peak GA per process is 3.4 MBs Peak stack per process is 0.6 MBs - Peak heap per process is 1.5 MBs + Peak heap per process is 1.9 MBs Memory not in MA per process 0.0 MBs Computing 2-center integrals @@ -824,323 +803,48 @@ task dft gw Alpha Orbitals State Energy (eV) Error (eV) ----------------------------------- -@GW 8 -13.232 0.003 -@GW 9 -12.555 0.001 -@GW 10 -12.357 0.000 -@GW 11 -9.991 0.000 -@GW 12 -7.779 0.001 -@GW 13 3.732 0.000 -@GW 14 3.851 0.001 -@GW 15 5.314 0.000 -@GW 16 9.836 0.001 -@GW 17 11.891 0.000 +@GW 8 -14.622 0.000 +@GW 9 -13.641 0.004 +@GW 10 -12.648 0.005 +@GW 11 -10.354 0.002 +@GW 12 -8.453 0.002 +@GW 13 3.960 0.003 +@GW 14 3.965 0.005 +@GW 15 5.443 0.002 +@GW 16 10.094 0.004 +@GW 17 12.237 0.004 Beta Orbitals State Energy (eV) Error (eV) ----------------------------------- -@GW 7 -15.994 0.001 -@GW 8 -14.090 0.000 -@GW 9 -12.312 0.000 -@GW 10 -11.111 0.000 -@GW 11 -9.813 0.000 -@GW 12 0.782 0.000 -@GW 13 3.891 0.001 -@GW 14 3.844 0.000 -@GW 15 5.494 0.001 -@GW 16 9.576 0.001 +@GW 7 -17.756 0.002 +@GW 8 -14.841 0.005 +@GW 9 -13.401 0.002 +@GW 10 -11.674 0.002 +@GW 11 -10.239 0.002 +@GW 12 1.142 0.002 +@GW 13 4.416 0.002 +@GW 14 4.181 0.005 +@GW 15 5.574 0.003 +@GW 16 10.343 0.017 * + + * Result did not converge + GW Timing Statistics ------------------------ - Init. : 0.1s - ERIs : 0.2s + Init. : 0.0s + ERIs : 0.1s Distr.: 0.0s - Vxc : 0.7s + Vxc : 0.8s Vmo : 0.0s - iW : 0.7s + iW : 0.5s I_n : 0.0s R_n : 0.3s - GW total: 2.0s + GW total: 1.8s - Task times cpu: 12.2s wall: 12.3s - - - NWChem Input Module - ------------------- - - - - NWChem GW@DFT Module - -------------------- - - - GW Trifluoroacetamide - - - - NWChem DFT Module - ----------------- - - - GW Trifluoroacetamide - - - - - Summary of "ao basis" -> "ao basis" (spherical) - ------------------------------------------------------------------------------ - Tag Description Shells Functions and Types - ---------------- ------------------------------ ------ --------------------- - O cc-pvdz 6 14 3s2p1d - N cc-pvdz 6 14 3s2p1d - C cc-pvdz 6 14 3s2p1d - H cc-pvdz 3 5 2s1p - - - Caching 1-el integrals - - General Information - ------------------- - SCF calculation type: DFT - Wavefunction type: spin polarized. - No. of atoms : 5 - No. of electrons : 23 - Alpha electrons : 12 - Beta electrons : 11 - Charge : 0 - Spin multiplicity: 2 - Use of symmetry is: off; symmetry adaption is: off - Maximum number of iterations: 50 - This is a Direct SCF calculation. - AO basis - number of functions: 52 - number of shells: 24 - A Charge density fitting basis will be used. - CD basis - number of functions: 196 - number of shells: 66 - Convergence on energy requested: 1.00D-08 - Convergence on density requested: 1.00D-05 - Convergence on gradient requested: 5.00D-04 - - XC Information - -------------- - PBE96 Method XC Functional - PerdewBurkeErnzerhof Exchange Functional 1.000 - Perdew 1991 LDA Correlation Functional 1.000 local - PerdewBurkeErnz. Correlation Functional 1.000 non-local - - Grid Information - ---------------- - Grid used for XC integration: fine - Radial quadrature: Mura-Knowles - Angular quadrature: Lebedev. - Tag B.-S. Rad. Rad. Pts. Rad. Cut. Ang. Pts. - --- ---------- --------- --------- --------- - O 0.60 70 10.0 590 - N 0.65 70 7.0 590 - C 0.70 70 8.0 590 - H 0.35 60 8.0 590 - Grid pruning is: on - Number of quadrature shells: 330 - Spatial weights used: Erf1 - - Convergence Information - ----------------------- - Convergence aids based upon iterative change in - total energy or number of iterations. - Levelshifting, if invoked, occurs when the - HOMO/LUMO gap drops below (HL_TOL): 1.00D-02 - DIIS, if invoked, will attempt to extrapolate - using up to (NFOCK): 10 stored Fock matrices. - - Damping( 0%) Levelshifting(0.5) DIIS - --------------- ------------------- --------------- - dE on: start ASAP start - dE off: 2 iters 50 iters 50 iters - - - Screening Tolerance Information - ------------------------------- - Density screening/tol_rho: 1.00D-11 - AO Gaussian exp screening on grid/accAOfunc: 18 - CD Gaussian exp screening on grid/accCDfunc: 20 - XC Gaussian exp screening on grid/accXCfunc: 20 - Schwarz screening/accCoul: 1.00D-14 - - - Loading old vectors from job with title : - -GW Trifluoroacetamide - - Time after variat. SCF: 12.5 - - 3 Center 2 Electron Integral Information - ---------------------------------------- - Maximum number of 3-center 2e- integrals is: 529984. - This is reduced with Schwarz screening to: 367500. - Incore requires a per proc buffer size of: 175029. - Minimum dble words available (all nodes) is: 131065476 - This is reduced (for later use) to: 130683464 - proc 0 Suggested buffer size is: 175029 - Max Suggested buffer size is: 175029 - no. integral batches is: 1000 - - Incore memory use for 3-center 2e- integrals is turned off. - Time prior to 1st pass: 12.5 - - - Total DFT energy = -169.066312547888 - One electron energy = -355.393692322893 - Coulomb energy = 144.424774055736 - Exchange-Corr. energy = -21.405772779389 - Nuclear repulsion energy = 63.308378498658 - - Numeric. integr. density = 22.999999954126 - - Total iterative time = 0.9s - - - - alpha - beta orbital overlaps - ----------------------------- - - - alpha 1 2 3 4 5 6 7 8 9 10 - beta 1 2 3 4 5 6 7 8 9 10 - overlap 1.000 1.000 1.000 1.000 1.000 0.996 0.996 0.990 1.000 0.985 - - - alpha 11 12 13 14 15 16 17 18 19 20 - beta 11 12 13 14 15 16 17 18 19 20 - overlap 1.000 0.993 0.999 0.994 0.995 0.999 0.999 0.952 1.000 0.945 - - - alpha 21 22 23 24 25 26 27 28 29 30 - beta 21 22 23 24 25 26 27 28 29 30 - overlap 0.958 0.999 0.998 1.000 0.998 0.999 0.998 0.996 0.997 0.980 - - - alpha 31 32 33 34 35 36 37 38 39 40 - beta 31 32 33 34 35 36 37 38 39 40 - overlap 0.985 0.996 0.991 0.992 0.999 1.000 0.997 0.994 0.997 0.999 - - - alpha 41 42 43 44 45 46 47 48 49 50 - beta 41 42 43 44 45 46 47 48 49 50 - overlap 0.999 0.996 0.994 0.999 0.998 0.998 1.000 0.999 0.999 1.000 - - - alpha 51 52 - beta 51 52 - overlap 0.999 0.999 - - -------------------------- - Expectation value of S2: - -------------------------- - = 0.7519 (Exact = 0.7500) - - - center of mass - -------------- - x = -0.02948626 y = 0.13290476 z = -0.00001949 - - moments of inertia (a.u.) - ------------------ - 162.621484064576 0.000000000000 -0.000000000000 - 0.000000000000 16.578708728791 -0.000000000000 - -0.000000000000 -0.000000000000 179.200070028499 - - Multipole analysis of the density - --------------------------------- - - L x y z total alpha beta nuclear - - - - - ----- ----- ---- ------- - 0 0 0 0 -0.000000 -12.000000 -11.000000 23.000000 - - 1 1 0 0 0.238427 0.541429 -0.303002 0.000000 - 1 0 1 0 -1.321737 -0.969708 -0.352030 0.000000 - 1 0 0 1 0.000663 -0.000054 0.000717 0.000000 - - 2 2 0 0 -11.884337 -13.068472 -9.699498 10.883633 - 2 1 1 0 -0.250985 0.506239 0.213062 -0.970286 - 2 1 0 1 0.006019 -0.000243 -0.000755 0.007017 - 2 0 2 0 -11.275818 -52.448505 -49.703057 90.875744 - 2 0 1 1 0.001863 0.000480 -0.000509 0.001891 - 2 0 0 2 -13.100006 -6.900236 -6.199822 0.000052 - - - *********************** - *** GW@DFT *** - *********************** - - - Memory Information - ------------------ - Available GA per process is 1000.0 MBs - Available stack per process is 500.0 MBs - Available heap per process is 500.0 MBs - - Peak memory in Initialization - Peak GA per process is 1.4 MBs - Peak stack per process is 0.0 MBs - Peak heap per process is 1.6 MBs - Memory not in MA per process 0.0 MBs - - Peak memory in AFF Calculation - Peak GA per process is 5.2 MBs - Peak stack per process is 6.6 MBs - Peak heap per process is 0.0 MBs - Memory not in MA per process 6.6 MBs - - Computing 2-center integrals - Computing Inverse Cholesky factor - Computing 3-center integrals - Computing V_xc ... - Computing Sigma_x - Computing RPA polarizability - Solving quasiparticle equations - - Alpha Orbitals - State Energy (eV) Error (eV) - ----------------------------------- -@GW 8 -13.237 0.001 -@GW 9 -12.542 0.000 -@GW 10 -12.360 0.000 -@GW 11 -9.991 0.000 -@GW 12 -7.780 0.001 -@GW 13 3.732 0.000 -@GW 14 3.851 0.000 -@GW 15 5.314 0.000 -@GW 16 9.843 0.001 -@GW 17 11.907 0.000 - - Beta Orbitals - State Energy (eV) Error (eV) - ----------------------------------- -@GW 7 -16.569 0.000 -@GW 8 -14.089 0.000 -@GW 9 -12.853 0.000 -@GW 10 -11.113 0.000 -@GW 11 -9.813 0.000 -@GW 12 0.782 0.000 -@GW 13 4.374 0.000 -@GW 14 4.112 0.000 -@GW 15 5.494 0.000 -@GW 16 10.421 0.000 - - GW Timing Statistics - ------------------------ - Init. : 0.1s - ERIs : 0.2s - Distr.: 0.0s - Vxc : 0.7s - Sigma_x : 0.0s - RPA : 0.3s - Wmn : 0.0s - Sigma_c : 0.0s - GW total: 1.3s - - - Task times cpu: 2.3s wall: 2.3s + Task times cpu: 13.8s wall: 13.8s NWChem Input Module @@ -1160,11 +864,11 @@ MA usage statistics: heap stack ---- ----- current number of blocks 0 0 - maximum number of blocks 28 58 + maximum number of blocks 28 57 current total bytes 0 0 - maximum total bytes 21812064 30217960 - maximum total K-bytes 21813 30218 - maximum total M-bytes 22 31 + maximum total bytes 23306336 30269032 + maximum total K-bytes 23307 30270 + maximum total M-bytes 24 31 CITATION @@ -1200,24 +904,25 @@ MA usage statistics: AUTHORS ------- - E. Apra, E. J. Bylaska, N. Govind, K. Kowalski, M. Valiev, W. A. de Jong, - T. P. Straatsma, H. J. J. van Dam, D. Wang, T. L. Windus, N. P. Bauman, - A. Panyala, J. Hammond, J. Autschbach, K. Bhaskaran-Nair, J. Brabec, - K. Lopata, S. A. Fischer, S. Krishnamoorthy, M. Jacquelin, W. Ma, M. Klemm, - O. Villa, Y. Chen, V. Anisimov, F. Aquino, S. Hirata, M. T. Hackler, - Eric Hermes, L. Jensen, J. E. Moore, J. C. Becca, V. Konjkov, - D. Mejia-Rodriguez, T. Risthaus, M. Malagoli, A. Marenich, - A. Otero-de-la-Roza, J. Mullin, P. Nichols, R. Peverati, J. Pittner, Y. Zhao, - P.-D. Fan, A. Fonari, M. J. Williamson, R. J. Harrison, J. R. Rehr, - M. Dupuis, D. Silverstein, D. M. A. Smith, J. Nieplocha, V. Tipparaju, - M. Krishnan, B. E. Van Kuiken, A. Vazquez-Mayagoitia, M. Swart, Q. Wu, - T. Van Voorhis, A. A. Auer, M. Nooijen, L. D. Crosby, E. Brown, G. Cisneros, - G. I. Fann, H. Fruchtl, J. Garza, K. Hirao, R. A. Kendall, J. A. Nichols, - K. Tsemekhman, K. Wolinski, J. Anchell, D. E. Bernholdt, P. Borowski, - T. Clark, D. Clerc, H. Dachsel, M. J. O. Deegan, K. Dyall, D. Elwood, - E. Glendening, M. Gutowski, A. C. Hess, J. Jaffe, B. G. Johnson, J. Ju, - R. Kobayashi, R. Kutteh, Z. Lin, R. Littlefield, X. Long, B. Meng, - T. Nakajima, S. Niu, L. Pollack, M. Rosing, K. Glaesemann, G. Sandrone, - M. Stave, H. Taylor, G. Thomas, J. H. van Lenthe, A. T. Wong, Z. Zhang. + E. Apra, E. J. Bylaska, N. Govind, K. Kowalski, D. Mejia-Rodriguez, + N. P. Bauman, A. Panyala, R. J. Harrison, M. Valiev, W. A. de Jong, + T. P. Straatsma, H. J. J. van Dam, D. Wang, T. L. Windus, J. Hammond, + J. Autschbach, R. de P. Soares, A. Kunitsa, K. Bhaskaran-Nair, J. Brabec, + K. Lopata, S. A. Fischer, S. Krishnamoorthy, M. Jacquelin, A. Woods, W. Ma, + M. Klemm, O. Villa, Y. Chen, V. Anisimov, F. Aquino, S. Hirata, + M. T. Hackler, E. Hermes, L. Jensen, J. E. Moore, J. C. Becca, V. Konjkov, + T. Risthaus, M. Malagoli, A. Marenich, A. Otero-de-la-Roza, J. Mullin, + P. Nichols, R. Peverati, J. Pittner, Y. Zhao, P.-D. Fan, A. Fonari, + M. J. Williamson, J. R. Rehr, M. Dupuis, D. Silverstein, D. M. A. Smith, + J. Nieplocha, V. Tipparaju, M. Krishnan, B. E. Van Kuiken, + A. Vazquez-Mayagoitia, M. Swart, Q. Wu, T. Van Voorhis, A. A. Auer, + M. Nooijen, L. D. Crosby, E. Brown, G. Cisneros, G. I. Fann, H. Fruchtl, + J. Garza, K. Hirao, R. A. Kendall, J. A. Nichols, K. Tsemekhman, K. Wolinski, + J. Anchell, D. E. Bernholdt, P. Borowski, T. Clark, D. Clerc, H. Dachsel, + M. J. O. Deegan, K. Dyall, D. Elwood, E. Glendening, M. Gutowski, A. C. Hess, + J. Jaffe, B. G. Johnson, J. Ju, R. Kobayashi, R. Kutteh, Z. Lin, + R. Littlefield, X. Long, B. Meng, T. Nakajima, S. Niu, L. Pollack, M. Rosing, + K. Glaesemann, G. Sandrone, M. Stave, H. Taylor, G. Thomas, J. H. van Lenthe, + A. T. Wong, Z. Zhang. - Total times cpu: 14.5s wall: 14.7s + Total times cpu: 14.2s wall: 14.2s diff --git a/QA/tests/gw_symmetry/gw_symmetry.out b/QA/tests/gw_symmetry/gw_symmetry.out index edeccd0dc5..448fea37ab 100644 --- a/QA/tests/gw_symmetry/gw_symmetry.out +++ b/QA/tests/gw_symmetry/gw_symmetry.out @@ -1,5 +1,5 @@ - argument 1 = gw_symmetry.nw - NWChem w/ OpenMP: maximum threads = 8 + argument 1 = /people/meji656/calculations/bse/QA/gw_symmetry.nw + NWChem w/ OpenMP: maximum threads = 1 @@ -53,7 +53,7 @@ task dft gw - Northwest Computational Chemistry Package (NWChem) 7.2.0 + Northwest Computational Chemistry Package (NWChem) 7.3.0 -------------------------------------------------------- @@ -61,7 +61,7 @@ task dft gw Pacific Northwest National Laboratory Richland, WA 99352 - Copyright (c) 1994-2022 + Copyright (c) 1994-2025 Pacific Northwest National Laboratory Battelle Memorial Institute @@ -86,21 +86,21 @@ task dft gw Job information --------------- - hostname = WE41476 - program = nwchem - date = Wed Jul 12 13:50:26 2023 + hostname = dc005 + program = /qfs/people/meji656/software/nwchem.bse/bin/LINUX64/nwchem + date = Thu Oct 16 10:35:32 2025 - compiled = Wed_Jul_12_13:50:03_2023 - source = /Users/meji656/Sources/nwchem_bse - nwchem branch = 7.2.0 - nwchem revision = nwchem_on_git-4850-g011c901253 - ga revision = 5.8.0 - use scalapack = T - input = gw_symmetry.nw + compiled = Thu_Oct_16_10:07:15_2025 + source = /qfs/people/meji656/software/nwchem.bse + nwchem branch = 7.3.0 + nwchem revision = v7.2.0-beta1-1624-g0dc011d0a0 + ga revision = 5.9.2 + use scalapack = F + input = /people/meji656/calculations/bse/QA/gw_symmetry.nw prefix = gw_symmetry. data base = ./gw_symmetry.db status = startup - nproc = 1 + nproc = 7 time left = -1s @@ -108,10 +108,10 @@ task dft gw Memory information ------------------ - heap = 65535996 doubles = 500.0 Mbytes - stack = 65536001 doubles = 500.0 Mbytes - global = 131072000 doubles = 1000.0 Mbytes (distinct from heap & stack) - total = 262143997 doubles = 2000.0 Mbytes + heap = 65535998 doubles = 500.0 Mbytes + stack = 65535995 doubles = 500.0 Mbytes + global = 131072000 doubles = 1000.0 Mbytes (distinct from heap & stack) + total = 262143993 doubles = 2000.0 Mbytes verify = yes hardfail = no @@ -462,33 +462,32 @@ task dft gw 6 a1 7 t2 8 t2 9 t2 10 t2 11 t2 12 t2 13 a1 14 t2 15 t2 - WARNING: movecs_in_org=atomic not equal to movecs_in=./gw_symmetry.movecs - Time after variat. SCF: 0.3 - Time prior to 1st pass: 0.3 + Time after variat. SCF: 0.4 + Time prior to 1st pass: 0.4 Memory utilization after 1st SCF pass: - Heap Space remaining (MW): 65.53 65532636 - Stack Space remaining (MW): 65.54 65535396 + Heap Space remaining (MW): 65.53 65532638 + Stack Space remaining (MW): 65.54 65535388 convergence iter energy DeltaE RMS-Dens Diis-err time ---------------- ----- ----------------- --------- --------- --------- ------ - d= 0,ls=0.0,diis 1 -40.4526766257 -5.40D+01 2.73D-03 1.58D-01 0.6 - d= 0,ls=0.0,diis 2 -40.4605212533 -7.84D-03 1.18D-03 2.13D-02 0.8 - d= 0,ls=0.0,diis 3 -40.4604458885 7.54D-05 6.05D-04 2.16D-02 1.1 - d= 0,ls=0.0,diis 4 -40.4630635417 -2.62D-03 2.24D-05 6.66D-06 1.3 - d= 0,ls=0.0,diis 5 -40.4630646869 -1.15D-06 2.13D-06 1.39D-07 1.6 - d= 0,ls=0.0,diis 6 -40.4630647071 -2.03D-08 7.01D-08 1.45D-10 1.9 + d= 0,ls=0.0,diis 1 -40.4526766257 -5.40D+01 2.73D-03 1.58D-01 0.5 + d= 0,ls=0.0,diis 2 -40.4605212533 -7.84D-03 1.18D-03 2.13D-02 0.5 + d= 0,ls=0.0,diis 3 -40.4604458885 7.54D-05 6.05D-04 2.16D-02 0.6 + d= 0,ls=0.0,diis 4 -40.4630635417 -2.62D-03 2.24D-05 6.66D-06 0.6 + d= 0,ls=0.0,diis 5 -40.4630646869 -1.15D-06 2.13D-06 1.39D-07 0.7 + d= 0,ls=0.0,diis 6 -40.4630647071 -2.03D-08 7.01D-08 1.45D-10 0.7 - Total DFT energy = -40.463064707119 - One electron energy = -79.987919842739 - Coulomb energy = 32.854590174254 + Total DFT energy = -40.463064707118 + One electron energy = -79.987919842738 + Coulomb energy = 32.854590174255 Exchange-Corr. energy = -6.837400210970 Nuclear repulsion energy = 13.507665172336 Numeric. integr. density = 10.000008758007 - Total iterative time = 1.5s + Total iterative time = 0.3s @@ -523,11 +522,11 @@ task dft gw 1 1 0 0 -0.000000 -0.000000 -0.000000 0.000000 1 0 1 0 0.000000 0.000000 0.000000 0.000000 - 1 0 0 1 -0.000000 -0.000000 -0.000000 0.000000 + 1 0 0 1 0.000000 0.000000 0.000000 0.000000 2 2 0 0 -6.283208 -5.939937 -5.939937 5.596666 - 2 1 1 0 0.000000 0.000000 0.000000 0.000000 - 2 1 0 1 0.000000 0.000000 0.000000 0.000000 + 2 1 1 0 -0.000000 -0.000000 -0.000000 0.000000 + 2 1 0 1 -0.000000 -0.000000 -0.000000 0.000000 2 0 2 0 -6.283208 -5.939937 -5.939937 5.596666 2 0 1 1 -0.000000 -0.000000 -0.000000 0.000000 2 0 0 2 -6.283208 -5.939937 -5.939937 5.596666 @@ -626,18 +625,18 @@ task dft gw Memory Information ------------------ - Available GA per process is 999.9 MBs + Available GA per process is 1000.0 MBs Available stack per process is 500.0 MBs Available heap per process is 499.9 MBs Peak memory in Initialization - Peak GA per process is 1.1 MBs + Peak GA per process is 0.2 MBs Peak stack per process is 0.1 MBs - Peak heap per process is 1.2 MBs + Peak heap per process is 0.5 MBs Memory not in MA per process 0.0 MBs Peak memory in AFF Calculation - Peak GA per process is 2.5 MBs + Peak GA per process is 0.4 MBs Peak stack per process is 1.3 MBs Peak heap per process is 0.0 MBs Memory not in MA per process 1.3 MBs @@ -657,25 +656,25 @@ task dft gw Alpha Orbitals State Energy (eV) Error (eV) ----------------------------------- -@GW 5 -13.866 0.000 +@GW 5 -13.864 0.003 - Applying -4.4168 eV scissor-shift to rest of particle states + Applying -4.4144 eV scissor-shift to rest of particle states GW Timing Statistics ------------------------ Init. : 0.1s - ERIs : 0.3s + ERIs : 0.1s Distr.: 0.0s - Vxc : 0.2s + Vxc : 0.0s Sigma_x : 0.0s RPA : 0.0s Wmn : 0.0s Sigma_c : 0.0s - GW total: 0.5s + GW total: 0.2s - Task times cpu: 2.4s wall: 2.4s + Task times cpu: 0.6s wall: 0.6s NWChem Input Module @@ -784,7 +783,7 @@ task dft gw Loading old vectors from job with title : -GW Methane Td +W vals Symmetry analysis of molecular orbitals - initial @@ -800,28 +799,28 @@ GW Methane Td 6 a1 7 t2 8 t2 9 t2 10 t2 11 t2 12 t2 13 t2 14 t2 15 t2 - Time after variat. SCF: 2.5 - Time prior to 1st pass: 2.5 + Time after variat. SCF: 0.9 + Time prior to 1st pass: 0.9 Memory utilization after 1st SCF pass: - Heap Space remaining (MW): 65.53 65532636 - Stack Space remaining (MW): 65.54 65535396 + Heap Space remaining (MW): 65.53 65532638 + Stack Space remaining (MW): 65.54 65535388 convergence iter energy DeltaE RMS-Dens Diis-err time ---------------- ----- ----------------- --------- --------- --------- ------ - d= 0,ls=0.0,diis 1 -40.4630647077 -5.40D+01 1.34D-08 1.68D-12 3.5 - d= 0,ls=0.0,diis 2 -40.4630647077 -2.15D-12 7.98D-09 3.73D-12 4.4 + d= 0,ls=0.0,diis 1 -40.4630647076 -5.40D+01 1.34D-08 1.68D-12 1.0 + d= 0,ls=0.0,diis 2 -40.4630647076 2.13D-13 7.98D-09 3.73D-12 1.1 - Total DFT energy = -40.463064707739 - One electron energy = -79.987938823681 - Coulomb energy = 32.854611046058 - Exchange-Corr. energy = -6.837402102452 + Total DFT energy = -40.463064707584 + One electron energy = -79.987938823837 + Coulomb energy = 32.854611046046 + Exchange-Corr. energy = -6.837402102129 Nuclear repulsion energy = 13.507665172336 - Numeric. integr. density = 10.000008760592 + Numeric. integr. density = 10.000008760422 - Total iterative time = 1.9s + Total iterative time = 0.3s @@ -854,15 +853,15 @@ GW Methane Td - - - - ----- ----- ---- ------- 0 0 0 0 -0.000000 -5.000000 -5.000000 10.000000 - 1 1 0 0 -0.000000 -0.000000 -0.000000 0.000000 - 1 0 1 0 -0.000000 -0.000000 -0.000000 0.000000 - 1 0 0 1 -0.000000 -0.000000 -0.000000 0.000000 + 1 1 0 0 0.000000 0.000000 0.000000 0.000000 + 1 0 1 0 0.000000 0.000000 0.000000 0.000000 + 1 0 0 1 0.000000 0.000000 0.000000 0.000000 2 2 0 0 -6.283210 -5.939938 -5.939938 5.596666 - 2 1 1 0 -0.000000 -0.000000 -0.000000 0.000000 - 2 1 0 1 -0.000000 -0.000000 -0.000000 0.000000 + 2 1 1 0 0.000000 0.000000 0.000000 0.000000 + 2 1 0 1 0.000000 0.000000 0.000000 0.000000 2 0 2 0 -6.283210 -5.939938 -5.939938 5.596666 - 2 0 1 1 -0.000000 -0.000000 -0.000000 0.000000 + 2 0 1 1 0.000000 0.000000 0.000000 0.000000 2 0 0 2 -6.283210 -5.939938 -5.939938 5.596666 @@ -873,18 +872,18 @@ GW Methane Td Memory Information ------------------ - Available GA per process is 999.9 MBs + Available GA per process is 1000.0 MBs Available stack per process is 500.0 MBs Available heap per process is 499.9 MBs Peak memory in Initialization - Peak GA per process is 1.1 MBs + Peak GA per process is 0.2 MBs Peak stack per process is 0.1 MBs - Peak heap per process is 1.2 MBs + Peak heap per process is 0.5 MBs Memory not in MA per process 0.0 MBs Peak memory in AFF Calculation - Peak GA per process is 2.5 MBs + Peak GA per process is 0.4 MBs Peak stack per process is 1.3 MBs Peak heap per process is 0.0 MBs Memory not in MA per process 1.3 MBs @@ -904,25 +903,25 @@ GW Methane Td Alpha Orbitals State Energy (eV) Error (eV) ----------------------------------- -@GW 5 -13.866 0.000 +@GW 5 -13.864 0.003 - Applying -4.4168 eV scissor-shift to rest of particle states + Applying -4.4144 eV scissor-shift to rest of particle states GW Timing Statistics ------------------------ Init. : 0.0s - ERIs : 0.2s + ERIs : 0.0s Distr.: 0.0s - Vxc : 0.5s + Vxc : 0.1s Sigma_x : 0.0s RPA : 0.0s Wmn : 0.0s Sigma_c : 0.0s - GW total: 0.8s + GW total: 0.2s - Task times cpu: 2.8s wall: 2.8s + Task times cpu: 0.5s wall: 0.5s NWChem Input Module @@ -944,9 +943,9 @@ MA usage statistics: current number of blocks 0 0 maximum number of blocks 29 62 current total bytes 0 0 - maximum total bytes 32636240 32078504 - maximum total K-bytes 32637 32079 - maximum total M-bytes 33 33 + maximum total bytes 31929024 32078520 + maximum total K-bytes 31930 32079 + maximum total M-bytes 32 33 CITATION @@ -982,24 +981,25 @@ MA usage statistics: AUTHORS ------- - E. Apra, E. J. Bylaska, N. Govind, K. Kowalski, M. Valiev, D. Mejia-Rodriguez, - A. Kunitsa, N. P. Bauman, A. Panyala, W. A. de Jong, T. P. Straatsma, - H. J. J. van Dam, D. Wang, T. L. Windus, J. Hammond, J. Autschbach, A. Woods, - K. Bhaskaran-Nair, J. Brabec, K. Lopata, S. A. Fischer, S. Krishnamoorthy, - M. Jacquelin, W. Ma, M. Klemm, O. Villa, Y. Chen, V. Anisimov, F. Aquino, + E. Apra, E. J. Bylaska, N. Govind, K. Kowalski, D. Mejia-Rodriguez, + N. P. Bauman, A. Panyala, R. J. Harrison, M. Valiev, W. A. de Jong, + T. P. Straatsma, H. J. J. van Dam, D. Wang, T. L. Windus, J. Hammond, + J. Autschbach, R. de P. Soares, A. Kunitsa, K. Bhaskaran-Nair, J. Brabec, + K. Lopata, S. A. Fischer, S. Krishnamoorthy, M. Jacquelin, R. Goswami, + A. Woods, W. Ma, M. Klemm, O. Villa, Y. Chen, V. Anisimov, F. Aquino, S. Hirata, M. T. Hackler, E. Hermes, L. Jensen, J. E. Moore, J. C. Becca, V. Konjkov, T. Risthaus, M. Malagoli, A. Marenich, A. Otero-de-la-Roza, J. Mullin, P. Nichols, R. Peverati, J. Pittner, Y. Zhao, P.-D. Fan, - A. Fonari, M. J. Williamson, R. J. Harrison, J. R. Rehr, M. Dupuis, - D. Silverstein, D. M. A. Smith, J. Nieplocha, V. Tipparaju, M. Krishnan, - B. E. Van Kuiken, A. Vazquez-Mayagoitia, M. Swart, Q. Wu, T. Van Voorhis, - A. A. Auer, M. Nooijen, L. D. Crosby, E. Brown, G. Cisneros, G. I. Fann, - H. Fruchtl, J. Garza, K. Hirao, R. A. Kendall, J. A. Nichols, K. Tsemekhman, - K. Wolinski, J. Anchell, D. E. Bernholdt, P. Borowski, T. Clark, D. Clerc, - H. Dachsel, M. J. O. Deegan, K. Dyall, D. Elwood, E. Glendening, M. Gutowski, - A. C. Hess, J. Jaffe, B. G. Johnson, J. Ju, R. Kobayashi, R. Kutteh, Z. Lin, + A. Fonari, M. J. Williamson, J. R. Rehr, M. Dupuis, D. Silverstein, + D. M. A. Smith, J. Nieplocha, V. Tipparaju, M. Krishnan, B. E. Van Kuiken, + A. Vazquez-Mayagoitia, M. Swart, Q. Wu, T. Van Voorhis, A. A. Auer, + M. Nooijen, L. D. Crosby, E. Brown, G. Cisneros, G. I. Fann, H. Fruchtl, + J. Garza, K. Hirao, R. A. Kendall, J. A. Nichols, K. Tsemekhman, K. Wolinski, + J. Anchell, D. E. Bernholdt, P. Borowski, T. Clark, D. Clerc, H. Dachsel, + M. J. O. Deegan, K. Dyall, D. Elwood, E. Glendening, M. Gutowski, A. C. Hess, + J. Jaffe, B. G. Johnson, J. Ju, R. Kobayashi, R. Kutteh, Z. Lin, R. Littlefield, X. Long, B. Meng, T. Nakajima, S. Niu, L. Pollack, M. Rosing, K. Glaesemann, G. Sandrone, M. Stave, H. Taylor, G. Thomas, J. H. van Lenthe, A. T. Wong, Z. Zhang. - Total times cpu: 5.2s wall: 5.2s + Total times cpu: 1.3s wall: 1.3s diff --git a/src/bsemol/GNUmakefile b/src/bsemol/GNUmakefile new file mode 100644 index 0000000000..d5b88219d5 --- /dev/null +++ b/src/bsemol/GNUmakefile @@ -0,0 +1,44 @@ +OBJ = bsemol.o bse_input.o bse_init.o bse_analytic.o \ + bse_davidson.o bse_lanczos.o bse_defaults.o \ + bse_finalize.o bse_ri_init.o bse_wmn.o \ + bse_analytic_cis.o bse_analytic_tda.o \ + bse_oscstr.o bse_puteris.o bse_get_eia.o \ + bse_davidson_diagonal.o \ + bse_davidson_kvec.o bse_davidson_guess.o \ + bse_davidson_kortho.o bse_davidson_restart.o \ + bse_davidson_newvecs.o bse_davidson_residual.o \ + bse_s2.o + +USES_BLAS = bse_buildw.F bse_ri_init.F bse_wmn.F \ + bse_davidson.F bse_davidson_diagonal.F bse_davidson_kvec.F bse_davidson_kortho.F \ + bse_init.F bse_puteris.F bse_s2.F + +OBJ_OPTIMIZE = bse_buildw.o + +LIBRARY = libbsemol.a + +HEADERS = ../nwdft/include/cdft.fh ../nwdft/grid/cgridfile.fh ../nwdft/include/dft_scaleig.fh + +LIB_DEFINES = +LIB_INCLUDES = -I./ + +include ../config/makefile.h + + +ifeq ($(_USE_SCALAPACK),Y) +_USE_ELPA = $(shell ${GA_PATH}/bin/ga-config --use_elpa| awk ' /1/ {print "Y"}') + +ifeq ($(_USE_ELPA),Y) + LIB_DEFINES += -DUSE_ELPA +endif +#assuming we have GAPZHEEVD +GOTGAPZHEEVD= Y +ifeq ($(GOTGAPZHEEVD),Y) + LIB_DEFINES += -DUSE_GAPZHEEVD +endif +_PDSYEVR = $(shell [ -e ${NWCHEM_TOP}/src/tools/install/lib/libga.a ] && nm ${NWCHEM_TOP}/src/tools/install/lib/libga.a|egrep T |egrep ga_pdsyevr |awk '/ga_pdsyevr/ {print "Y"}') +ifeq ($(_PDSYEVR),Y) + LIB_DEFINES += -DUSE_PDSYEVR +endif +endif +include ../config/makelib.h diff --git a/src/bsemol/bse.fh b/src/bsemol/bse.fh new file mode 100644 index 0000000000..edb9b4af67 --- /dev/null +++ b/src/bsemol/bse.fh @@ -0,0 +1,44 @@ + + double precision, parameter :: ha2ev = 27.211386245988d0 + + type :: bse_params_t + sequence + integer :: rtdb + integer :: me, nprocs, iMaxThreads + integer :: ipol + logical :: main, odft +c + integer :: maxiter, nspace + integer :: natoms + integer :: nmo, nri + integer :: nocc(2),nvir(2),npoles(2),mynpoles(2) + integer :: oolo(2),oohi(2) + integer :: ovlo(2),ovhi(2) + integer :: vvlo(2),vvhi(2) + integer :: llmo(2),nqp(2) + integer :: nroots,nmax + double precision :: tol2e, eta +c + integer :: l_mf_evals, k_mf_evals + integer :: l_gw_evals, k_gw_evals + integer :: l_occ, k_occ + integer :: l_irs(2),k_irs(2) + integer :: l_map,k_map + integer :: nblocks +c + integer :: fd +c + integer :: g_movecs(2), g_moeris, g_sols + integer :: g_erioo(2), g_eriov(2), g_erivv(2), g_erim + integer :: g_wov(2), g_apb, g_dipa(3), g_dipb(3), g_amb + integer :: g_quada(6), g_quadb(6) + integer :: g_dipmaga(3), g_dipmagb(3) + logical :: noio +c + logical :: ncap, davidson, lanczos, analytic, tda + logical :: singlet, triplet, dowindow + double precision :: thresh, fdstep, vxddp(2), vxddm(2) + double precision :: elower, eupper + + end type bse_params_t + diff --git a/src/bsemol/bse_analytic.F b/src/bsemol/bse_analytic.F new file mode 100644 index 0000000000..463c47e0f8 --- /dev/null +++ b/src/bsemol/bse_analytic.F @@ -0,0 +1,82 @@ + subroutine bse_analytic(pars) + + implicit none + +#include "global.fh" +#include "errquit.fh" +#include "mafdecls.fh" +#include "bse.fh" +#include "cdft.fh" + type(bse_params_t) :: pars + character(*), parameter :: pname = 'bse_analytic: ' + + integer lSize,isp + integer l_omega, k_omega + integer l_dia,k_dia + integer lW,kW + integer maxpoles,maxnpoles,totnpoles,nri + + ! synchronize parallel processes + call ga_sync + + !initialize useful variables + nri = pars%nri + maxpoles = maxval(pars%mynpoles(1:pars%ipol)) + maxnpoles = maxval(pars%npoles(1:pars%ipol)) + totnpoles = maxnpoles*pars%ipol + + ! allocation + if(.not.ma_push_get(mt_dbl,totnpoles,'omega',l_omega,k_omega)) + & call errquit(pname//'failed to allocate omega',0,MA_ERR) + if(.not.ma_push_get(mt_dbl,totnpoles,'dia',l_dia,k_dia)) + & call errquit(pname//'failed to allocate Delta_ia',0,MA_ERR) + if(.not.ma_push_get(mt_dbl,nri**2,'W',lW,kW)) + & call errquit(pname//'failed to allocate W',0,MA_ERR) + + ! obtain "old" eigenvalue difference to build W + do isp=1,pars%ipol + lSize = (isp-1)*maxpoles + call bse_get_eia(dbl_mb(pars%k_mf_evals+(isp-1)*nbf_ao), + & dbl_mb(k_dia+lSize),pars%nocc(isp), + & pars%nvir(isp),pars%ovlo(isp),pars%ovhi(isp)) + enddo + + ! obtain screened Coulomb matrix + call bse_buildw(pars,dbl_mb(k_dia),dbl_mb(kW),pars%nmo,nri, + & maxpoles,pars%ipol) + + ! transform ERIs using screened Coulomb matrix + call bse_wmn(pars,dbl_mb(kW),pars%nmo,nri,pars%ipol) + if(.not.ma_chop_stack(lW)) + & call errquit(pname//'failed to chop stack',0,MA_ERR) + + ! obtain "GW" eigenvalue difference to build Casida matrix + do isp=1,pars%ipol + lSize = (isp-1)*maxpoles + call bse_get_eia(dbl_mb(pars%k_gw_evals+(isp-1)*nbf_ao), + & dbl_mb(k_dia+lSize),pars%nocc(isp), + & pars%nvir(isp),pars%ovlo(isp), + & pars%ovhi(isp)) + enddo + + ! Build and diagonalize Casida-like matrix + if (pars%tda) then + call bse_analytic_tda(pars,dbl_mb(k_dia),dbl_mb(k_omega), + & maxpoles,totnpoles,pars%singlet) + else + call bse_analytic_cis(pars,dbl_mb(k_dia),dbl_mb(k_omega), + & maxpoles,totnpoles,pars%singlet) + endif + + ! Compute oscillator strengths + call bse_oscstr(pars,dbl_mb(k_omega),totnpoles) + + ! Destroy GAs + if (.not.ga_destroy(pars%g_apb)) + & call errquit(pname//'could not destroy temp GA',1,GA_ERR) + + ! chop stack + if(.not.ma_chop_stack(l_omega)) + $ call errquit(pname//'failed to chop stack',0,MA_ERR) + + end subroutine bse_analytic diff --git a/src/bsemol/bse_analytic_cis.F b/src/bsemol/bse_analytic_cis.F new file mode 100644 index 0000000000..5286b4408b --- /dev/null +++ b/src/bsemol/bse_analytic_cis.F @@ -0,0 +1,359 @@ + subroutine bse_analytic_cis(pars,wia,omega,maxpoles,totpoles, + $ singlet) + implicit none +#include "mafdecls.fh" +#include "errquit.fh" +#include "global.fh" +#include "bse.fh" +#ifdef SCALAPACK +#include "scaleig.fh" + integer ga_cholesky,ga_llt_i + external ga_cholesky,ga_llt_i +#endif + + type(bse_params_t) :: pars + + logical singlet + integer maxpoles, totpoles, npoles + double precision wia(maxpoles,pars%ipol) + double precision omega(totpoles) + + character(*),parameter :: pname = 'bse_casida: ' + + integer isp,jsp,nri,off1,off2 + integer ilo,ihi,jlo,jhi + integer nocc2(2),nvir2(2) + integer ipole,imo,jmo,amo,bmo + integer k,l,kproc,lproc,klocal,llocal,kglobal,lglobal + integer g_diag, g_tmp, g_amb, ktmp, ld, info, i, j + integer ij,jb,llia,ulia + +#ifdef USE_OPENMP + call util_blas_set_num_threads(pars%iMaxthreads) +#endif + + nri = pars%nri + npoles = pars%npoles(1) + if (pars%ipol.gt.1) npoles = npoles + pars%npoles(2) + + if(.not.ga_create(mt_dbl,npoles,npoles,'apb',0,npoles, + & pars%g_apb)) + & call errquit(pname//'could not create A+B GA',0,GA_ERR) + if(.not.ga_create(mt_dbl,npoles,npoles,'amb',0,npoles, + & g_amb)) + & call errquit(pname//'could not create A-B GA',0,GA_ERR) + if (.not.nga_create(mt_dbl,1,npoles,'wia',0,g_diag)) + $ call errquit(pname//'could not create wia',0,GA_ERR) + + if (pars%ipol.eq.1) then + nocc2(1) = pars%nocc(1)**2 + nvir2(1) = pars%nvir(1)**2 + + call ga_distribution(pars%g_apb,pars%me,ilo,ihi,jlo,jhi) + if (jhi.ge.jlo) call nga_put(g_diag,ilo,ihi,wia,ihi-ilo+1) + + ! Screened Coulomb contribution from A + if(.not.ga_create(mt_dbl,nvir2(1),nocc2(1),'tmp',nvir2(1),0, + & g_tmp)) + & call errquit(pname//'could not create temp GA',1,GA_ERR) + call ga_dgemm('t','n',nvir2(1),nocc2(1),pars%nri,-1d0, + % pars%g_erivv(1),pars%g_erioo(1),0d0,g_tmp) + call ga_distribution(g_tmp,pars%me,ilo,ihi,jlo,jhi) + call ga_access(g_tmp,ilo,ihi,jlo,jhi,ktmp,ld) + ! Need to take care about indexing + do ij=jlo,jhi + jmo = (ij-1)/pars%nocc(1) + 1 + imo = ij - (jmo-1)*pars%nocc(1) + llia = (imo-1)*pars%nvir(1) + 1 + ulia = imo*pars%nvir(1) + do bmo = 1,pars%nvir(1) + jb = (jmo-1)*pars%nvir(1) + bmo + call ga_put(pars%g_apb,llia,ulia,jb,jb, + & dbl_mb(ktmp+(ij-jlo)*nvir2(1)+(bmo-1)*pars%nvir(1)), + & pars%nvir(1)) + enddo + enddo + call ga_sync() + call ga_copy(pars%g_apb,g_amb) + call ga_release(g_tmp,ilo,ihi,jlo,jhi) + if (.not.ga_destroy(g_tmp)) + & call errquit(pname//'could not destroy temp GA',1,GA_ERR) + + ! Screened-Coulomb contribution from B + if(.not.ga_create(mt_dbl,npoles,npoles,'tmp',0,npoles, + & g_tmp)) + & call errquit(pname//'could not create temp GA',1,GA_ERR) + call ga_dgemm('t','n',npoles,npoles,pars%nri,-1d0, + & pars%g_wov(1),pars%g_wov(1),0d0,g_tmp) + call ga_add(1d0,g_tmp,1d0,pars%g_apb,pars%g_apb) + call ga_add(-1d0,g_tmp,1d0,g_amb,g_amb) + if (.not.ga_destroy(g_tmp)) + & call errquit(pname//'could not destroy temp GA',1,GA_ERR) + + if (singlet) then + ! Hartree contribution + call ga_dgemm('t','n',npoles,npoles,pars%nri,4d0, + & pars%g_eriov(1),pars%g_eriov(1),1d0,pars%g_apb) + endif + + ! Diagonal term + call ga_add_diagonal(pars%g_apb,g_diag) + call ga_add_diagonal(g_amb,g_diag) + + ! Destroy ERIs + if (.not.ga_destroy(pars%g_erioo(1))) + & call errquit(pname//'could not destroy erioo GA',1,GA_ERR) + if (.not.ga_destroy(pars%g_erivv(1))) + & call errquit(pname//'could not destroy erivv GA',1,GA_ERR) + if (.not.ga_destroy(pars%g_eriov(1))) + & call errquit(pname//'could not destroy eriov GA',1,GA_ERR) + if (.not.ga_destroy(pars%g_wov(1))) + & call errquit(pname//'could not destroy wov GA',1,GA_ERR) + + ! First step is to get (A-B)^(1/2) + call ga_sync() +#ifdef SCALAPACK + info= ga_cholesky('L',g_amb) +#elif defined(PEIGS) + call ga_chol(g_amb, g_amb, info) +#else + call ga_chol_seq(g_amb, g_amb, info) +#endif + + ! Transform (A+B) matrix with Cholesky factors + if(.not.ga_create(mt_dbl,npoles,npoles,'tmp',0,npoles, + & g_tmp)) + & call errquit(pname//'could not create temp GA',1,GA_ERR) + call ga_dgemm('n','n',npoles,npoles,npoles,1d0, + & pars%g_apb,g_amb,0d0,g_tmp) + call ga_dgemm('t','n',npoles,npoles,npoles,1d0, + & g_amb,g_tmp,0d0,pars%g_apb) + if (.not.ga_destroy(g_tmp)) + & call errquit(pname//'could not destroy temp GA',1,GA_ERR) + + ! Diagonalize (A+B) matrix +#ifdef PARALLEL_DIAG +#ifdef SCALAPACK + call dft_scaleig(pars%g_apb,pars%g_apb,omega,0) +#else + call ga_diag_std(pars%g_apb,pars%g_apb,omega) +#endif +#else + call ga_diag_std_seq(pars%g_apb,pars%g_apb,omega) +#endif + + ! + ! Since we transformed the eigenvalue equation to an Hermitian + ! form, we obtain the square of the neutral excitations + ! (Equation (32)). + ! +!$omp parallel do + do ipole=1,npoles + omega(ipole) = dsqrt(omega(ipole)) + enddo +!$omp end parallel do + + ! Transform eigenvectors with (A-B)^(1/2) + if(.not.ga_create(mt_dbl,npoles,npoles,'tmp',0,npoles, + & g_tmp)) + & call errquit(pname//'could not create temp GA',1,GA_ERR) + call ga_dgemm('n','n',npoles,npoles,npoles,1d0, + & g_amb,pars%g_apb,0d0,g_tmp) + + ! Gather neutral excitations vectors + call nga_distribution(g_diag,pars%me,ilo,ihi) + if(ihi.ge.ilo) then + call nga_put(g_diag,ilo,ihi,1d0/dsqrt(omega(ilo:ihi)), + & ihi-ilo+1) + endif + call ga_sync() + call ga_scale_cols(g_tmp,g_diag) + + ! Destroy unused GAs + call ga_copy(g_tmp,pars%g_apb) + if (.not.ga_destroy(g_tmp)) + & call errquit(pname//'could not destroy temp GA',1,GA_ERR) + if (.not.ga_destroy(g_amb)) + & call errquit(pname//'could not destroy temp GA',1,GA_ERR) + if (.not.ga_destroy(g_diag)) + & call errquit(pname//'could not destroy temp GA',1,GA_ERR) + + else + nocc2(1) = pars%nocc(1)**2 + nvir2(1) = pars%nvir(1)**2 + nocc2(2) = pars%nocc(2)**2 + nvir2(2) = pars%nvir(2)**2 + + call ga_zero(pars%g_apb) + + ! Gather eigenvalue differences + call ga_distribution(pars%g_eriov(1),pars%me,ilo,ihi,jlo,jhi) + call nga_put(g_diag,jlo,jhi,wia(1,1),jhi-jlo+1) + call ga_distribution(pars%g_eriov(2),pars%me,ilo,ihi,jlo,jhi) + call nga_put(g_diag,jlo+pars%npoles(1),jhi+pars%npoles(1), + $ wia(1,2),jhi-jlo+1) + + do isp=1,pars%ipol + off1 = (isp-1)*pars%npoles(1) + + ! Add Screened Coulomb contribution from A + if (.not.ga_create(mt_dbl,nvir2(isp),nocc2(isp),'tmp', + $ nvir2(isp),0,g_tmp)) + $ call errquit('bse_analytic_tda: could not create tmp',145, + $ GA_ERR) + + call ga_dgemm('t','n',nvir2(isp),nocc2(isp),nri,-1d0, + $ pars%g_erivv(isp),pars%g_erioo(isp),0d0,g_tmp) + call ga_distribution(g_tmp,pars%me,ilo,ihi,jlo,jhi) + call ga_access(g_tmp,ilo,ihi,jlo,jhi,ktmp,ihi-ilo+1) + do ij=jlo,jhi + jmo = (ij-1)/pars%nocc(isp) + 1 + imo = ij - (jmo-1)*pars%nocc(isp) + do bmo = 1,pars%nvir(isp) + llia = (imo-1)*pars%nvir(isp) + 1 + off1 + ulia = imo*pars%nvir(isp) + off1 + jb = (jmo-1)*pars%nvir(isp) + bmo + off1 + call ga_put(pars%g_apb,llia,ulia,jb,jb, + & dbl_mb(ktmp+(ij-jlo)*nvir2(isp)+ + & (bmo-1)*pars%nvir(isp)),pars%nvir(isp)) + enddo + enddo + call ga_release(g_tmp,ilo,ihi,jlo,jhi) + if (.not.ga_destroy(g_tmp)) + & call errquit(pname//'could not destroy temp GA',172,GA_ERR) + + ! Destroy ERIs + if (.not.ga_destroy(pars%g_erioo(isp))) + & call errquit(pname//'could not destroy erioo GA',175,GA_ERR) + if (.not.ga_destroy(pars%g_erivv(isp))) + & call errquit(pname//'could not destroy erivv GA',177,GA_ERR) + + call ga_copy_patch('n',pars%g_apb,1+off1, + & pars%npoles(isp)+off1,1+off1,pars%npoles(isp)+off1, + & g_amb,1+off1,pars%npoles(isp)+off1,1+off1, + & pars%npoles(isp)+off1) + + + ! Add Screened Coulomb contribution from B + if(.not.ga_create(mt_dbl,pars%npoles(isp),pars%npoles(isp), + & 'tmp',0,pars%npoles(isp),g_tmp)) + & call errquit(pname//'could not create temp GA',234,GA_ERR) + call ga_dgemm('t','n',pars%npoles(isp),pars%npoles(isp), + & pars%nri,-1d0,pars%g_wov(isp),pars%g_wov(isp), + & 0d0,g_tmp) + call ga_add_patch(1d0,g_tmp,1,pars%npoles(isp), + & 1,pars%npoles(isp), + & 1d0,pars%g_apb,1+off1,pars%npoles(isp)+off1, + & 1+off1,pars%npoles(isp)+off1, + & pars%g_apb,1+off1,pars%npoles(isp)+off1, + & 1+off1,pars%npoles(isp)+off1) + call ga_add_patch(-1d0,g_tmp,1,pars%npoles(isp), + & 1,pars%npoles(isp), + & 1d0,g_amb,1+off1,pars%npoles(isp)+off1, + & 1+off1,pars%npoles(isp)+off1, + & g_amb,1+off1,pars%npoles(isp)+off1, + & 1+off1,pars%npoles(isp)+off1) + + if (.not.ga_destroy(g_tmp)) + & call errquit(pname//'could not destroy temp GA',1,GA_ERR) + if (.not.ga_destroy(pars%g_wov(isp))) + & call errquit(pname//'could not destroy wov GA',1,GA_ERR) + enddo + + ! Form RPA matrix + if (singlet) then + do isp=1,pars%ipol + off1 = (isp-1)*pars%npoles(1) + do jsp=1,pars%ipol + off2 = (jsp-1)*pars%npoles(1) + call ga_matmul_patch('t','n',2d0,1d0, + $ pars%g_eriov(isp),1,pars%npoles(isp),1,nri, + $ pars%g_eriov(jsp),1,nri,1,pars%npoles(jsp), + $ pars%g_apb,1+off1,pars%npoles(isp)+off1, + $ 1+off2,pars%npoles(jsp)+off2) + enddo + enddo + endif + call ga_add_diagonal(pars%g_apb,g_diag) + call ga_add_diagonal(g_amb,g_diag) + + + ! Destroy ERIs + if (.not.ga_destroy(pars%g_eriov(1))) + & call errquit(pname//'could not destroy eriov GA',275,GA_ERR) + if (.not.ga_destroy(pars%g_eriov(2))) + & call errquit(pname//'could not destroy eriov GA',277,GA_ERR) + + + ! First step is to get (A-B)^(1/2) + call ga_sync() +#ifdef SCALAPACK + info= ga_cholesky('L',g_amb) +#elif defined(PEIGS) + call ga_chol(g_amb, g_amb, info) +#else + call ga_chol_seq(g_amb, g_amb, info) +#endif + if (info.ne.0) call errquit("Cholesky Failed",298,GA_ERR) + + ! Transform (A+B) matrix with Cholesky factors + if(.not.ga_create(mt_dbl,npoles,npoles,'tmp',0,npoles, + & g_tmp)) + & call errquit(pname//'could not create temp GA',1,GA_ERR) + call ga_dgemm('n','n',npoles,npoles,npoles,1d0, + & pars%g_apb,g_amb,0d0,g_tmp) + call ga_dgemm('t','n',npoles,npoles,npoles,1d0, + & g_amb,g_tmp,0d0,pars%g_apb) + if (.not.ga_destroy(g_tmp)) + & call errquit(pname//'could not destroy temp GA',1,GA_ERR) + + ! Diagonalize (A+B) matrix +#ifdef PARALLEL_DIAG +#ifdef SCALAPACK + call dft_scaleig(pars%g_apb,pars%g_apb,omega,0) +#else + call ga_diag_std(pars%g_apb,pars%g_apb,omega) +#endif +#else + call ga_diag_std_seq(pars%g_apb,pars%g_apb,omega) +#endif + + ! + ! Since we transformed the eigenvalue equation to an Hermitian + ! form, we obtain the square of the neutral excitations + ! (Equation (32)). + ! +!$omp parallel do + do ipole=1,npoles + omega(ipole) = dsqrt(omega(ipole)) + enddo +!$omp end parallel do + + ! Transform eigenvectors with (A-B)^(1/2) + if(.not.ga_create(mt_dbl,npoles,npoles,'tmp',0,npoles, + & g_tmp)) + & call errquit(pname//'could not create temp GA',1,GA_ERR) + call ga_dgemm('n','n',npoles,npoles,npoles,1d0, + & g_amb,pars%g_apb,0d0,g_tmp) + + ! Gather neutral excitations vectors + call nga_distribution(g_diag,pars%me,ilo,ihi) + if(ihi.ge.ilo) then + call nga_put(g_diag,ilo,ihi,1d0/dsqrt(omega(ilo:ihi)), + & ihi-ilo+1) + endif + call ga_sync() + call ga_scale_cols(g_tmp,g_diag) + call ga_copy(g_tmp,pars%g_apb) + + ! Destroy unused GAs + if (.not.ga_destroy(g_tmp)) + & call errquit(pname//'could not destroy temp GA',344,GA_ERR) + if (.not.ga_destroy(g_amb)) + & call errquit(pname//'could not destroy temp GA',346,GA_ERR) + if (.not.ga_destroy(g_diag)) + & call errquit(pname//'could not destroy temp GA',348,GA_ERR) + + endif + + end subroutine diff --git a/src/bsemol/bse_analytic_tda.F b/src/bsemol/bse_analytic_tda.F new file mode 100644 index 0000000000..e7d0f561ec --- /dev/null +++ b/src/bsemol/bse_analytic_tda.F @@ -0,0 +1,200 @@ + subroutine bse_analytic_tda(pars,wia,omega,maxpoles,totpoles, + $ singlet) + implicit none +#include "mafdecls.fh" +#include "errquit.fh" +#include "global.fh" +#include "bse.fh" +#ifdef SCALAPACK +#include "scaleig.fh" + integer ga_cholesky,ga_llt_i + external ga_cholesky,ga_llt_i +#endif + + type(bse_params_t) :: pars + + integer maxpoles, totpoles + double precision wia(maxpoles,pars%ipol) + double precision omega(totpoles) + logical singlet + + character(*),parameter :: pname = 'bse_analytic_tda: ' + + integer nri,isp,jsp,npoles + integer ilo,ihi,jlo,jhi + integer nocc2(2),nvir2(2) + integer ipole,imo,jmo,amo,bmo + integer k,l,kproc,lproc,klocal,llocal,kglobal,lglobal + integer g_diag, g_tmp, g_amb, ktmp, ld, info, i, j + integer modtn,tovern,off1,off2 + double precision alpha + integer ij,jb,llia,ulia + +#ifdef USE_OPENMP + call util_blas_set_num_threads(pars%iMaxthreads) +#endif + + npoles = pars%npoles(1) + if (pars%ipol.gt.1) npoles = npoles + pars%npoles(2) + nri = pars%nri + + if(.not.ga_create(mt_dbl,totpoles,totpoles,'apb',0,npoles, + & pars%g_apb)) + & call errquit(pname//'could not create A+B GA',0,GA_ERR) + if (.not.nga_create(mt_dbl,1,npoles,'wia',0,g_diag)) + $ call errquit(pname//'could not create wia',0,GA_ERR) + + if (pars%ipol.eq.1) then + nocc2(1) = pars%nocc(1)**2 + nvir2(1) = pars%nvir(1)**2 + + call ga_distribution(pars%g_apb,pars%me,ilo,ihi,jlo,jhi) + if (jhi.ge.jlo) call nga_put(g_diag,ilo,ihi,wia,ihi-ilo+1) + + + ! Screened Coulomb contribution + if(.not.ga_create(mt_dbl,nvir2(1),nocc2(1),'tmp',nvir2(1),0, + & g_tmp)) + & call errquit(pname//'could not create temp GA',1,GA_ERR) + call ga_dgemm('t','n',nvir2(1),nocc2(1),pars%nri,-1d0, + % pars%g_erivv(1),pars%g_erioo(1),0d0,g_tmp) + call ga_distribution(g_tmp,pars%me,ilo,ihi,jlo,jhi) + call ga_access(g_tmp,ilo,ihi,jlo,jhi,ktmp,ld) + ! Need to take care about indexing + do ij=jlo,jhi + jmo = (ij-1)/pars%nocc(1) + 1 + imo = ij - (jmo-1)*pars%nocc(1) + do bmo = 1,pars%nvir(1) + llia = (imo-1)*pars%nvir(1) + 1 + ulia = imo*pars%nvir(1) + jb = (jmo-1)*pars%nvir(1) + bmo + call ga_put(pars%g_apb,llia,ulia,jb,jb, + & dbl_mb(ktmp+(ij-jlo)*nvir2(1)+(bmo-1)*pars%nvir(1)), + & pars%nvir(1)) + enddo + enddo + call ga_release(g_tmp,ilo,ihi,jlo,jhi) + if (.not.ga_destroy(g_tmp)) + & call errquit(pname//'could not destroy temp GA',1,GA_ERR) + + ! Hartree contribution + if (singlet) then + call ga_dgemm('t','n',npoles,npoles,pars%nri,2d0, + & pars%g_eriov(1),pars%g_eriov(1),1d0,pars%g_apb) + endif + + ! Diagonal term + call ga_add_diagonal(pars%g_apb,g_diag) + + ! Destroy ERIs + if (.not.ga_destroy(pars%g_erioo(1))) + & call errquit(pname//'could not destroy erioo GA',1,GA_ERR) + if (.not.ga_destroy(pars%g_erivv(1))) + & call errquit(pname//'could not destroy erivv GA',1,GA_ERR) + if (.not.ga_destroy(pars%g_eriov(1))) + & call errquit(pname//'could not destroy eriov GA',1,GA_ERR) + + + ! Diagonalize (A+B) matrix +#ifdef PARALLEL_DIAG +#ifdef SCALAPACK + call dft_scaleig(pars%g_apb,pars%g_apb,omega,0) +#else + call ga_diag_std(pars%g_apb,pars%g_apb,omega) +#endif +#else + call ga_diag_std_seq(pars%g_apb,pars%g_apb,omega) +#endif + + ! Destroy unused GAs + if (.not.ga_destroy(g_diag)) + & call errquit(pname//'could not destroy temp GA',1,GA_ERR) + + else + nocc2(1) = pars%nocc(1)**2 + nvir2(1) = pars%nvir(1)**2 + nocc2(2) = pars%nocc(2)**2 + nvir2(2) = pars%nvir(2)**2 + + + ! Gather eigenvalue differences + call ga_distribution(pars%g_eriov(1),pars%me,ilo,ihi,jlo,jhi) + call nga_put(g_diag,jlo,jhi,wia(1,1),jhi-jlo+1) + call ga_distribution(pars%g_eriov(2),pars%me,ilo,ihi,jlo,jhi) + call nga_put(g_diag,jlo+pars%npoles(1),jhi+pars%npoles(1), + $ wia(1,2),jhi-jlo+1) + + ! Form RPA matrix + if (.not.singlet) then + call ga_zero(pars%g_apb) + else + do isp=1,pars%ipol + off1 = (isp-1)*pars%npoles(1) + do jsp=1,pars%ipol + off2 = (jsp-1)*pars%npoles(1) + call ga_matmul_patch('t','n',1d0,0d0, + $ pars%g_eriov(isp),1,pars%npoles(isp),1,nri, + $ pars%g_eriov(jsp),1,nri,1,pars%npoles(jsp), + $ pars%g_apb,1+off1,pars%npoles(isp)+off1, + $ 1+off2,pars%npoles(jsp)+off2) + enddo + enddo + endif + call ga_add_diagonal(pars%g_apb,g_diag) + + !Add Screened Coulomb contribution + do isp=1,pars%ipol + off1 = (isp-1)*pars%npoles(1) + if (.not.ga_destroy(pars%g_eriov(isp))) + & call errquit(pname//'could not destroy eriov GA',147,GA_ERR) + + if (.not.ga_create(mt_dbl,nvir2(isp),nocc2(isp),'tmp', + $ nvir2(isp),0,g_tmp)) + $ call errquit('bse_analytic_tda: could not create tmp',145, + $ GA_ERR) + + call ga_dgemm('t','n',nvir2(isp),nocc2(isp),nri,-1d0, + $ pars%g_erivv(isp),pars%g_erioo(isp),0d0,g_tmp) + call ga_distribution(g_tmp,pars%me,ilo,ihi,jlo,jhi) + call ga_access(g_tmp,ilo,ihi,jlo,jhi,ktmp,ihi-ilo+1) + do ij=jlo,jhi + jmo = (ij-1)/pars%nocc(isp) + 1 + imo = ij - (jmo-1)*pars%nocc(isp) + do bmo = 1,pars%nvir(isp) + llia = (imo-1)*pars%nvir(isp) + 1 + off1 + ulia = imo*pars%nvir(isp) + off1 + jb = (jmo-1)*pars%nvir(isp) + bmo + off1 + call ga_acc(pars%g_apb,llia,ulia,jb,jb, + & dbl_mb(ktmp+(ij-jlo)*nvir2(isp)+ + & (bmo-1)*pars%nvir(isp)),pars%nvir(isp),1d0) + enddo + enddo + call ga_release(g_tmp,ilo,ihi,jlo,jhi) + if (.not.ga_destroy(g_tmp)) + & call errquit(pname//'could not destroy temp GA',172,GA_ERR) + ! Destroy ERIs + if (.not.ga_destroy(pars%g_erioo(isp))) + & call errquit(pname//'could not destroy erioo GA',175,GA_ERR) + if (.not.ga_destroy(pars%g_erivv(isp))) + & call errquit(pname//'could not destroy erivv GA',177,GA_ERR) + enddo + + ! Diagonalize (A+B) matrix +#ifdef PARALLEL_DIAG +#ifdef SCALAPACK + call dft_scaleig(pars%g_apb,pars%g_apb,omega,0) +#else + call ga_diag_std(pars%g_apb,pars%g_apb,omega) +#endif +#else + call ga_diag_std_seq(pars%g_apb,pars%g_apb,omega) +#endif + + ! Destroy unused GAs + if (.not.ga_destroy(g_diag)) + & call errquit(pname//'could not destroy temp GA',1,GA_ERR) + + + endif + + end subroutine diff --git a/src/bsemol/bse_buildw.F b/src/bsemol/bse_buildw.F new file mode 100644 index 0000000000..e3dd8e4858 --- /dev/null +++ b/src/bsemol/bse_buildw.F @@ -0,0 +1,78 @@ + subroutine bse_buildW(pars,wia,w,nmo,nri,maxpoles,ipol) + implicit none +#include "errquit.fh" +#include "mafdecls.fh" +#include "global.fh" +#include "stdio.fh" +#include "bse.fh" + + type(bse_params_t) :: pars + integer nmo, nri, maxpoles, ipol + + character(*), parameter :: pname = 'bse_buildw: ' + + double precision wia(maxpoles,ipol) + double precision w(nri,nri) + + integer :: ovlo,ovhi,kov(2),isp + integer :: ldpi, sizepi, iri, jri + integer :: alloc, info, ld, ipole + double precision,allocatable :: factor(:,:) + + allocate(factor(maxpoles,ipol),stat=alloc) + if (alloc.ne.0) + & call errquit(pname//'allocation failed',0,MA_ERR) +C +C Decide the leading dimension of the \Pi array according to +C the rectangular full-packed (RFP) format +C + if (mod(nri,2).eq.0) then + ldpi = nri + 1 + else + ldpi = nri + endif + sizepi = (nri*(nri+1))/2 + + ! Get pointer to local integrals + do isp=1,pars%ipol + kov(isp) = 1 + if (pars%mynpoles(isp).lt.1) cycle + + ovlo = pars%ovlo(isp) + ovhi = pars%ovhi(isp) + call ga_access(pars%g_eriov(isp),1,nri,ovlo,ovhi,kov(isp),ld) + +!$omp parallel do + do ipole=1,pars%mynpoles(isp) + factor(ipole,isp) = dsqrt(1.0d0/wia(ipole,isp)) + enddo +!$omp end parallel do + enddo + + ! Build the Polarizability matrix and transform it to the + ! dielectric matrix \epsilon = 1 - \pi + call gw_cdgw_buildpi('w',dbl_mb(kov(1)),dbl_mb(kov(2)),w,factor, + $ ldpi,nri,pars%mynpoles,pars%me.eq.0, + $ ipol,maxpoles) + call ga_dgop(1038,w,sizepi,'+') + + !Factorize dieletric matrix for further use + call dpftrf('n','l',nri,w,info) + if(info.ne.0) + & call errquit(pname//'Failed to decompose dielectric',info,0) + + !Deallocate + deallocate(factor,stat=alloc) + if (alloc.ne.0) + & call errquit(pname//'deallocation failed',0,MA_ERR) + + !Release GAs + do isp=1,ipol + if (pars%mynpoles(isp).lt.1) cycle + ovlo = pars%ovlo(isp) + ovhi = pars%ovhi(isp) + call ga_release(pars%g_eriov(isp),1,nri,ovlo,ovhi) + enddo + + end + diff --git a/src/bsemol/bse_davidson.F b/src/bsemol/bse_davidson.F new file mode 100644 index 0000000000..9c494f4f15 --- /dev/null +++ b/src/bsemol/bse_davidson.F @@ -0,0 +1,569 @@ + subroutine bse_davidson(pars) + + implicit none + +#include "global.fh" +#include "errquit.fh" +#include "mafdecls.fh" +#include "bse.fh" +#include "cdft.fh" + type(bse_params_t) :: pars + character(*), parameter :: pname = 'bse_analytic: ' + + integer lSize,isp + integer l_omega, k_omega + integer l_dia,k_dia + integer lW,kW + integer maxpoles,maxnpoles,totnpoles,nri + + integer ntrials,g_trials,npoles,ndim + integer g_x,g_y,g_ym,g_s,g_ks,g_mks,g_w,g_kw,g_mkw,off1 + integer g_wia,g_tmp,info,lwork,kwork,idum,mdim,k_trials + integer k_x,k_y,k_ym,k_s,k_ks,k_mks,k_w,k_kw,k_mkw,k_r,l_r + integer l_map,k_map,l_tmp1,k_tmp1,l_tmp2,k_tmp2,k_x2,k_trials2 + integer k_w2,l_tmp3,k_tmp3,l_tmp4,k_tmp4,k_kw2,k_mkw2 + integer myld,vkv,l_vkv,myhi,mylo,l_ksw,ksw,jdum,myld2 + integer subscript(2) + double precision minimum,norm(pars%nroots),rdum,factor + + integer inode,nprocs,nrestart + integer ipole,jpole,itrial,imo,amo,idavidson + logical found,dohartree,stat,debug + double precision,external :: dasum + + !debug = pars%me.eq.0 + debug = .false. + + ! synchronize parallel processes + call ga_sync() + + !initialize useful variables + nri = pars%nri + maxpoles = maxval(pars%mynpoles(1:pars%ipol)) + maxnpoles = maxval(pars%npoles(1:pars%ipol)) + totnpoles = maxnpoles*pars%ipol + npoles = sum(pars%npoles(1:pars%ipol)) + ntrials = pars%nroots*pars%nspace + nprocs = ga_nnodes() + + ! allocation + if(.not.ma_push_get(mt_dbl,totnpoles,'dia',l_dia,k_dia)) + & call errquit(pname//'failed to allocate Delta_ia',0,MA_ERR) + if(.not.ma_push_get(mt_dbl,npoles,'omega',l_omega,k_omega)) + & call errquit(pname//'failed to allocate omega',0,MA_ERR) + if(.not.ma_push_get(mt_dbl,npoles,'residual',l_r,k_r)) + & call errquit(pname//'failed to allocate residual',0,MA_ERR) + if(.not.ma_push_get(mt_dbl,maxpoles*pars%nmax,'tmp1', + & l_tmp1,k_tmp1)) + & call errquit(pname//'failed to allocate tmp1',0,MA_ERR) + if(.not.ma_push_get(mt_dbl,maxpoles*pars%nmax,'tmp2', + & l_tmp2,k_tmp2)) + & call errquit(pname//'failed to allocate tmp2',0,MA_ERR) + if(.not.ma_push_get(mt_dbl,maxpoles*pars%nmax,'tmp3', + & l_tmp3,k_tmp3)) + & call errquit(pname//'failed to allocate tmp3',0,MA_ERR) + if(.not.ma_push_get(mt_dbl,maxpoles*pars%nmax,'tmp4', + & l_tmp4,k_tmp4)) + & call errquit(pname//'failed to allocate tmp4',0,MA_ERR) + if(.not.ma_push_get(mt_int,2*ga_nnodes()+1,'map',l_map,k_map)) + & call errquit(pname//'failed to allocate map',0,MA_ERR) + if(.not.ma_push_get(mt_dbl,ntrials*ntrials,'vkv',l_vkv,vkv)) + & call errquit(pname//'failed to allocate vkv',0,MA_ERR) + if(.not.ma_push_get(mt_dbl,nri**2,'W',lW,kW)) + & call errquit(pname//'failed to allocate W',0,MA_ERR) + + ! Get map for irreg array + pars%nblocks = ga_nnodes() + do inode=0,ga_nnodes()-1 + idum = pars%ovlo(1) + call ga_brdcst(mt_int,idum,ma_sizeof(mt_int,1,mt_byte),inode) + int_mb(k_map+inode) = idum + enddo + if (pars%ipol.gt.1) then + pars%nblocks = pars%nblocks + ga_nnodes() + do inode=0,ga_nnodes()-1 + idum = pars%ovlo(2) + call ga_brdcst(mt_int,idum,ma_sizeof(mt_int,1,mt_byte),inode) + int_mb(k_map+ga_nnodes()+inode) = idum + pars%npoles(1) + enddo + endif + int_mb(k_map+pars%nblocks) = 1 + + ! Allocate GA arrays + g_x = ga_create_handle() + call ga_set_data(g_x,2,(/npoles,ntrials/),mt_dbl) + call ga_set_array_name(g_x,'x') + call ga_set_tiled_irreg_proc_grid(g_x,int_mb(k_map), + $ (/pars%nblocks,1/),(/ga_nnodes(),1/)) + stat = ga_allocate(g_x) + stat = stat.and.ga_duplicate(g_x,g_y,'y').and. + $ ga_duplicate(g_x,g_ym,'ym').and. + $ ga_duplicate(g_x,g_s,'s').and. + $ ga_duplicate(g_x,g_ks,'ks').and. + $ ga_duplicate(g_x,g_mks,'mks').and. + $ ga_duplicate(g_x,g_trials,'trials') + if(.not.stat) call errquit('ga create failed',103,GA_ERR) + call ga_zero(g_y) + call ga_zero(g_ym) + call ga_zero(g_s) + call ga_zero(g_ks) + call ga_zero(g_mks) + call ga_zero(g_trials) + + ! W, K*W, and M*K*W are fixed to nroots columns + g_w = ga_create_handle() + call ga_set_data(g_w, 2, (/npoles, pars%nroots/), mt_dbl) + call ga_set_array_name(g_w, 'w') + call ga_set_tiled_irreg_proc_grid(g_w, int_mb(k_map), + $ (/pars%nblocks, 1/), (/ga_nnodes(), 1/)) + stat = ga_allocate(g_w) + stat = stat .and. ga_duplicate(g_w, g_kw, 'kw') .and. + $ ga_duplicate(g_w, g_mkw, 'mkw') + if(.not.stat) call errquit('Could not allocate g_w', 0, GA_ERR) + call ga_zero(g_w) + call ga_zero(g_kw) + call ga_zero(g_mkw) + + g_wia = ga_create_handle() + call ga_set_data(g_wia,1,npoles,mt_dbl) + call ga_set_array_name(g_wia,'wia') + call ga_set_tiled_irreg_proc_grid(g_wia,int_mb(k_map), + $ pars%nblocks,ga_nnodes()) + stat = stat.and.ga_allocate(g_wia) + if(.not.stat) call errquit('ga create failed',110,GA_ERR) + call ga_zero(g_wia) + + + ! obtain "old" eigenvalue difference to build W + do isp=1,pars%ipol + lSize = (isp-1)*maxpoles + call bse_get_eia(dbl_mb(pars%k_mf_evals+(isp-1)*nbf_ao), + & dbl_mb(k_dia+lSize),pars%nocc(isp), + & pars%nvir(isp),pars%ovlo(isp),pars%ovhi(isp)) + enddo + + ! obtain screened Coulomb matrix + call bse_buildw(pars,dbl_mb(k_dia),dbl_mb(kW),pars%nmo,nri, + & maxpoles,pars%ipol) + + ! transform ERIs using screened Coulomb matrix + call bse_wmn(pars,dbl_mb(kW),pars%nmo,nri,pars%ipol) + if(.not.ma_chop_stack(lW)) + & call errquit(pname//'failed to chop stack',0,MA_ERR) + + ! obtain "GW" eigenvalue difference to build Casida matrix + do isp=1,pars%ipol + lSize = (isp-1)*maxpoles + call bse_get_eia(dbl_mb(pars%k_gw_evals+(isp-1)*nbf_ao), + & dbl_mb(k_dia+lSize),pars%nocc(isp), + & pars%nvir(isp),pars%ovlo(isp), + & pars%ovhi(isp)) + enddo + + ! Get diagonal of Casida matrix + call bse_davidson_diagonal(pars,dbl_mb(k_dia),maxpoles) + + ! Get Eigenvalue differences + do isp=1,pars%ipol + off1 = (isp-1)*pars%npoles(1) + lSize = (isp-1)*maxpoles + call nga_put(g_wia,pars%ovlo(isp)+off1,pars%ovhi(isp)+off1, + $ dbl_mb(k_dia+lSize),pars%ovhi(isp)-pars%ovlo(isp)+1) + enddo + + ! Get guess vectos + if(pars%me.eq.0) + $ call bse_davidson_guess(pars,dbl_mb(k_dia),g_trials,npoles, + $ ntrials,pars%nroots) + call ga_brdcst(mt_dbl,dbl_mb(k_dia), + $ ma_sizeof(mt_dbl,npoles,mt_byte),0) + do isp=1,pars%ipol + off1 = (isp-1)*pars%npoles(1) + call dcopy(pars%mynpoles(isp), + $ dbl_mb(k_dia+off1+pars%ovlo(isp)-1), + $ 1,dbl_mb(k_dia+(isp-1)*pars%mynpoles(1)),1) + enddo + + + do isp=1,pars%ipol + if(.not.ga_create(mt_dbl,nri*pars%nvir(isp),pars%nvir(isp), + $ 'g_erivv',0,pars%nvir(isp),g_tmp)) + $ call errquit('could not create GA',0,GA_ERR) + call ga_zero(g_tmp) + call ga_copy_patch('n',pars%g_erivv(isp),1,nri,1, + $ pars%nvir(isp)*pars%nvir(isp), + $ g_tmp,1,nri*pars%nvir(isp),1, + $ pars%nvir(isp)) + if(.not.ga_destroy(pars%g_erivv(isp))) + $ call errquit('could not destroy GA',0,GA_ERR) + pars%g_erivv(isp) = g_tmp + enddo + + ! Start K-Davidson Algorithm + idavidson = 0 + + ! Restarts should land here + 1 continue + + ! K-orthogonalization + call bse_davidson_kvec(pars,g_trials,g_wia,g_x,npoles, + $ ntrials,pars%singlet,1d0) + + call nga_access_block_grid(g_x, (/pars%me,0/), k_x, myld) + call nga_access_block_grid(g_trials, (/pars%me,0/),k_trials,myld) + if (pars%ipol.eq.1) then + myld2 = 0 + call dcopy(myld*ntrials,dbl_mb(k_x),1,dbl_mb(k_tmp1),1) + call dcopy(myld*ntrials,dbl_mb(k_trials),1,dbl_mb(k_tmp2),1) + else + call nga_access_block_grid(g_x,(/pars%me+nprocs,0/),k_x2,myld2) + call nga_access_block_grid(g_trials,(/pars%me+nprocs,0/), + $ k_trials2,myld2) + do itrial=1,ntrials + call dcopy(myld,dbl_mb(k_x+(itrial-1)*myld),1, + $ dbl_mb(k_tmp1+(itrial-1)*(myld+myld2)),1) + call dcopy(myld2,dbl_mb(k_x2+(itrial-1)*myld2),1, + $ dbl_mb(k_tmp1+(itrial-1)*(myld+myld2)+myld),1) + call dcopy(myld,dbl_mb(k_trials+(itrial-1)*myld),1, + $ dbl_mb(k_tmp2+(itrial-1)*(myld+myld2)),1) + call dcopy(myld2,dbl_mb(k_trials2+(itrial-1)*myld2),1, + $ dbl_mb(k_tmp2+(itrial-1)*(myld+myld2)+myld),1) + enddo + endif + + call bse_davidson_kortho(pars,dbl_mb(k_tmp2),dbl_mb(k_tmp1), + $ dbl_mb(k_tmp1),dbl_mb(vkv),dbl_mb(k_tmp1), + $ myld+myld2,ntrials,mdim,.true.) + + if (pars%ipol.eq.1) then + call dcopy(myld*ntrials,dbl_mb(k_tmp2),1,dbl_mb(k_trials),1) + else + do itrial=1,ntrials + call dcopy(myld,dbl_mb(k_tmp2+(itrial-1)*(myld+myld2)),1, + $ dbl_mb(k_trials+(itrial-1)*myld),1) + call dcopy(myld2,dbl_mb(k_tmp2+(itrial-1)*(myld+myld2)+myld), + $ 1,dbl_mb(k_trials2+(itrial-1)*myld2),1) + enddo + call nga_release_update_block_grid(g_trials, + $ (/pars%me+nprocs,0/)) + call nga_release_block_grid(g_x,(/pars%me+nprocs,0/)) + endif + call nga_release_update_block_grid(g_trials,(/pars%me,0/)) + call nga_release_block_grid(g_x,(/pars%me,0/)) + + ! Starting vectors + call ga_copy(g_trials,g_x) + call bse_davidson_kvec(pars,g_x,g_wia,g_y,npoles, + $ ntrials,pars%singlet,1d0) + call bse_davidson_kvec(pars,g_y,g_wia,g_ym,npoles, + $ ntrials,.false.,-1d0) + call ga_copy(g_x,g_s) + call ga_copy(g_y,g_ks) + call ga_copy(g_ym,g_mks) + + if (pars%me.eq.0 .and. idavidson.eq.0) then + write(*,*) + write(*,*) "--------------------------------" + write(*,*) " Iter Ntrials Nconv Res " + write(*,*) "--------------------------------" + endif + + 2 idavidson = idavidson + 1 + if(idavidson.gt.pars%maxiter) goto 3 + + ! Build projected matrix + call dcopy(ntrials*ntrials,0d0,0,dbl_mb(vkv),1) + do isp=1,pars%ipol + subscript = (/pars%me+(isp-1)*ga_nnodes(),0/) + call nga_access_block_grid(g_ks,subscript,k_ks,myld) + call nga_access_block_grid(g_mks,subscript,k_mks,myld) + call dgemm('t','n',ntrials,ntrials,myld,1d0,dbl_mb(k_ks), + $ myld,dbl_mb(k_mks),myld,1d0,dbl_mb(vkv),ntrials) + call nga_release_block_grid(g_ks,subscript) + call nga_release_block_grid(g_mks,subscript) + enddo + call ga_dgop((/194/),dbl_mb(vkv),ntrials**2,'+') + if (debug) call ma_print(dbl_mb(vkv),ntrials,ntrials,'Proj') + + ! Diagonalize projected matrix + call dsyev('v','l',ntrials,dbl_mb(vkv),ntrials,dbl_mb(k_omega), + $ rdum,-1,info) + if(.not.ma_push_get(mt_dbl,int(rdum),'work',lwork,kwork)) + & call errquit(pname//'failed to allocate work',199,MA_ERR) + call dsyev('v','l',ntrials,dbl_mb(vkv),ntrials,dbl_mb(k_omega), + $ dbl_mb(kwork),int(rdum),info) + if(.not.ma_chop_stack(lwork)) + & call errquit(pname//'failed to allocate work',192,MA_ERR) + if (info.ne.0) + $ call errquit(pname//'Diagonalization failed',206,0) + if (debug) call ma_print(dbl_mb(vkv),ntrials,ntrials,'Eigen') + if (debug) call ma_print(dbl_mb(k_omega),ntrials,1,'Omega') + + + ! Project back vectors + do isp=1,pars%ipol + subscript = (/pars%me+(isp-1)*nprocs,0/) + call nga_access_block_grid(g_s,subscript,k_s,myld) + call nga_access_block_grid(g_ks,subscript,k_ks,myld) + call nga_access_block_grid(g_mks,subscript,k_mks,myld) + call nga_access_block_grid(g_x,subscript,k_x,myld) + call nga_access_block_grid(g_y,subscript,k_y,myld) + call nga_access_block_grid(g_ym,subscript,k_ym,myld) + + call dgemm('n','n',myld,ntrials,ntrials,1d0,dbl_mb(k_s),myld, + $ dbl_mb(vkv),ntrials,0d0,dbl_mb(k_x),myld) + call dgemm('n','n',myld,ntrials,ntrials,1d0,dbl_mb(k_ks),myld, + $ dbl_mb(vkv),ntrials,0d0,dbl_mb(k_y),myld) + call dgemm('n','n',myld,ntrials,ntrials,1d0,dbl_mb(k_mks), + $ myld,dbl_mb(vkv),ntrials,0d0,dbl_mb(k_ym),myld) + + call nga_release_block_grid(g_s,subscript) + call nga_release_block_grid(g_ks,subscript) + call nga_release_block_grid(g_mks,subscript) + call nga_release_update_block_grid(g_x,subscript) + call nga_release_update_block_grid(g_y,subscript) + call nga_release_update_block_grid(g_ym,subscript) + enddo + + ! Get residual + subscript = (/pars%me,0/) + call nga_access_block_grid(g_x,subscript,k_x,myld) + call nga_access_block_grid(g_ym,subscript,k_trials,myld) + if (pars%ipol.eq.1) then + myld2 = 0 + call dcopy(myld*ntrials,dbl_mb(k_x),1,dbl_mb(k_tmp1),1) + call dcopy(myld*ntrials,dbl_mb(k_trials),1,dbl_mb(k_tmp2),1) + else + subscript = (/pars%me+nprocs,0/) + call nga_access_block_grid(g_x,subscript,k_x2,myld2) + call nga_access_block_grid(g_ym,subscript,k_trials2,myld2) + do itrial=1,pars%nroots + call dcopy(myld,dbl_mb(k_x+(itrial-1)*myld),1, + $ dbl_mb(k_tmp1+(itrial-1)*(myld+myld2)),1) + call dcopy(myld2,dbl_mb(k_x2+(itrial-1)*myld2),1, + $ dbl_mb(k_tmp1+(itrial-1)*(myld+myld2)+myld),1) + call dcopy(myld,dbl_mb(k_trials+(itrial-1)*myld),1, + $ dbl_mb(k_tmp2+(itrial-1)*(myld+myld2)),1) + call dcopy(myld2,dbl_mb(k_trials2+(itrial-1)*myld2),1, + $ dbl_mb(k_tmp2+(itrial-1)*(myld+myld2)+myld),1) + enddo + endif + + call bse_davidson_residual(pars%nroots,ntrials,dbl_mb(k_omega), + $ dbl_mb(k_tmp1),dbl_mb(k_tmp2),dbl_mb(k_r), + $ dbl_mb(k_dia),dbl_mb(k_tmp3),myld+myld2,ndim,norm) + + call nga_release_block_grid(g_x,(/pars%me,0/)) + call nga_release_block_grid(g_ym,(/pars%me,0/)) + call nga_access_block_grid(g_w,(/pars%me,0/),k_w,myld) + if(pars%ipol.eq.1) then + call dcopy(pars%nroots*myld,dbl_mb(k_tmp3),1,dbl_mb(k_w),1) + else + call nga_release_block_grid(g_x,subscript) + call nga_release_block_grid(g_ym,subscript) + call nga_access_block_grid(g_w,subscript,k_w2,myld2) + do itrial=1,pars%nroots + call dcopy(myld,dbl_mb(k_tmp3+(itrial-1)*(myld+myld2)),1, + $ dbl_mb(k_w+(itrial-1)*myld),1) + call dcopy(myld2,dbl_mb(k_tmp3+ + $ (itrial-1)*(myld+myld2)+myld),1, + $ dbl_mb(k_w2+(itrial-1)*myld2),1) + enddo + call nga_release_update_block_grid(g_w,subscript) + endif + call nga_release_update_block_grid(g_w,(/pars%me,0/)) + + ! Print info + if (pars%me.eq.0) then + write(*,9010) idavidson,ntrials,pars%nroots-ndim,maxval(norm) + endif + 9010 format(I5,3X,I5,3X,I5,G16.5) + + ! All residuals are below the threshold + if (ndim.eq.0) goto 3 + + ! Restart calculation if dimensions exceeded + if (ndim+ntrials.gt.pars%nmax) then + nrestart = min(ntrials, pars%nroots*pars%nspace) + call bse_davidson_restart(ntrials,nrestart,npoles, + $ g_x,g_y,g_ym,g_s,g_ks,g_mks,g_trials,l_vkv,vkv, + $ int_mb(k_map),pars%nblocks) + goto 1 + endif + + ! Project-out current vectors + if(.not.ma_push_get(mt_dbl,ndim*ntrials,'ksw',l_ksw,ksw)) + $ call errquit(pname//'ksw allocation failed',264,MA_ERR) + call dcopy(ntrials*ndim,0d0,0,dbl_mb(ksw),1) + do isp=1,pars%ipol + subscript = (/pars%me+(isp-1)*nprocs,0/) + call nga_access_block_grid(g_ks,subscript,k_ks,myld) + call nga_access_block_grid(g_w,subscript,k_w,myld) + call dgemm('t','n',ntrials,ndim,myld,1d0,dbl_mb(k_ks),myld, + $ dbl_mb(k_w),myld,1d0,dbl_mb(ksw),ntrials) + call nga_release_block_grid(g_ks,subscript) + call nga_release_block_grid(g_w,subscript) + enddo + call ga_dgop((/268/),dbl_mb(ksw),ntrials*ndim,'+') + + do isp=1,pars%ipol + subscript = (/pars%me+(isp-1)*nprocs,0/) + call nga_access_block_grid(g_s,subscript,k_s,myld) + call nga_access_block_grid(g_w,subscript,k_w,myld) + call dgemm('n','n',myld,ndim,ntrials,-1d0,dbl_mb(k_s),myld, + $ dbl_mb(ksw),ntrials,1d0,dbl_mb(k_w),myld) + call nga_release_update_block_grid(k_w,subscript) + call nga_release_block_grid(k_s,subscript) + enddo + if(.not.ma_chop_stack(l_ksw)) + $ call errquit(pname//'ksw deallocation failed',272,MA_ERR) + + + ! K-orthogonalization + call bse_davidson_kvec(pars,g_w,g_wia,g_kw,npoles, + $ ndim,pars%singlet,1d0) + call bse_davidson_kvec(pars,g_kw,g_wia,g_mkw,npoles, + $ ndim,.false.,-1d0) + + subscript = (/pars%me,0/) + call nga_access_block_grid(g_w,subscript,k_w,myld) + call nga_access_block_grid(g_kw,subscript,k_kw,myld) + call nga_access_block_grid(g_mkw,subscript,k_mkw,myld) + if (pars%ipol.eq.1) then + myld2 = 0 + call dcopy(ndim*myld,dbl_mb(k_w),1,dbl_mb(k_tmp1),1) + call dcopy(ndim*myld,dbl_mb(k_kw),1,dbl_mb(k_tmp2),1) + call dcopy(ndim*myld,dbl_mb(k_mkw),1,dbl_mb(k_tmp3),1) + else + subscript = (/pars%me+nprocs,0/) + call nga_access_block_grid(g_w,subscript,k_w2,myld2) + call nga_access_block_grid(g_kw,subscript,k_kw2,myld2) + call nga_access_block_grid(g_mkw,subscript,k_mkw2,myld2) + do itrial=1,ndim + call dcopy(myld,dbl_mb(k_w+(itrial-1)*myld),1, + $ dbl_mb(k_tmp1+(itrial-1)*(myld+myld2)),1) + call dcopy(myld2,dbl_mb(k_w2+(itrial-1)*myld2),1, + $ dbl_mb(k_tmp1+(itrial-1)*(myld+myld2)+myld),1) + call dcopy(myld,dbl_mb(k_kw+(itrial-1)*myld),1, + $ dbl_mb(k_tmp2+(itrial-1)*(myld+myld2)),1) + call dcopy(myld2,dbl_mb(k_kw2+(itrial-1)*myld2),1, + $ dbl_mb(k_tmp2+(itrial-1)*(myld+myld2)+myld),1) + call dcopy(myld,dbl_mb(k_mkw+(itrial-1)*myld),1, + $ dbl_mb(k_tmp3+(itrial-1)*(myld+myld2)),1) + call dcopy(myld2,dbl_mb(k_mkw2+(itrial-1)*myld2),1, + $ dbl_mb(k_tmp3+(itrial-1)*(myld+myld2)+myld),1) + enddo + endif + + call bse_davidson_kortho(pars,dbl_mb(k_tmp1),dbl_mb(k_tmp2), + $ dbl_mb(k_tmp3),dbl_mb(vkv),dbl_mb(k_tmp4),myld+myld2, + $ ndim,mdim,.false.) + + if(pars%ipol.eq.1) then + call dcopy(mdim*myld,dbl_mb(k_tmp1),1,dbl_mb(k_w),1) + call dcopy(mdim*myld,dbl_mb(k_tmp2),1,dbl_mb(k_kw),1) + call dcopy(mdim*myld,dbl_mb(k_tmp3),1,dbl_mb(k_mkw),1) + else + do itrial=1,mdim + call dcopy(myld,dbl_mb(k_tmp1+(itrial-1)*(myld+myld2)),1, + $ dbl_mb(k_w+(itrial-1)*myld),1) + call dcopy(myld2, + $ dbl_mb(k_tmp1+(itrial-1)*(myld+myld2)+myld),1, + $ dbl_mb(k_w2+(itrial-1)*myld2),1) + call dcopy(myld,dbl_mb(k_tmp2+(itrial-1)*(myld+myld2)),1, + $ dbl_mb(k_kw+(itrial-1)*myld),1) + call dcopy(myld2, + $ dbl_mb(k_tmp2+(itrial-1)*(myld+myld2)+myld),1, + $ dbl_mb(k_kw2+(itrial-1)*myld2),1) + call dcopy(myld,dbl_mb(k_tmp3+(itrial-1)*(myld+myld2)),1, + $ dbl_mb(k_mkw+(itrial-1)*myld),1) + call dcopy(myld2, + $ dbl_mb(k_tmp3+(itrial-1)*(myld+myld2)+myld),1, + $ dbl_mb(k_mkw2+(itrial-1)*myld2),1) + enddo + call nga_release_update_block_grid(g_w,subscript) + call nga_release_update_block_grid(g_kw,subscript) + call nga_release_update_block_grid(g_mkw,subscript) + endif + call nga_release_update_block_grid(g_w,(/pars%me,0/)) + call nga_release_update_block_grid(g_kw,(/pars%me,0/)) + call nga_release_update_block_grid(g_mkw,(/pars%me,0/)) + + ! All trial vectors were linearly-dependent + ! restart calculation with current best guess + if (mdim.lt.3) then + nrestart = min(ntrials, pars%nroots*pars%nspace) + call bse_davidson_restart(ntrials,nrestart,npoles, + $ g_x,g_y,g_ym,g_s,g_ks,g_mks,g_trials,l_vkv,vkv, + $ int_mb(k_map),pars%nblocks) + goto 1 + endif + + ndim = mdim + + ! Extend the size of the current vectors + call bse_davidson_newvecs(ntrials,ndim,npoles,g_x,g_y,g_ym, + $ g_s,g_ks,g_mks,g_w,g_kw,g_mkw, + $ l_vkv,vkv,int_mb(k_map),pars%nblocks) + goto 2 + + 3 continue + + if(pars%me.eq.0) write(*,*) + + stat = ga_destroy(pars%g_apb) .and. ga_destroy(pars%g_amb) + if(.not.stat) call errquit('deallocation failed',481,GA_ERR) + + stat = ga_create(mt_dbl,npoles,pars%nroots,'X',0,pars%nroots, + $ pars%g_apb) + stat = ga_create(mt_dbl,npoles,pars%nroots,'Y',0,pars%nroots, + $ pars%g_amb) + call ga_zero(pars%g_apb) + call ga_zero(pars%g_amb) + if(.not.stat) call errquit('failed to creare GA',484,GA_ERR) + call nga_copy_patch('n',g_x,(/1,1/),(/npoles,pars%nroots/), + $ pars%g_apb,(/1,1/),(/npoles,pars%nroots/)) + call nga_copy_patch('n',g_y,(/1,1/),(/npoles,pars%nroots/), + $ pars%g_amb,(/1,1/),(/npoles,pars%nroots/)) + + stat = ga_destroy(g_x).and.ga_destroy(g_y).and.ga_destroy(g_ym) + stat = stat.and.ga_destroy(g_s).and.ga_destroy(g_ks) + stat = stat.and.ga_destroy(g_mks).and.ga_destroy(g_w) + stat = stat.and.ga_destroy(g_kw).and.ga_destroy(g_mkw) + stat = stat.and.ga_destroy(g_trials).and.ga_destroy(g_wia) + do isp=1,pars%ipol + stat = stat.and.ga_destroy(pars%g_erioo(isp)) + stat = stat.and.ga_destroy(pars%g_eriov(isp)) + stat = stat.and.ga_destroy(pars%g_erivv(isp)) + stat = stat.and.ga_destroy(pars%g_wov(isp)) + enddo + if(.not.stat) call errquit('deallocation failed',496,GA_ERR) + + if (.not.pars%tda) then + do ipole=0,pars%nroots-1 + dbl_mb(k_omega+ipole) = dsqrt(dbl_mb(k_omega+ipole)) + call ga_scale_patch(pars%g_apb,1,npoles,ipole+1,ipole+1, + $ dsqrt(dbl_mb(k_omega+ipole))) + call ga_scale_patch(pars%g_amb,1,npoles,ipole+1,ipole+1, + $ 1.0/dsqrt(dbl_mb(k_omega+ipole))) + enddo + endif + + call ga_add(0.5d0,pars%g_apb,0.5d0,pars%g_amb,pars%g_apb) + call ga_add(1d0,pars%g_apb,-1d0,pars%g_amb,pars%g_amb) + call bse_oscstr(pars,dbl_mb(k_omega),npoles) + + stat = ma_chop_stack(l_dia) + if(.not.stat) call errquit('deallocation failed',501,MA_ERR) + + ! Destroy GAs + if (.not.ga_destroy(pars%g_apb)) + & call errquit(pname//'could not destroy temp GA',519,GA_ERR) + if (.not.ga_destroy(pars%g_amb)) + & call errquit(pname//'could not destroy temp GA',519,GA_ERR) + + end subroutine bse_davidson + + + + diff --git a/src/bsemol/bse_davidson_diagonal.F b/src/bsemol/bse_davidson_diagonal.F new file mode 100644 index 0000000000..b8024d043d --- /dev/null +++ b/src/bsemol/bse_davidson_diagonal.F @@ -0,0 +1,98 @@ + subroutine bse_davidson_diagonal(pars,wia,maxpoles) + implicit none +#include "mafdecls.fh" +#include "errquit.fh" +#include "global.fh" +#include "bse.fh" +#include "util.fh" + + type(bse_params_t) :: pars + + integer maxpoles, npoles + double precision wia(maxpoles,pars%ipol) + + character(*),parameter :: pname = 'bse_casida: ' + + integer isp,jsp,nri,off1,off2 + integer ilo,ihi,jlo,jhi + integer nocc2(2),nvir2(2) + integer ipole,imo,jmo,amo,bmo + integer k,l,kproc,lproc,klocal,llocal,kglobal,lglobal + integer g_diag, g_tmp, g_amb, ktmp, ld, info, i, j + integer ij,jb,llia,ulia,ltmp2,ltmp3,ktmp2,ktmp3 + double precision temp(maxpoles),factor + + double precision, external :: ddot + +#ifdef USE_OPENMP + call util_blas_set_num_threads(pars%iMaxthreads) +#endif + + nri = pars%nri + npoles = pars%npoles(1) + if (pars%ipol.gt.1) npoles = npoles + pars%npoles(2) + if (.not.nga_create(mt_dbl,1,npoles,'apb',0,pars%g_apb)) + $ call errquit(pname//'could not create wia',0,GA_ERR) + if (.not.nga_create(mt_dbl,1,npoles,'amb',0,pars%g_amb)) + $ call errquit(pname//'could not create wia',0,GA_ERR) + if(.not.ma_push_get(mt_dbl,nri,'dia',ltmp2,ktmp2)) + & call errquit(pname//'failed to allocate Delta_ia',0,MA_ERR) + if(.not.ma_push_get(mt_dbl,nri,'dia',ltmp3,ktmp3)) + & call errquit(pname//'failed to allocate Delta_ia',0,MA_ERR) + + factor = 2d0 + if ((pars%singlet) .and. (pars%ipol.eq.1)) factor = 4d0 + if ((pars%triplet) .and. (pars%ipol.eq.1)) factor = 0d0 + if (pars%tda) factor = factor/2d0 + + do isp=1,pars%ipol + off1 = (isp-1)*pars%npoles(1) + + ! Eigenvalue differences + call ga_distribution(pars%g_eriov(isp),pars%me,ilo,ihi,jlo,jhi) + call dcopy(jhi-jlo+1,wia(1,isp),1,temp,1) + + ! Screened Coulomb from A + do ipole=jlo,jhi + imo = (ipole-1)/pars%nvir(isp) + 1 + amo = ipole - (imo-1)*pars%nvir(isp) + imo = imo + (imo-1)*pars%nocc(isp) + amo = amo + (amo-1)*pars%nvir(isp) + call ga_get(pars%g_erioo(isp),1,nri,imo,imo,dbl_mb(ktmp2),nri) + call ga_get(pars%g_erivv(isp),1,nri,amo,amo,dbl_mb(ktmp3),nri) + temp(ipole-jlo+1) = temp(ipole-jlo+1) - + $ ddot(nri,dbl_mb(ktmp2),1,dbl_mb(ktmp3),1) + enddo + call nga_put(pars%g_apb,jlo+off1,jhi+off1,temp,jhi-jlo+1) + call nga_put(pars%g_amb,jlo+off1,jhi+off1,temp,jhi-jlo+1) + + ! Screened Coulomb from B + if (.not.pars%tda) then + call ga_access(pars%g_wov(isp),ilo,ihi,jlo,jhi,ktmp,ld) + do ipole=jlo,jhi + temp(ipole-jlo+1) = ddot(nri,dbl_mb(ktmp+(ipole-jlo)*nri),1, + $ dbl_mb(ktmp+(ipole-jlo)*nri),1) + enddo + call nga_acc(pars%g_apb,jlo+off1,jhi+off1,temp,jhi-jlo+1,-1d0) + call nga_acc(pars%g_amb,jlo+off1,jhi+off1,temp,jhi-jlo+1,1d0) + call ga_release(pars%g_wov(isp),ilo,ihi,jlo,jhi) + endif + + ! Hartree term + call ga_access(pars%g_eriov(isp),ilo,ihi,jlo,jhi,ktmp,ld) + do ipole=jlo,jhi + temp(ipole-jlo+1) = + $ factor*ddot(nri,dbl_mb(ktmp+(ipole-jlo)*nri),1, + $ dbl_mb(ktmp+(ipole-jlo)*nri),1) + enddo + call nga_acc(pars%g_apb,jlo+off1,jhi+off1,temp,jhi-jlo+1,1d0) + call ga_release(pars%g_eriov(isp),ilo,ihi,jlo,jhi) + + enddo + + if(.not.ma_chop_stack(ltmp2)) + $ call errquit('bse_davidson_diagonal: chop stack',0,MA_ERR) + + call ga_sync() + + end subroutine diff --git a/src/bsemol/bse_davidson_guess.F b/src/bsemol/bse_davidson_guess.F new file mode 100644 index 0000000000..fb2ff21166 --- /dev/null +++ b/src/bsemol/bse_davidson_guess.F @@ -0,0 +1,141 @@ + subroutine bse_davidson_guess(pars,diagonal,g_trials,npoles, + $ ntrials,nroots) + + implicit none + +#include "bse.fh" +#include "stdio.fh" +#include "mafdecls.fh" +#include "cdft.fh" + + type(bse_params_t) :: pars + integer npoles,ntrials,nroots,g_trials + double precision diagonal(npoles) + double precision amb(npoles) + + character*4 oname,vname + logical found + integer amo,imo,itrial,ipole,jpole,indeces(ntrials) + integer isym,jsym,i,j,pol,idum + integer allindeces(npoles) + double precision minimum + logical swapped + + call nga_get(pars%g_apb,1,npoles,diagonal,npoles) + call nga_get(pars%g_amb,1,npoles,amb,npoles) + + if (.not.pars%tda) then + diagonal(:) = diagonal(:)*amb(:) + endif + indeces(:) = -1 + allindeces(:) = -1 + + do ipole=1,npoles + allindeces(ipole) = ipole + enddo + + do ipole=npoles-1,1,-1 + swapped = .false. + do jpole=1,ipole + if (diagonal(allindeces(jpole)).gt. + $ diagonal(allindeces(jpole+1))) then + idum = allindeces(jpole) + allindeces(jpole) = allindeces(jpole+1) + allindeces(jpole+1) = idum + swapped = .true. + endif + enddo + if(.not.swapped) exit + enddo + + if (pars%dowindow) then + do ipole=1,npoles + if (dsqrt(diagonal(allindeces(ipole))).ge.pars%elower) then + if (ipole+ntrials-1.gt.npoles) then + indeces(1:ntrials) = allindeces(npoles-ntrials+1:npoles) + else + indeces(1:ntrials) = allindeces(ipole:ipole+ntrials-1) + endif + exit + endif + enddo + else + indeces(1:ntrials) = allindeces(1:ntrials) + endif + + ! Get the indeces of the smallest diagonal elements + ! within energy window +#if 0 + do itrial=1,ntrials + minimum = 1d6 + do ipole=1,npoles + if (abs(diagonal(ipole)).lt.minimum) then + if (pars%dowindow) then + else + found = .true. + endif + do jpole=1,itrial + if (ipole.eq.indeces(jpole)) then + found = .false. + exit + endif + enddo + if (found) then + indeces(itrial) = ipole + minimum = abs(diagonal(ipole)) + endif + endif + enddo + enddo +#endif + + ! Get symmetry of ground state + isym = 1 + if (pars%ipol.eq.2) then + do i=1,pars%ipol + do j=1,pars%nocc(i) + isym = ieor(isym-1,int_mb(pars%k_irs(i)+j-1)-1)+1 + enddo + enddo + endif + call sym_irrepname(geom, isym, oname) + + + ! Start the guess vector + write(LuOut,*) + write(LuOut,9000) nroots + write(LuOut,9020) + write(LuOut,9010) + write(LuOut,9020) + do itrial=1,ntrials + ipole = indeces(itrial) + call ga_put(g_trials,ipole,ipole,itrial,itrial,1d0,1) + if(itrial.gt.nroots) cycle + + ! Print information + if (ipole.le.pars%npoles(1)) then + imo = (ipole-1)/pars%nvir(1) + 1 + amo = ipole - (imo-1)*pars%nvir(1) + pars%nocc(1) + jsym = ieor(isym-1,int_mb(pars%k_irs(1)+imo-1)-1)+1 + jsym = ieor(jsym-1,int_mb(pars%k_irs(1)+amo-1)-1)+1 + pol = 1 + else + imo = (ipole - pars%npoles(1) - 1)/pars%nvir(2) + 1 + amo = ipole - pars%npoles(1) - (imo-1)*pars%nvir(2) + + $ pars%nocc(2) + jsym = ieor(isym-1,int_mb(pars%k_irs(2)+imo-1)-1)+1 + jsym = ieor(jsym-1,int_mb(pars%k_irs(2)+amo-1)-1)+1 + pol = 2 + endif + call sym_irrepname(geom, jsym, vname) + write(luout,9030) itrial,pol,imo,amo,vname, + $ dsqrt(diagonal(ipole))*27.211396d0 + enddo + + 9000 format(i5,' smallest diagonals (eV) ') + 9010 format(' No. Spin Occ Vir Irrep Diag') + 9020 format('------------------------------------') + 9030 format(4i5,3x,a4,1x,f8.3) + + end subroutine + diff --git a/src/bsemol/bse_davidson_kortho.F b/src/bsemol/bse_davidson_kortho.F new file mode 100644 index 0000000000..91d5a8fc04 --- /dev/null +++ b/src/bsemol/bse_davidson_kortho.F @@ -0,0 +1,74 @@ + subroutine bse_davidson_kortho(pars,v,kv,mkv,vkv,work,npoles,n,m, + $ first) + + implicit none +#include "bse.fh" +#include "mafdecls.fh" +#include "errquit.fh" + + type(bse_params_t) :: pars + logical first + integer npoles,n,m + + integer l_work,k_work,info,i,j,k + + double precision rdum + double precision v(npoles,n),kv(npoles,n),mkv(npoles,n) + double precision vkv(n,n),eig(n),work(npoles,n) + double precision sqrtvkv(n,n) + + ! V**T K V + call dgemm('t','n',n,n,npoles,1d0,v,npoles,kv,npoles,0d0,vkv,n) + call ga_dgop((/14/),vkv,n*n,'+') + + ! Allocate work field + call dsyev('v','l',n,vkv,n,eig,rdum,-1,info) + if(.not.ma_push_get(mt_dbl,int(rdum),'work',l_work,k_work)) + $ call errquit('bse_kortho: failed to allocate work',199,MA_ERR) + + ! Diagonalize matrix + call dsyev('v','l',n,vkv,n,eig,dbl_mb(k_work),int(rdum),info) + if (info.ne.0) + $ call errquit("bse_davidson_kortho: diago failed",0,0) + + ! Deallocate field + if (.not.ma_chop_stack(l_work)) + $ call errquit('bse_kortho: failed to deallocate work',199,MA_ERR) + + ! Remove small eigenpairs + m = n + k = 1 + 100 continue + do i=k,m + if (eig(i).lt.1d-9) then + do j=i+1,n + eig(j-1) = eig(j) + vkv(:,j-1) = vkv(:,j) + enddo + m = m - 1 + k = i + goto 100 + endif + enddo + + ! Obtain VKV^(-1/2) + do i=1,m + vkv(:,i) = vkv(:,i)/dsqrt(eig(i)) + enddo + + if (m.eq.0) return + + ! Obtain orthogonalized vectors + call dgemm('n','n',npoles,m,n,1d0,v,npoles,vkv,n,0d0,work,npoles) + call dcopy(npoles*m,work,1,v,1) + + if (first) return + + call dgemm('n','n',npoles,m,n,1d0,kv,npoles,vkv,n,0d0,work,npoles) + call dcopy(npoles*m,work,1,kv,1) + + call dgemm('n','n',npoles,m,n,1d0,mkv,npoles,vkv,n,0d0,work, + $ npoles) + call dcopy(npoles*m,work,1,mkv,1) + + end subroutine diff --git a/src/bsemol/bse_davidson_kvec.F b/src/bsemol/bse_davidson_kvec.F new file mode 100644 index 0000000000..407e3df579 --- /dev/null +++ b/src/bsemol/bse_davidson_kvec.F @@ -0,0 +1,159 @@ + subroutine bse_davidson_kvec(pars,vec,wia,kv,npoles,ntrials, + $ dohartree,sgn) + implicit none +#include "bse.fh" +#include "global.fh" +#include "mafdecls.fh" +#include "errquit.fh" + + type(bse_params_t) :: pars + + integer npoles,ntrials + integer vec,wia,kv,mv + double precision sgn + + logical dohartree + + integer ipol,npoles1,npoles2,uli,lli,ipole,off1 + integer nocc(2),nvir(2),amo,imo,itrial,ula,lla,nri + integer ilo,ihi,jlo,jhi,ld,ld2, myld + + integer l_tmp1,k_tmp1,k_eriov,isp,k_vec,k_erivv + integer g_tmp1, g_tmp2, g_tmp3, g_tmp4, k_tmp + integer subscript(2), k_tmp3 + double precision temp(npoles),factor + + ipol = pars%ipol + nri = pars%nri + nocc = pars%nocc + nvir = pars%nvir + npoles1 = nocc(1)*nvir(1) + npoles2 = nocc(2)*nvir(2) + + call ga_zero(kv) + call ga_copy(vec,kv) + + if (pars%tda .and. (sgn.eq.-1d0)) return + + call ga_scale_rows(kv,wia) + + ! Screened Coulomb A + do isp=1,pars%ipol + off1 = (isp-1)*pars%npoles(1) + subscript = (/pars%me+(isp-1)*ga_nnodes(),0/) + + if(.not.ga_create(mt_dbl,pars%nvir(isp),pars%nocc(isp),'g_tmp1', + $ 0,pars%nocc(isp),g_tmp1)) + $ call errquit('bse_kvec: ga_create failed',42,GA_ERR) + call ga_zero(g_tmp1) + if(.not.ga_create(mt_dbl,nri,pars%nvir(isp),'g_tmp2', + $ nri,0,g_tmp2)) + $ call errquit('bse_kvec: ga_create failed',45,GA_ERR) + call ga_zero(g_tmp2) + if(.not.ga_create(mt_dbl,nri*pars%nvir(isp),1,'g_tmp3', + $ 0,1,g_tmp3)) + $ call errquit('bse_kvec: ga_create failed',48,GA_ERR) + call ga_zero(g_tmp3) + if(.not.ga_create(mt_dbl,pars%npoles(isp),1,'g_tmp4', + $ 0,1,g_tmp4)) + $ call errquit('bse_kvec: ga_create failed',48,GA_ERR) + call ga_zero(g_tmp4) + + call nga_access_block_grid(vec,subscript,k_vec,ld2) + call ga_distribution(pars%g_erivv(isp),pars%me,ilo,ihi,jlo,jhi) + call ga_access(pars%g_erivv(isp),ilo,ihi,jlo,jhi,k_erivv,ld) + call ga_access(g_tmp3,ilo,ihi,1,1,k_tmp3,ld) + + do itrial=1,ntrials + call nga_copy_patch('n',vec,(/off1+1,itrial/), + $ (/off1+pars%npoles(isp),itrial/),g_tmp4, + $ (/1,1/),(/pars%npoles(isp),1/)) + call ga_copy_patch('n',g_tmp4,1,pars%npoles(isp),1,1, + $ g_tmp1,1,pars%nvir(isp),1,pars%nocc(isp)) + do imo=1,pars%nocc(isp) + lli = (imo-1)*pars%nocc(isp) + 1 + uli = imo*pars%nocc(isp) + call ga_matmul_patch('n','t',1d0,0d0, + $ pars%g_erioo(isp),1,nri,lli,uli, + $ g_tmp1,1,pars%nocc(isp),1,pars%nvir(isp), + $ g_tmp2,1,nri,1,pars%nvir(isp)) + call ga_copy_patch('n',g_tmp2,1,nri,1,pars%nvir(isp), + $ g_tmp3,1,nri*pars%nvir(isp),1,1) + call dgemv('t',ld,pars%nvir(isp),-1d0,dbl_mb(k_erivv),ld, + $ dbl_mb(k_tmp3),1,0d0,temp((imo-1)*pars%nvir(isp)+1),1) + enddo + call nga_acc(kv,(/1+off1,itrial/), + $ (/pars%npoles(isp)+off1,itrial/),temp,npoles,1d0) + enddo + if(.not. (ga_destroy(g_tmp1).and.ga_destroy(g_tmp2).and. + $ ga_destroy(g_tmp3).and.ga_destroy(g_tmp4))) + $ call errquit('bse_davidson_kvec: ga_destroy_failed',68,GA_ERR) + + call ga_release(pars%g_erivv(isp),ilo,ihi,jlo,jhi) + call ga_release_update(g_tmp3,ilo,ihi,1,1) + call nga_release_block_grid(vec,subscript) + enddo + call ga_sync() + + if (.not.ma_push_get(mt_dbl,nri*ntrials,'tmp1',l_tmp1,k_tmp1)) + $ call errquit('bse_davidson_kvec: MA push failed',73,MA_ERR) + + ! Hartree + if (dohartree) then + factor = 4d0/pars%ipol + if (pars%tda) factor = factor/2d0 + call dcopy(nri*ntrials,0d0,0,dbl_mb(k_tmp1),1) + do isp=1,pars%ipol + off1 = (isp-1)*pars%npoles(1) + subscript = (/pars%me+(isp-1)*ga_nnodes(),0/) + call ga_distribution(pars%g_eriov(isp),pars%me,ilo,ihi,jlo,jhi) + call ga_access(pars%g_eriov(isp),ilo,ihi,jlo,jhi,k_eriov,ld) + call nga_access_block_grid(vec,subscript,k_vec,ld) + call dgemm('n','n',nri,ntrials,ld,1d0,dbl_mb(k_eriov),nri, + $ dbl_mb(k_vec),ld,1d0,dbl_mb(k_tmp1),nri) + call ga_release(pars%g_eriov(isp),ilo,ihi,jlo,jhi) + call nga_release_block_grid(vec,subscript) + enddo + call ga_dgop((/93/),dbl_mb(k_tmp1),nri*ntrials,'+') + + do isp=1,pars%ipol + off1 = (isp-1)*pars%npoles(1) + subscript = (/pars%me+(isp-1)*ga_nnodes(),0/) + call ga_distribution(pars%g_eriov(isp),pars%me,ilo,ihi,jlo,jhi) + call ga_access(pars%g_eriov(isp),ilo,ihi,jlo,jhi,k_eriov,ld) + call nga_access_block_grid(kv,subscript,k_vec,ld) + call dgemm('t','n',ld,ntrials,nri,factor,dbl_mb(k_eriov),nri, + $ dbl_mb(k_tmp1),nri,1d0,dbl_mb(k_vec),ld) + call ga_release(pars%g_eriov(isp),ilo,ihi,jlo,jhi) + call nga_release_update_block_grid(kv,subscript) + enddo + endif + + ! Screened Coulomb B + if(.not.pars%tda) then + + do isp=1,pars%ipol + off1 = (isp-1)*pars%npoles(1) + subscript = (/pars%me+(isp-1)*ga_nnodes(),0/) + call ga_distribution(pars%g_wov(isp),pars%me,ilo,ihi,jlo,jhi) + call ga_access(pars%g_wov(isp),ilo,ihi,jlo,jhi,k_eriov,ld) + call nga_access_block_grid(vec,subscript,k_vec,ld) + call dgemm('n','n',nri,ntrials,ld,-1d0,dbl_mb(k_eriov),nri, + $ dbl_mb(k_vec),ld,0d0,dbl_mb(k_tmp1),nri) + call nga_release_block_grid(vec,subscript) + + call ga_dgop((/115/),dbl_mb(k_tmp1),nri*ntrials,'+') + + call nga_access_block_grid(kv,subscript,k_vec,ld) + call dgemm('t','n',ld,ntrials,nri,sgn,dbl_mb(k_eriov),nri, + $ dbl_mb(k_tmp1),nri,1d0,dbl_mb(k_vec),ld) + call ga_release(pars%g_wov(isp),ilo,ihi,jlo,jhi) + call nga_release_update_block_grid(kv,subscript) + enddo + + endif + + if (.not.ma_chop_stack(l_tmp1)) + $ call errquit('bse_kvec: failed chop stack',122,MA_ERR) + + end diff --git a/src/bsemol/bse_davidson_newvecs.F b/src/bsemol/bse_davidson_newvecs.F new file mode 100644 index 0000000000..2726a54934 --- /dev/null +++ b/src/bsemol/bse_davidson_newvecs.F @@ -0,0 +1,79 @@ + subroutine bse_davidson_newvecs(ntrials,ndim,npoles,g_x,g_y, + $ g_ym,g_s,g_ks,g_mks,g_w,g_kw,g_mkw,lvkv,vkv,map, + $ nblocks) + + implicit none +#include "global.fh" +#include "mafdecls.fh" +#include "errquit.fh" + + integer ntrials,ndim,npoles,nblocks + integer g_x,g_y,g_ym,g_s,g_ks,g_mks + integer g_w,g_kw,g_mkw,lvkv,vkv + integer map(nblocks),grid(2) + + logical stat + + grid = (/ga_nnodes(),1/) + + ! Save working vectors + call ga_copy(g_s,g_x) + call ga_copy(g_ks,g_y) + call ga_copy(g_mks,g_ym) + + ! Destroy working vectors + stat = ga_destroy(g_s).and.ga_destroy(g_ks).and.ga_destroy(g_mks) + if(.not.stat) + $ call errquit('bse_davidson_newvecs: destroy failed',1,GA_ERR) + + ! Create new working vectors + g_s = ga_create_handle() + call ga_set_data(g_s,2,(/npoles,ntrials+ndim/),mt_dbl) + call ga_set_array_name(g_s,'s') + call ga_set_tiled_irreg_proc_grid(g_s,map,(/nblocks,1/),grid) + stat = ga_allocate(g_s) + + stat = stat.and.ga_duplicate(g_s,g_ks,'ks').and. + $ ga_duplicate(g_s,g_mks,'mks') + if(.not.stat) + $ call errquit('bse_davidson_newvecs: create failed',1,GA_ERR) + + + ! Copy back old working vectors plus new vectors + call ga_copy_patch('n',g_x,1,npoles,1,ntrials, + $ g_s,1,npoles,1,ntrials) + call ga_copy_patch('n',g_w,1,npoles,1,ndim, + $ g_s,1,npoles,ntrials+1,ntrials+ndim) + + call ga_copy_patch('n',g_y,1,npoles,1,ntrials, + $ g_ks,1,npoles,1,ntrials) + call ga_copy_patch('n',g_kw,1,npoles,1,ndim, + $ g_ks,1,npoles,ntrials+1,ntrials+ndim) + + call ga_copy_patch('n',g_ym,1,npoles,1,ntrials, + $ g_mks,1,npoles,1,ntrials) + call ga_copy_patch('n',g_mkw,1,npoles,1,ndim, + $ g_mks,1,npoles,ntrials+1,ntrials+ndim) + + ! Update ntrials + ntrials = ntrials + ndim + + ! Destroy old solutions + stat = ga_destroy(g_x).and.ga_destroy(g_y).and.ga_destroy(g_ym) + if(.not.stat) + $ call errquit('bse_davidson_newvecs: destroy failed',2,GA_ERR) + + ! Create new solutions + stat = ga_duplicate(g_s,g_x,'x').and. + $ ga_duplicate(g_s,g_y,'y').and. + $ ga_duplicate(g_s,g_ym,'ym') + if(.not.stat) + $ call errquit('bse_davidson_newvecs: create failed',2,GA_ERR) + + ! Reallocate VKV + if(.not.ma_chop_stack(lvkv)) + $ call errquit('bse_davidson_restart: alloc failed',3,MA_ERR) + if(.not.ma_push_get(mt_dbl,ntrials*ntrials,'vkv',lvkv,vkv)) + $ call errquit('bse_davidson_restart: dealloc failed',3,MA_ERR) + + end subroutine diff --git a/src/bsemol/bse_davidson_residual.F b/src/bsemol/bse_davidson_residual.F new file mode 100644 index 0000000000..b712346688 --- /dev/null +++ b/src/bsemol/bse_davidson_residual.F @@ -0,0 +1,32 @@ + subroutine bse_davidson_residual(nroots,ntrials,omega,x,ym,r,dia, + $ w,npoles,ndim,norm) + implicit none + + logical main + integer nroots,npoles,ntrials,ndim + double precision omega(nroots) + double precision ym(npoles,nroots),r(npoles) + double precision x(npoles,nroots),dia(npoles),w(npoles,nroots) + + logical consecutive + integer iroot + double precision norm(nroots) + + consecutive = .true. + ndim = 0 + do iroot=1,nroots + r(:) = ym(:,iroot) - omega(iroot)*x(:,iroot) + norm(iroot) = maxval(abs(r)) + call ga_dgop((/1/),norm(iroot),1,"maxabs") + if (consecutive .and. norm(iroot).gt.1d-4) consecutive = .false. + if ((norm(iroot).gt.1d-4) .or. (.not.consecutive)) then + ndim = ndim + 1 + w(:,ndim) = r(:)/(dia(:) - omega(iroot)) + endif + enddo + + end subroutine + + + + diff --git a/src/bsemol/bse_davidson_restart.F b/src/bsemol/bse_davidson_restart.F new file mode 100644 index 0000000000..5431f5639e --- /dev/null +++ b/src/bsemol/bse_davidson_restart.F @@ -0,0 +1,78 @@ + subroutine bse_davidson_restart(ntrials,nroots,npoles,g_x,g_y, + $ g_ym,g_s,g_ks,g_mks,g_trials, + $ lvkv,vkv,map,nblocks) + + implicit none +#include "global.fh" +#include "mafdecls.fh" +#include "errquit.fh" + + integer ntrials,nroots,npoles,nblocks + integer g_x,g_y,g_ym,g_s,g_ks,g_mks,lvkv,vkv + integer map(nblocks),grid(2),g_trials + + logical stat + + grid = (/ga_nnodes(),1/) + + ! Reset the number of trials + ntrials = nroots + + ! Copy current solutions + call ga_copy_patch('n',g_x,1,npoles,1,ntrials, + $ g_trials,1,npoles,1,ntrials) +! call ga_copy_patch('n',g_y,1,npoles,1,ntrials, +! $ g_ks,1,npoles,1,ntrials) +! call ga_copy_patch('n',g_ym,1,npoles,1,ntrials, +! $ g_mks,1,npoles,1,ntrials) + + ! Destroy current solutions + stat = ga_destroy(g_x).and.ga_destroy(g_y).and.ga_destroy(g_ym) + if (.not.stat) + $ call errquit('bse_davidson_restar: failed destroy',1,GA_ERR) + + ! Re-create new solutions + g_x = ga_create_handle() + call ga_set_data(g_x,2,(/npoles,ntrials/),mt_dbl) + call ga_set_array_name(g_x,'x') + call ga_set_tiled_irreg_proc_grid(g_x,map,(/nblocks,1/),grid) + stat = ga_allocate(g_x) + + stat = stat.and.ga_duplicate(g_x,g_y,'y').and. + $ ga_duplicate(g_x,g_ym,'ym') + if (.not.stat) + $ call errquit('bse_davidson_restar: failed create',1,GA_ERR) + + ! Copy back solutions +! call ga_copy_patch('n',g_s,1,npoles,1,ntrials, +! $ g_x,1,npoles,1,ntrials) +! call ga_copy_patch('n',g_ks,1,npoles,1,ntrials, +! $ g_y,1,npoles,1,ntrials) +! call ga_copy_patch('n',g_mks,1,npoles,1,ntrials, +! $ g_ym,1,npoles,1,ntrials) + + ! Destroy working vectors + stat = ga_destroy(g_s).and.ga_destroy(g_ks).and.ga_destroy(g_mks) + if (.not.stat) + $ call errquit('bse_davidson_restar: failed destroy',2,GA_ERR) + + ! Re-create new solutions + stat = ga_duplicate(g_x,g_s,'s').and. + $ ga_duplicate(g_x,g_ks,'ks').and. + $ ga_duplicate(g_x,g_mks,'mks') + + if (.not.stat) + $ call errquit('bse_davidson_restar: failed create',2,GA_ERR) + + ! Copy current solutions +! call ga_copy(g_x,g_s) +! call ga_copy(g_y,g_ks) +! call ga_copy(g_ym,g_mks) + + ! Reallocate VKV + if(.not.ma_chop_stack(lvkv)) + $ call errquit('bse_davidson_restart: alloc failed',3,MA_ERR) + if(.not.ma_push_get(mt_dbl,ntrials*ntrials,'vkv',lvkv,vkv)) + $ call errquit('bse_davidson_restart: dealloc failed',3,MA_ERR) + + end subroutine diff --git a/src/bsemol/bse_defaults.F b/src/bsemol/bse_defaults.F new file mode 100644 index 0000000000..bc8d9062b6 --- /dev/null +++ b/src/bsemol/bse_defaults.F @@ -0,0 +1,33 @@ + subroutine bse_defaults(rtdb) + + implicit none + +#include "errquit.fh" +#include "mafdecls.fh" +#include "rtdb.fh" + + integer rtdb + logical ok + + ok = rtdb_put(rtdb,'bse:analytic',mt_log,1,.true.) .and. + & rtdb_put(rtdb,'bse:davidson',mt_log,1,.false.) .and. + & rtdb_put(rtdb,'bse:lanczos',mt_log,1,.false.) .and. + & rtdb_put(rtdb,'bse:tda',mt_log,1,.false.) .and. + & rtdb_put(rtdb,'bse:ncap',mt_log,1,.false.) .and. + & rtdb_put(rtdb,'bse:ncapr',mt_log,1,.false.) .and. + & rtdb_put(rtdb,'bse:singlet',mt_log,1,.true.) .and. + & rtdb_put(rtdb,'bse:triplet',mt_log,1,.false.) .and. + & rtdb_put(rtdb,'bse:dowindow',mt_log,1,.false.) .and. + & rtdb_put(rtdb,'bse:elower',mt_dbl,1,0d0) .and. + & rtdb_put(rtdb,'bse:upper',mt_dbl,1,0d0) .and. + & rtdb_put(rtdb,'bse:nroots',mt_int,1,10) .and. + & rtdb_put(rtdb,'bse:nmax',mt_int,1,200) .and. + & rtdb_put(rtdb,'bse:skipgw',mt_log,1,.false.) .and. + & rtdb_put(rtdb,'bse:maxiter',mt_int,1,100) .and. + & rtdb_put(rtdb,'bse:nspace',mt_int,1,4) .and. + & rtdb_put(rtdb,'bse:init',mt_log,1,.true.) + + if (.not.ok) + & call errquit('bse_defaults: could not put to rtdb',0,RTDB_ERR) + + end subroutine bse_defaults diff --git a/src/bsemol/bse_finalize.F b/src/bsemol/bse_finalize.F new file mode 100644 index 0000000000..ceee6144b6 --- /dev/null +++ b/src/bsemol/bse_finalize.F @@ -0,0 +1,38 @@ + subroutine bse_finalize(pars) + implicit none +#include "errquit.fh" +#include "mafdecls.fh" +#include "global.fh" +#include "geom.fh" +#include "bas.fh" +#include "cdft.fh" +#include "bse.fh" + + type(bse_params_t) :: pars + character(*),parameter :: pname = 'bse_finalize: ' + + integer i + logical ok + + do i=1,ipol + if (.not.ga_destroy(pars%g_movecs(i))) + $ call errquit(pname//'failed to destroy g_movecs',0,GA_ERR) + enddo + + ok = ma_chop_stack(pars%l_mf_evals) + if (.not.ok) + & call errquit(pname//'could not chop stack',0,MA_ERR) + + call schwarz_tidy() + call int_terminate() + call fock_2e_tidy(pars%rtdb) + + if (.not.geom_destroy(geom)) + $ call errquit(pname//'geom_destroy failed',0,GEOM_ERR) + if (.not.bas_destroy(ao_bas_han)) + $ call errquit(pname//'bas_destroy failed',0,BASIS_ERR) + if (.not.bas_destroy(cd_bas_han)) + $ call errquit(pname//'bas_destroy failed',0,BASIS_ERR) + + + end subroutine diff --git a/src/bsemol/bse_get_eia.F b/src/bsemol/bse_get_eia.F new file mode 100644 index 0000000000..ccbddfb6f1 --- /dev/null +++ b/src/bsemol/bse_get_eia.F @@ -0,0 +1,15 @@ + subroutine bse_get_eia(eig,eia,nocc,nvir,llpole,ulpole) + implicit none + integer,intent(in) :: nocc,nvir + double precision,intent(in),dimension(nocc+nvir) :: eig + double precision,intent(out),dimension(*) :: eia + integer ipole,llpole,ulpole,imo,amo +c + do ipole=llpole,ulpole + imo = (ipole-1)/nvir + 1 + amo = ipole - (imo-1)*nvir + nocc + eia(ipole-llpole+1) = eig(amo) - eig(imo) + enddo +c + return + end subroutine diff --git a/src/bsemol/bse_init.F b/src/bsemol/bse_init.F new file mode 100644 index 0000000000..8f77b76a8e --- /dev/null +++ b/src/bsemol/bse_init.F @@ -0,0 +1,322 @@ + subroutine bse_init(pars) + + implicit none + +#include "errquit.fh" +#include "mafdecls.fh" +#include "cdft.fh" +#include "bas.fh" +#include "case.fh" +#include "geom.fh" +#include "global.fh" +#include "bse.fh" +#include "util.fh" +#include "stdio.fh" +#include "rtdb.fh" + +#ifdef SCALAPACK +#include "scaleig.fh" +#endif + + type(bse_params_t) :: pars + character(*), parameter :: pname = 'bse_init: ' + + character(len=255) :: basisname, scftype, gwevals + integer i, ilo, ihi, j, g_work + integer nbf_temp, ipol_temp, nocc, nvir, nmo_temp(2) + logical ldum, skipgw + + logical int_normalize, int_norm_2c + external int_normalize, int_norm_2c +c + logical movecs_read, movecs_read_header, atom_tag_check + external movecs_read, movecs_read_header, atom_tag_check +c + integer ga_create_atom_blocked + external ga_create_atom_blocked + + integer resultlen,tid,cpu,ierr,iproc,itid + character(len=80) names + double precision t0, ehomo, vxddp, vxddm, aq2, zeta + + integer,parameter :: unitno = 66 + integer :: nmix(2) + + logical ncapr + +#ifdef USE_OPENMP + integer,external :: omp_get_max_threads, omp_get_thread_num + integer,external :: omp_get_num_threads +#endif + + + ! Initialize GA variables + pars%me = ga_nodeid() + pars%nprocs = ga_nnodes() + + ! Initialize OMP variables +#ifdef USE_OPENMP + pars%iMaxThreads = omp_get_max_threads() +#else + pars%iMaxThreads = 1 +#endif + + pars%npoles(:) = 0 + + ! Get defaults in case input block is not present + if (.not.rtdb_get(pars%rtdb,'bse:init',mt_log,1,ldum)) + & call bse_defaults(pars%rtdb) + + ! Check method to solve BSE + if (.not.rtdb_get(pars%rtdb,'bse:analytic',mt_log,1, + & pars%analytic)) + & call errquit(pname//'could not read from rtdb',1,RTDB_ERR) + if (.not.rtdb_get(pars%rtdb,'bse:davidson',mt_log,1, + & pars%davidson)) + & call errquit(pname//'could not read from rtdb',2,RTDB_ERR) + if (.not.rtdb_get(pars%rtdb,'bse:lanczos',mt_log,1, + & pars%lanczos)) + & call errquit(pname//'could not read from rtdb',3,RTDB_ERR) + + if ((pars%analytic.and.(pars%davidson.or.pars%lanczos)) .or. + & (pars%davidson.and.(pars%analytic.or.pars%lanczos)) .or. + & (pars%lanczos.and.(pars%analytic.or.pars%davidson))) + & call errquit(pname//'more than one method',4,INPUT_ERR) + + if (.not.rtdb_get(pars%rtdb, 'bse:skipgw', mt_log, 1, skipgw)) + & call errquit(pname//'could not read skipgw',5, RTDB_ERR) + + ! Check wether we are computing singlet or triplet excitations + if(.not.rtdb_get(pars%rtdb,'bse:singlet',mt_log,1,pars%singlet)) + & call errquit(pname//'could not read from rtdb',1,RTDB_ERR) + if(.not.rtdb_get(pars%rtdb,'bse:triplet',mt_log,1,pars%triplet)) + & call errquit(pname//'could not read from rtdb',1,RTDB_ERR) + if((pars%singlet .and. pars%triplet).and.(pars%analytic)) then + call errquit(pname//'select either triplet or singlet',0, + & INPUT_ERR) + endif + + ! Check if we are doing Tamm-Dancoff approximation + if(.not.rtdb_get(pars%rtdb,'bse:tda',mt_log,1,pars%tda)) + & call errquit(pname//'could not read from rtdb',101,RTDB_ERR) + + ! Check if Output is restricted to an energy window + if(.not.rtdb_get(pars%rtdb,'bse:dowindow',mt_log,1,pars%dowindow)) + & call errquit(pname//'could not read from rtdb',105,RTDB_ERR) + if(pars%dowindow) then + if(.not.rtdb_get(pars%rtdb,'bse:elower',mt_dbl,1,pars%elower)) + & call errquit(pname//'could not read from rtdb',108,RTDB_ERR) + if(.not.rtdb_get(pars%rtdb,'bse:eupper',mt_dbl,1,pars%eupper)) + & call errquit(pname//'could not read from rtdb',110,RTDB_ERR) + endif + + ! Number of roots + if(.not.rtdb_get(pars%rtdb,'bse:nroots',mt_int,1,pars%nroots)) + & call errquit(pname//'could not read from rtdb',115,RTDB_ERR) + + ! Starting space size + if(.not.rtdb_get(pars%rtdb, 'bse:nspace', mt_int, 1, pars%nspace)) + & call errquit(pname//'could not read from rtdb', 119, RTDB_ERR) + + ! Maximum Number of roots + if(.not.rtdb_get(pars%rtdb,'bse:nmax',mt_int,1,pars%nmax)) + & call errquit(pname//'could not read from rtdb',123,RTDB_ERR) + if ((pars%nmax.le.5*pars%nroots).and.pars%davidson) then + call errquit(pname//'maxroots should be at least 5*nroots', + & 126,INPUT_ERR) + endif + if((pars%nroots*pars%nspace.gt.pars%nmax).and.pars%davidson) + & call errquit(pname//'maxroots should be at least nroots*nspace', + & 130, INPUT_ERR) + + ! Maximum number of iterations + if(.not.rtdb_get(pars%rtdb,'bse:maxiter',mt_int,1,pars%maxiter)) + & call errquit(pname//'could not read from rtdb',134,RTDB_ERR) + ! Get some info from DFT module + call dft_rdinput(pars%rtdb) + if (cdfit) then + if (.not.bas_destroy(cd_bas_han)) + $ call errquit(pname//'failed to destroy cd_bas',0,BASIS_ERR) + endif + if (.not.rtdb_get(pars%rtdb, 'dft:itol2e',mt_int,1,itol2e)) + $ call errquit(pname//'failed to read itol2e',0,RTDB_ERR) + pars%tol2e = 10.0d0**(-itol2e-2) + + ! Fitting basis + if (.not.bas_create(cd_bas_han,'ri basis')) + $ call errquit(pname//'bas_create failed',0,BASIS_ERR) + if (.not.bas_rtdb_load(pars%rtdb,geom,cd_bas_han,'ri basis'))then + if (.not.bas_rtdb_load(pars%rtdb,geom,cd_bas_han,'cd basis')) + $ call errquit(pname//'a "cd basis" or "ri basis" is needed',0, + $ BASIS_ERR) + endif + call int_init(pars%rtdb, 1, cd_bas_han) + if (.not.int_norm_2c(pars%rtdb, cd_bas_han)) + $ call errquit(pname//'int_norm_2c failed',0,INT_ERR) + call int_terminate() + if (.not. bas_numbf(cd_bas_han, nbf_cd)) + $ call errquit(pname//'basis set error',0,BASIS_ERR) + if (.not. bas_nprim_cn_max(cd_bas_han,nbf_cd_mxprim)) + $ call errquit(pname//'basis set error:', 86, BASIS_ERR) + if (.not. bas_high_angular(cd_bas_han,nbf_cd_mxang)) + $ call errquit(pname//'basis set error:', 86, BASIS_ERR) + if (.not. bas_ncontr_cn_max(cd_bas_han,nbf_cd_mxcont)) + $ call errquit(pname//'basis set error:', 86, BASIS_ERR) + if (.not. bas_nbf_cn_max(cd_bas_han,nbf_cd_mxnbf_cn)) + $ call errquit(pname//'basis set error:', 86, BASIS_ERR) + if (.not. bas_nbf_ce_max(cd_bas_han,nbf_cd_mxnbf_ce)) + $ call errquit(pname//'basis set error:', 86, BASIS_ERR) + if (.not. bas_numcont(cd_bas_han,nshells_cd)) + $ call errquit(pname//'basis set error:', 86, BASIS_ERR) + if (bas_is_spherical(ao_bas_han).and. + $ (.not.bas_is_spherical(cd_bas_han))) + $ call int_app_set_no_texas(pars%rtdb) + pars%nri = nbf_cd + + !Spin multiplicity, occupations + if (.not.rtdb_get(pars%rtdb,'dft:ipol',mt_int,1,ipol)) + $ call errquit(pname//'failed to read ipol',0,RTDB_ERR) + if (.not.rtdb_get(pars%rtdb, 'dft:noc',mt_int,2,noc)) + $ call errquit(pname//'failed to read noc',0,RTDB_ERR) + if (.not.rtdb_get(pars%rtdb,'dft:mult',mt_int,1,mult)) + $ call errquit(pname//'failed to read mult',0,RTDB_ERR) + pars%ipol = ipol + + ! MO vectors + if (.not. rtdb_cget(pars%rtdb, 'dft:output vectors',1,movecs_out)) + $ call errquit(pname//'no final MO found',0,RTDB_ERR) + if (.not.ma_push_get(mt_dbl,nbf_ao*ipol, + $ 'mf evals', pars%l_mf_evals, pars%k_mf_evals)) + $ call errquit(pname//'failed to allocate evals',0,MA_ERR) + if (.not.ma_push_get(mt_dbl,nbf_ao*ipol, + $ 'gw evals', pars%l_gw_evals, pars%k_gw_evals)) + $ call errquit(pname//'failed to allocate evals',0,MA_ERR) + if (.not.ma_push_get(mt_dbl,nbf_ao*ipol,'occupancies', pars%l_occ, + $ pars%k_occ)) + $ call errquit(pname//'failed to allocate occ',0,MA_ERR) + if (.not.movecs_read_header(movecs_out,title,basisname, + $ scftype,nbf_temp,ipol_temp,nmo_temp,2)) + $ call errquit(pname//'failed to read MO header',0,DISK_ERR) + if (nbf_ao.ne.nbf_temp) + $ call errquit(pname//'corrupted MO vectors',0,DISK_ERR) + if (ipol.ne.ipol_temp) + $ call errquit(pname//'corrupted MO vectors',0,DISK_ERR) + + pars%nmo = nmo_temp(1) + do i=1,ipol + pars%g_movecs(i) = ga_create_atom_blocked(geom, + $ ao_bas_han,'MO eigenvectors') + if (.not.movecs_read(movecs_out,i, + $ dbl_mb(pars%k_occ+(i-1)*nbf_ao), + $ dbl_mb(pars%k_mf_evals+(i-1)*nbf_ao), + $ pars%g_movecs(i))) + $ call errquit(pname//'failed to read MO vectors',0,DISK_ERR) + + nocc = 0 + nvir = 0 + do j=1,pars%nmo + if (dbl_mb(pars%k_occ+(i-1)*nbf_ao+j-1).gt.0.d0) then + nocc = nocc + 1 + cycle + else + nvir = nvir + 1 + endif + enddo + pars%nocc(i) = nocc + pars%nvir(i) = nvir + if (nocc+nvir.ne.pars%nmo) + $ call errquit(pname//'something went wrong',0,0) + pars%npoles(i) = pars%nocc(i)*pars%nvir(i) + enddo + + if ((pars%nroots.eq.-1).or.(pars%nroots.gt.sum(pars%npoles))) then + pars%nroots = sum(pars%npoles) + endif + + if (pars%nmax.gt.sum(pars%npoles)) then + pars%nmax = sum(pars%npoles) + endif + + + ! Obtain NCAP DD shift + 1001 format(2X,A12,F8.3,A3) + if (.not.rtdb_get(pars%rtdb,'bse:ncap',mt_log,1,pars%ncap)) + & call errquit(pname//'rtdb_get failed',176,RTDB_ERR) + if (.not.rtdb_get(pars%rtdb,'bse:ncapr',mt_log,1,ncapr)) + & call errquit(pname//'rtdb_get failed',176,RTDB_ERR) + + pars%ncap = ncapr .or. pars%ncap + + if (pars%ncap) then + zeta = 0.304121d0 + if (abs(xfac(87)).gt.1d-10) zeta=0.5d0 + aq2 = 2d0/9d0 * (1d0-zeta)**2 + do i=1,ipol + ehomo = dbl_mb(pars%k_mf_evals+(i-1)*nbf_ao+pars%nocc(i)-1) + vxddp = -0.5d0*aq2*(1d0 + sqrt(1d0-4d0*ehomo/aq2))!*0.85d0 + vxddm = -0.5d0*aq2*(1d0 - sqrt(1d0-4d0*ehomo/aq2))!*0.85d0 + pars%vxddp(i) = vxddp + pars%vxddm(i) = vxddm + if (pars%me.eq.0) then + write(luout,*) ' Shifting eigvals by 100% NCAP DD' + write(luout,1001) ' v_x^{DD-}: ',vxddp*ha2ev, ' eV' + write(luout,1001) ' v_x^(DD+): ',vxddm*ha2ev, ' eV' + endif + call daxpy(pars%nocc(i),1d0,vxddp,0, + & dbl_mb(pars%k_mf_evals+(i-1)*nbf_ao),1) + call daxpy(pars%nvir(i),1d0,vxddm,0, + & dbl_mb(pars%k_mf_evals+(i-1)*nbf_ao+pars%nocc(i)),1) + enddo + endif + + ! Read GW QP energies + !if (.not.pars%ncap) then + if(skipgw) then + call dcopy(nbf_ao*pars%ipol,dbl_mb(pars%k_mf_evals),1, + & dbl_mb(pars%k_gw_evals),1) + else + call util_file_name('gwevals',.false.,.false.,gwevals) + call util_file_name_resolve(gwevals,.false.) + if (pars%me.eq.0) then + open(unit=unitno,status='old',form='unformatted',file=gwevals) + do i=1,pars%ipol + call sread(unitno, dbl_mb(pars%k_gw_evals+(i-1)*nbf_ao), + & pars%nmo) + enddo + close(unit=unitno) + endif + call ga_brdcst(mt_dbl,dbl_mb(pars%k_gw_evals), + & ma_sizeof(mt_dbl,nbf_ao*pars%ipol,mt_byte),0) + endif + + !3-center ERIs + call int_init(pars%rtdb, 2, (/ao_bas_han, cd_bas_han/)) + call print_integrals((/ao_bas_han,cd_bas_han/),.false.) + call schwarz_init(geom, ao_bas_han) + call scf_get_fock_param(pars%rtdb, pars%tol2e) + + ! Obtain irreps information + do i=1,ipol + if(.not.ma_push_get(mt_int,nbf_ao,'irreps',pars%l_irs(i), + $ pars%k_irs(i))) call errquit + $ ('bse_init: failed to allocate irs',0,MA_ERR) + if(.not.ga_create(mt_dbl,nbf_ao,pars%nmo,'Work',nbf_ao,-1, + $ g_work)) + $ call errquit('bse_init: failed to allocate work',0,GA_ERR) + call ga_copy_patch('n',pars%g_movecs(i),1,nbf_ao,1,pars%nmo, + $ g_work,1,nbf_ao,1,pars%nmo) + call sym_movecs_adapt(ao_bas_han, 1.0d-8, g_work, + $ int_mb(pars%k_irs(i)),nmix(i)) + if(.not.ga_destroy(g_work)) call errquit + $ ('bse_init: failed to destroy g_work',0, GA_ERR) + enddo + + !Clean previous grid + call grid_cleanup(.false.) + + !Print expected memory requirements + + !Compute three-center integrals + call bse_ri_init(pars) + + end subroutine bse_init diff --git a/src/bsemol/bse_input.F b/src/bsemol/bse_input.F new file mode 100644 index 0000000000..74729f7723 --- /dev/null +++ b/src/bsemol/bse_input.F @@ -0,0 +1,169 @@ + subroutine bse_input(rtdb) +c +c Input parser for molecular BSE module +c +c Daniel Mejia-Rodriguez +c November 2022 +c + implicit none +c +#include "errquit.fh" +#include "util.fh" +#include "inp.fh" +#include "rtdb.fh" +#include "mafdecls.fh" +#include "stdio.fh" +c + integer rtdb + character*255 test + character(*), parameter :: pname = "bse_input: " +c + integer, parameter :: num_dirs = 13 + character*11 dirs(num_dirs) + data dirs / 'method','tda','ncap','ncapr','singlet','triplet', + & 'outwin', 'nroots', 'maxroots', 'skipgw', 'maxiter', + & 'nstart', 'end' / +c + integer ind, itemp + double precision threshold, eta, temp + double precision, parameter :: ha2ev = 27.211386245988d0 +c +c Set default values and put them in RTDB +c + call bse_defaults(rtdb) +c +c Parse the input file +c + 10 if (.not. inp_read()) then + call errquit(pname//'failed to read input',0,INPUT_ERR) + endif +c + if (.not. inp_a(test)) then + call errquit(pname//'failed to read keyword',0,INPUT_ERR) + endif +c + if (.not.inp_match(num_dirs, .false., test, dirs, ind)) then + call errquit(pname//'unknown directive', 0, INPUT_ERR) + end if +c + goto (100, 200, 300, 301, 400, 500, 600, 700, 800, 900, 1000, + & 1100, 9999) ind + + call errquit(pname//'unknown directive',ind, INPUT_ERR) +c +c ----------------------------------------------------------------- +c +c method +c + 100 if (.not. inp_a(test)) + & call errquit(pname//'could not read method', 100, INPUT_ERR) + + if (inp_compare(.false.,'analytic',test)) then + if (.not.rtdb_put(rtdb, 'bse:analytic', mt_log, 1, .true.)) + & call errquit(pname//'rtdb_put failed', 101, RTDB_ERR) + elseif (inp_compare(.false.,'davidson',test)) then + if (.not.rtdb_put(rtdb, 'bse:davidson', mt_log, 1, .true.)) + & call errquit(pname//'rtdb_put failed', 102, RTDB_ERR) + if (.not.rtdb_put(rtdb, 'bse:analytic', mt_log, 1, .false.)) + & call errquit(pname//'rtdb_put failed', 101, RTDB_ERR) + elseif (inp_compare(.false.,'lanczos',test)) then + if (.not.rtdb_put(rtdb, 'bse:lanczos', mt_log, 1, .true.)) + & call errquit(pname//'rtdb_put failed', 103, RTDB_ERR) + if (.not.rtdb_put(rtdb, 'bse:analytic', mt_log, 1, .false.)) + & call errquit(pname//'rtdb_put failed', 101, RTDB_ERR) + else + call errquit(pname//'unknown BSE method',104,INPUT_ERR) + endif + goto 10 +c +c use Tamm-Dancoff approximation +c + 200 if (.not.rtdb_put(rtdb, 'bse:tda', mt_log, 1, .true.)) + & call errquit(pname//'rtdb_put failed', 200, RTDB_ERR) + goto 10 +c +c use NCAP DD correction for eigenvalues +c + 300 if (.not.rtdb_put(rtdb, 'bse:ncap', mt_log, 1, .true.)) + & call errquit(pname//'rtdb_put failed', 300, RTDB_ERR) + goto 10 +c +c use NCAPR DD correction for eigenvalues +c + 301 if (.not.rtdb_put(rtdb, 'bse:ncapr', mt_log, 1, .true.)) + & call errquit(pname//'rtdb_put failed', 301, RTDB_ERR) + goto 10 +c +c compute singlet transitions +c + 400 if (.not.rtdb_put(rtdb, 'bse:singlet', mt_log, 1, .true.)) + & call errquit(pname//'rtdb_put failed', 300, RTDB_ERR) + if (.not.rtdb_put(rtdb, 'bse:triplet', mt_log, 1, .false.)) + & call errquit(pname//'rtdb_put failed', 300, RTDB_ERR) + goto 10 +c +c compute triplet transitions +c + 500 if (.not.rtdb_put(rtdb, 'bse:singlet', mt_log, 1, .false.)) + & call errquit(pname//'rtdb_put failed', 300, RTDB_ERR) + if (.not.rtdb_put(rtdb, 'bse:triplet', mt_log, 1, .true.)) + & call errquit(pname//'rtdb_put failed', 300, RTDB_ERR) + goto 10 +c +c output energy window +c + 600 if (.not.rtdb_put(rtdb, 'bse:dowindow', mt_log, 1, .true.)) + & call errquit(pname//'rtdb_put failed', 600, RTDB_ERR) + if(.not.inp_f(temp)) + & call errquit(pname//'could not read lower energy',600,INPUT_ERR) + if(.not.rtdb_put(rtdb,'bse:elower',mt_dbl,1,temp)) + & call errquit(pname//'rtdb_put failed', 600, RTDB_ERR) + if(.not.inp_f(temp)) + & call errquit(pname//'could not read upper energy',600,INPUT_ERR) + if(.not.rtdb_put(rtdb,'bse:eupper',mt_dbl,1,temp)) + & call errquit(pname//'rtdb_put failed', 600, RTDB_ERR) + goto 10 +c +c number of roots +c + 700 if(.not.inp_i(itemp)) + & call errquit(pname//'could not read no. of roots',700,INPUT_ERR) + if(.not.rtdb_put(rtdb,'bse:nroots',mt_int,1,itemp)) + & call errquit(pname//'rtdb_put failed', 700, RTDB_ERR) + goto 10 +c +c maximum number of trial vectors +c + 800 if(.not.inp_i(itemp)) + & call errquit(pname//'could not read maxroots',800,INPUT_ERR) + if(.not.rtdb_put(rtdb,'bse:nmax',mt_int,1,itemp)) + & call errquit(pname//'rtdb_put failed', 800, RTDB_ERR) + goto 10 +c +c Skip GW calculation +c + 900 if(.not.rtdb_put(rtdb,'bse:skipgw',mt_log,1,.true.)) + & call errquit(pname//'rtdb_put failed', 900, RTDB_ERR) + goto 10 +c +c Maximum number of iterations +c + 1000 if(.not.inp_i(itemp)) + & call errquit(pname//'could not read maxiter', 1000, INPUT_ERR) + if(.not.rtdb_put(rtdb,'bse:maxiter',mt_int,1,itemp)) + & call errquit(pname//'rtdb_put failed', 1000, RTDB_ERR) + goto 10 +c +c Size of starting space +c + 1100 if(.not.inp_i(itemp)) + & call errquit(pname//'could not read nstart', 1100, INPUT_ERR) + if(.not.rtdb_put(rtdb,'bse:nspace', mt_int, 1, itemp)) + & call errquit(pname//'rtdb_put failed', 1100, RTDB_ERR) + goto 10 +c +c normal termination +c + 9999 return +c + end subroutine bse_input diff --git a/src/bsemol/bse_lanczos.F b/src/bsemol/bse_lanczos.F new file mode 100644 index 0000000000..1ed128b21c --- /dev/null +++ b/src/bsemol/bse_lanczos.F @@ -0,0 +1,9 @@ + subroutine bse_lanczos(pars) + + implicit none + +#include "bse.fh" + + type(bse_params_t) :: pars + + end subroutine bse_lanczos diff --git a/src/bsemol/bse_oscstr.F b/src/bsemol/bse_oscstr.F new file mode 100644 index 0000000000..124a23a68e --- /dev/null +++ b/src/bsemol/bse_oscstr.F @@ -0,0 +1,515 @@ + subroutine bse_oscstr(pars,omega,totpoles) + implicit none +#include "errquit.fh" +#include "stdio.fh" +#include "global.fh" +#include "mafdecls.fh" +#include "bse.fh" +#include "cdft.fh" +#include "rtdb.fh" +#include "sym.fh" +#include "util.fh" +#include "util_params.fh" +#include "inp.fh" + type(bse_params_t) :: pars + + character(*), parameter :: pname = 'bse_oscstr: ' + character(len=7) :: key + + integer totpoles,npoles + double precision omega(*) + double precision oscstr(3),oscstr_tot,tmp,moms(20),maxr,r(1) + + integer llpole,ulpole,iroot,ixyz,ipole,mag_transdip(3) + + integer isym,jsym,i,j,k,l,pol,occ,vir,ioff + integer g_td(2),g_xy(2),g_dipmag, g_ovlp, g_work, g_corr + integer g_tdtot(2) + integer k_corr, l_corr, ulloop + character*4 oname,vname + + integer g_dipx, g_dipy, g_dipz + integer g_qdrxx, g_qdrxy, g_qdrxz, g_qdryy, g_qdryz, g_qdrzz + integer g_work2, g_work3, g_x(2), g_y(2) + + logical ltransden,stat + double precision origin(3) + double precision na,nb,s2,s2_full + double precision espread + data origin/0d0,0d0,0d0/ + + character*(nw_max_path_len) fn_civecs, fn_transden + logical,external :: dmat_to_file + integer,external :: ga_create_atom_blocked + + character*5 spin(2) + double precision x(totpoles),y(totpoles) + double precision thresh ! Threshold for printing + parameter (thresh=5.0d-2) + double precision xe(3), xh(3), xe2_exp, xh2_exp, xe_exp_2 + double precision xh_exp_2, xhxe_exp, dhtoe, dexc, sigma_h, sigma_e + double precision omega_norm, cov, pcc, dcd + spin(1)='alpha' + spin(2)='beta ' + + if(.not.rtdb_get(pars%rtdb,'bse:ltransden',mt_log,1,ltransden)) + $ ltransden = .false. + if(.not.nga_create(mt_dbl,3,(/nbf_ao,nbf_ao,3/),'mag_dipole', + $ (/nbf_ao,-1,-1/),g_dipmag)) + $ call errquit('bse_oscstr: nga_create failed g_dipmag',0,GA_ERR) + call ga_zero(g_dipmag) + call int_giao_1ega(ao_bas_han,ao_bas_han,g_dipmag,'angmom',origin, + $ 1,.false.) + call ga_scale(g_dipmag,0.5d0) + + g_ovlp = ga_create_atom_blocked(geom, ao_bas_han, 'Overlap') + call ga_zero(g_ovlp) + call int_1e_ga(ao_bas_han, ao_bas_han, g_ovlp, 'overlap', oskel) + if(oskel) call sym_symmetrize(geom, ao_bas_han, .false., g_ovlp) + + if (pars%ipol.eq.2) then + if(.not.ma_push_get(mt_dbl,pars%nmo*pars%nmo,'corr', + $ l_corr,k_corr)) + $ call errquit('bse_oscstr: failed to create MA',0,MA_ERR) + if(.not.ga_create(mt_dbl,nbf_ao,pars%nmo,'work',0,0,g_work)) + $ call errquit('bse_oscstr: failed to create GA',0,GA_ERR) + if(.not.ga_create(mt_dbl,pars%nmo,pars%nmo,'work', + $ pars%nmo,0,g_corr)) + $ call errquit('bse_oscstr: failed to create GA',0,GA_ERR) + call ga_dgemm('n','n',nbf_ao,pars%nmo,nbf_ao,1d0,g_ovlp, + $ pars%g_movecs(2),0d0,g_work) + call ga_dgemm('t','n',pars%nmo,pars%nmo,nbf_ao,1d0, + $ pars%g_movecs(1),g_work,0d0,g_corr) + call ga_get(g_corr,1,pars%nmo,1,pars%nmo,dbl_mb(k_corr), + $ pars%nmo) + stat = ga_destroy(g_work).and.ga_destroy(g_corr) + if(.not.stat) + $ call errquit('bse_osctr: failed to destroy GA',58,GA_ERR) + endif + + g_dipx = ga_create_atom_blocked(geom, ao_bas_han, 'X') + g_dipy = ga_create_atom_blocked(geom, ao_bas_han, 'Y') + g_dipz = ga_create_atom_blocked(geom, ao_bas_han, 'Z') + g_qdrxx = ga_create_atom_blocked(geom, ao_bas_han, 'XX') + g_qdrxy = ga_create_atom_blocked(geom, ao_bas_han, 'XY') + g_qdrxz = ga_create_atom_blocked(geom, ao_bas_han, 'XZ') + g_qdryy = ga_create_atom_blocked(geom, ao_bas_han, 'YY') + g_qdryz = ga_create_atom_blocked(geom, ao_bas_han, 'YZ') + g_qdrzz = ga_create_atom_blocked(geom, ao_bas_han, 'ZZ') + g_work = ga_create_atom_blocked(geom, ao_bas_han, 'work1') + g_work2 = ga_create_atom_blocked(geom, ao_bas_han, 'work2') + g_work3 = ga_create_atom_blocked(geom, ao_bas_han, 'work3') + + call int_dip_ga(ao_bas_han, ao_bas_han, g_dipx, g_dipy, g_dipz) + call int_qdr_ga(ao_bas_han, ao_bas_han, g_qdrxx, g_qdrxy, g_qdrxz, + $ g_qdryy, g_qdryz, g_qdrzz) + + + + npoles = pars%npoles(1) + if (pars%ipol.gt.1) npoles = npoles + pars%npoles(2) + + + if (pars%singlet) then + key = 'singlet' + else + key = 'triplet' + endif + + ! Get the lower and upper limits + llpole = -1 + if (pars%dowindow .and. (.not.pars%davidson)) then + iroot = 0 + do ipole=1,npoles + if (omega(ipole).lt.pars%elower) cycle + if (llpole.eq.-1) llpole = ipole + iroot = iroot + 1 + if (omega(ipole).gt.pars%eupper) then + ulpole = ipole - 1 + exit + endif + if (iroot.eq.pars%nroots) then + ulpole = ipole + exit + endif + enddo + else + llpole = 1 + ulpole = pars%nroots + endif + + + ! Get symmetry of ground state + isym = 1 + if (pars%ipol.eq.2) then + do i=1,pars%ipol + do j=1,pars%nocc(i) + isym = ieor(isym-1,int_mb(pars%k_irs(i)+j-1)-1)+1 + enddo + enddo + endif + call sym_irrepname(geom, isym, oname) + + + ! Allocate transition density matrices + do i=1,pars%ipol + if(.not.ga_create(mt_dbl,nbf_ao,nbf_ao,'Transition density', + $ -1,-1,g_td(i))) call errquit + $ ('bse_oscstr: failed to create g_td',0,GA_ERR) + if(.not.ga_create(mt_dbl,nbf_ao,nbf_ao,'Transition density', + $ -1,-1,g_tdtot(i))) call errquit + $ ('bse_oscstr: failed to create g_tdtot',0,GA_ERR) + if(.not.ga_create(mt_dbl,pars%npoles(i),1,'X+Y vector',-1,1, + $ g_xy(i))) call errquit + $ ('bse_oscstr: failed to create g_xy',0,GA_ERR) + if(.not.ga_create(mt_dbl,pars%npoles(i),1,'X vector',-1,1, + $ g_x(i))) call errquit + $ ('bse_oscstr: failed to create g_x',0,GA_ERR) + if(.not.ga_create(mt_dbl,pars%npoles(i),1,'Y vector',-1,1, + $ g_y(i))) call errquit + $ ('bse_oscstr: failed to create g_y',0,GA_ERR) + enddo + + ! Compute the oscillator strengths around an energy window + iroot = 0 + do ipole=llpole,ulpole + iroot = iroot + 1 + oscstr_tot = 0d0 + moms(:) = 0d0 + oscstr(:) = 0d0 + mag_transdip = 0d0 + + call ga_copy_patch('n',pars%g_apb,1,pars%npoles(1),ipole,ipole, + & g_x(1),1,pars%npoles(1),1,1) + if(pars%ipol.gt.1) then + call ga_copy_patch('n',pars%g_apb,pars%npoles(1)+1,npoles, + & ipole,ipole,g_x(2),1,pars%npoles(2),1,1) + endif + call tddft_transfm(1, g_x, pars%g_movecs, nbf_ao, pars%nocc, + & (/pars%nmo, pars%nmo/), (/0,0/), (/0,0/), + & pars%ipol, g_td, 1) + call ga_transpose(g_td(1), g_tdtot(1)) + if(pars%ipol.gt.1) call ga_transpose(g_td(2), g_tdtot(2)) + + if(pars%davidson) then + call ga_copy_patch('n',pars%g_amb,1,pars%npoles(1), + I ipole,ipole, + & g_y(1),1,pars%npoles(1),1,1) + if(pars%ipol.gt.1) then + call ga_copy_patch('n',pars%g_amb, pars%npoles(1)+1, npoles, + & ipole, ipole, g_y(2), 1, pars%npoles(2), + & 1, 1) + endif + call tddft_transfm(1, g_y, pars%g_movecs, nbf_ao, pars%nocc, + & (/pars%nmo, pars%nmo/), (/0,0/), (/0,0/), + & pars%ipol, g_td, 1) + call ga_add(1.0d0, g_td(1), 1.0d0, g_tdtot(1), g_td(1)) + if(pars%ipol.gt.1) + & call ga_add(1.0d0, g_td(2), 1.0d0, g_tdtot(2), g_td(2)) + else + call ga_copy(g_tdtot(1), g_td(1)) + if (pars%ipol.gt.1) call ga_copy(g_tdtot(2), g_td(2)) + endif + + do i=1,pars%ipol + call multipole_density(ao_bas_han,origin,3,g_td(i),moms,20) + do ixyz=1,3 + mag_transdip(ixyz) = mag_transdip(ixyz) + + $ nga_ddot_patch(g_td(i),'n',(/1,1/),(/nbf_ao,nbf_ao/), + $ g_dipmag,'n',(/1,1,ixyz/), + $ (/nbf_ao,nbf_ao,ixyz/)) + enddo + enddo + + if(pars%ipol.gt.1) call ga_add(1d0,g_td(1),1d0,g_td(2),g_td(1)) + + ! Indicators + call ga_dgemm('t','n',nbf_ao,nbf_ao,nbf_ao,1d0,g_td(1),g_ovlp, + $ 0d0,g_work) + call ga_dgemm('n','n',nbf_ao,nbf_ao,nbf_ao,1d0,g_work,g_td(1), + $ 0d0,g_work2) + omega_norm = ga_ddot(g_work2,g_ovlp) + xe(1) = ga_ddot(g_work2,g_dipx)/omega_norm + xe(2) = ga_ddot(g_work2,g_dipy)/omega_norm + xe(3) = ga_ddot(g_work2,g_dipz)/omega_norm + xe_exp_2 = xe(1)**2 + xe(2)**2 + xe(3)**2 + xe2_exp = (ga_ddot(g_work2,g_qdrxx) + + $ ga_ddot(g_work2,g_qdryy) + + $ ga_ddot(g_work2,g_qdrzz))/omega_norm + + + call ga_dgemm('n','n',nbf_ao,nbf_ao,nbf_ao,1d0,g_td(1),g_ovlp, + $ 0d0,g_work) + call ga_dgemm('n','t',nbf_ao,nbf_ao,nbf_ao,1d0,g_work,g_td(1), + $ 0d0,g_work2) + xh(1) = ga_ddot(g_work2,g_dipx)/omega_norm + xh(2) = ga_ddot(g_work2,g_dipy)/omega_norm + xh(3) = ga_ddot(g_work2,g_dipz)/omega_norm + xh_exp_2 = xh(1)**2 + xh(2)**2 + xh(3)**2 + xh2_exp = (ga_ddot(g_work2,g_qdrxx) + + $ ga_ddot(g_work2,g_qdryy) + + $ ga_ddot(g_work2,g_qdrzz))/omega_norm + + + xhxe_exp = 0d0 + call ga_dgemm('n','n',nbf_ao,nbf_ao,nbf_ao,1d0,g_td(1),g_dipx, + $ 0d0,g_work) + call ga_dgemm('n','t',nbf_ao,nbf_ao,nbf_ao,1d0,g_work,g_td(1), + $ 0d0,g_work2) + xhxe_exp = xhxe_exp + ga_ddot(g_work2,g_dipx)/omega_norm + call ga_dgemm('n','n',nbf_ao,nbf_ao,nbf_ao,1d0,g_td(1),g_dipy, + $ 0d0,g_work) + call ga_dgemm('n','t',nbf_ao,nbf_ao,nbf_ao,1d0,g_work,g_td(1), + $ 0d0,g_work2) + xhxe_exp = xhxe_exp + ga_ddot(g_work2,g_dipy)/omega_norm + call ga_dgemm('n','n',nbf_ao,nbf_ao,nbf_ao,1d0,g_td(1),g_dipz, + $ 0d0,g_work) + call ga_dgemm('n','t',nbf_ao,nbf_ao,nbf_ao,1d0,g_work,g_td(1), + $ 0d0,g_work2) + xhxe_exp = xhxe_exp + ga_ddot(g_work2,g_dipz)/omega_norm + + + sigma_h = dsqrt(xh2_exp - xh_exp_2) + sigma_e = dsqrt(xe2_exp - xe_exp_2) + + dhtoe = dsqrt((xe(1)-xh(1))**2 + + $ (xe(2)-xh(2))**2 + + $ (xe(3)-xh(3))**2) + dexc = dsqrt(xe2_exp + xh2_exp - 2d0*xhxe_exp) + cov = xhxe_exp - xe(1)*xh(1) - xe(2)*xh(2) - xe(3)*xh(3) + pcc = cov/sigma_e/sigma_h + dcd = dhtoe - 0.5d0*(sigma_e + sigma_h) + + if (ltransden) then + call util_file_name('tdens',.false.,.false.,fn_transden) + call createuniquefilename(fn_transden,ipole) + call util_file_name_resolve(fn_transden,.false.) + if (pars%ipol.gt.1) + & call ga_add(1d0,g_td(1),1d0,g_td(2),g_td(1)) + + call ga_symmetrize(g_td(1)) + + if(.not. dmat_to_file(g_td(1),fn_transden)) + & call errquit('bse_oscstr: dmat_to_file error',0,CALC_ERR) + endif + + if (pars%ipol.eq.1) then + do i=1,20 + moms(i) = moms(i)*dsqrt(2.0d0) + enddo + endif + + if (pars%davidson) then + call ga_get(pars%g_apb,1,npoles,ipole,ipole,x,npoles) + call ga_get(pars%g_amb,1,npoles,ipole,ipole,y,npoles) + endif + + if (pars%davidson.and.pars%ipol.eq.2) then + call tddft_s2(pars%tda, (/0,0/), pars%nocc, + & (/pars%nmo,pars%nmo/), (/0,0/), + & pars%npoles,x,x(pars%npoles(1)+1),y, + & y(pars%npoles(1)+1),dbl_mb(k_corr),s2) + call bse_s2(pars%nocc,pars%nmo,pars%npoles,x, + & x(pars%npoles(1)+1), y, y(pars%npoles(1)+1), dbl_mb(k_corr), + & s2_full) + if (abs(s2_full).lt.0.25d0) then + key = 'singlet' + elseif (abs(abs(s2_full)-2.0d0).lt.0.25) then + key = 'triplet' + else + key = ' ' + endif + endif + + if (pars%me.eq.0) then + call tddft_oscstr(moms, omega(ipole), mag_transdip, + & oscstr, oscstr_tot) + + l = 0 + maxr = 0.0d0 + pol = 1 + occ = 1 + vir = pars%nocc(1) + 1 + do i=1,pars%ipol + if (pars%npoles(i).eq.0) cycle + do j=1,pars%nocc(i) + do k=pars%nocc(i)+1,pars%nmo + l = l + 1 + call ga_get(pars%g_apb,l,l,ipole,ipole,r,1) + if (dabs(r(1)).gt.maxr) then + maxr = dabs(r(1)) + pol = i + occ = j + vir = k + endif + enddo + enddo + enddo + jsym = ieor(isym-1,int_mb(pars%k_irs(pol)+occ-1)-1)+1 + jsym = ieor(jsym-1,int_mb(pars%k_irs(pol)+vir-1)-1)+1 + call sym_irrepname(geom, jsym, vname) + + write(luout,9110) iroot,key,vname,omega(ipole), + & omega(ipole)*ha2ev + + if (pars%davidson.and.pars%ipol.eq.2) then + write(luout,*) + write(luout,9180) s2 + write(luout,9190) s2_full + endif + + if (pars%singlet) then + write(luout,9200) moms(2),moms(3),moms(4), + & moms(5),moms(6),moms(7), + & moms(8),moms(9),moms(10), + & oscstr(1),oscstr(2),oscstr(3), + & oscstr_tot + else + write(luout,9210) + endif + + write(luout,*) + write(luout,9340) omega_norm + write(luout,9300) sigma_e*cau2ang + write(luout,9310) sigma_h*cau2ang + write(luout,9320) dhtoe*cau2ang + write(luout,9330) dexc*cau2ang + write(luout,9360) dcd*cau2ang + write(luout,9350) pcc + + + if (pars%davidson) then + + write(luout,*) + if (ipol.eq.1) then + l=0 + do j=1,pars%nocc(1) + do k=pars%nocc(1)+1,pars%nmo + l=l+1 + if (pars%tda) then + r=x(l) + call sym_irrepname + 1 (geom,int_mb(pars%k_irs(1)+j-1),oname) + call sym_irrepname + 1 (geom,int_mb(pars%k_irs(1)+k-1),vname) + if ((dabs(r(1)).gt.thresh)) + 2 write(LuOut,9120) j,oname,k,vname,r + else + r=x(l) + call sym_irrepname + 1 (geom,int_mb(pars%k_irs(1)+j-1),oname) + call sym_irrepname + 1 (geom,int_mb(pars%k_irs(1)+k-1),vname) + if ((dabs(r(1)).gt.thresh)) + 2 write(LuOut,9130) j,oname,k,vname,r + r=y(l) + if ((dabs(r(1)).gt.thresh)) + 2 write(LuOut,9140) j,oname,k,vname,r + endif + enddo + enddo + else + do i=1,ipol + ioff = (i-1)*pars%npoles(1) + l=0 + do j=1,pars%nocc(i) + do k=pars%nocc(i)+1,pars%nmo + l=l+1 + if (pars%tda) then + r = x(ioff+l) + call sym_irrepname + 1 (geom,int_mb(pars%k_irs(i)+j-1),oname) + call sym_irrepname + 1 (geom,int_mb(pars%k_irs(i)+k-1),vname) + if ((dabs(r(1)).gt.thresh)) + 2 write(LuOut,9150) j,spin(i),oname, + 3 k,spin(i),vname,r + else + r = x(ioff+l) + call sym_irrepname + 1 (geom,int_mb(pars%k_irs(i)+j-1),oname) + call sym_irrepname + 1 (geom,int_mb(pars%k_irs(i)+k-1),vname) + if ((dabs(r(1)).gt.thresh)) + 2 write(LuOut,9160) j,spin(i),oname, + 3 k,spin(i),vname,r + r=y(ioff+l) + if ((dabs(r(1)).gt.thresh)) + 2 write(LuOut,9170) j,spin(i),oname, + 3 k,spin(i),vname,r + endif + enddo + enddo + enddo + endif + call util_flush(LuOut) + + endif + + endif + + call ga_sync() + + enddo + + if (.not.ga_destroy(g_dipmag)) + & call errquit('bse_oscstr: ga_destroy failed',0,GA_ERR) + do i=1,pars%ipol + if (.not.ga_destroy(g_td(i))) + & call errquit('bse_oscstr: ga_destroy failed',0,GA_ERR) + if (.not.ga_destroy(g_xy(i))) + & call errquit('bse_oscstr: ga_destroy failed',0,GA_ERR) + if (.not.ga_destroy(g_tdtot(i))) + & call errquit('bse_oscstr: ga_destroy failed',0,GA_ERR) + if (.not.ga_destroy(g_x(i))) + & call errquit('bse_oscstr: ga_destroy failed',0,GA_ERR) + if (.not.ga_destroy(g_y(i))) + & call errquit('bse_oscstr: ga_destroy failed',0,GA_ERR) + enddo + if(.not.(ga_destroy(g_dipx).and.ga_destroy(g_dipy).and. + $ ga_destroy(g_dipz).and.ga_destroy(g_qdrxx).and. + $ ga_destroy(g_qdrxy).and.ga_destroy(g_qdrxz).and. + $ ga_destroy(g_qdryy).and.ga_destroy(g_qdryz).and. + $ ga_destroy(g_qdrzz).and.ga_destroy(g_ovlp).and. + $ ga_destroy(g_work).and.ga_destroy(g_work2).and. + $ ga_destroy(g_work3))) + & call errquit('bse_oscstr: ga_destroy failed',0,GA_ERR) + + + 9110 format(2x, + 1 '--------------------------------------------------------------- + 3-------------', + 2 /,2x,'Root',i4,1x,a7,1x,a4,f22.9,' a.u.',f22.4,' eV ',/,2x, + 1 '--------------------------------------------------------------- + 3-------------') + 9200 format(5x,'Transition Moments X',f9.5,' Y',f9.5,' Z',f9.5 + 1 ,/,5x,'Transition Moments XX',f9.5,' XY',f9.5,' XZ',f9.5 + 2 ,/,5x,'Transition Moments YY',f9.5,' YZ',f9.5,' ZZ',f9.5 + 5 ,/,5x,'Dipole Oscillator Strength',18x,f14.10 + 5 ,/,5x,'Electric Quadrupole ',18x,f14.10 + 5 ,/,5x,'Magnetic Dipole ',18x,f14.10 + 5 ,/,5x,'Total Oscillator Strength ',18x,f14.10) + 9210 format(5x,'Transition Moments Spin forbidden' + 1 ,/,5x,'Oscillator Strength Spin forbidden') + 9120 format(5x,'Occ.',i5,2x,a4,'--- Virt.',i5,2x,a4,f12.5) + 9130 format(5x,'Occ.',i5,2x,a4,'--- Virt.',i5,2x,a4,f8.5,' X') + 9140 format(5x,'Occ.',i5,2x,a4,'--- Virt.',i5,2x,a4,f8.5,' Y') + 9150 format(5x,'Occ.',i5,1x,a5,1x,a4,'--- Virt.', + 1 i5,1x,a5,1x,a4,f12.5) + 9160 format(5x,'Occ.',i5,1x,a5,1x,a4,'--- Virt.', + 1 i5,1x,a5,1x,a4,f8.5,' X') + 9170 format(5x,'Occ.',i5,1x,a5,1x,a4,'--- Virt.', + 1 i5,1x,a5,1x,a4,f8.5,' Y') + 9180 format(2x,' = ',f8.4) + 9190 format(2x,' D = ',f8.4) + 9300 format(5x,' sigma_e = ',f8.4, ' Angstrom') + 9310 format(5x,' sigma_h = ',f8.4, ' Angstrom') + 9320 format(5x,' |d_h->e| = ',f8.4, ' Angstrom') + 9330 format(5x,' d_exc = ',f8.4, ' Angstrom') + 9360 format(5x,' d_CD = ',f8.4, ' Angstrom') + 9350 format(5x,'Pearson C.C. = ',f8.4) + 9340 format(5x,'Exciton norm = ',f8.4) + + + + end diff --git a/src/bsemol/bse_puteris.F b/src/bsemol/bse_puteris.F new file mode 100644 index 0000000000..8f9de2af05 --- /dev/null +++ b/src/bsemol/bse_puteris.F @@ -0,0 +1,90 @@ + subroutine bse_puteris(erimo,nmo,nstates,nri,nri_me,rilo,ilower, + $ iupper,jlower,jupper,eri,blk,polelo, + $ polehi,mynpoles) + implicit none +#include "mafdecls.fh" +#include "errquit.fh" +#include "global.fh" + + character(len=2),intent(in) :: blk + integer,intent(in) :: nmo, nstates, nri, nri_me, rilo + integer,intent(in) :: ilower, iupper, jlower, jupper + integer,intent(out) :: eri,polelo,polehi,mynpoles + double precision,intent(in),dimension(nstates,nmo,nri_me) :: erimo + + character(len=12),parameter :: pname = 'gw_puteris: ' + character(len=6) :: erilabel,idxlabel + + integer ilo,ihi,jlo,jhi,imo,jmo,ipair,npairs,me,rihi + integer ni,nj,l_tmp,k_tmp,k_loc,ld + integer l_pair,k_pair,mynpairs,jpair,iproc,nprocs,ulpair,llpair + integer ibatch,nbatch,myllpair,myulpair,ma_dbl + integer lmap, kmap + + logical ok + integer,external :: gw_get_pair + + integer l_oo,k_oo,l_ov,k_ov,l_vv,k_vv + double precision temp(nri) + + ni = iupper - ilower + 1 + if (ni.lt.1) return + + nj = jupper - jlower + 1 + if (nj.lt.1) return + + rihi = rilo + nri_me - 1 + me = ga_nodeid() + nprocs = ga_nnodes() + + erilabel = 'eri '//blk + idxlabel = 'idx '//blk + + npairs = ni*nj + mynpairs = npairs/nprocs + 1 + + if (.not.ga_create(mt_dbl,nri,npairs,erilabel,nri,0,eri)) + $ call errquit(pname//'can''t create '//blk//' block',0,GA_ERR) + + ma_dbl = ma_inquire_stack(mt_dbl)/nri_me + nbatch = mynpairs/ma_dbl + 1 + mynpairs = npairs/nbatch + if (mod(npairs,nbatch).ne.0) mynpairs = mynpairs + 1 + mynpairs = min(npairs,mynpairs) + + if (.not.ma_push_get(mt_dbl,mynpairs*nri_me,'temp',l_pair,k_pair)) + $ call errquit(pname//'can''t create temporary array',0,MA_ERR) + + ulpair = 0 + do iproc=0,nprocs-1 + llpair = ulpair + 1 + ulpair = ulpair + npairs/nprocs + if (iproc.lt.mod(npairs,nprocs)) ulpair = ulpair + 1 + if (llpair.gt.ulpair) goto 101 + do ibatch=1,nbatch + myllpair = (ibatch-1)*mynpairs + llpair + myulpair = min(myllpair + mynpairs - 1,ulpair) + do ipair=myllpair,myulpair + jmo = (ipair-1)/ni + 1 + imo = ipair - (jmo-1)*ni + ilower - 1 + jmo = jmo + jlower - 1 + call dcopy(nri_me,erimo(imo,jmo,1),nstates*nmo, + $ dbl_mb(k_pair+(ipair-myllpair)*nri_me),1) + enddo + call ga_put(eri,rilo,rihi,myllpair,myulpair,dbl_mb(k_pair), + $ nri_me) + enddo + 101 continue + call ga_sync() + enddo + + ok = ma_chop_stack(l_pair) + + call ga_distribution(eri,me,ld,ld,polelo,polehi) + + if (blk .eq. 'ov') then + mynpoles = polehi - polelo + 1 + endif + + end subroutine + diff --git a/src/bsemol/bse_ri_init.F b/src/bsemol/bse_ri_init.F new file mode 100644 index 0000000000..f49e8328a3 --- /dev/null +++ b/src/bsemol/bse_ri_init.F @@ -0,0 +1,327 @@ + subroutine bse_ri_init(pars) +c + implicit none +#include "errquit.fh" +#include "mafdecls.fh" +#include "cdft.fh" +#include "bas.fh" +#include "bse.fh" +#include "stdio.fh" +#include "util.fh" +#include "global.fh" +#ifdef SCALAPACK +#include "scaleig.fh" +#endif +c + type(bse_params_t) :: pars +c + character(len=*), parameter :: pname = "bse_ri_init: " +c + logical iolgc + integer g_2ceris, g_2cinv, info, lmiss +c + integer ilo,ihi,jlo,jhi + integer lbuf,lscr,ltmp,leri,lvecs + integer l_buf,k_buf,l_scr,k_scr,l_tmp,k_tmp,k_eri,k_mo,l_mo + integer l_vecs,k_vecs,l_idx,k_idx + integer l_shlbuf, k_shlbuf, l_mobuf, k_mobuf + integer me, isp, addr + integer g_3ceris,shlo,shhi,offset,ld,g_tmp + integer nmo,nvir,rihi,rilo,nri,nri_me,nocc,offk + integer ish,jsh,ksh,ni,nj,nk,nij + integer ifirst,jfirst,kfirst + integer ilast,jlast,klast,imaxthreads + integer aopairs,mopairs(2),idum,totmopairs + logical IeqJ,ok,oactive + double precision eri_est,timer,timing +c + double precision schwarz_shell + external schwarz_shell +c +#ifdef USE_OPENMP + integer,external :: omp_get_max_threads +#endif + + timer = util_wallsec() +c +c Create Global Arrays +c + if (.not.ga_create(mt_dbl,nbf_cd,nbf_cd,'2c ERI', + $ 0, nbf_cd, g_2ceris)) + $ call errquit(pname//'Error creating 2c ERI',0,GA_ERR) + if (.not.ga_create(mt_dbl,nbf_cd,nbf_cd,'2c INV', + $ 0, nbf_cd, g_2cinv)) + $ call errquit(pname//'Error creating 2c ERI',0,GA_ERR) + call ga_zero(g_2ceris) +c +c Compute 2-center ERIs +c + if (pars%me.eq.0) write(luout,9000) + 9000 format(/,10x,'Computing 2-center integrals') +c + call dft_get2eri(cd_bas_han, g_2ceris, .false.) +c +c Obtain inverse Cholesky factor +c + if (pars%me.eq.0) write(luout,9010) + 9010 format(10x,'Computing Inverse Cholesky factor') +c + call ga_sync() + call ga_chol_inv_seq(g_2ceris, g_2cinv, info) + if (info.ne.0) then + if (pars%me.eq.0) then + write(luout,*) + write(luout,*)' Problem in performing Cholesky' + write(luout,*)' Obtaining square root via truncated ' + write(luout,*)' eigenvalue decomposition ' + write(luout,*) + endif + call dft_invdiag(g_2ceris, g_2cinv, nbf_cd) + endif +c + if (.not. ga_destroy(g_2ceris)) + $ call errquit(pname//'failed to destrou g_2ceri',0,GA_ERR) +c +c Allocate storage +c + nri = nbf_cd + nmo = pars%nmo + aopairs = (nbf_ao*(nbf_ao+1))/2 + + do isp=1,pars%ipol + mopairs(isp) = pars%nmo*pars%nmo + enddo + totmopairs = sum(mopairs(1:pars%ipol)) + + if (.not.ga_create(mt_dbl,1,nri,'3c ERI',aopairs,0, + $ g_3ceris)) + $ call errquit(pname//'can''t create 3c ERIs',0,GA_ERR) + call ga_distribution(g_3ceris,pars%me,ilo,ihi,rilo,rihi) + nri_me = rihi - rilo + 1 + ok = ga_destroy(g_3ceris) + +c call ga_access(g_3ceris,ilo,ihi,rilo,rihi,k_eri,ld) +c call dfill(aopairs*nri_me,0d0,dbl_mb(k_eri),1) + + shlo = 0 + do ksh=1,nshells_cd + ok = bas_cn2bfr(cd_bas_han,ksh,kfirst,klast) + if (klast.lt.rilo) cycle + if (shlo.eq.0) then + offset = (rilo-kfirst) + shlo = ksh + endif + shhi = ksh + if (klast.ge.rihi) exit + enddo + + oactive = nri_me.gt.0 + + call int_mem_2e3c(lbuf, lscr) + if (.not.ma_alloc_get(mt_dbl,lbuf, 'RI buffer',l_buf, k_buf)) + $ call errquit(pname//'can''t get buffer space',0,MA_ERR) + lscr = max(lscr,nbf_cd*nbf_ao_mxnbf_cn**2) + if (.not.ma_alloc_get(mt_dbl,lscr, 'RI scratch', l_scr, k_scr)) + $ call errquit(pname//'can''t get scratch space',0,MA_ERR) + + if (.not.ma_alloc_get(mt_dbl,nri_me*nbf_ao_mxnbf_cn**2, + $ 'Shell buffer',l_shlbuf, k_shlbuf)) + $ call errquit(pname//'can''t allocate shell buffer',0,MA_ERR) + if (.not.ma_alloc_get(mt_dbl, + $ nri_me*nbf_ao_mxnbf_cn*nmo*pars%ipol, + $ 'MO buffer',l_mobuf, k_mobuf)) + $ call errquit(pname//'can''t allocate shell buffer',0,MA_ERR) +c +c Compute three-center ERIs in MO representation +c + call ga_sync() +c + if (pars%me.eq.0) write(luout,9020) + 9020 format(10x,'Computing 3-center integrals') + + lvecs = nbf_ao*nmo*pars%ipol + if (.not.ma_alloc_get(mt_dbl,lvecs,'MOVECS',l_vecs,k_vecs)) + $ call errquit(pname//'can''t get movecs space',0,MA_ERR) + if (.not.ma_alloc_get(mt_dbl,totmopairs*nri_me,'MO Eris', + $ l_mo,k_mo)) + $ call errquit(pname//'can''t get MO eris space',0,MA_ERR) + call dfill(totmopairs*nri_me,0.0d0,dbl_mb(k_mo),1) + + do isp=1,pars%ipol + call ga_get(pars%g_movecs(isp),1,nbf_ao,1,nmo, + $ dbl_mb(k_vecs+(isp-1)*nbf_ao*nmo),nbf_ao) + enddo +c +#ifdef USE_OPENMP + iMaxThreads = omp_get_max_threads() + call util_blas_set_num_threads(iMaxThreads) +#endif + + do ish=1,nshells_ao + ok = bas_cn2bfr(ao_bas_han,ish,ifirst,ilast) + ni = ilast - ifirst + 1 + call dfill(ni*nmo*pars%ipol*nri_me,0d0,dbl_mb(k_mobuf),1) + do jsh=1,nshells_ao + eri_est = schwarz_shell(ish,jsh) + if (eri_est.lt.pars%tol2e) cycle + IeqJ = ish.eq.jsh + ok = bas_cn2bfr(ao_bas_han,jsh,jfirst,jlast) + nj = jlast - jfirst + 1 + nij = ni*nj + do ksh=shlo,shhi + ok = bas_cn2bfr(cd_bas_han, ksh, kfirst, klast) + call int_2e3c(cd_bas_han,ksh,ao_bas_han,ish,jsh,lscr, + $ dbl_mb(k_scr),lbuf,dbl_mb(k_buf)) + + if (ksh.eq.shlo) then + kfirst = rilo + offk = k_buf + offset*nij + else + offk = k_buf + endif + + if (ksh.eq.shhi) klast = rihi + + nk = klast - kfirst + 1 + kfirst = kfirst - rilo + 1 + call dcopy(ni*nj*nk,dbl_mb(offk),1, + $ dbl_mb(k_shlbuf+(kfirst-1)*ni*nj),1) + enddo + do isp=1,pars%ipol + call gw_mo2(dbl_mb(k_shlbuf), + $ dbl_mb(k_mobuf+(isp-1)*nmo*ni*nri_me), + $ dbl_mb(k_vecs+(isp-1)*nbf_ao*nmo),nri_me, + $ nbf_ao,ni,nj,nmo,nmo,ifirst, + $ jfirst,ieqj) + enddo + enddo + do isp=1,pars%ipol + call gw_mo(dbl_mb(k_mobuf+(isp-1)*nmo*ni*nri_me), + $ dbl_mb(k_mo+(isp-1)*mopairs(1)*nri_me), + $ dbl_mb(k_vecs+(isp-1)*nbf_ao*nmo),nri_me, + $ nbf_ao,ni,nmo,nmo,ifirst) + enddo + enddo +c + ok = ma_free_heap(l_buf) .and. ma_free_heap(l_scr) .and. + $ ma_free_heap(l_shlbuf) .and. + $ ma_free_heap(l_mobuf) + if (.not.ok) + $ call errquit(pname//'can''t free heap',165,MA_ERR) +c +c +#ifdef GWDEBUG + if (pars%me.eq.0) write(*,*) ' Transform ERIs' +#endif + + call ga_sync() + + ok = ma_free_heap(l_vecs) + if (.not.ok) + $ call errquit(pname//'can''t free heap',176,MA_ERR) +c + call ga_sync() +c +c Distribute and orthonormalize ERIs +c + timer = util_wallsec() +#ifdef GWDEBUG + if (pars%me.eq.0) write(*,*) ' Distribute ERIs' +#endif + + addr = k_mo + do isp=1,pars%ipol + if (nmo.eq.0) cycle + if (isp.eq.2) addr = k_mo + mopairs(1)*nri_me + + ! OO block + call bse_puteris(dbl_mb(addr),nmo,nmo,nri,nri_me, + $ rilo,1,pars%nocc(isp),1,pars%nocc(isp), + $ pars%g_erioo(isp),'oo',pars%oolo(isp), + $ pars%oohi(isp),idum) + + ! OV block + call bse_puteris(dbl_mb(addr),nmo,nmo,nri,nri_me, + $ rilo,pars%nocc(isp)+1,nmo,1,pars%nocc(isp), + $ pars%g_eriov(isp),'ov',pars%ovlo(isp), + $ pars%ovhi(isp),pars%mynpoles(isp)) + + ! VV block + call bse_puteris(dbl_mb(addr),nmo,nmo,nri,nri_me, + $ rilo,pars%nocc(isp)+1,nmo, + $ pars%nocc(isp)+1,nmo,pars%g_erivv(isp), + $ 'vv',pars%vvlo(isp),pars%vvhi(isp),idum) + + enddo + + ok = ma_free_heap(l_mo) +#ifdef GWDEBUG + if (pars%me.eq.0) write(*,*) ' Read inverse' +#endif +c + if (.not.ma_alloc_get(mt_dbl,nri**2,'RI temporary',l_tmp,k_tmp)) + $ call errquit(pname//'can''t get temp space',0,MA_ERR) + if (pars%me.eq.0) then + call ga_get(g_2cinv,1,nbf_cd,1,nbf_cd,dbl_mb(k_tmp),nbf_cd) + endif + call ga_sync() + if (.not. ga_destroy(g_2cinv)) + $ call errquit(pname//'failed to destroy g_2cinv',0,GA_ERR) + call ga_brdcst(1038,dbl_mb(k_tmp),ma_sizeof(mt_dbl,nri**2, + $ mt_byte),0) + +#ifdef GWDEBUG + if (pars%me.eq.0) write(*,*) ' Orthogonalize ERIs' +#endif + do isp=1,pars%ipol +c +c Transform OO block +c + call ga_distribution(pars%g_erioo(isp),pars%me,ilo,ihi,jlo,jhi) + if (jlo.gt.jhi) goto 101 + call ga_access(pars%g_erioo(isp),ilo,ihi,jlo,jhi,k_eri,ld) + nij = jhi-jlo+1 + call dtrmm('l','l','n','n',nbf_cd,nij,1.0d0,dbl_mb(k_tmp), + $ nbf_cd,dbl_mb(k_eri),nbf_cd) + call ga_release_update(pars%g_erioo(isp),ilo,ihi,jlo,jhi) +c +c Transform OV block +c + 101 continue + call ga_distribution(pars%g_eriov(isp),pars%me,ilo,ihi,jlo,jhi) + if (jlo.gt.jhi) goto 102 + call ga_access(pars%g_eriov(isp),ilo,ihi,jlo,jhi,k_eri,ld) + nij = jhi-jlo+1 + call dtrmm('l','l','n','n',nbf_cd,nij,1.0d0,dbl_mb(k_tmp), + $ nbf_cd,dbl_mb(k_eri),nbf_cd) + call ga_release_update(pars%g_eriov(isp),ilo,ihi,jlo,jhi) +c +c Transform VV block +c + 102 continue + if (nmo.gt.pars%nocc(isp)) then + call ga_distribution(pars%g_erivv(isp),pars%me,ilo,ihi, + $ jlo,jhi) + if (jlo.gt.jhi) goto 103 + call ga_access(pars%g_erivv(isp),ilo,ihi,jlo,jhi,k_eri,ld) + nij = jhi-jlo+1 + call dtrmm('l','l','n','n',nbf_cd,nij,1.0d0,dbl_mb(k_tmp), + $ nbf_cd,dbl_mb(k_eri),nbf_cd) + call ga_release_update(pars%g_erivv(isp),ilo,ihi,jlo,jhi) + endif + + + 103 continue + enddo +c +c Free heap +c + ok = ma_free_heap(l_tmp) + if (.not.ok) + $ call errquit(pname//'failed to free heap',224,MA_ERR) +c +#ifdef USE_OPENMP + call util_blas_set_num_threads(1) +#endif + return + end subroutine diff --git a/src/bsemol/bse_s2.F b/src/bsemol/bse_s2.F new file mode 100644 index 0000000000..03e1a1c7a6 --- /dev/null +++ b/src/bsemol/bse_s2.F @@ -0,0 +1,99 @@ + subroutine bse_s2(nocc, nmo, npoles, xup, xdw, yup, ydw, + $ ovlp, s2) + implicit none + + integer nocc(2), npoles(2), nmo + double precision xup(npoles(1)), xdw(npoles(2)) + double precision yup(npoles(1)), ydw(npoles(2)) + double precision s2 + double precision ovlp(nmo,nmo) + + double precision ov,xx,yy + integer i,j,a,b,ipole,jpole,nvir(2) + integer llipole,ulipole,lljpole,uljpole + + double precision, external :: ddot + + s2 = 0d0 + nvir(1) = nmo - nocc(1) + nvir(2) = nmo - nocc(2) + + ! Up-Up + do i=1,nocc(1) + do j=1,nocc(1) + llipole = (i-1)*nvir(1) + 1 + ulipole = i*nvir(1) + lljpole = (j-1)*nvir(1) + 1 + uljpole = j*nvir(1) + ov = dot_product(ovlp(i,1:nocc(2)),ovlp(j,1:nocc(2))) + xx = dot_product(xup(llipole:ulipole),xup(lljpole:uljpole)) + + yy = dot_product(yup(llipole:ulipole),yup(lljpole:uljpole)) + s2 = s2 + ov*(xx+yy) + enddo + enddo + do a=nocc(1)+1,nmo + do b=nocc(1)+1,nmo + ov = dot_product(ovlp(a,1:nocc(2)),ovlp(b,1:nocc(2))) + llipole = a - nocc(1) + lljpole = b - nocc(1) + s2 = s2 - ov*ddot(nocc(1),xup(llipole),nvir(1), + $ xup(lljpole),nvir(1)) + s2 = s2 - ov*ddot(nocc(1),yup(llipole),nvir(1), + $ yup(lljpole),nvir(1)) + enddo + enddo + + ! Dw-Dw + do i=1,nocc(2) + do j=1,nocc(2) + llipole = (i-1)*nvir(2) + 1 + ulipole = i*nvir(2) + lljpole = (j-1)*nvir(2) + 1 + uljpole = j*nvir(2) + ov = dot_product(ovlp(1:nocc(1),i),ovlp(1:nocc(1),j)) + xx = dot_product(xdw(llipole:ulipole),xdw(lljpole:uljpole)) + yy = dot_product(ydw(llipole:ulipole),ydw(lljpole:uljpole)) + s2 = s2 + ov*(xx+yy) + enddo + enddo + do a=nocc(2)+1,nmo + do b=nocc(2)+1,nmo + ov = dot_product(ovlp(1:nocc(1),a),ovlp(1:nocc(1),b)) + llipole = a - nocc(2) + lljpole = b - nocc(2) + s2 = s2 - ov*ddot(nocc(2),xdw(llipole),nvir(2), + $ xdw(lljpole),nvir(2)) + s2 = s2 - ov*ddot(nocc(2),ydw(llipole),nvir(2), + $ ydw(lljpole),nvir(2)) + enddo + enddo + + ! Up-Dw + do ipole=1,npoles(1) + i = ipole/nvir(1) + 1 + a = ipole - (i-1)*nvir(1) + nocc(1) + do jpole=1,npoles(2) + j = jpole/nvir(2) + 1 + b = jpole - (j-1)*nvir(2) + nocc(2) + s2 = s2 - + $ 2d0*xup(ipole)*xdw(jpole)*ovlp(i,j)*ovlp(a,b) - + $ 2d0*yup(ipole)*ydw(jpole)*ovlp(i,j)*ovlp(a,b) + + $ 2d0*xup(ipole)*ydw(jpole)*ovlp(a,j)*ovlp(i,b) + enddo + enddo + + ! Dw-Up + do ipole=1,npoles(2) + i = ipole/nvir(2) + 1 + a = ipole - (i-1)*nvir(2) + nocc(2) + do jpole=1,npoles(1) + j = jpole/nvir(1) + 1 + b = jpole - (j-1)*nvir(1) + nocc(1) + s2 = s2 + + $ 2d0*xdw(ipole)*yup(jpole)*ovlp(j,a)*ovlp(b,i) + enddo + enddo + + end subroutine + diff --git a/src/bsemol/bse_wmn.F b/src/bsemol/bse_wmn.F new file mode 100644 index 0000000000..290a70a6dd --- /dev/null +++ b/src/bsemol/bse_wmn.F @@ -0,0 +1,54 @@ + subroutine bse_wmn(pars,w,nmo,nri,ipol) + implicit none +#include "errquit.fh" +#include "mafdecls.fh" +#include "global.fh" +#include "bse.fh" + + type(bse_params_t) :: pars + integer nmo, nri, ipol + + character(*), parameter :: pname = 'bse_wmn: ' + + double precision w(*) + + integer isp,ilo,ihi,jlo,jhi,keri,ld,g_tmp + + do isp=1,ipol + + if (.not.pars%tda) then + ! copy and transform occ-vir block + if(.not.ga_duplicate(pars%g_eriov(isp),pars%g_wov(isp),'Wov')) + & call errquit(pname//'could not duplicate ERI OV',0,GA_ERR) + call ga_copy(pars%g_eriov(isp),pars%g_wov(isp)) + if(pars%mynpoles(isp).eq.0) cycle + call ga_access(pars%g_wov(isp),1,nri,pars%ovlo(isp), + & pars%ovhi(isp),keri,ld) + call dtfsm('n','l','l','n','n',nri,pars%mynpoles(isp),1d0, + & w,dbl_mb(keri),nri) + call ga_release_update(pars%g_wov(isp),1,nri,pars%ovlo(isp), + & pars%ovhi(isp)) + endif + + ! transform occ-occ and vir-vir blocks in place + call ga_distribution(pars%g_erioo(isp),pars%me,ilo,ihi,jlo,jhi) + if (jlo.gt.jhi) goto 101 + call ga_access(pars%g_erioo(isp),ilo,ihi,jlo,jhi,keri,ld) + call dtfsm('n','l','l','n','n',nri,jhi-jlo+1,1.0d0,w, + & dbl_mb(keri),nri) + call ga_release_update(pars%g_erioo(isp),1,nri,jlo,jhi) + + 101 continue + call ga_distribution(pars%g_erivv(isp),pars%me,ilo,ihi,jlo,jhi) + if (jlo.gt.jhi) cycle + call ga_access(pars%g_erivv(isp),ilo,ihi,jlo,jhi,keri,ld) + call dtfsm('n','l','l','n','n',nri,jhi-jlo+1,1.0d0,w, + & dbl_mb(keri),nri) + call ga_release_update(pars%g_erivv(isp),1,nri,jlo,jhi) + + + + enddo + + + end diff --git a/src/bsemol/bsemol.F b/src/bsemol/bsemol.F new file mode 100644 index 0000000000..8f40bf130e --- /dev/null +++ b/src/bsemol/bsemol.F @@ -0,0 +1,75 @@ + logical function bsemol(rtdb) + implicit none +#include "rtdb.fh" + integer rtdb +c + logical bse_doit + external bse doit +c + logical status +c + status = rtdb_cput(rtdb,'dft:theory', 1, 'dft') + if (status) status = bse_doit(rtdb) + bsemol = status + call grid_cleanup(.false.) +c + end function +c +c ----------------------------------------------------------------- +c + logical function bse_doit(rtdb) + implicit none +#include "errquit.fh" +#include "global.fh" +#include "rtdb.fh" +#include "stdio.fh" +#include "util.fh" +#include "bse.fh" + + integer, intent(in) :: rtdb + character(*), parameter :: pname = "bse_doit: " + + type(bse_params_t) :: params + character*80 theory + integer me +c +c ----------------------------------------------------------------- +c +c Initialize +c + bse_doit = .false. +c +c Determine the theory we are using +c + if (.not. rtdb_cget(rtdb, "dft:theory", 1, theory)) + $ call errquit(pname//"theory not specified",0,RTDB_ERR) +c +c Initialize GW calculation +c + params%rtdb = rtdb + params%me = ga_nodeid() +c + call bse_init(params) +c + if (theory.eq."dft") then + + if (params%davidson) then + call bse_davidson(params) + elseif (params%lanczos) then + call bse_lanczos(params) + else + call bse_analytic(params) + endif +c + elseif (theory.eq.'sodft') then + call errquit(pname//"spin-orbit not implemented",0,0) + else + call errquit(pname//"invalid theory: "//trim(theory),0,0) + endif +c + call bse_finalize(params) + bse_doit = .true. +c +c ----------------------------------------------------------------- +c + end function diff --git a/src/bsemol/scaleig.fh b/src/bsemol/scaleig.fh new file mode 100644 index 0000000000..de83620e88 --- /dev/null +++ b/src/bsemol/scaleig.fh @@ -0,0 +1,7 @@ +c Copy of DFT scaleig +c +c $Id$ +c + character*1 yev + integer nb + common /dft_scaleigp/ nb, yev diff --git a/src/config/make_nwchem_config b/src/config/make_nwchem_config index 81ac74ce91..03427ae572 100644 --- a/src/config/make_nwchem_config +++ b/src/config/make_nwchem_config @@ -21,7 +21,7 @@ KNOWN_MODULE_SUBDIRS = NWints atomscf ddscf develop gradients moints nwdft \ property solvation nwpw fft rimp2_grad python argos analyz diana nwmd cafe space \ drdy vscf uccsdt qmmm rism qmd etrans tce geninterface bq mm cons\ perfm dntmc smd nbo dangchang leps ccca lucia dimqm rdmft fcidump\ - gwmol xtb nwc_columbus + gwmol xtb nwc_columbus bsemol # These are the libraries for the high-level modules. They should be # specified in an order that will link correctly, but that shouldn't @@ -36,7 +36,7 @@ KNOWN_MODULE_LIBS = -ltest -lccsd -llucia -lmcscf -lselci -lmp2 -lmoints \ -lcafe -lspace -lanalyze -ldiana -lqhop \ -lpfft -ldplot -lnwpython -ldrdy -lvscf -lqmmm -lrism -lqmd -letrans\ -lpspw -ltce -lgeninterface -lbq -lmm -lcons -lperfm -lnbo -ldntmc -lccca\ - -ldimqm -lrdmft -lfcidump -lgwmol -lnwxtb + -ldimqm -lrdmft -lfcidump -lgwmol -lnwxtb -lbsemol # This include file handles configuration of the NW_MODULE_SUBDIRS and # NW_MODULE_LIBS macros for what we actually want to build. It @@ -77,22 +77,22 @@ EXP_alldev = develop $(EXP_all) EXP_pnnldev = develop $(EXP_pnnl) EXP_qm = NWints atomscf ddscf gradients moints nwdft rimp2 hessian bq cons \ optim stepper driver ccsd vib mcscf property solvation dplot mp2_grad esp etrans tce vscf dimqm \ - gwmol + gwmol bsemol EXP_smallqm = NWints atomscf ddscf gradients moints nwdft rimp2 hessian bq cons \ optim stepper driver vib qmd mcscf property solvation dplot \ - mp2_grad esp etrans vscf nwmd dimqm gwmol + mp2_grad esp etrans vscf nwmd dimqm gwmol bsemol EXP_smallqmmm = NWints atomscf ddscf gradients moints nwdft rimp2 hessian bq cons \ optim stepper driver vib qmd mcscf property solvation dplot \ - mp2_grad esp etrans vscf nwmd qmmm prepar analyz dimqm gwmol + mp2_grad esp etrans vscf nwmd qmmm prepar analyz dimqm gwmol bsemol EXP_notce = NWints atomscf ddscf gradients moints nwdft rimp2 hessian bq cons \ optim stepper driver ccsd vib mcscf property solvation dplot mp2_grad esp etrans vscf dimqm \ - gwmol + gwmol bsemol EXP_tinyqmpw = nwdft property solvation driver ccsd mp2_grad hessian vib nwpw EXP_ver2 = prepar gradients mp2_grad stepper vib mcscf \ optim driver analyz diana #plane_wave ... broken? RJH EXP_qmandpw = nwpw NWints atomscf ddscf gradients moints nwdft rimp2 hessian bq cons \ - optim stepper driver ccsd vib mcscf property solvation dplot mp2_grad esp etrans vscf dimqm gwmol + optim stepper driver ccsd vib mcscf property solvation dplot mp2_grad esp etrans vscf dimqm gwmol bsemol EXP_tps = prepar nwmd analyz diana EXP_md = prepar nwmd analyz ddscf nwdft gradients esp EXP_classical = prepar nwmd analyz @@ -187,6 +187,7 @@ MODULES := $(patsubst nwpw,nwpw fft,$(MODULES) ) MODULES := $(patsubst ddscf,ddscf atomscf nwdft NWints gradients,$(MODULES) ) MODULES := $(patsubst gwmol, gwmol nwdft ddscf gradients hessian atomscf NWints,$(MODULES) ) +MODULES := $(patsubst bsemol, bsemol gwmol nwdft ddscf gradients hessian atomscf NWints,$(MODULES) ) MODULES := $(patsubst lucia, lucia mp2_grad ddscf nwdft property cphf gradients hessian atomscf NWints moints,$(MODULES) ) @@ -274,6 +275,7 @@ MOD_LIBS := $(patsubst dimqm,-ldimqm,$(MOD_LIBS) ) MOD_LIBS := $(patsubst rdmft,-lrdmft,$(MOD_LIBS) ) MOD_LIBS := $(patsubst fcidump,-lfcidump,$(MOD_LIBS) ) MOD_LIBS := $(patsubst gwmol,-lgwmol,$(MOD_LIBS) ) +MOD_LIBS := $(patsubst bsemol,-lbsemol,$(MOD_LIBS) ) MOD_LIBS := $(patsubst xtb,-lnwxtb,$(MOD_LIBS) ) MOD_LIBS := $(patsubst nwc_columbus,-lnwc_columbus,$(MOD_LIBS) ) MOD_LIBS := $(strip $(MOD_LIBS)) @@ -339,6 +341,7 @@ STUBROUTINES := $(patsubst solvation, solvation,$(STUBROUTINES)) STUBROUTINES := $(patsubst dimqm,dimqm_addop dimqm_addop_uhf_damp dimqm_addop_uhf dimqm_tidy dimqm_input dimpar_input dimqm_main fock_dim dimqm_prep dim_grid_quadv0 dimqm_lclfld dimqm_polarizability dimqm_broadcast dimqm_Dens2Dipoles dimqm_rohf_calcDIM dimqm_rohf_wrap dimqm_used dimqm_setgo dimqm_getgo dimqm_getenergy dimqm_setlfirst dimqm_getlrsp dimqm_lrsp dimqm_getlclfld dimqm_getgdipeli dimqm_energy dimqm_init,$(STUBROUTINES) ) #STUBROUTINES := $(patsubst cons, cons_end cons_input cons_add_egrad cons_add_energy cons_init cons_print_summary cons_active,$(STUBROUTINES) ) STUBROUTINES := $(patsubst gwmol, gw_input gwmol, $(STUBROUTINES) ) +STUBROUTINES := $(patsubst bsemol, bse_input bsemol, $(STUBROUTINES) ) STUBROUTINES := $(patsubst xtb, xtb_input xtb_energy xtb_energy_gradient, $(STUBROUTINES) ) STUBROUTINES := $(patsubst nwc_columbus, sifcfg sifwh sodft_aoints, $(STUBROUTINES) ) STUBROUTINES := $(strip $(STUBROUTINES)) diff --git a/src/geom/geom_hnd.F b/src/geom/geom_hnd.F index af6d56f8b5..ffff034551 100644 --- a/src/geom/geom_hnd.F +++ b/src/geom/geom_hnd.F @@ -308,16 +308,7 @@ c write(LuOut,*) ' B matrix ' call output(x, 1, ncart, 1, nzvar, ncart, nzvar, 1) endif - call dgemm('t', 'n', nzvar, nzvar, ncart, 1d0, - $ x, ncart, x, ncart, 0d0, y, nzvar) ! BT.B -> y ... should symmetrize - do i = 1, nzvar - do j = 1, nzvar - ij = i + (j-1)*nzvar - ji = j + (i-1)*nzvar - y(ij) = 0.5d0*(y(ij) + y(ji)) - y(ji) = y(ij) - end do - end do + call dsyrk('u', 't', nzvar, ncart, 1d0, x, ncart, 0d0, y, nzvar) call dsyev('v', 'u', nzvar, y, nzvar, e, z, ndim**2, info) if (info .ne. 0) call errquit('geom_binvr: dsyev failed', info, & MEM_ERR) diff --git a/src/gwmol/gw_analytic.F b/src/gwmol/gw_analytic.F index 23e497990c..78f1616b27 100644 --- a/src/gwmol/gw_analytic.F +++ b/src/gwmol/gw_analytic.F @@ -12,6 +12,7 @@ c type(gw_params_t) :: pars c character(len=13), parameter :: pname = 'gw_analytic: ' + character*255 gwevals c integer,dimension(2) :: nocc,nvir,npoles,nstates,mynpoles @@ -45,6 +46,10 @@ c integer maxpoles,maxnpoles,isp,lSize logical ok + + integer,parameter :: unitno = 66 + + logical,external :: movecs_write c c ----------------------------------------------------------------- c @@ -89,6 +94,15 @@ c call gw_vxc(dbl_mb(k_sigma),nmo,pars) + if (pars%ncap) then + do isp=1,ipol + call daxpy(pars%nocc(isp),1d0,pars%vxddp(isp),0, + $ dbl_mb(k_sigma+(isp-1)*pars%nmo),1) + call daxpy(pars%nvir(isp),1d0,pars%vxddm(isp),0, + $ dbl_mb(k_sigma+(isp-1)*pars%nmo+pars%nocc(isp)),1) + enddo + endif + pars%timer%vxc = pars%timer%vxc + util_wallsec() - timer c c Obtain Sigma_x @@ -135,6 +149,14 @@ c endif write(luout,*) endif + + call gw_shift(dbl_mb(k_eold),dbl_mb(pars%k_evals),-efermi, + $ pars%nmo,nbf_ao,pars%ipol) + if(.not.movecs_write(pars%rtdb, ao_bas_han, movecs_out, 'dft', + $ 'W vals',nbf_ao,ipol,(/pars%nmo,pars%nmo/), + $ dbl_mb(pars%k_occ), nbf_ao, + $ dbl_mb(pars%k_evals),nbf_ao,pars%g_movecs)) + $ call errquit('gw_analytic: could not save movecs',0,DISK_ERR) c c Obtain eigenvalue difference c @@ -185,25 +207,26 @@ c endif c - if (pars%evgw0.or.pars%evgw) then - call gw_scissor(dbl_mb(k_Enew),dbl_mb(k_Eold),pars%nmo, + call gw_scissor(dbl_mb(k_Enew),dbl_mb(k_Eold),pars%nmo, $ pars%nocc,pars%nvir,pars%noqp,pars%nvqp, $ pars%ipol,pars%me) - call ga_brdcst(1038,dbl_mb(k_enew), - $ ma_sizeof(mt_dbl,nmo,mt_byte),0) - call ga_brdcst(1038,dbl_mb(k_sigma), - $ ma_sizeof(mt_dbl,nmo,mt_byte),0) + call ga_brdcst(1038,dbl_mb(k_enew), + $ ma_sizeof(mt_dbl,pars%ipol*nmo,mt_byte),0) + call ga_brdcst(1038,dbl_mb(k_sigma), + $ ma_sizeof(mt_dbl,pars%ipol*nmo,mt_byte),0) + + if (pars%evgw0.or.pars%evgw) then ! ! Update Fermi energy ! do i=1,ipol - lSize = k_enew + (i-1)*nbf_ao + lSize = k_enew + (i-1)*nmo efermi_new(i) = gw_efermi(dbl_mb(lSize),pars%nocc(i)) enddo call gw_shift(dbl_mb(k_enew),dbl_mb(k_eold),efermi_new, - $ nbf_ao,pars%nmo,pars%ipol) + $ pars%nmo,pars%nmo,pars%ipol) efermi(:) = efermi(:) + efermi_new(:) call dcopy(pars%ipol*nmo,dbl_mb(k_eold),1,dbl_mb(k_enew),1) @@ -214,6 +237,23 @@ c endif endif + ! + ! Save eigenvalues + ! + if (main) then + + call gw_shift(dbl_mb(k_enew),dbl_mb(k_eold),-efermi,nmo,nmo,ipol) + call util_file_name('gwevals',.false.,.false.,gwevals) + call util_file_name_resolve(gwevals,.false.) + open(unit=unitno,status='unknown',form='unformatted',file=gwevals) + do i=1,ipol + call swrite(unitno, dbl_mb(k_eold+(i-1)*nmo),nmo) + enddo + close(unit=unitno) + + endif + + 9050 format(10x,I3,6x,F8.3,6x,F6.3,6x,F8.3) c if (.not.ma_chop_stack(l_sigma)) diff --git a/src/gwmol/gw_analytic_newton.F b/src/gwmol/gw_analytic_newton.F index 347862e57c..8fe8348061 100644 --- a/src/gwmol/gw_analytic_newton.F +++ b/src/gwmol/gw_analytic_newton.F @@ -33,7 +33,7 @@ integer nclusters, clusters(pars%nmo), myll, myul integer llqp, ulqp, icluster double precision upper, lower, resupper, reslower, const - double precision values(20), errors(20), radius, maxradius + double precision values(100), errors(100), radius, maxradius c ! ! Initialize variables @@ -60,7 +60,7 @@ c ! if (eviter.gt.4) then maxradius = 0.010d0 else - maxradius = 0.1d0 + maxradius = 0.030d0 endif c ! @@ -75,9 +75,6 @@ c ! totalqp = pars%noqp(isp) + pars%nvqp(isp) if (totalqp.lt.1) cycle - totalqp = pars%noqp(isp) + pars%nvqp(isp) - if (totalqp.lt.1) cycle - esterror(:) = 0d0 if ((isp.eq.1).and.main) then @@ -139,16 +136,18 @@ c ! if (eviter.lt.10) then if (myul.lt.ulqp) then - Eout = Enew(llmo+iqp,isp) + 0.002d0 +c Eout = Enew(llmo+iqp,isp) + 0.002d0 + Eout = Eout + 0.001d0 elseif (myll.gt.llqp) then - Eout = Enew(llmo+iqp-2,isp) - 0.002d0 +c Eout = Enew(llmo+iqp-2,isp) - 0.002d0 + Eout = Eout - 0.001d0 endif endif bracket = .false. const = Eold(llmo+iqp-1,isp) + Sigma_X - sigmaold - lower = 1d100 - upper = -1d100 + lower = -1d100 + upper = 1d100 c Compute Screened-Coulomb matrix elements timer = util_wallsec() @@ -164,7 +163,7 @@ c Compute Galiitski-Migdal correlation energy endif c - do iter=1,pars%qpiter+5 + do iter=1,pars%qpiter+15 timer2 = util_wallsec() Ein = Eout diff --git a/src/gwmol/gw_cdgw.F b/src/gwmol/gw_cdgw.F index a9a70b3e6c..526ba23d5f 100644 --- a/src/gwmol/gw_cdgw.F +++ b/src/gwmol/gw_cdgw.F @@ -48,6 +48,10 @@ c logical converged,ok double precision, external :: gw_efermi + + logical,external :: movecs_write + integer,parameter :: unitno = 66 + character*255 gwevals c c ----------------------------------------------------------------- c @@ -83,6 +87,15 @@ c call gw_vxc(dbl_mb(kSigma),nmo,pars) + if (pars%ncap) then + do isp=1,ipol + call daxpy(pars%nocc(isp),1d0,pars%vxddp(isp),0, + $ dbl_mb(ksigma+(isp-1)*pars%nmo),1) + call daxpy(pars%nvir(isp),1d0,pars%vxddm(isp),0, + $ dbl_mb(ksigma+(isp-1)*pars%nmo+pars%nocc(isp)),1) + enddo + endif + pars%timer%vxc = pars%timer%vxc + util_wallsec() - timer c c Obtain Sigma_x @@ -127,7 +140,6 @@ c lSize = lSize*max(pars%eviter,1) if (.not.ma_push_get(mt_dbl,lSize,'values',lValues,kValues)) $ call errquit(pname//'failed to allocate values',0,MA_ERR) - lSize = lSize*max(pars%eviter,1) if (.not.ma_push_get(mt_dbl,lSize,'errors',lErrors,kErrors)) $ call errquit(pname//'failed to allocate errors',0,MA_ERR) endif @@ -169,19 +181,14 @@ c 9020 format(/,2x,"*** G",I1,"W",I1) 9021 format(/,2x,"*** G",I2,"W",I2) - if (eviter.eq.0 .and. pars%ncap .and. pars%evgw) then - do i=1,ipol - do j=0,pars%nmo-1 - if (j.lt.pars%nocc(i)) then - dbl_mb(kEmod+(i-1)*nmo+j) = - $ dbl_mb(kEmod+(i-1)*nmo+j) + pars%vxddp(i) - else - dbl_mb(kEmod+(i-1)*nmo+j) = - $ dbl_mb(kEmod+(i-1)*nmo+j) + pars%vxddm(i) - endif - enddo - enddo - endif + call gw_shift(dbl_mb(kemod),dbl_mb(pars%k_evals),-efermi, + $ pars%nmo,nbf_ao,pars%ipol) + if(.not.movecs_write(pars%rtdb, ao_bas_han, movecs_out, 'dft', + $ 'W vals',nbf_ao,ipol,(/pars%nmo,pars%nmo/), + $ dbl_mb(pars%k_occ), nbf_ao, + $ dbl_mb(pars%k_evals),nbf_ao,pars%g_movecs)) + $ call errquit('gw_analytic: could not save movecs',0,DISK_ERR) + c c Obtain eigenvalue difference c @@ -194,23 +201,25 @@ c c c Experimental bit, might be useful for BSE calculations c - if (eviter.eq.0 .and. pars%ncap .and. (.not.pars%evgw)) then - do i=1,ipol - do j=0,pars%nmo-1 - if (j.lt.pars%nocc(i)) then - dbl_mb(kEmod+(i-1)*nmo+j) = - $ dbl_mb(kEmod+(i-1)*nmo+j) + pars%vxddp(i) - else - dbl_mb(kEmod+(i-1)*nmo+j) = - $ dbl_mb(kEmod+(i-1)*nmo+j) + pars%vxddm(i) - endif - enddo - enddo - endif +c if (eviter.eq.0 .and. pars%ncap .and. (.not.pars%evgw)) then +c do i=1,ipol +c do j=0,pars%nmo-1 +c if (j.lt.pars%nocc(i)) then +c dbl_mb(kEmod+(i-1)*nmo+j) = +c $ dbl_mb(kEmod+(i-1)*nmo+j) + pars%vxddp(i) +c else +c dbl_mb(kEmod+(i-1)*nmo+j) = +c $ dbl_mb(kEmod+(i-1)*nmo+j) + pars%vxddm(i) +c endif +c enddo +c enddo +c endif c c if (eviter.eq.0 .and. pars%ncap) then c call dcopy(nmo*ipol,dbl_mb(kEmod),1,dbl_mb(kEref),1) c endif +c + call dcopy(nmo*ipol, dbl_mb(kEmod), 1, dbl_mb(kEref), 1) c c Obtain Screened Coulomb matrices on imaginary axis c @@ -277,11 +286,11 @@ c ! Update Fermi energy ! do i=1,ipol - lSize = kEnew + (i-1)*nbf_ao + lSize = kEnew + (i-1)*nmo efermi_new(i) = gw_efermi(dbl_mb(lSize),pars%nocc(i)) enddo call gw_shift(dbl_mb(kEnew),dbl_mb(kemod),efermi_new, - $ nbf_ao,pars%nmo,pars%ipol) + $ pars%nmo,pars%nmo,pars%ipol) efermi(:) = efermi(:) + efermi_new(:) call dcopy(pars%ipol*nmo,dbl_mb(kemod),1,dbl_mb(kEnew),1) @@ -293,12 +302,26 @@ c endif endif + if (main) then + + call gw_shift(dbl_mb(kenew),dbl_mb(kemod),-efermi,nmo,nmo,ipol) + call util_file_name('gwevals',.false.,.false.,gwevals) + call util_file_name_resolve(gwevals,.false.) + open(unit=unitno,status='unknown',form='unformatted',file=gwevals) + do i=1,ipol + call swrite(unitno, dbl_mb(kemod+(i-1)*nmo),nmo) + enddo + close(unit=unitno) + + endif + if (.not.ga_destroy(pars%g_sols)) $ call errquit('gw_cdgw_newton: cannot destroy GA',0,GA_ERR) if (.not.(ma_free_heap(liW).and.ma_free_heap(liWidx))) $ call errquit(pname//'cannot destroy iW arrays',0,MA_ERR) + c end subroutine diff --git a/src/gwmol/gw_cdgw_buildrn_minres.F b/src/gwmol/gw_cdgw_buildrn_minres.F index 4567aec5ea..0370b4772c 100644 --- a/src/gwmol/gw_cdgw_buildrn_minres.F +++ b/src/gwmol/gw_cdgw_buildrn_minres.F @@ -60,7 +60,7 @@ C logical main, ok, parallel_diag, skip logical, external :: is_near - double precision, parameter :: shift = 0.0001d0 + double precision, parameter :: shift = 0.00005d0 double complex :: w, R1, dR1 double complex :: ieta diff --git a/src/gwmol/gw_cdgw_newton.F b/src/gwmol/gw_cdgw_newton.F index c87fc1dbad..0fbdca4973 100644 --- a/src/gwmol/gw_cdgw_newton.F +++ b/src/gwmol/gw_cdgw_newton.F @@ -40,7 +40,7 @@ integer nclusters, clusters(pars%nmo),myll,myul integer llqp,ulqp,icluster double precision upper,lower,resupper,reslower,const - double precision values(25),errors(25),radius + double precision values(100),errors(100),radius main = pars%me .eq. 0 @@ -110,9 +110,11 @@ if (eviter.lt.3) then if (myul.lt.ulqp) then - Eout = Enew(llmo+iqp,isp) + 0.001d0 + !Eout = Enew(llmo+iqp,isp) + 0.001d0 + Eout = Eout + 0.001d0 elseif (myll.gt.llqp) then - Eout = Enew(llmo+iqp-2,isp) - 0.001d0 + !Eout = Enew(llmo+iqp-2,isp) - 0.001d0 + Eout = Eout - 0.001d0 endif endif @@ -207,6 +209,7 @@ c ! Save last energy Enew(llmo+iqp-1,isp) = Eout + Sigma(llmo+iqp-1,isp) = SigmaC + Sigma_X ! check convergence info if (converged) then diff --git a/src/gwmol/gw_defaults.F b/src/gwmol/gw_defaults.F index e2cd9c5cfc..7d2756f984 100644 --- a/src/gwmol/gw_defaults.F +++ b/src/gwmol/gw_defaults.F @@ -27,21 +27,17 @@ c & rtdb_put(rtdb,'gw:graph',mt_log,1,.false.).and. & rtdb_put(rtdb,'gw:linear',mt_log,1,.false.).and. & rtdb_put(rtdb,'gw:eviter',mt_int,1,4).and. - & rtdb_put(rtdb,'gw:qpiter',mt_int,1,10).and. + & rtdb_put(rtdb,'gw:qpiter',mt_int,1,20).and. & rtdb_put(rtdb,'gw:noqp_alpha',mt_int,1,1).and. & rtdb_put(rtdb,'gw:nvqp_alpha',mt_int,1,0).and. & rtdb_put(rtdb,'gw:noqp_beta',mt_int,1,1).and. & rtdb_put(rtdb,'gw:nvqp_beta',mt_int,1,0).and. - & rtdb_put(rtdb,'gw:ngl',mt_int,1,200).and. + & rtdb_put(rtdb,'gw:ngl',mt_int,1,160).and. & rtdb_put(rtdb,'gw:nomega',mt_int,1,100).and. & rtdb_put(rtdb,'gw:first',mt_int,1,1).and. & rtdb_put(rtdb,'gw:threshold',mt_dbl,1,0.005d0/ha2ev).and. & rtdb_put(rtdb,'gw:ncap',mt_log,1,.false.).and. -#ifdef GWCMPLX - & rtdb_put(rtdb,'gw:eta',mt_dbl,1,0.0001d0).and. -#else - & rtdb_put(rtdb,'gw:eta',mt_dbl,1,0.00001d0).and. -#endif + & rtdb_put(rtdb,'gw:eta',mt_dbl,1,0.01d0).and. & rtdb_put(rtdb,'gw:rpa',mt_log,1,.false.).and. & rtdb_put(rtdb,'gw:diag',mt_log,1,.false.).and. & rtdb_put(rtdb,'gw:core',mt_log,1,.false.).and. diff --git a/src/gwmol/gw_donewton.F b/src/gwmol/gw_donewton.F index 02e408529c..9e99e38097 100644 --- a/src/gwmol/gw_donewton.F +++ b/src/gwmol/gw_donewton.F @@ -30,8 +30,12 @@ C ! !take full newton step for large enough z ! - if (z.gt.0.4d0 .and. z.le.1d0 ) then - xout = xin + step + if (z.gt.0.6d0 .and. z.le.1d0 ) then + if (iter.eq.1) then + xout = xin + 0.2d0*step + else + xout = xin + 0.7d0*step + endif ! ! when we have bracketed the solution, the @@ -51,7 +55,11 @@ C ! Take an scaled Newton step for small Z ! elseif (z.gt.0.1d0) then - xout = xin + 0.60d0*step + if (iter.eq.1) then + xout = xin + 0.10d0*step + else + xout = xin + 0.30d0*step + endif ! ! If Z is greater than 1.0 or very small we have to suspect @@ -59,7 +67,8 @@ C ! steepest decent step ! else - xout = xin + radius*fx +c xout = xin + radius*fx + xout = xin + sign(0.002d0,fx) endif diff --git a/src/gwmol/gw_init.F b/src/gwmol/gw_init.F index 81dba45f59..6cc5bd83ed 100644 --- a/src/gwmol/gw_init.F +++ b/src/gwmol/gw_init.F @@ -31,6 +31,8 @@ c c logical movecs_read, movecs_read_header, atom_tag_check external movecs_read, movecs_read_header, atom_tag_check + + logical,external :: movecs_write c integer ga_create_atom_blocked external ga_create_atom_blocked @@ -46,8 +48,6 @@ c c c ----------------------------------------------------------------- c - zeta = 0.304121d0 - aq2 = 2d0/9d0 * (1d0-zeta)**2 pars%timer%init = util_wallsec() pars%timer%total = pars%timer%init @@ -71,6 +71,9 @@ c pars%me = ga_nodeid() pars%nprocs = ga_nnodes() + !oskel = .false. + !oadapt = .false. + #ifdef USE_OPENMP pars%iMaxThreads = omp_get_max_threads() #else @@ -135,9 +138,9 @@ c $ pars%nvqp(1))) $ call errquit(pname//'failed to read nvqp',0,RTDB_ERR) if (.not.rtdb_get(pars%rtdb,'gw:noqp_beta',mt_int,1,pars%noqp(2))) - $ call errquit(pname//'failed to read noqp',0,RTDB_ERR) + $ call errquit(pname//'failed to read noqp beta',0,RTDB_ERR) if (.not.rtdb_get(pars%rtdb,'gw:nvqp_beta',mt_int,1,pars%nvqp(2))) - $ call errquit(pname//'failed to read nvqp',0,RTDB_ERR) + $ call errquit(pname//'failed to read nvqp beta',0,RTDB_ERR) c if (.not.rtdb_get(pars%rtdb,'gw:analyticw',mt_log,1,pars%anaw)) $ call errquit(pname//'failed to read analyticw',0,RTDB_ERR) @@ -236,7 +239,6 @@ c do j=1,pars%nmo if (dbl_mb(pars%k_occ+(i-1)*nbf_ao+j-1).gt.0.d0) then nocc = nocc + 1 - cycle else nvir = nvir + 1 endif @@ -244,7 +246,7 @@ c pars%nocc(i) = nocc pars%nvir(i) = nvir if (nocc+nvir.ne.pars%nmo) - $ call errquit(pname//'something went wrong',0,0) + $ call errquit(pname//'Nocc + Nvir /= NMO ',0,0) c if ((pars%noqp(i).gt.nocc).or.(pars%noqp(i).eq.-1)) @@ -253,12 +255,11 @@ c if (pars%noqp(i).lt.-1) $ call errquit(pname//'invalid number noqp specified',0,0) c - if ((pars%nvqp(i).gt.nvir).or.(pars%nvqp(i).eq.-1)) + if ((pars%nvqp(i).gt.nvir).or.(pars%nvqp(i).le.-1)) $ pars%nvqp(i) = nvir - if (pars%nvqp(i).lt.-1) - $ call errquit(pname//'invalid number nvqp specified',0,0) - + ! If core option was passed, then start counting from the bottom + ! else, start counting from the top (Fermi level) if (pars%core) then pars%llmo(i) = pars%first else @@ -284,16 +285,23 @@ c c 1001 format(2X,A12,F8.3,A3) if (pars%ncap) then + zeta = 0.304121d0 + if ((xfac(87)).gt.1d-10) zeta=0.5d0 + aq2 = 2d0/9d0 * (1d0-zeta)**2 do i=1,ipol ehomo = dbl_mb(pars%k_evals+(i-1)*nbf_ao+pars%nocc(i)-1) - vxddp = -0.5d0*aq2*(1d0 + sqrt(1d0-4d0*ehomo/aq2)) - vxddm = -0.5d0*aq2*(1d0 - sqrt(1d0-4d0*ehomo/aq2)) + vxddp = -0.5d0*aq2*(1d0 + sqrt(1d0-4d0*ehomo/aq2))!*0.15d0 + vxddm = -0.5d0*aq2*(1d0 - sqrt(1d0-4d0*ehomo/aq2))!*0.15d0 pars%vxddp(i) = vxddp pars%vxddm(i) = vxddm if (pars%me.eq.0) then write(luout,1001) ' v_x^{DD+}: ',vxddp*ha2ev, ' eV' write(luout,1001) ' v_x^(DD-): ',vxddm*ha2ev, ' eV' endif + call daxpy(pars%nocc(i),1d0,vxddp,0, + $ dbl_mb(pars%k_evals+(i-1)*nbf_ao),1) + call daxpy(pars%nvir(i),1d0,vxddm,0, + $ dbl_mb(pars%k_evals+(i-1)*nbf_ao+pars%nocc(i)),1) enddo endif c diff --git a/src/gwmol/gw_ri_init.F b/src/gwmol/gw_ri_init.F index 08b6e443f3..5621749465 100644 --- a/src/gwmol/gw_ri_init.F +++ b/src/gwmol/gw_ri_init.F @@ -484,6 +484,7 @@ c if (.not.ga_create(mt_dbl,nri,npairs,erilabel,nri,0,eri)) enddo ok = ma_chop_stack(l_tmp) + ok = ma_chop_stack(lmap) call ga_distribution(eri,me,ld,ld,polelo,polehi) diff --git a/src/gwmol/gw_vxc.F b/src/gwmol/gw_vxc.F index e3e212cfaa..d8bbc81e8b 100644 --- a/src/gwmol/gw_vxc.F +++ b/src/gwmol/gw_vxc.F @@ -93,6 +93,7 @@ c $ pars%g_movecs(isp),pars%g_movecs(isp),0d0, $ g_dens(isp)) if (odftps) call pstat_off(ps_dgemm) + call ga_symmetrize(g_dens(isp)) enddo c nscr = 2*nbf_ao_mxnbf_ce**2 @@ -131,7 +132,7 @@ c if (.not.ma_push_get(mt_dbl,2*nbf_ao,'vxc temp',l_tmp,k_tmp)) $ call errquit(pname//'failed to allocate temp',0,MA_ERR) do isp=1,ipol - if (oskel) + if (oskel) $ call sym_symmetrize(geom, ao_bas_han, .false., g_vxc(isp)) call ga_dgemm('n','n',nbf_ao,nmo,nbf_ao,1.0d0,g_vxc(isp), $ pars%g_movecs(isp),0.0d0,g_dens(isp)) diff --git a/src/input/input_parse.F b/src/input/input_parse.F index 7f05c419fa..893e15a243 100644 --- a/src/input/input_parse.F +++ b/src/input/input_parse.F @@ -332,6 +332,8 @@ ckbn mrcc-r-1 -3 #endif else if (inp_compare(.false.,test,'gw')) then call gw_input(rtdb) + else if (inp_compare(.false.,test,'bse')) then + call bse_input(rtdb) else if (inp_compare(.false.,test,'xtb')) then call xtb_input(rtdb) c diff --git a/src/nwdft/input_dft/dft_rdinput.F b/src/nwdft/input_dft/dft_rdinput.F index 81d3565eb0..ac03d289cc 100644 --- a/src/nwdft/input_dft/dft_rdinput.F +++ b/src/nwdft/input_dft/dft_rdinput.F @@ -703,6 +703,7 @@ c xname(83)=' MN15-L Exchange Functional' xname(84)=' MN15 Exchange Functional' xname(85)=' M06-SX Exchange Functional' + xname(87)=' NCAPR GGA Exchange Functional' c c Exchange-Correlation combination functional name defaults. c @@ -785,6 +786,7 @@ c xcname(84)=' MN15 Method XC Functional' xcname(85)=' M06-SX Method XC Functional' xcname(86)=' r^2SCAN0 Method XC Functional' + xcname(87)=' NCAPR Method XC Functional' c c place character XC parameters in rtdb c diff --git a/src/nwdft/input_dft/xc_inp.F b/src/nwdft/input_dft/xc_inp.F index f59a74d3e2..696ef9c8f4 100644 --- a/src/nwdft/input_dft/xc_inp.F +++ b/src/nwdft/input_dft/xc_inp.F @@ -153,7 +153,7 @@ c c r2scan0 ==> 19 c integer num_dirs, ind, mlen, iline, n, itemp - parameter (num_dirs=168) + parameter (num_dirs=169) c character*15 dirs(num_dirs) character*255 test @@ -212,7 +212,7 @@ c & 'xscan', 'cscan', & 'hcth147@tz2p', W 'wb97','wb97x','wb97x-d3', - & 'xr2scan', 'cr2scan','r2scan0' / + & 'xr2scan', 'cr2scan','r2scan0', 'ncapr' / c becke97-d, ssb-d logical disp, dumdirect integer ivdw @@ -298,7 +298,8 @@ c & 9710,9720,9650,9660,9615,9616, & 1947, & 9410,9420,9430, - & 9661,9662,9670, + & 9661,9662,9670, + & 9730, & 1999 ) ind @@ -1817,6 +1818,17 @@ c nlxfac(72) = .true. xfac(72) = 1.0d0 goto 10 + + +9730 xccomb(87) = .true. + cfac(3) = 1d0 + lcfac(3) = .true. + cfac(4) = 1d0 + nlcfac(4) = .true. + lxfac(87) = .true. + nlxfac(87) = .true. + xfac(87) = 1.0d0 + goto 10 c c r2SCAN metaGGA c diff --git a/src/nwdft/lr_tddft/tddft_analysis.F b/src/nwdft/lr_tddft/tddft_analysis.F index 6d6d13712c..53f66fe845 100644 --- a/src/nwdft/lr_tddft/tddft_analysis.F +++ b/src/nwdft/lr_tddft/tddft_analysis.F @@ -1646,6 +1646,7 @@ c Clean scratch space if (nodezero) call util_flush(LuOut) c endif ! gmh + c enddo ! outer loop over roots c diff --git a/src/nwdft/xc/xc_eval_fnl.F b/src/nwdft/xc/xc_eval_fnl.F index 991ae62c56..3f27d51b83 100644 --- a/src/nwdft/xc/xc_eval_fnl.F +++ b/src/nwdft/xc/xc_eval_fnl.F @@ -1855,15 +1855,32 @@ c if (.not. do_2nd .and..not. do_3rd) then call xc_xncap(tol_rho, xfac(72), rho, & delrho, Amat, Cmat, nq, ipol, - & Ex, qwght, ldew, func) + & Ex, qwght, ldew, func, ' ') else if (.not. do_3rd) then call xc_xncap_d2(tol_rho, xfac(72), rho, & delrho, Amat, Amat2, Cmat, Cmat2, nq, ipol, - & Ex, qwght, ldew, func) + & Ex, qwght, ldew, func, ' ') else call xc_xncap_d3(tol_rho, xfac(72), rho, & delrho, Amat, Amat2, Amat3, Cmat, Cmat2, Cmat3, - & nq, ipol, Ex, qwght, ldew, func) + & nq, ipol, Ex, qwght, ldew, func, ' ') + endif + endif +c + + if (abs(xfac(87)).gt.eps)then + if (.not. do_2nd .and..not. do_3rd) then + call xc_xncap(tol_rho, xfac(87), rho, + & delrho, Amat, Cmat, nq, ipol, + & Ex, qwght, ldew, func, 'r') + else if (.not. do_3rd) then + call xc_xncap_d2(tol_rho, xfac(87), rho, + & delrho, Amat, Amat2, Cmat, Cmat2, nq, ipol, + & Ex, qwght, ldew, func, 'r') + else + call xc_xncap_d3(tol_rho, xfac(87), rho, + & delrho, Amat, Amat2, Amat3, Cmat, Cmat2, Cmat3, + & nq, ipol, Ex, qwght, ldew, func, 'r') endif endif c diff --git a/src/nwdft/xc/xc_xncap.F b/src/nwdft/xc/xc_xncap.F index 02e3223b39..98bbefcd45 100644 --- a/src/nwdft/xc/xc_xncap.F +++ b/src/nwdft/xc/xc_xncap.F @@ -32,19 +32,23 @@ c c #if !defined SECOND_DERIV && !defined THIRD_DERIV Subroutine xc_xncap(tol_rho, fac, rho, delrho, - & Amat, Cmat, nq, ipol, Ex, qwght,ldew,func) + & Amat, Cmat, nq, ipol, Ex, qwght,ldew,func, + & version) #elif defined(SECOND_DERIV) && !defined THIRD_DERIV Subroutine xc_xncap_d2(tol_rho, fac, rho, delrho, & Amat, Amat2, Cmat, Cmat2, nq, ipol, Ex, - & qwght,ldew,func) + & qwght,ldew,func, + & version) #else Subroutine xc_xncap_d3(tol_rho, fac, rho, delrho, & Amat, Amat2, Amat3, Cmat, Cmat2, Cmat3, - & nq, ipol, Ex, qwght,ldew,func) + & nq, ipol, Ex, qwght,ldew,func, + & version) #endif c implicit none -c +c + character*1 version double precision fac, Ex integer nq, ipol logical ldew @@ -77,8 +81,7 @@ c double precision ckf, Ax double precision F43, F13, F23, F49 c - parameter(mu=0.2195149727645171d0, beta=0.01808569669d0) - parameter(zeta=0.30412141859531383d0) + parameter(mu=0.2195149727645171d0) parameter (F43=4.d0/3.d0, F13=1.d0/3.d0, F23=2.0d0/3.0d0) parameter (F49=4d0/9d0) @@ -100,11 +103,22 @@ c #endif double precision ops, omz, logops + double precision s2overgamma,s2overgamma_rho43 + double precision dFxd1s,dFxd2s + arcsinh(s)=dlog(s+dsqrt(1d0+s*s)) darcsinh(s)=1d0/dsqrt(1d0+s*s) d2arcsinh(s) = -s/dsqrt(1d0+s*s)**3 d3arcsinh(s) = (2d0*s*s - 1d0)/dsqrt(1d0+s*s)**5 c + if (version.eq.'r') then + zeta = 0.5d0 + beta = 0.017983d0 + else + zeta = 0.30412141859531383d0 + beta = 0.01808569669d0 + endif + pi = acos(-1.d0) ckf = (3d0*pi*pi)**F13 Ax = -3d0/(4d0*pi)*ckf @@ -130,11 +144,21 @@ CDEC$ NOSWP s = dsqrt(gamma)/(2d0*ckf*rho43) s2 = s*s + s2overgamma = 1d0/(4d0*ckf*ckf*rho43*rho43) + s2overgamma_rho43 = 1d0/(4d0*ckf*ckf*rho43) + d1s = 0.5d0*s/gamma + if (s.lt.1d-8) then Fx = 1d0 + mu*s2 + alpha*zeta*mu*s2*s + & mu*(alpha - beta - alpha*zeta - 0.5d0)*s2*s2 dFx = 2d0*mu*s + 3d0*alpha*zeta*mu*s2 + & 4d0*mu*(alpha - beta - alpha*zeta - 0.5d0)*s2*s + dFxd1s = mu*s2overgamma* + & (1d0 + 1.5d0*alpha*zeta*s + + & 2d0*(alpha-beta-alpha*zeta-0.5d0)*s2) + dFxd2s = -0.5d0*mu* + & (1d0 + 1.5d0*alpha*zeta*s + + & 2d0*(alpha-beta-alpha*zeta-0.5d0)*s2) d2Fx = 2d0*mu + 6d0*alpha*zeta*mu*s + & 12d0*mu*(alpha - beta - alpha*zeta - 0.5d0)*s2 d3Fx = 6d0*alpha*zeta*mu + @@ -147,7 +171,7 @@ CDEC$ NOSWP asymp = 1d0 + alpha*(omz*s*logops + zeta*s) dasymp = alpha*( (s + zeta)/ops + omz*logops ) - if (s.gt.30d0) then + if (s.gt.20d0) then tansin = arcsinh(s) dtansin = darcsinh(s) else @@ -159,18 +183,19 @@ CDEC$ NOSWP ddenom = beta*dtansin factor = tansin/denom - dfactor = (dtansin - factor*ddenom)/denom + dfactor = dtansin*(1d0 - beta*factor)/denom Fx = 1d0 + mu*factor*asymp dFx = mu*(dfactor*asymp + factor*dasymp) + dFxd1s = dFx*d1s + dFxd2s = -0.5d0*dFxd1s/s2overgamma #if defined(SECOND_DERIV) || defined(THIRD_DERIV) - if (s.gt.30d0) then + if (s.gt.24d0) then d2tansin = d2arcsinh(s) else - d2tansin = 2d0*darcsinh(s)/dcosh(s)**2 + - & dtanh(s)*d2arcsinh(s) - - & 2d0*tansin/dcosh(s)**2 + d2tansin = (darcsinh(s)-tansin)*2d0/dcosh(s)**2 + + & dtanh(s)*d2arcsinh(s) endif d2asymp = alpha*omz*(2d0 + s)/ops**2 d2denom = beta*d2tansin @@ -202,9 +227,8 @@ CDEC$ NOSWP Ex = Ex + Ax*rho43*Fx*qwght(n)*fac if (ldew) func(n) = func(n) + Ax*rho43*Fx*fac - d1s = 0.5d0*s/gamma Amat(n,1) = Amat(n,1) + F43*Ax*rho13*(Fx - s*dFx)*fac - Cmat(n,D1_GAA) = Cmat(n,D1_GAA) + 2d0*Ax*rho43*dFx*d1s*fac + Cmat(n,D1_GAA) = Cmat(n,D1_GAA) + 2d0*Ax*rho43*dFxd1s*fac #if defined(SECOND_DERIV) || defined(THIRD_DERIV) @@ -214,10 +238,10 @@ CDEC$ NOSWP & (Fx - s*dFx + 4d0*s2*d2Fx)*fac Cmat2(n,D2_RA_GAA) = Cmat2(n,D2_RA_GAA) - - & (F43*Ax*rho13*d2Fx*d1s*s)*4d0*fac + & (0.5d0*F43*Ax*rho13*d2Fx*s2overgamma)*4d0*fac - Cmat2(n,D2_GAA_GAA) = Cmat2(n,D2_GAA_GAA) + Ax*rho43* - & (d2Fx*d1s**2 + dFx*d2s)*8d0*fac + Cmat2(n,D2_GAA_GAA) = Cmat2(n,D2_GAA_GAA) + Ax* + & s2overgamma_rho43/gamma*(0.25d0*d2Fx + dFxd2s)*8d0*fac #endif #ifdef THIRD_DERIV rhom53 = rhom23*rrho diff --git a/src/task/GNUmakefile b/src/task/GNUmakefile index 14fe35f204..6ddbddb045 100644 --- a/src/task/GNUmakefile +++ b/src/task/GNUmakefile @@ -9,7 +9,7 @@ task_save_state.o task.o task_input.o task_shell_input.o task_num_grad.o \ task_vscf.o task_property.o task_dntmc.o task_bsse.o \ task_jefftce.o task_ncc.o task_rfcf.o \ - task_gwmol.o \ + task_gwmol.o task_bsemol.o \ task_aoints.o task_nadtrc.o USES_BLAS = task_num_grad.F task_bsse.F diff --git a/src/task/task.F b/src/task/task.F index 5f112136fc..b98b94fc26 100644 --- a/src/task/task.F +++ b/src/task/task.F @@ -163,6 +163,10 @@ c logical task_nadtrc external task_nadtrc + logical task_bsemol + external task_bsemol + + c logical embed_optimize c external embed_optimize c @@ -468,6 +472,8 @@ c status=embed_prepare(rtdb) status=task_dntmc(rtdb) else if (inp_compare(.false., 'gw', operation)) then status = task_gwmol(rtdb) + else if (inp_compare(.false., 'bse', operation)) then + status = task_bsemol(rtdb) c c **** check for theories that have specific operations **** c diff --git a/src/task/task_bsemol.F b/src/task/task_bsemol.F new file mode 100644 index 0000000000..17199c7a65 --- /dev/null +++ b/src/task/task_bsemol.F @@ -0,0 +1,138 @@ +c +c Task handler for Molecular BSE calcualtions +c Daniel Mejia-Rodriguez, 2022 +c + logical function task_bsemol(rtdb) +c + implicit none +c +#include "errquit.fh" +#include "rtdb.fh" +#include "mafdecls.fh" +#include "inp.fh" +#include "stdio.fh" +#include "util.fh" +#include "global.fh" +c + integer rtdb +c + character*32 theory + character*255 title + integer iproc, ipol + logical oprint, rodft, dftmp2, status, converged, ignore + double precision cputime, walltime +c + logical bsemol, task_energy + external bsemol, task_energy +c +c Initialization +c + task_bsemol = .false. +c +c Time at the start +c + cputime = util_cpusec() + walltime = util_wallsec() +c +c Invalidate status +c + if (.not. rtdb_put( rtdb, 'task:status', mt_log, 1, .false.)) + & call errquit('task_bse: failed to invalidate status',0,RTDB_ERR) +c +c Print BSE header +c + oprint = util_print('information', print_low) + if (oprint) then + if (.not. rtdb_cget(rtdb, 'title', 1, title)) title = ' ' + if (ga_nodeid().eq.0) then + write(LuOut,*) + call util_print_centered( + & LuOut, 'NWChem BSE Module', 40, .true.) + write(LuOut,*) + write(LuOut,*) + if (title.ne.' ') then + call util_print_centered(LuOut, title, 40, .false.) + write(LuOut,*) + write(LuOut,*) + endif + endif + endif +c +c Check if theory has been specified +c + if (.not. rtdb_cget(rtdb, 'task:theory', 1, theory)) + & call errquit('task_bsemol: theory not specified',0, RTDB_ERR) +c +c Restrict to DFT for now (SCF could also be used) +c + if (.not.inp_compare(.false.,'dft',theory)) + & call errquit('task_bsemol: BSE is only implemented for DFT', 0, + & INPUT_ERR) +c + if (rtdb_get(rtdb, 'dft:rodft', mt_log, 1, rodft)) + & call errquit('task_bsemol: BSE is not implemented for RODFT', 0, + & INPUT_ERR) +c + if (rtdb_get(rtdb, 'dft:dftmp2', mt_log, 1, dftmp2)) + & call errquit('task_bsemol: BSE is not implemented for double'// + & ' hybrid functionals',0,INPUT_ERR) +c + if (.not.rtdb_get(rtdb, 'dft:ipol', mt_int, 1, ipol)) + & call errquit('task_bsemol: failed to read ipol', 0, RTDB_ERR) + + if (.not. rtdb_get(rtdb, 'task:ignore', mt_log, 1, ignore)) + & ignore = .true. +c +c Make sure a DFT solution is available +c + status = rtdb_get(rtdb, 'dft:converged', mt_log, 1, converged) + if (.not.status) then + status = task_energy(rtdb) + if (.not.rtdb_get(rtdb, 'dft:converged', mt_log, 1, converged)) + & call errquit('task_bsemol: failed to read convergence info',0, + & RTDB_ERR) + endif + + status = converged + + + if (ga_nodeid().eq.0) then + write(luout,*) " " + write(luout,'(29X,A)') "***********************" + write(luout,'(29X,A)') "*** BSE ***" + write(luout,'(29X,A)') "***********************" + write(luout,*) " " + + if (.not.converged) then + write(LuOut,*) + write(LuOut,'(27X,A)') '!!! WARNING: !!!' + write(LuOut,'(27X,A)') '!!! DFT DID NOT CONVERGE !!!' + write(LuOut,*) + endif + + call util_flush(luout) + endif + + if ((.not.status) .and. (.not.ignore)) + & call errquit('task_bsemol: Energy failure',0,CALC_ERR) +c +c Actually compute GW +c + status = bsemol(rtdb) +c + cputime = util_cpusec() - cputime + walltime = util_wallsec() - walltime +c + if (.not. rtdb_put(rtdb, 'task:status', mt_log, 1, .true.)) + & call errquit('task_bse: failed to set status',0, + & RTDB_ERR) + if (.not. rtdb_put(rtdb, 'task:cputime', mt_dbl, 1, cputime)) + & call errquit('task_bse: failed storing cputime',0, + & RTDB_ERR) + if (.not. rtdb_put(rtdb, 'task:walltime', mt_dbl, 1, walltime)) + & call errquit('task_bse: failed storing walltime',0, + & RTDB_ERR) +c + task_bsemol = status +c + end function diff --git a/src/task/task_input.F b/src/task/task_input.F index d6077f13f0..4769d3ccef 100644 --- a/src/task/task_input.F +++ b/src/task/task_input.F @@ -37,7 +37,7 @@ c c task [qmmm] [] [numerical || analytic] c [ignore] c - logical numerical, ignore, oqmmm, analytic + logical numerical, ignore, oqmmm, analytic, gwbse logical orism logical omm logical opes @@ -61,6 +61,7 @@ c opes = .false. ofragment = .false. osmd = .false. + gwbse = .false. c oembed = .false. c call rtdb_clean(rtdb, 'task:') ! Delete ALL previous task parameters @@ -114,6 +115,10 @@ c operation = 'rt_tddft' else if (inp_compare(.false.,test,'gw')) then operation = 'gw' + gwbse = .true. + else if (inp_compare(.false.,test,'bse')) then + operation = 'bse' + gwbse = .true. else if (inp_compare(.false.,test,'fcidump')) then operation = 'fcidump' c else if (inp_compare(.false.,test,'prepare')) then @@ -377,6 +382,7 @@ c c if (theory .eq. ' ') then if(osmd) theory="smd" + if(gwbse) theory='dft' end if if (theory .ne. ' ') then if (.not. rtdb_cput(rtdb, 'task:theory', 1, theory)) diff --git a/src/tools/GNUmakefile b/src/tools/GNUmakefile index a0bebc688f..ba713425fe 100644 --- a/src/tools/GNUmakefile +++ b/src/tools/GNUmakefile @@ -769,6 +769,7 @@ $(STAMP_DIR): clean: @test -e $(BUILDDIR)/Makefile && { cd $(BUILDDIR) && $(MAKE) clean; } || echo "Not configured" + rm -f build install rm -f ../mpi_include.txt ../ga*txt realclean: diff --git a/src/util/ma_print.F b/src/util/ma_print.F index 273ea901bc..3a455630ba 100644 --- a/src/util/ma_print.F +++ b/src/util/ma_print.F @@ -16,7 +16,7 @@ c (c) Battelle, PNNL, 2002. write(LuOut,*) write(LuOut,*) title write(LuOut,9000) - do k = 0,mdim/6 + do k = 0,(mdim-1)/6 write(LuOut,*) write(LuOut,9010) (j,j=k*6+1,min(mdim,k*6+6)) do i=1,ndim diff --git a/travis/check_failures.sh b/travis/check_failures.sh index 09ba5ac0bc..9ac3e53a7a 100755 --- a/travis/check_failures.sh +++ b/travis/check_failures.sh @@ -31,6 +31,7 @@ check_file () { grep -s 'l DFT energy' $file |tail echo ============================================================ grep -s 'Total PSPW energy' $file |tail + grep -s -B 3 "Root 1 singlet b1u" $file |grep E-0 fi } @@ -46,6 +47,7 @@ check_file h2o2-response check_file pspw check_file pspw_md check_file aump2 +check_file bse_ethene # stuff for OpenBLAS issues on macos echo 'looking for cgemm_incopy.o' find $TRAVIS_BUILD_DIR/src/libext -name cgemm_incopy.o diff --git a/travis/nwchem.bashrc b/travis/nwchem.bashrc index fb5975e4df..84ab6772b2 100644 --- a/travis/nwchem.bashrc +++ b/travis/nwchem.bashrc @@ -28,6 +28,7 @@ fi echo NWCHEM_TOP is $NWCHEM_TOP #TARBALL=https://github.com/nwchemgit/nwchem/releases/download/v7.0.0-beta1/nwchem-7.0.0-release.revision-5bcf0416-src.2019-11-01.tar.bz2 export USE_MPI=y +export MPICH_INTERFACE_HOSTNAME=localhost # fix for Mpich interface errors if [[ "$FC" == "flang" ]]; then export BUILD_MPICH=1 fi @@ -184,9 +185,9 @@ if [[ -z "$USE_INTERNALBLAS" ]]; then # if [[ ${FC} == gfortran ]] ; then if [[ "$MPI_IMPL" == "mpich" ]]; then export MPICH_FC=$FC - if [[ "$arch" != "aarch64" ]]; then - export BUILD_MPICH=1 - fi +# if [[ "$arch" != "aarch64" ]]; then +# export BUILD_MPICH=1 +# fi fi if [[ `${CC} -dM -E - < /dev/null 2> /dev/null | grep -c clang` == 0 ]] && [[ `${CC} -dM -E - < /dev/null 2> /dev/null | grep -c GNU` > 0 ]] && [[ "$(expr `${CC} -dumpversion | cut -f1 -d.` \> 7)" == 1 ]]; then if [[ "$os" == "Linux" ]] && [[ "$arch" == "x86_64" ]]; then diff --git a/travis/run_qas.sh b/travis/run_qas.sh index 12230effb1..8da549710e 100755 --- a/travis/run_qas.sh +++ b/travis/run_qas.sh @@ -35,7 +35,7 @@ if [[ ! -z "$USE_OPENMP" ]]; then export OMP_NUM_THREADS="$USE_OPENMP" export OMP_STACKSIZE=32M fi -if [[ "$os" == "Darwin" && "$BUILD_MPICH" == 1 ]] || [[ "$os" == "Darwin" && "$ARMCI_NETWORK" == MPI-PT ]] ; then +if [[ "$os" == "Darwin" && "$ARMCI_NETWORK" == MPI-PT ]] ; then nprocs=1 fi env|egrep MP @@ -88,6 +88,14 @@ env|egrep MP ;; esac ;; + ARMCI) + case "$os" in +# fixes segfault for bse_ethene in ga_copy_patch...ARMCII_Iov_op_datatype + Linux) + ulimit -s unlimited + ;; + esac + ;; esac if [[ "$MPI_IMPL" == "openmpi" ]]; then export MPIRUN_NPOPT=" --allow-run-as-root -mca mpi_yield_when_idle 0 --oversubscribe -np " @@ -132,6 +140,9 @@ fi cd $TRAVIS_BUILD_DIR/QA && ./runtests.mpi.unix procs $nprocs ritddft_h2o ritddft_co cd $TRAVIS_BUILD_DIR/QA && NWCHEM_BASIS_LIBRARY=${NWCHEM_TOP}/src/basis/libraries.bse/ ./runtests.mpi.unix procs $nprocs gw_closedshell gw_openshell gw_symmetry fi + if [[ ! $(grep -i bse $TRAVIS_BUILD_DIR/src/stubs.F| awk '/bse_input/') ]]; then + cd $TRAVIS_BUILD_DIR/QA && ./runtests.mpi.unix procs $nprocs bse_ethene + fi if [[ ! $(grep -i dplot $TRAVIS_BUILD_DIR/src/stubs.F| awk '/dplot_input/') ]]; then cd $TRAVIS_BUILD_DIR/QA && ./runtests.mpi.unix procs $nprocs rt_tddft_dplot fi