1Test : Silicon with EPM (complex, spin-polarized) 2Enabled : Yes 3 4# DO NOT MAKE CHANGES HERE INDEPENDENTLY! They MUST follow the values in 5# Si_cplx.test (generated from Si.test) or spin-polarization is broken. 6# Running the command "diff -y Si_cplx.test Si_cplx_spin.test --width=200" 7# should result in only a small number of lines of difference, all of which have comments 8# around them noting how and why they differ. 9 10Command: cp $TESTDIR/WFN*.in $WORKDIR/ 11# FHJ: The following sed is always executed 12Command: sed -i.bak 's/^real_or_complex.*/real_or_complex 2/;s/^nspin.*/nspin 2/' WFN*.in 13 14Executable : epm2bgw.x 15Processors : serial 16Output : WFN.out 17Input : WFN.in PIPE NOCOPY 18 19Precision : 6e-15 20match ; Eigenvalue 1 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 1); -0.1283435360829054 21match ; Eigenvalue 10 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 10); 1.3282472551260550 22match ; Eigenvalue 18 at k-pt 2 ; GREP(WFN.out, "kpoint 2", 2, 18); 2.3490532646407310 23 24Output : WFNq.out 25Input : WFNq.in PIPE NOCOPY 26 27match ; Eigenvalue 1 at k-pt 1 ; GREP(WFNq.out, "kpoint 1", 2, 1); -0.1278872033838455 28match ; Eigenvalue 1 at k-pt 2 ; GREP(WFNq.out, "kpoint 2", 2, 1); -0.1287983831755248 29match ; Eigenvalue 4 at k-pt 3 ; GREP(WFNq.out, "kpoint 3", 2, 4); 0.6800817811482534 30 31Output : WFN_co.out 32Input : WFN_co.in PIPE NOCOPY 33 34match ; Eigenvalue 1 at k-pt 1 ; GREP(WFN_co.out, "kpoint 1", 2, 1); -0.1875783994953054 35match ; Eigenvalue 1 at k-pt 3 ; GREP(WFN_co.out, "kpoint 3", 2, 1); 0.1223225560313585 36match ; Eigenvalue 18 at k-pt 3 ; GREP(WFN_co.out, "kpoint 3", 2, 18); 2.2892013856110280 37 38Output : WFN_fi.out 39Input : WFN_fi.in PIPE NOCOPY 40 41match ; Eigenvalue 1 at k-pt 1 ; GREP(WFN_fi.out, "kpoint 1", 2, 1); -0.1699064558009724 42match ; Eigenvalue 4 at k-pt 1 ; GREP(WFN_fi.out, "kpoint 1", 2, 4); 0.7222736945499569 43match ; Eigenvalue 6 at k-pt 7 ; GREP(WFN_fi.out, "kpoint 7", 2, 6); 1.0573090701231470 44 45Output : WFNq_fi.out 46Input : WFNq_fi.in PIPE NOCOPY 47 48match ; Eigenvalue 1 at k-pt 2 ; GREP(WFNq_fi.out, "kpoint 2", 2, 1); -0.0628178651675045 49match ; Eigenvalue 4 at k-pt 5 ; GREP(WFNq_fi.out, "kpoint 5", 2, 4); 0.5510534752750740 50match ; Eigenvalue 3 at k-pt 20 ; GREP(WFNq_fi.out, "kpoint 20", 2, 3); 0.4468196210876209 51 52# no kgrid run, it doesn't depend on spin so that is pointless 53 54Executable : wfn_rho_vxc_info.x 55Processors : serial 56Arguments : WFN > WFN_info.out 57 58match ; Max number of wfn G-vectors ; GREP(WFN_info.out, "Max number of wfn G-vectors", 6, 0); 171 59match ; Real-space metric (0, 0) ; GREP(WFN_info.out, "Metric (real space", 1, 1); 52.646113 60 61Command : cp WFNq WFNq_cp 62Executable : wfn_dotproduct.x 63Processors : serial 64Arguments : B WFNq WFNq_cp > dotproduct.out 65 66# line numbers are different when there are two spins 67match ; Overlap ik 1, bands 1 1 ; GREP(dotproduct.out, "k-point 1:", 6, 4); 1.0 68match ; Overlap ik 1, bands 3 2 ; GREP(dotproduct.out, "k-point 1:", 6, 21); 0.0 69match ; Overlap ik 10, bands 4 4 ; GREP(dotproduct.out, "k-point 4:", 6, 35); 1.0 70 71Executable : degeneracy_check.x 72Processors : serial 73Arguments : WFN WFN_inner WFN_fi > degeneracy.out 74 75match ; Highest allowed number of bands ; GREP(degeneracy.out, "numbers of bands", 1, 3); 10 76match ; Highest allowed number of valence bands ; GREP(degeneracy.out, "numbers of valence bands", 1, 1); 4 77match ; Highest allowed number of conduction bands ; GREP(degeneracy.out, "numbers of conduction bands", 1, 2); 6 78 79############################################################################### 80Banner: GPP/COHSEX/HF (complex-spin) 81############################################################################### 82 83Copy : epsilon.inp 84Command : echo "skip_epsilon" >> epsilon.inp 85 86Executable : epsilon.cplx.x 87Processors : 4 88Output : eps_static_skip_epsilon.out 89Input : NONE 90 91Precision : 1e-13 92match ; Re chi(q1,0,0) ; LINE(chi_converge.dat, 16, 2) ; -0.71438266E-06 93match ; Re chi(q1,Gmax,Gmax) ; LINE(chi_converge.dat, 16, 4) ; -0.17070033E-02 94match ; Re chi(q3,0,0) ; LINE(chi_converge.dat, 50, 2) ; -0.28262692E-01 95match ; Re chi(q3,Gmax,Gmax) ; LINE(chi_converge.dat, 50, 4) ; -0.74153363E-03 96 97Command : mv epsilon.log eps_static_skip_epsilon.log 98 99Copy : epsilon.inp 100Command : echo "skip_chi" >> epsilon.inp 101 102Executable : epsilon.cplx.x 103Output : eps_static_skip_chi.out 104Input : NONE 105 106Precision : 2e-11 107match ; epsilon q1 ; GREP(eps_static_skip_chi.out, "q-pt 1: Head of Epsilon", 7, 0); 16.9619547514149 108Precision : 2e-13 109match ; eps inv q1 ; GREP(eps_static_skip_chi.out, "q-pt 1: Head of Epsilon Inverse", 8, 0); 0.0650198678428007 110match ; epsilon q2 ; GREP(eps_static_skip_chi.out, "q-pt 2: Head of Epsilon", 7, 0); 3.1043208107546914 111match ; eps inv q2 ; GREP(eps_static_skip_chi.out, "q-pt 2: Head of Epsilon Inverse", 8, 0); 0.36141535117630236 112match ; epsilon q3 ; GREP(eps_static_skip_chi.out, "q-pt 3: Head of Epsilon", 7, 0); 2.8944796695309591 113match ; eps inv q3 ; GREP(eps_static_skip_chi.out, "q-pt 3: Head of Epsilon Inverse", 8, 0); 0.36570423105364530 114match ; epsilonInv Head ; GREP(epsilon.log, "inverse epsilon", 7, 1); 0.06501987 115 116Command : mv epsilon.log eps_static_skip_chi.log 117 118 119#Testing Epsilon restart feature (HDF5 only). Note: for non-HDF5 calculations, 120#the code will run these calculation from scratch. So, make sure you always 121#grep for the correct q-point here, otherwise you might be matching something 122#else! 123 124#Test chi restart, take 1 125Copy : epsilon.inp 126Command : echo "skip_epsilon" >> epsilon.inp 127Command : echo "stop_after_qpt 2" >> epsilon.inp 128 129Executable : epsilon.cplx.x 130Processors : 4 131Output : eps_static_skip_epsilon_restart_1.out 132Input : NONE 133 134Precision : 1e-13 135match ; Re chi(q1,0,0) ; GREP(chi_converge.dat, "(qpt 1)", 2, 15) ; -0.71438266E-06 136match ; Re chi(q1,Gmax,Gmax) ; GREP(chi_converge.dat, "(qpt 1)", 4, 15) ; -0.17070033E-02 137Command : mv epsilon.log eps_static_skip_epsilon_restart_1.log 138Command : mv chi_converge.dat chi_converge_skip_epsilon_restart_1.dat 139 140 141#Test chi restart, take 2 142Copy : epsilon.inp 143Command : echo "skip_epsilon" >> epsilon.inp 144Command : echo "restart" >> epsilon.inp 145 146Executable : epsilon.cplx.x 147Processors : 4 148Output : eps_static_skip_epsilon_restart_2.out 149Input : NONE 150 151Precision : 1e-13 152match ; Re chi(q3,0,0) ; GREP(chi_converge.dat, "(qpt 3)", 2, 15) ; -0.28262692E-01 153match ; Re chi(q3,Gmax,Gmax) ; GREP(chi_converge.dat, "(qpt 3)", 4, 15) ; -0.74153363E-03 154Command : mv epsilon.log eps_static_skip_epsilon_restart_2.log 155Command : mv chi_converge.dat chi_converge_skip_epsilon_restart_2.dat 156 157 158#Test eps restart, take 1 159Copy : epsilon.inp 160Command : echo "skip_chi" >> epsilon.inp 161Command : echo "stop_after_qpt 2" >> epsilon.inp 162 163Executable : epsilon.cplx.x 164Output : eps_static_skip_chi_restart_1.out 165Input : NONE 166 167Precision : 2e-11 168match ; epsilon q1 ; GREP(eps_static_skip_chi_restart_1.out, "q-pt 1: Head of Epsilon", 7, 0); 16.9619547514149 169Precision : 2e-13 170match ; eps inv q1 ; GREP(eps_static_skip_chi_restart_1.out, "q-pt 1: Head of Epsilon Inverse", 8, 0); 0.0650198678428007 171match ; epsilon q2 ; GREP(eps_static_skip_chi_restart_1.out, "q-pt 2: Head of Epsilon", 7, 0); 3.1043208107546914 172match ; eps inv q2 ; GREP(eps_static_skip_chi_restart_1.out, "q-pt 2: Head of Epsilon Inverse", 8, 0); 0.36141535117630236 173Command : mv epsilon.log eps_static_skip_chi_restart_1.log 174 175 176#Test eps restart, take 2 177Copy : epsilon.inp 178Command : echo "skip_chi" >> epsilon.inp 179Command : echo "restart" >> epsilon.inp 180 181Executable : epsilon.cplx.x 182Output : eps_static_skip_chi_restart_2.out 183Input : NONE 184 185Precision : 1e-13 186match ; epsilon q3 ; GREP(eps_static_skip_chi_restart_2.out, "q-pt 3: Head of Epsilon", 7, 0); 2.8944796695309591 187match ; eps inv q3 ; GREP(eps_static_skip_chi_restart_2.out, "q-pt 3: Head of Epsilon Inverse", 8, 0); 0.36570423105364530 188Command : mv epsilon.log eps_static_skip_chi_restart_2.log 189 190 191# no eps0sym/epsbinasc/epsascbin runs, they don't depend on spin 192 193Executable : sigma.cplx.x 194Processors : 4 195Output : sig_HF.out 196Input : sig_HF.inp sigma.inp 197 198# These numbers should be identical to the full GW Sigma calculation below. 199Precision : 2e-6 200match ; n2, k1 Exchange ; GREP(sigma_hp.log, "ik = 1", 4, 4); -14.234329 201match ; n5, k2 Exchange ; GREP(sigma_hp.log, "ik = 2", 4, 7); -4.919106 202 203Command : mv sigma_hp.log sig_hp_HF.log 204 205Copy : sig_COHSEX.inp sigma.inp 206Command : echo "spin_index_min 2" >> sigma.inp 207Command : echo "spin_index_max 2" >> sigma.inp 208 209Executable : sigma.cplx.x 210Output : sig_COHSEX.out 211Input : NONE 212 213match ; n2, k1 Exchange ; GREP(sigma_hp.log, "ik = 1", 4, 4); -14.234329 214match ; n2, k1 Screened Exchange ; GREP(sigma_hp.log, "ik = 1", 5, 4); 9.436203 215match ; n2, k1 Coulomb Hole ; GREP(sigma_hp.log, "ik = 1", 6, 4); -8.650859 216match ; n2, k1 Linear QP Correction ; GREP(sigma_hp.log, "ik = 1", 10, 4); -3.413123 217 218match ; n5, k2 Exchange ; GREP(sigma_hp.log, "ik = 2", 4, 7); -4.919106 219match ; n5, k2 Screened Exchange ; GREP(sigma_hp.log, "ik = 2", 5, 7); 2.372129 220match ; n5, k2 Coulomb Hole ; GREP(sigma_hp.log, "ik = 2", 6, 7); -7.929344 221match ; n5, k2 Linear QP Correction ; GREP(sigma_hp.log, "ik = 2", 10, 7); 1.513581 222 223Command : mv sigma_hp.log sig_hp_COHSEX.log 224 225Executable : sigma.cplx.x 226Output : sig_COHSEX_offdiag.out 227Input : sig_COHSEX_offdiag.inp sigma.inp 228 229match ; n1 x n1 k1 Exchange ; GREP(sigma_hp.log, "1 1 3 real", 5, 0); -16.677015 230match ; n1 x n1 k1 Screened Exchange; GREP(sigma_hp.log, "1 1 3 real", 6, 0); 11.480658 231match ; n1 x n1 k1 Coulomb Hole ; GREP(sigma_hp.log, "1 1 3 real", 7, 0); -8.423929 232match ; n1 x n5 k1 Exchange ; GREP(sigma_hp.log, "1 5 3 real", 5, 0); -0.001542 233match ; n1 x n5 k1 Screened Exchange; GREP(sigma_hp.log, "1 5 3 real", 6, 0); 0.001797 234match ; n1 x n5 k1 Coulomb Hole ; GREP(sigma_hp.log, "1 5 3 real", 7, 0); -0.000133 235match ; n2 x n5 k1 Exchange ; GREP(sigma_hp.log, "2 5 3 real", 5, 0); -1.542806 236match ; n2 x n5 k1 Screened Exchange; GREP(sigma_hp.log, "2 5 3 real", 6, 0); 0.797644 237match ; n2 x n5 k1 Coulomb Hole ; GREP(sigma_hp.log, "2 5 3 real", 7, 0); -0.530405 238 239Processors : serial 240Executable : offdiag.cplx.x 241Output : offdiag.out 242Input : NONE 243 244# we evaluate at fixed energy, so Sigma is Hermitian and eigenvalues must be real 245match ; Eigenvalue 1 Re ; GREP(offdiag.out, "Sig(Eo)", 2, 2); -13.862077 246match ; Eigenvalue 1 Im ; GREP(offdiag.out, "Sig(Eo)", 3, 2); 0.000000 247match ; Eigenvalue 5 Re ; GREP(offdiag.out, "Sig(Eo)", 2, 6); 1.653623 248match ; Eigenvalue 5 Im ; GREP(offdiag.out, "Sig(Eo)", 3, 6); 0.000000 249 250Command : mv sigma_hp.log sig_hp_COHSEX_offdiag.log 251 252Copy : sig_GPP.inp sigma.inp 253Command : echo "spin_index_min 1" >> sigma.inp 254Command : echo "spin_index_max 2" >> sigma.inp 255 256Processors : 4 257Executable : sigma.cplx.x 258Output : sig_GPP.out 259Input : NONE 260 261Precision : 2e-5 262match ; k-point 1 z-coordinate ; GREP(sigma_hp.log, "ik = 1", 5, 0); 0.000000 263match ; n2, k1 Initial Eigenvalue ; GREP(sigma_hp.log, "ik = 1", 2, 4); 10.035862 264match ; n2, k1 Exchange ; GREP(sigma_hp.log, "ik = 1", 4, 4); -14.234668 265match ; n2, k1 Screened Exchange ; GREP(sigma_hp.log, "ik = 1", 5, 4); 9.582573 266match ; n2, k1 Coulomb Hole ; GREP(sigma_hp.log, "ik = 1", 11, 4); -6.836764 267match ; n2, k1 CH + Static Remainder; GREP(sigma_hp.log, "ik = 1", 6, 4); -7.628986 268match ; n2, k1 Linear QP Correction ; GREP(sigma_hp.log, "ik = 1", 10, 4); 0.163878 269match ; n2, k1 Znk ; GREP(sigma_hp.log, "ik = 1", 15, 4); 0.803837 270 271# offdiagonals 272# this is a diagonal actually and must match exactly the unsymmetrized diagonal value 273match ; n1 x n1 k1 Exchange ; GREP(sigma_hp.log, "1 1 1 real", 5, 0); -17.224976 274match ; n1 x n1 k1 Screened Exchange; GREP(sigma_hp.log, "1 1 1 real", 6, 0); 12.367894 275match ; n1 x n1 k1 Coulomb Hole ; GREP(sigma_hp.log, "1 1 1 real", 10, 0); -6.360950 276# this is some other offdiagonal 277match ; n1 x n8 k1 Exchange ; GREP(sigma_hp.log, "1 8 1 real", 5, 0); 0.000026 278match ; n1 x n8 k1 Screened Exchange; GREP(sigma_hp.log, "1 8 1 real", 6, 0); 0.003215 279match ; n1 x n8 k1 Coulomb Hole ; GREP(sigma_hp.log, "1 8 1 real", 10, 0); -0.000765 280# this one is zero by symmetry 281Precision : 1e-6 282match ; n2 x n1 k1 Exchange ; GREP(sigma_hp.log, "2 1 2 real", 5, 0); 0.000000 283match ; n2 x n1 k1 Screened Exchange; GREP(sigma_hp.log, "2 1 2 real", 6, 0); 0.000000 284match ; n2 x n1 k1 Coulomb Hole ; GREP(sigma_hp.log, "2 1 2 real", 10, 0); 0.000000 285 286match ; k-point 2 z-coordinate ; GREP(sigma_hp.log, "ik = 2", 5, 0); 0.500000 287match ; n5, k2 Initial Eigenvalue ; GREP(sigma_hp.log, "ik = 2", 2, 7); 11.989902 288match ; n5, k2 Exchange ; GREP(sigma_hp.log, "ik = 2", 4, 7); -4.919330 289match ; n5, k2 Screened Exchange ; GREP(sigma_hp.log, "ik = 2", 5, 7); 2.770033 290match ; n5, k2 Coulomb Hole ; GREP(sigma_hp.log, "ik = 2", 11, 7); -6.456372 291match ; n5, k2 CH + Static Remainder; GREP(sigma_hp.log, "ik = 2", 6, 7); -7.200217 292match ; n5, k2 Linear QP Correction ; GREP(sigma_hp.log, "ik = 2", 10, 7); 4.516284 293 294Copy : Si.nnkp 295 296Executable : sig2wan.x 297Processors : serial 298Output : sig2wan.out 299Input : sig2wan.inp 300 301match ; number of symmetries ; GREP(sig2wan.out, "nsym = ", 3, 0) ; 48 302Precision : 2e-5 303match ; eigenvalue band 2 k 2 ; GREP(Si.eig, "2 2 ", 3, 0) ; -5.975508000000 304match ; eigenvalue band 3 k 4 ; GREP(Si.eig, "3 4 ", 3, 0) ; -0.821639000000 305match ; eigenvalue band 1 k 6 ; GREP(Si.eig, "1 6 ", 3, 0) ; -7.253629000000 306 307Command : mv sigma_hp.log sig_hp_GPP.log 308Command : mv WFN_inner WFN_co 309 310Executable : kernel.cplx.x 311Processors : 4 312Output : kernel_res.out 313Input : kernel.inp 314 315Precision : 1e-8 316match ; Norm of head (res); GREP(kernel_res.out, " - Head :", 4); 2.3132138684155E+0001 317match ; Norm of wing (res); GREP(kernel_res.out, " - Wing :", 4); 3.3151235078540E+0000 318match ; Norm of body (res); GREP(kernel_res.out, " - Body :", 4); 2.7187084608215E+0001 319match ; Norm of x (res); GREP(kernel_res.out, " - X :", 4); 2.9710126990925E+0001 320 321Executable : eqp.py 322Arguments : eqp1 sig_hp_GPP.log eqp_co.dat > eqp.out 323 324# the line numbers are different from non-spin-polarized but ref values must be the same 325match ; k-point 2 z-coord ; LINE(eqp_co.dat, 18, 3); 0.500 326match ; LDA Eigenvalue ; LINE(eqp_co.dat, 22, 3); 8.767754000 327Precision : 2e-5 328match ; GW Eigenvalue ; LINE(eqp_co.dat, 22, 4); -0.821639000 329 330# inteqp. We will not use the result however. 331Executable : inteqp.cplx.x 332Output : inteqp.out 333Input : inteqp.inp 334 335Precision : 1e-5 336match ; Cartesian kx coord ; LINE(bandstructure.dat, 4, 3); 0.24758 337match ; MF Eigenvalue ; LINE(bandstructure.dat, 4, 6); -0.854680521 338match ; GW Eigenvalue ; LINE(bandstructure.dat, 4, 7); -9.480701656 339match ; Difference ; LINE(bandstructure.dat, 4, 8); -8.626021097 340# below in eqp_q.dat must match result in bandstructure.dat! 341# the line numbers are different from non-spin-polarized but ref values must be the same 342match ; eqp_q.dat k2 b2 MF ; LINE(eqp_q.dat, 11, 3); -0.854680521 343match ; eqp_q.dat k2 b2 GW ; LINE(eqp_q.dat, 11, 4); -9.480701656 344match ; eqp.dat k5 b1 s1 MF ; LINE(eqp.dat, 38, 3); 11.894735794 345match ; eqp.dat k5 b1 s1 GW ; LINE(eqp.dat, 38, 4); 5.044438378 346match ; eqp.dat k5 b1 s2 MF ; LINE(eqp.dat, 42, 3); 11.894735794 347match ; eqp.dat k5 b1 s2 GW ; LINE(eqp.dat, 42, 4); 5.044438378 348 349# BSE with velocity operator 350Executable : absorption.cplx.x 351Output : absp.out 352Input : absorption.inp 353 354# Eigenvalues and singlet transition mtxel must match corresponding results in non-spin-polarized test. 355# Sum rule should match the singlet calculation. 356Precision : 0.0001 357match ; Number of eigenvalues ; GREP(eigenvalues.dat, "# neig = ", 4); 864 358match ; Singlet eigenvalue 1 ; LINE(eigenvalues.dat, 7, 1); 0.30491926E+01 359Precision : 1e-5 360match ; Singlet transition mtxel 1 ; LINE(eigenvalues.dat, 7, 2); 0.48635697E+02 361Precision : 0.0001 362match ; Triplet eigenvalue 1 ; LINE(eigenvalues.dat, 5, 1); 0.28850156E+01 363Precision : 1e-5 364match ; Triplet transition mtxel 1 ; LINE(eigenvalues.dat, 5, 2); 0.0 365match ; Triplet eigenvalue 10 ; LINE(eigenvalues.dat, 26, 1); 0.39620494E+01 366match ; Triplet transition mtxel 10 ; LINE(eigenvalues.dat, 26, 2); 0.0 367Precision : 1e-10 368match ; Sum rule ; GREP(absp.out, "Sum rule (BSE)", 5); 0.88770513193490552 369 370# BSE with momentum operator 371# The eigenvalues would be identical to velocity operator in q->0 limit, and the transition 372# matrix elements should be very close, since EPM is a local potential. 373Executable : absorption.cplx.x 374Output : absp_mom.out 375Input : absp_mom.inp absorption.inp 376 377Precision : 0.0001 378match ; Number of eigenvalues ; GREP(eigenvalues.dat, "# neig = ", 4); 864 379match ; Singlet eigenvalue 1 ; LINE(eigenvalues.dat, 6, 1); 0.30493802E+01 380Precision : 1e-5 381match ; Singlet transition mtxel 1 ; LINE(eigenvalues.dat, 6, 2); 0.65579179E-21 382Precision : 0.0001 383match ; Triplet eigenvalue 1 ; LINE(eigenvalues.dat, 5, 1); 0.28857964E+01 384Precision : 1e-5 385match ; Triplet transition mtxel 1 ; LINE(eigenvalues.dat, 5, 2); 0.65525241E-28 386match ; Triplet eigenvalue 10 ; LINE(eigenvalues.dat, 26, 1); 0.39614575E+01 387match ; Triplet transition mtxel 10 ; LINE(eigenvalues.dat, 26, 2); 0.0 388Precision : 1e-10 389match ; Sum rule ; GREP(absp_mom.out, "Sum rule (BSE)", 5); 0.88655632851108246 390 391# BSE with momentum operator cell averaging 392Executable : absorption.cplx.x 393Output : absp_mom_ca.out 394Input : absp_mom_ca.inp absorption.inp 395 396Precision : 0.0001 397match ; Number of eigenvalues ; GREP(eigenvalues.dat, "# neig = ", 4); 864 398match ; Singlet eigenvalue 1 ; LINE(eigenvalues.dat, 7, 1); 0.30499126E+01 399Precision : 1e-5 400match ; Singlet transition mtxel 1 ; LINE(eigenvalues.dat, 7, 2); 0.47540819E+02 401Precision : 0.0001 402match ; Triplet eigenvalue 1 ; LINE(eigenvalues.dat, 5, 1); 0.28857964E+01 403Precision : 1e-5 404match ; Triplet transition mtxel 1 ; LINE(eigenvalues.dat, 5, 2); 0.0 405match ; Singlet eigenvalue 10 ; LINE(eigenvalues.dat, 25, 1); 0.39049357E+01 406match ; Singlet transition mtxel 10 ; LINE(eigenvalues.dat, 25, 2); 0.44237130E+02 407Precision : 1e-10 408match ; Sum rule ; GREP(absp_mom_ca.out, "Sum rule (BSE)", 5); 0.88655632851108246 409 410Executable : absorption.cplx.x 411Output : absp_haydock.out 412Input : absp_haydock.inp absorption.inp 413 414Precision : 2e-8 415match ; Static epsilon 1 ; GREP(absorption_eh.dat, " 0.000000000 ", 3); 15.632659506 416match ; Peak epsilon 2 ; GREP(absorption_eh.dat, " 3.850000000 ", 2); 43.276848310 417match ; Peak epsilon 1 ; GREP(absorption_eh.dat, " 3.850000000 ", 3); -1.139756049 418 419Executable : bsebinasc.cplx.x 420Processors : serial 421Arguments : .asc > bsebinasc.out 422 423Executable : bseascbin.cplx.x 424Processors : serial 425Arguments : .asc > bseascbin.out 426 427Command : mv WFNq_fi WFNq_fi_orig 428Command : ln -s WFN_fi WFNq_fi 429 430# NLO Two Photon 431Executable : nonlinearoptics.cplx.x 432Processors : 4 433Output : nonlinearoptics_tp.out 434Input : nonlinearoptics_tp.inp nonlinearoptics.inp 435 436Precision : 0.0001 437match ; Eigenvalue 2 ; LINE(osc.dat, 4, 2); 0.31991348E+01 438match ; Osc 2 ; LINE(osc.dat, 4, 3); 0.76407954E+01 439match ; 2P Osc 2 ; LINE(osc.dat, 4, 4); 0.12989215E+02 440match ; 2P Max ; LINE(osc.dat, 4, 5); 4 441match ; 2P Max Val ; LINE(osc.dat, 4, 6); 0.18820367E+02 442match ; absorp peak ; LINE(absorption_nl.dat, 308, 2); 173.703164718 443 444Command : mv absorption_nl.dat absorp_tp.dat 445Command : mv osc.dat osc.dat_tp 446 447#Copy : nonlinearoptics_uf.inp 448#Command : sed 's/2 3.1928862 1.0/4 3.1928862 1.0/' nonlinearoptics_uf.inp > nonlinearoptics.inp 449 450# NLO UltraFast 451#Executable : nonlinearoptics.cplx.x 452#Output : nonlinearoptics_uf.out 453#Input : NONE 454 455#Precision : 0.0001 456#match ; Index state 6 ; LINE(osc.dat, 6, 2); 6 457#match ; Osc 2 ; LINE(osc.dat, 6, 4); 0.32838747E+01 458#match ; UF Osc 2 ; LINE(osc.dat, 6, 5); 0.69487036E-05 459#match ; absorp peak ; LINE(absorption_nl.dat, 19, 2); 0.000000000 460 461#Command : mv absorption_nl.dat absorp_uf.dat 462 463 464 465############################################################################### 466Banner: Full Frequency: Real Axis (complex-spin) 467############################################################################### 468 469Command : mv WFN_co WFN_inner 470 471Executable : epsilon.cplx.x 472Processors : 4 473Output : eps_ff.out 474Input : eps_ff.inp epsilon.inp 475 476Precision : 5e-12 477match ; Re eps q1 ; GREP(eps_ff.out, "q-pt 1: Head of Epsilon", 7, 0); 7.47530571237935 478Precision : 2e-13 479match ; Im eps q1 ; GREP(eps_ff.out, "q-pt 1: Head of Epsilon", 8, 0); 0.0 480match ; Re epsinv q1 ; GREP(eps_ff.out, "q-pt 1: Head of Epsilon Inverse", 8, 0); 0.143379135635558 481match ; Im epsinv q1 ; GREP(eps_ff.out, "q-pt 1: Head of Epsilon Inverse", 9, 0); 0.0 482 483Precision : 1e-5 484match ; epsilon Head 30.0 eV Re ; LINE(EpsDyn, 9, 2) ; 0.645807 485match ; epsilon Head 30.0 eV Im ; LINE(EpsDyn, 9, 3) ; 0.134043 486match ; epsilonInv Head 30.0 eV Re ; LINE(EpsInvDyn, 21, 2) ; 1.393469 487match ; epsilonInv Head 30.0 eV Im ; LINE(EpsInvDyn, 21, 3) ; -0.360050 488 489Command : mv epsilon.log eps_ff.log 490 491Executable : sigma.cplx.x 492Processors : 4 493Output : sig_ff.out 494Input : sig_ff.inp sigma.inp 495 496Precision : 2e-5 497match ; n2, k1 Initial Eigenvalue ; GREP(sigma_hp.log, "ik = 1", 2, 6); 10.035862 498match ; n2, k1 Exchange ; GREP(sigma_hp.log, "ik = 1", 4, 6); -14.234668 499match ; n2, k1 Screened Exchange ; GREP(sigma_hp.log, "ik = 1", 5, 6); 8.725202 500match ; n2, k1 Coulomb Hole ; GREP(sigma_hp.log, "ik = 1", 13, 6); -4.93979 501match ; n2, k1 Imag SX ; GREP(sigma_hp.log, "ik = 1", 1, 7); 1.329838 502match ; n2, k1 Imag CH ; GREP(sigma_hp.log, "ik = 1", 2, 7); -2.277567 503 504# offdiagonals 505# this is a diagonal actually and must match exactly the unsymmetrized diagonal value 506match ; n1 x n1 k1 Exchange ; GREP(sigma_hp.log, "1 1 1 real", 5, 0); -17.224976 507match ; n1 x n1 k1 Screened Exchange; GREP(sigma_hp.log, "1 1 1 real", 6, 0); 11.399726 508match ; n1 x n1 k1 Coulomb Hole ; GREP(sigma_hp.log, "1 1 1 real", 10, 0); -5.663441 509match ; n1 x n1 k1 Imag SX ; GREP(sigma_hp.log, "1 1 1 imag", 6, 0); 6.998630 510match ; n1 x n1 k1 Imag CH ; GREP(sigma_hp.log, "1 1 1 imag", 7, 0); -6.056120 511# this is some other offdiagonal 512match ; n1 x n8 k1 Exchange ; GREP(sigma_hp.log, "1 8 1 real", 5, 0); 0.000026 513match ; n1 x n8 k1 Screened Exchange; GREP(sigma_hp.log, "1 8 1 real", 6, 0); 0.002917 514match ; n1 x n8 k1 Coulomb Hole ; GREP(sigma_hp.log, "1 8 1 real", 10, 0); -0.001523 515match ; n1 x n8 k1 Imag SX ; GREP(sigma_hp.log, "1 8 1 imag", 6, 0); 0.000000 516match ; n1 x n8 k1 Imag CH ; GREP(sigma_hp.log, "1 8 1 imag", 7, 0); -0.000653 517# this one is zero by symmetry 518Precision : 1e-6 519match ; n2 x n1 k1 Exchange ; GREP(sigma_hp.log, "2 1 2 real", 5, 0); 0.000000 520match ; n2 x n1 k1 Screened Exchange; GREP(sigma_hp.log, "2 1 2 real", 6, 0); 0.000000 521match ; n2 x n1 k1 Imag SX ; GREP(sigma_hp.log, "2 1 2 imag", 6, 0); 0.000000 522match ; n2 x n1 k1 Coulomb Hole ; GREP(sigma_hp.log, "2 1 2 real", 10, 0); 0.000000 523match ; n2 x n1 k1 Imag CH ; GREP(sigma_hp.log, "2 1 2 imag", 7, 0); 0.000000 524 525Command : mv sigma_hp.log sig_hp_ff.log 526 527Executable : epsilon.cplx.x 528Processors : 4 529Output : eps_ff_parallel_freq.out 530Input : eps_ff_parallel_freq.inp epsilon.inp 531 532Precision : 5e-12 533match ; Re eps q1 ; GREP(eps_ff_parallel_freq.out, "q-pt 1: Head of Epsilon", 7, 0); 7.47530571237935 534Precision : 2e-13 535match ; Im eps q1 ; GREP(eps_ff_parallel_freq.out, "q-pt 1: Head of Epsilon", 8, 0); 0.0 536match ; Re epsinv q1 ; GREP(eps_ff_parallel_freq.out, "q-pt 1: Head of Epsilon Inverse", 8, 0); 0.143379135635558 537match ; Im epsinv q1 ; GREP(eps_ff_parallel_freq.out, "q-pt 1: Head of Epsilon Inverse", 9, 0); 0.0 538 539Precision : 1e-5 540match ; epsilon Head 30.0 eV Re ; LINE(EpsDyn, 9, 2) ; 0.645807 541match ; epsilon Head 30.0 eV Im ; LINE(EpsDyn, 9, 3) ; 0.134043 542match ; epsilonInv Head 30.0 eV Re ; LINE(EpsInvDyn, 21, 2) ; 1.393469 543match ; epsilonInv Head 30.0 eV Im ; LINE(EpsInvDyn, 21, 3) ; -0.360050 544 545Command : mv epsilon.log eps_ff_parallel_freq.log 546 547Executable : epsilon.cplx.x 548Processors : 4 549Output : eps_ff_elements.out 550Input : eps_ff_elements.inp epsilon.inp 551 552Precision : 5e-12 553match ; Re eps q1 ; GREP(eps_ff_elements.out, "q-pt 1: Head of Epsilon", 7, 0); 7.47530571237935 554Precision : 2e-13 555match ; Im eps q1 ; GREP(eps_ff_elements.out, "q-pt 1: Head of Epsilon", 8, 0); 0.0 556match ; Re epsinv q1 ; GREP(eps_ff_elements.out, "q-pt 1: Head of Epsilon Inverse", 8, 0); 0.143379135635558 557match ; Im epsinv q1 ; GREP(eps_ff_elements.out, "q-pt 1: Head of Epsilon Inverse", 9, 0); 0.0 558 559Precision : 1e-5 560match ; epsilon Head 30.0 eV Re ; LINE(EpsDyn, 9, 2) ; 0.645807 561match ; epsilon Head 30.0 eV Im ; LINE(EpsDyn, 9, 3) ; 0.134043 562match ; epsilonInv Head 30.0 eV Re ; LINE(EpsInvDyn, 21, 2) ; 1.393469 563match ; epsilonInv Head 30.0 eV Im ; LINE(EpsInvDyn, 21, 3) ; -0.360050 564 565Command : mv epsilon.log eps_ff_elements.log 566 567Executable : epsilon.cplx.x 568Processors : 4 569Output : eps_ff_parallel_freq_elements.out 570Input : eps_ff_parallel_freq_elements.inp epsilon.inp 571 572Precision : 5e-12 573match ; Re eps q1 ; GREP(eps_ff_parallel_freq_elements.out, "q-pt 1: Head of Epsilon", 7, 0); 7.47530571237935 574Precision : 2e-13 575match ; Im eps q1 ; GREP(eps_ff_parallel_freq_elements.out, "q-pt 1: Head of Epsilon", 8, 0); 0.0 576match ; Re epsinv q1 ; GREP(eps_ff_parallel_freq_elements.out, "q-pt 1: Head of Epsilon Inverse", 8, 0); 0.143379135635558 577match ; Im epsinv q1 ; GREP(eps_ff_parallel_freq_elements.out, "q-pt 1: Head of Epsilon Inverse", 9, 0); 0.0 578 579Precision : 1e-5 580match ; epsilon Head 30.0 eV Re ; LINE(EpsDyn, 9, 2) ; 0.645807 581match ; epsilon Head 30.0 eV Im ; LINE(EpsDyn, 9, 3) ; 0.134043 582match ; epsilonInv Head 30.0 eV Re ; LINE(EpsInvDyn, 21, 2) ; 1.393469 583match ; epsilonInv Head 30.0 eV Im ; LINE(EpsInvDyn, 21, 3) ; -0.360050 584 585Command : mv epsilon.log eps_ff_parallel_freq_elements.log 586 587Executable : epsilon.cplx.x 588Processors : 4 589Output : eps_ff1_elements.out 590Input : eps_ff1_elements.inp epsilon.inp 591 592Precision : 5e-12 593match ; Re eps q1 ; GREP(eps_ff1_elements.out, "q-pt 1: Head of Epsilon", 7, 0); 7.40118943397643 594Precision : 2e-13 595match ; Im eps q1 ; GREP(eps_ff1_elements.out, "q-pt 1: Head of Epsilon", 8, 0); 0.0 596match ; Re epsinv q1 ; GREP(eps_ff1_elements.out, "q-pt 1: Head of Epsilon Inverse", 8, 0); 0.144811192937705 597match ; Im epsinv q1 ; GREP(eps_ff1_elements.out, "q-pt 1: Head of Epsilon Inverse", 9, 0); 0.0 598 599Precision : 1e-5 600match ; epsilon Head 30.0 eV Re ; LINE(EpsDyn, 21, 2) ; 0.681210 601match ; epsilon Head 30.0 eV Im ; LINE(EpsDyn, 21, 3) ; 0.155351 602match ; epsilonInv Head 30.0 eV Re ; LINE(EpsInvDyn, 9, 2) ; 1.480033 603match ; epsilonInv Head 30.0 eV Im ; LINE(EpsInvDyn, 9, 3) ; -0.357544 604 605Command : mv epsilon.log eps_ff1_elements.log 606Command : mv EpsDyn EpsDyn_ff1_elements 607Command : mv EpsInvDyn EpsInvDyn_ff1_elements 608 609############################################################################### 610Banner: Full Frequency: Contour Deformation (complex-spin) 611############################################################################### 612 613Executable : epsilon.cplx.x 614Processors : 4 615Output : eps_cd.out 616Input : eps_cd.inp epsilon.inp 617 618Precision : 8e-12 619match ; Re eps q1 ; GREP(eps_cd.out, "q-pt 1: Head of Epsilon", 7, 0); 1.126674527407858E+001 620Precision : 1e-13 621match ; Im eps q1 ; GREP(eps_cd.out, "q-pt 1: Head of Epsilon", 8, 0); 0.0 622match ; Re epsinv q1 ; GREP(eps_cd.out, "q-pt 1: Head of Epsilon Inverse", 8, 0); 9.648428196707495E-002 623match ; Im epsinv q1 ; GREP(eps_cd.out, "q-pt 1: Head of Epsilon Inverse", 9, 0); 0.0 624Precision : 1e-5 625match ; epsilon Head imag freq, Re ; LINE(EpsDyn, 11, 2) ; 1.109906E+00 626match ; epsilon Head imag freq, Im ; LINE(EpsDyn, 11, 3) ; 0.0 627match ; epsilonInv Head imag freq, Re ; LINE(EpsInvDyn, 11, 2) ; 9.016851E-01 628match ; epsilonInv Head imag freq, Im ; LINE(EpsInvDyn, 11, 3) ; 0.0 629 630Command : mv epsilon.log eps_cd.log 631 632Executable : sigma.cplx.x 633Processors : 4 634Output : sig_cd.out 635Input : sig_cd.inp sigma.inp 636 637Precision : 2e-5 638match ; n2, k1 Initial Eigenvalue ; GREP(sigma_hp.log, "ik = 1", 2, 6); 10.035862 639match ; n2, k1 Exchange ; GREP(sigma_hp.log, "ik = 1", 4, 6); -14.234668 640match ; n2, k1 Re Cor ; GREP(sigma_hp.log, "ik = 1", 8, 6); 2.089547 641match ; n2, k1 Imag Cor ; GREP(sigma_hp.log, "ik = 1", 4, 7); 0.000000 642match ; n2, k1 Eqp0 ; GREP(sigma_hp.log, "ik = 1", 10, 6); -2.109259 643 644# supposed to be equal to above due to degeneracy and band-averaging 645match ; n3, k1 Initial Eigenvalue ; GREP(sigma_hp.log, "ik = 1", 2, 8); 10.035862 646match ; n3, k1 Exchange ; GREP(sigma_hp.log, "ik = 1", 4, 8); -14.234668 647match ; n3, k1 Re Cor ; GREP(sigma_hp.log, "ik = 1", 8, 8); 2.089547 648match ; n3, k1 Imag Cor ; GREP(sigma_hp.log, "ik = 1", 4, 9); 0.0 649match ; n3, k1 Eqp0 ; GREP(sigma_hp.log, "ik = 1", 10, 8); -2.109259 650 651match ; n5, k1 Initial Eigenvalue ; GREP(sigma_hp.log, "ik = 1", 2, 12); 13.331588 652match ; n5, k1 Exchange ; GREP(sigma_hp.log, "ik = 1", 4, 12); -4.938779 653match ; n5, k1 Re Cor ; GREP(sigma_hp.log, "ik = 1", 8, 12); -4.179383 654match ; n5, k1 Imag Cor ; GREP(sigma_hp.log, "ik = 1", 4, 13); -0.037363 655match ; n5, k1 Eqp0 ; GREP(sigma_hp.log, "ik = 1", 10, 12); 4.213426 656 657# offdiagonals 658# this is a diagonal actually and must match exactly the unsymmetrized diagonal value 659match ; n1 x n8 k1 Exchange ; GREP(sigma_hp.log, "1 1 1 real", 5, 0); -17.224976 660match ; n1 x n8 k1 Re Cor ; GREP(sigma_hp.log, "1 1 1 real", 8, 0); -11.639131 661match ; n1 x n8 k1 Imag Cor ; GREP(sigma_hp.log, "1 1 1 imag", 8, 0); 1.386347 662# this is some other offdiagonal 663match ; n1 x n8 k1 Exchange ; GREP(sigma_hp.log, "1 8 1 real", 5, 0); 0.000026 664match ; n1 x n8 k1 Re Cor ; GREP(sigma_hp.log, "1 8 1 real", 8, 0); 0.001612 665match ; n1 x n8 k1 Imag Cor ; GREP(sigma_hp.log, "1 8 1 imag", 8, 0); -0.000001 666# this one is zero by symmetry 667Precision : 1e-3 668match ; n2 x n1 k1 Re Cor ; GREP(sigma_hp.log, "2 1 2 real", 8, 0); 0.0 669Precision : 1e-6 670match ; n2 x n1 k1 Imag Cor ; GREP(sigma_hp.log, "2 1 2 imag", 8, 0); 0.0 671match ; n2 x n1 k1 Exchange ; GREP(sigma_hp.log, "2 1 2 real", 5, 0); 0.0 672 673Command : mv sigma_hp.log sig_hp_cd.log 674 675Executable : epsilon.cplx.x 676Processors : 4 677Output : eps_cd_parallel_freq.out 678Input : eps_cd_parallel_freq.inp epsilon.inp 679 680Precision : 8e-12 681match ; Re eps q1 ; GREP(eps_cd_parallel_freq.out, "q-pt 1: Head of Epsilon", 7, 0); 1.126674527407858E+001 682Precision : 1e-13 683match ; Im eps q1 ; GREP(eps_cd_parallel_freq.out, "q-pt 1: Head of Epsilon", 8, 0); 0.0 684match ; Re epsinv q1 ; GREP(eps_cd_parallel_freq.out, "q-pt 1: Head of Epsilon Inverse", 8, 0); 9.648428196707495E-002 685match ; Im epsinv q1 ; GREP(eps_cd_parallel_freq.out, "q-pt 1: Head of Epsilon Inverse", 9, 0); 0.0 686Precision : 1e-5 687match ; epsilon Head imag freq, Re ; LINE(EpsDyn, 11, 2) ; 1.109906E+00 688match ; epsilon Head imag freq, Im ; LINE(EpsDyn, 11, 3) ; 0.0 689match ; epsilonInv Head imag freq, Re ; LINE(EpsInvDyn, 11, 2) ; 9.016851E-01 690match ; epsilonInv Head imag freq, Im ; LINE(EpsInvDyn, 11, 3) ; 0.0 691 692Command : mv epsilon.log eps_cd_parallel_freq.log 693 694Executable : epsilon.cplx.x 695Processors : 4 696Output : eps_cd_elements.out 697Input : eps_cd_elements.inp epsilon.inp 698 699Precision : 8e-12 700match ; Re eps q1 ; GREP(eps_cd_elements.out, "q-pt 1: Head of Epsilon", 7, 0); 1.126674527407858E+001 701Precision : 1e-13 702match ; Im eps q1 ; GREP(eps_cd_elements.out, "q-pt 1: Head of Epsilon", 8, 0); 0.0 703match ; Re epsinv q1 ; GREP(eps_cd_elements.out, "q-pt 1: Head of Epsilon Inverse", 8, 0); 9.648428196707493E-002 704match ; Im epsinv q1 ; GREP(eps_cd_elements.out, "q-pt 1: Head of Epsilon Inverse", 9, 0); 0.0 705 706Precision : 1e-5 707match ; epsilon Head imag freq, Re ; LINE(EpsDyn, 11, 2) ; 1.109906E+00 708match ; epsilon Head imag freq, Im ; LINE(EpsDyn, 11, 3) ; 0.0 709match ; epsilonInv Head imag freq, Re ; LINE(EpsInvDyn, 11, 2) ; 9.016851E-01 710match ; epsilonInv Head imag freq, Im ; LINE(EpsInvDyn, 11, 3) ; 0.0 711 712Command : mv epsilon.log eps_cd_elements.log 713 714Executable : epsilon.cplx.x 715Processors : 4 716Output : eps_cd_parallel_freq_elements.out 717Input : eps_cd_parallel_freq_elements.inp epsilon.inp 718 719Precision : 8e-12 720match ; Re eps q1 ; GREP(eps_cd_parallel_freq_elements.out, "q-pt 1: Head of Epsilon", 7, 0); 1.126674527407858E+001 721Precision : 1e-13 722match ; Im eps q1 ; GREP(eps_cd_parallel_freq_elements.out, "q-pt 1: Head of Epsilon", 8, 0); 0.0 723match ; Re epsinv q1 ; GREP(eps_cd_parallel_freq_elements.out, "q-pt 1: Head of Epsilon Inverse", 8, 0); 9.648428196707493E-002 724match ; Im epsinv q1 ; GREP(eps_cd_parallel_freq_elements.out, "q-pt 1: Head of Epsilon Inverse", 9, 0); 0.0 725 726Precision : 1e-5 727match ; epsilon Head imag freq, Re ; LINE(EpsDyn, 11, 2) ; 1.109906E+00 728match ; epsilon Head imag freq, Im ; LINE(EpsDyn, 11, 3) ; 0.0 729match ; epsilonInv Head imag freq, Re ; LINE(EpsInvDyn, 11, 2) ; 9.016851E-01 730match ; epsilonInv Head imag freq, Im ; LINE(EpsInvDyn, 11, 3) ; 0.0 731 732Command : mv epsilon.log eps_cd_parallel_freq_elements.log 733