10
0
mirror of https://github.com/LCPQ/QUESTDB_website.git synced 2024-11-03 20:53:59 +01:00

Change format handling

This commit is contained in:
Mickaël Véril 2020-07-03 14:51:12 +02:00
parent c2ec537ab7
commit d1e1b10285
17 changed files with 470 additions and 280 deletions

101
tools/data.tex Normal file
View File

@ -0,0 +1,101 @@
\begin{tabular}
\multicolumn{1}{r}{Molecule} & \multicolumn{1}{r}{State} & S/T & \multicolumn{1}{r}{V/R} & \multicolumn{1}{r}{Type} & T1 [CC3/AVTZ] & \multicolumn{1}{r}{f[CC3/AVTZ]} & TBE/AVTZ & \multicolumn{1}{r}{Method} & \multicolumn{1}{r}{Safe ?} & & CIS(D) & CC2 & CCSD(2) & \multicolumn{1}{r}{STEOM-CCSD} & CCSD & CCSDR(3) & CCCSDT-3 & CC3 & SOS-ADC(2) [TM] & SOS-CC2 & SCS-CC2 & SOS-ADC(2) [Q-Chem] & ADC(2) & ADC(3) & ADC(2.5) & & CIS(D) & CC2 & CCSD(2) & STEOM-CCSD & CCSD & CCSDR(3) & CCCSDT-3 & CC3 & SOS-ADC(2) [TM] & SOS-CC2 & SCS-CC2 & SOS-ADC(2) [Q-Chem] & ADC(2) & ADC(3) & ADC(2.5) & & CIS(D) & CC2 & CCSD(2) & STEOM-CCSD & CCSD & CCSDR(3) & CCCSDT-3 & CC3 & SOS-ADC(2) [TM] & SOS-CC2 & SCS-CC2 & SOS-ADC(2) [Q-Chem] & ADC(2) & ADC(3) & ADC(2.5) \\
Aza-naphthalene & ^1B_{3g} & 1 & V & npi & \multicolumn{1}{l}{} & & 3,14 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 3,36 & 3,00 & 3,76 & & 3,41 & 3,24 & 3,21 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 3,31 & 3,05 & 3,24 & 3,15 & & 0,22 & -0,14 & 0,62 & & 0,27 & 0,10 & 0,07 & & & & & 0,17 & -0,09 & 0,10 & 0,00 & & 0,22 & 0,14 & 0,62 & & 0,27 & 0,10 & 0,07 & & & & & 0,17 & 0,09 & 0,10 & 0,00 \\
& $^1B_{2u}$ & 1 & V & ppi & \multicolumn{1}{l}{} & & 4,28 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 4,46 & 4,38 & 4,96 & & 4,45 & 4,38 & 4,32 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 4,09 & 4,41 & 4,08 & 4,25 & & 0,18 & 0,10 & 0,68 & & 0,17 & 0,10 & 0,04 & & & & & -0,19 & 0,13 & -0,20 & -0,04 & & 0,18 & 0,10 & 0,68 & & 0,17 & 0,10 & 0,04 & & & & & 0,19 & 0,13 & 0,20 & 0,04 \\
& $^1B_{1u}$ & 1 & V & npi & \multicolumn{1}{l}{} & & 4,34 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 4,61 & 4,35 & 4,83 & & 4,55 & 4,44 & 4,41 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 4,44 & 4,36 & 4,35 & 4,36 & & 0,27 & 0,01 & 0,49 & & 0,21 & 0,10 & 0,07 & & & & & 0,10 & 0,02 & 0,01 & 0,02 & & 0,27 & 0,01 & 0,49 & & 0,21 & 0,10 & 0,07 & & & & & 0,10 & 0,02 & 0,01 & 0,02 \\
& $^1B_{2g}$   & 1 & V & npi & \multicolumn{1}{l}{} & & 4,55 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 4,76 & 4,44 & 5,13 & & 4,85 & 4,65 & 4,65 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 4,65 & 4,46 & 4,78 & 4,62 & & 0,21 & -0,11 & 0,58 & & 0,30 & 0,10 & 0,10 & & & & & 0,10 & -0,09 & 0,23 & 0,07 & & 0,21 & 0,11 & 0,58 & & 0,30 & 0,10 & 0,10 & & & & & 0,10 & 0,09 & 0,23 & 0,07 \\
& $^1B_{2g}$   & 1 & V & npi & \multicolumn{1}{l}{} & & 4,89 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 5,13 & 4,84 & 5,64 & & 5,33 & 5,06 & 5,02 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 5,14 & 4,87 & 5,16 & 5,02 & & 0,24 & -0,05 & 0,75 & & 0,44 & 0,17 & 0,13 & & & & & 0,25 & -0,02 & 0,27 & 0,13 & & 0,24 & 0,05 & 0,75 & & 0,44 & 0,17 & 0,13 & & & & & 0,25 & 0,02 & 0,27 & 0,13 \\
& $^1B_{1u}$ & 1 & V & npi & \multicolumn{1}{l}{} & & 5,24 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & N & & 4,87 & 5,03 & 6,25 & & 5,89 & 5,40 & 5,40 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 5,64 & 5,11 & 5,75 & 5,43 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^1A_u$ & 1 & V & npi & \multicolumn{1}{l}{} & & 5,34 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 5,86 & 5,49 & 5,91 & & 5,68 & 5,52 & 5,45 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 5,53 & 5,48 & 5,33 & 5,41 & & 0,52 & 0,15 & 0,57 & & 0,34 & 0,18 & 0,11 & & & & & 0,19 & 0,14 & -0,01 & 0,07 & & 0,52 & 0,15 & 0,57 & & 0,34 & 0,18 & 0,11 & & & & & 0,19 & 0,14 & 0,01 & 0,07 \\
& $^1B_{3u}$ & 1 & V & ppi & \multicolumn{1}{l}{} & & 5,68 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & N & & 6,08 & 5,66 & 6,26 & & 5,88 & 5,76 & 5,70 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 5,50 & 5,64 & 5,51 & 5,58 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^1A_g$ & 1 & V & ppi & \multicolumn{1}{l}{} & & 5,80 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 5,93 & 5,92 & 6,54 & & 6,08 & 5,94 & 5,90 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 5,64 & 5,96 & 5,67 & 5,82 & & 0,13 & 0,12 & 0,74 & & 0,28 & 0,14 & 0,10 & & & & & -0,16 & 0,16 & -0,13 & 0,01 & & 0,13 & 0,12 & 0,74 & & 0,28 & 0,14 & 0,10 & & & & & 0,16 & 0,16 & 0,13 & 0,01 \\
& $^1A_u$ & 1 & V & npi & \multicolumn{1}{l}{} & & 5,92 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 5,90 & 5,83 & 6,64 & & 6,37 & 6,06 & 6,06 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 6,12 & 5,84 & 6,26 & 6,05 & & -0,02 & -0,09 & 0,72 & & 0,45 & 0,14 & 0,14 & & & & & 0,20 & -0,08 & 0,34 & 0,13 & & 0,02 & 0,09 & 0,72 & & 0,45 & 0,14 & 0,14 & & & & & 0,20 & 0,08 & 0,34 & 0,13 \\
& $^1A_g$ & 1 & R & n3s & \multicolumn{1}{l}{} & & \multicolumn{1}{l}{} & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & ?? & & 6,11 & 5,96 & 6,98 & & 6,71 & 6,57 & 6,61 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 6,68 & 6,07 & \multicolumn{1}{l}{} & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^3B_{3g}$   & 3 & V & npi & \multicolumn{1}{l}{} & & \multicolumn{1}{l}{} & CC3/AVTZ & N & & 3,13 & 2,73 & 3,36 & & 3,04 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 3,04 & 2,76 & 2,88 & 2,82 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^3B_{2u}$ & 3 & V & ppi & \multicolumn{1}{l}{} & & 3,67 & CC3/AVTZ & N & & 3,99 & 3,83 & 4,16 & & 3,70 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 3,67 & 3,84 & 3,30 & 3,57 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^3B_{3u}$ & 3 & V & ppi & \multicolumn{1}{l}{} & & 3,75 & CC3/AVTZ & N & & 4,19 & 3,98 & 4,15 & & 3,59 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 3,80 & 3,97 & 3,44 & 3,71 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^3B_{1u}$ & 3 & V & npi & \multicolumn{1}{l}{} & & \multicolumn{1}{l}{} & CC3/AVTZ & N & & 4,03 & 3,79 & 4,15 & & 3,89 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 3,92 & 3,79 & 3,71 & 3,75 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^3B_{2g}$ & 3 & V & npi & \multicolumn{1}{l}{} & & \multicolumn{1}{l}{} & CC3/AVTZ & N & & 4,58 & 4,33 & 4,80 & & 4,55 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 4,49 & 4,34 & 4,42 & 4,38 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^3B_{2g}$ & 3 & V & npi & \multicolumn{1}{l}{} & & \multicolumn{1}{l}{} & CC3/AVTZ & N & & 4,80 & 4,48 & 5,29 & & 4,98 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 4,85 & 4,52 & 4,96 & 4,74 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^3B_{3u}$ & 3 & V & ppi & \multicolumn{1}{l}{} & & 4,75 & CC3/AVTZ & N & & 5,06 & 5,00 & 5,29 & & 4,83 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 4,75 & 4,98 & 4,44 & 4,71 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^3A_u$ & 3 & V & npi & \multicolumn{1}{l}{} & & 4,87 & CC3/AVTZ & N & & 5,20 & 4,94 & 5,22 & & 5,01 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 5,02 & 4,93 & 4,82 & 4,88 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
Benzoquinone & ^1B_{1g}   & 1 & V & npi & 85,3 & & 2,82 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 3,02 & 2,82 & 3,24 & \multicolumn{1}{r}{2,92} & 3,13 & 2,94 & 2,89 & 2,79 & 3,19 & 3,30 & 3,15 & 2,95 & 2,72 & 2,91 & 2,82 & & 0,20 & 0,00 & 0,42 & 0,10 & 0,31 & 0,12 & 0,07 & -0,03 & 0,37 & 0,48 & 0,33 & 0,13 & -0,10 & 0,09 & -0,01 & & 0,20 & 0,00 & 0,42 & 0,10 & 0,31 & 0,12 & 0,07 & 0,03 & 0,37 & 0,48 & 0,33 & 0,13 & 0,10 & 0,09 & 0,01 \\
& $^1A_u$ & 1 & V & npi & 84,1 & & 2,96 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 3,18 & 2,98 & 3,40 & \multicolumn{1}{r}{3,08} & 3,30 & 3,10 & 3,04 & 2,94 & 3,31 & 3,45 & 3,30 & 3,06 & 2,84 & 3,12 & 2,98 & & 0,22 & 0,02 & 0,44 & 0,12 & 0,34 & 0,14 & 0,08 & -0,02 & 0,35 & 0,49 & 0,34 & 0,10 & -0,12 & 0,16 & 0,02 & & 0,22 & 0,02 & 0,44 & 0,12 & 0,34 & 0,14 & 0,08 & 0,02 & 0,35 & 0,49 & 0,34 & 0,10 & 0,12 & 0,16 & 0,02 \\
& $^1A_g$ & 1 & V & dou & 0,0 & & 4,57 & NEVPT2/AVTZ & N & & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 6,85 & 6,02 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^1B_{3g}$   & 1 & V & ppi & 88,6 & & 4,58 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & N & & 4,89 & 4,63 & 5,08 & \multicolumn{1}{r}{4,62} & 4,87 & 4,64 & 4,62 & 4,53 & 5,08 & 5,03 & 4,90 & 4,88 & 4,73 & 4,29 & 4,51 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^1B_{1u}$   & 1 & V & ppi & 88,4 & \multicolumn{1}{r}{0,471} & 5,62 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & N & & 5,59 & 5,57 & 5,96 & & 5,87 & 5,62 & 5,65 & 5,58 & 5,82 & 5,96 & 5,83 & 5,59 & 5,42 & 5,45 & 5,44 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^1B_{3u}$   & 1 & V & npi & 79,8 & \multicolumn{1}{r}{0,001} & 5,79 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & N & & 6,80 & 5,60 & 6,44 & \multicolumn{1}{r}{6,22} & 6,44 & 6,00 & 5,96 & 5,75 & 6,44 & 6,50 & 6,20 & 6,17 & 5,57 & 5,58 & 5,58 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^1B_{2g}$   & 1 & V & npi & 76,2 & & 5,95 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 6,55 & 5,76 & 6,75 & & 6,75 & 6,25 & 6,18 & 5,94 & 6,64 & 6,72 & 6,41 & 6,35 & 5,71 & 5,53 & 5,62 & & 0,60 & -0,19 & 0,80 & & 0,80 & 0,30 & 0,23 & -0,01 & 0,69 & 0,77 & 0,46 & 0,40 & -0,24 & -0,42 & -0,33 & & 0,60 & 0,19 & 0,80 & & 0,80 & 0,30 & 0,23 & 0,01 & 0,69 & 0,77 & 0,46 & 0,40 & 0,24 & 0,42 & 0,33 \\
& $^1A_u & $1 & V & npi & 74,8 & & 6,35 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & N & & 6,78 & 6,32 & 7,27 & & 7,17 & 6,65 & 6,55 & 6,27 & 7,08 & 7,14 & 6,86 & 6,80 & 6,27 & 6,06 & 6,17 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^1B_{1g}$   & 1 & V & npi & 83,5 & & 6,38 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & N & & 6,74 & 6,37 & 6,83 & & 6,73 & 6,50 & 6,48 & 6,34 & 6,92 & 6,96 & 6,77 & 6,67 & 6,29 & 6,22 & 6,26 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^1B_{2g}$   & 1 & V & npi & 86,6 & & 7,22 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 7,23 & 7,24 & 7,72 & & 7,59 & 7,32 & 7,31 & 7,20 & 7,74 & 7,81 & 7,62 & 7,50 & 7,20 & 7,12 & 7,16 & & 0,01 & 0,02 & 0,50 & & 0,37 & 0,10 & 0,09 & -0,02 & 0,52 & 0,59 & 0,40 & 0,28 & -0,02 & -0,10 & -0,06 & & 0,01 & 0,02 & 0,50 & & 0,37 & 0,10 & 0,09 & 0,02 & 0,52 & 0,59 & 0,40 & 0,28 & 0,02 & 0,10 & 0,06 \\
& $^3B_{1g}$   & 3 & V & npi & 96,0 & & 2,58 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 2,74 & 2,51 & 2,90 & \multicolumn{1}{r}{2,64} & 2,78 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 2,56 & 2,93 & 3,03 & 2,86 & 2,71 & 2,42 & 2,63 & 2,53 & & 0,16 & -0,07 & 0,32 & 0,06 & 0,20 & & & -0,02 & 0,35 & 0,45 & 0,28 & 0,13 & -0,16 & 0,05 & -0,06 & & 0,16 & 0,07 & 0,32 & 0,06 & 0,20 & & & 0,02 & 0,35 & 0,45 & 0,28 & 0,13 & 0,16 & 0,05 & 0,06 \\
& $^3A_u$ & 3 & V & npi & 95,6 & & 2,72 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 2,91 & 2,68 & 3,05 & \multicolumn{1}{r}{2,81} & 2,94 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 2,71 & 3,06 & 3,19 & 3,02 & 2,83 & 2,55 & 2,85 & 2,70 & & 0,19 & -0,04 & 0,33 & 0,09 & 0,22 & & & -0,01 & 0,34 & 0,47 & 0,30 & 0,11 & -0,17 & 0,13 & -0,02 & & 0,19 & 0,04 & 0,33 & 0,09 & 0,22 & & & 0,01 & 0,34 & 0,47 & 0,30 & 0,11 & 0,17 & 0,13 & 0,02 \\
& $^3B_{1u}$   & 3 & V & ppi & 97,7 & & 3,12 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 3,47 & 3,30 & 3,39 & \multicolumn{1}{r}{2,88} & 3,09 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 3,14 & 3,37 & 3,39 & 3,36 & 3,22 & 3,26 & 2,84 & 3,05 & & 0,35 & 0,18 & 0,27 & -0,24 & -0,03 & & & 0,02 & 0,25 & 0,27 & 0,24 & 0,10 & 0,14 & -0,28 & -0,07 & & 0,35 & 0,18 & 0,27 & 0,24 & 0,03 & & & 0,02 & 0,25 & 0,27 & 0,24 & 0,10 & 0,14 & 0,28 & 0,07 \\
& $^3B_{3g}$   & 3 & V & ppi & 97,9 & & 3,46 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 3,72 & 3,55 & 3,66 & \multicolumn{1}{r}{3,24} & 3,46 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 3,44 & 3,74 & 3,73 & 3,68 & 3,60 & 3,57 & 3,12 & 3,35 & & 0,26 & 0,09 & 0,20 & -0,22 & 0,00 & & & -0,02 & 0,28 & 0,27 & 0,22 & 0,14 & 0,11 & -0,34 & -0,12 & & 0,26 & 0,09 & 0,20 & 0,22 & 0,00 & & & 0,02 & 0,28 & 0,27 & 0,22 & 0,14 & 0,11 & 0,34 & 0,12 \\
Cyclopentadienone & ^1A_2 & 1 & V & npi & 88,5 & & 2,94 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 2,96 & 2,86 & 3,15 & \multicolumn{1}{r}{2,92} & 3,12 & 2,99 & 2,99 & 2,94 & 3,14 & 3,27 & 3,14 & 2,91 & 2,71 & 3,01 & 2,86 & & 0,02 & -0,08 & 0,21 & -0,02 & 0,18 & 0,05 & 0,05 & 0,00 & 0,20 & 0,33 & 0,20 & -0,03 & -0,23 & 0,07 & -0,08 & & 0,02 & 0,08 & 0,21 & 0,02 & 0,18 & 0,05 & 0,05 & 0,00 & 0,20 & 0,33 & 0,20 & 0,03 & 0,23 & 0,07 & 0,08 \\
& $^1B_2$ & 1 & V & ppi & 91,2 & \multicolumn{1}{r}{0,004} & 3,58 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 3,74 & 3,58 & 3,87 & \multicolumn{1}{r}{3,55} & 3,77 & 3,60 & 3,59 & 3,54 & 3,94 & 3,93 & 3,81 & 3,76 & 3,63 & 3,28 & 3,46 & & 0,16 & 0,00 & 0,29 & -0,03 & 0,19 & 0,02 & 0,01 & -0,04 & 0,36 & 0,35 & 0,23 & 0,18 & 0,05 & -0,30 & -0,13 & & 0,16 & 0,00 & 0,29 & 0,03 & 0,19 & 0,02 & 0,01 & 0,04 & 0,36 & 0,35 & 0,23 & 0,18 & 0,05 & 0,30 & 0,13 \\
& $^1B_1$ & 1 & V & dou & 3,1 & \multicolumn{1}{r}{0,000} & 5,02 & NEVPT2/AVTZ & N & & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 6,12 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 4,37 & \multicolumn{1}{l}{} & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^1A_1$ & 1 & V & dou & 49,9 & \multicolumn{1}{r}{0,131} & 6,00 & NEVPT2/AVTZ & N & & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 7,10 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 4,59 & \multicolumn{1}{l}{} & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^1A_1$ & 1 & V & ppi & 73,6 & \multicolumn{1}{r}{0,090} & 6,09 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & N & & 6,58 & 6,50 & 6,72 & & 6,68 & 6,40 & 6,33 & 6,21 & 6,78 & 6,87 & 6,74 & 6,56 & 6,42 & 6,50 & 6,46 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^3B_2$ & 3 & V & ppi & 98,0 & & 2,29 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 2,50 & 2,34 & 2,43 & \multicolumn{1}{r}{2,11} & 2,28 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 2,28 & 2,57 & 2,57 & 2,50 & 2,44 & 2,36 & 1,97 & 2,17 & & 0,21 & 0,05 & 0,14 & -0,18 & -0,01 & & & -0,01 & 0,28 & 0,28 & 0,21 & 0,15 & 0,07 & -0,32 & -0,13 & & 0,21 & 0,05 & 0,14 & 0,18 & 0,01 & & & 0,01 & 0,28 & 0,28 & 0,21 & 0,15 & 0,07 & 0,32 & 0,13 \\
& $^3A_2$ & 3 & V & npi & 96,9 & & 2,65 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 2,67 & 2,52 & 2,80 & \multicolumn{1}{r}{2,57} & 2,75 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 2,64 & 2,87 & 2,99 & 2,83 & 2,66 & 2,39 & 2,67 & 2,53 & & 0,02 & -0,13 & 0,15 & -0,08 & 0,10 & & & -0,01 & 0,22 & 0,34 & 0,18 & 0,01 & -0,26 & 0,02 & -0,12 & & 0,02 & 0,13 & 0,15 & 0,08 & 0,10 & & & 0,01 & 0,22 & 0,34 & 0,18 & 0,01 & 0,26 & 0,02 & 0,12 \\
& $^3A_1$ & 3 & V & ppi & 98,2 & & 4,19 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 4,42 & 4,31 & 4,31 & \multicolumn{1}{r}{3,95} & 4,13 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 4,19 & 4,28 & 4,31 & 4,31 & 4,16 & 4,27 & 3,89 & 4,08 & & 0,23 & 0,12 & 0,12 & -0,24 & -0,06 & & & 0,00 & 0,09 & 0,12 & 0,12 & -0,03 & 0,08 & -0,30 & -0,11 & & 0,23 & 0,12 & 0,12 & 0,24 & 0,06 & & & 0,00 & 0,09 & 0,12 & 0,12 & 0,03 & 0,08 & 0,30 & 0,11 \\
& $^3B_1$ & 3 & V & dou & 10,0 & & 4,91 & NEVPT2/AVTZ & N & & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 6,05 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 4,30 & \multicolumn{1}{l}{} & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
Cyclopentadienethione & ^1A_2 & 1 & V & npi & 87,2 & & 1,70 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 1,71 & 1,75 & 1,68 & \multicolumn{1}{r}{1,69} & 1,84 & 1,73 & 1,75 & 1,71 & 1,85 & 1,96 & 1,89 & 1,68 & 1,62 & 1,56 & 1,59 & & 0,01 & 0,05 & -0,02 & -0,01 & 0,14 & 0,03 & 0,05 & 0,01 & 0,15 & 0,26 & 0,19 & -0,02 & -0,08 & -0,14 & -0,11 & & 0,01 & 0,05 & 0,02 & 0,01 & 0,14 & 0,03 & 0,05 & 0,01 & 0,15 & 0,26 & 0,19 & 0,02 & 0,08 & 0,14 & 0,11 \\
& $^1B_2$ & 1 & V & ppi & 85,3 & \multicolumn{1}{r}{0,000} & 2,63 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 2,90 & 2,75 & 3,03 & \multicolumn{1}{r}{2,76} & 2,92 & 2,71 & 2,69 & 2,62 & 3,11 & 3,09 & 2,98 & 2,93 & 2,81 & 2,21 & 2,51 & & 0,27 & 0,12 & 0,40 & 0,13 & 0,29 & 0,08 & 0,06 & -0,01 & 0,48 & 0,46 & 0,35 & 0,30 & 0,18 & -0,42 & -0,12 & & 0,27 & 0,12 & 0,40 & 0,13 & 0,29 & 0,08 & 0,06 & 0,01 & 0,48 & 0,46 & 0,35 & 0,30 & 0,18 & 0,42 & 0,12 \\
& $^1B_1$ & 1 & V & dou & 1,1 & \multicolumn{1}{r}{0,000} & 3,16 & NEVPT2/AVTZ & N & & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 4,40 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 2,34 & \multicolumn{1}{l}{} & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^1A_1$ & 1 & V & ppi & 89,2 & \multicolumn{1}{r}{0,378} & 4,96 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 5,01 & 5,01 & 5,02 & & 5,11 & 4,96 & 4,99 & 4,94 & 5,02 & 5,16 & 5,11 & 4,84 & 4,85 & 4,54 & 4,70 & & 0,05 & 0,05 & 0,06 & & 0,15 & 0,00 & 0,03 & -0,02 & 0,06 & 0,20 & 0,15 & -0,12 & -0,11 & -0,42 & -0,27 & & 0,05 & 0,05 & 0,06 & & 0,15 & 0,00 & 0,03 & 0,02 & 0,06 & 0,20 & 0,15 & 0,12 & 0,11 & 0,42 & 0,27 \\
& $^1A_1$ & 1 & V & dou & 51,7 & \multicolumn{1}{r}{0,003} & 5,43 & NEVPT2/AVTZ & N & & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 5,89 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 4,19 & \multicolumn{1}{l}{} & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^3A_2$ & 3 & V & npi & 97,0 & & 1,47 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 1,43 & 1,41 & 1,38 & \multicolumn{1}{r}{1,47} & 1,47 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 1,47 & 1,62 & 1,71 & 1,61 & 1,47 & 1,31 & 1,32 & 1,32 & & -0,04 & -0,06 & -0,09 & 0,00 & 0,00 & & & 0,00 & 0,15 & 0,24 & 0,14 & 0,00 & -0,16 & -0,15 & -0,16 & & 0,04 & 0,06 & 0,09 & 0,00 & 0,00 & & & 0,00 & 0,15 & 0,24 & 0,14 & 0,00 & 0,16 & 0,15 & 0,16 \\
& $^3B_2$ & 3 & V & ppi & 97,1 & & 1,88 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 2,15 & 1,97 & 2,07 & \multicolumn{1}{r}{1,78} & 1,78 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 1,88 & 2,22 & 2,22 & 2,14 & 2,08 & 1,99 & 1,52 & 1,76 & & 0,27 & 0,09 & 0,19 & -0,10 & -0,10 & & & 0,00 & 0,34 & 0,34 & 0,26 & 0,20 & 0,11 & -0,36 & -0,13 & & 0,27 & 0,09 & 0,19 & 0,10 & 0,10 & & & 0,00 & 0,34 & 0,34 & 0,26 & 0,20 & 0,11 & 0,36 & 0,13 \\
& $^3A_1$ & 3 & V & ppi & 98,1 & & 2,51 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 2,67 & 2,60 & 2,54 & \multicolumn{1}{r}{2,26} & 2,26 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 2,52 & 2,60 & 2,63 & 2,62 & 2,48 & 2,55 & 2,18 & 2,37 & & 0,16 & 0,09 & 0,03 & -0,25 & -0,25 & & & 0,01 & 0,09 & 0,12 & 0,11 & -0,03 & 0,04 & -0,33 & -0,15 & & 0,16 & 0,09 & 0,03 & 0,25 & 0,25 & & & 0,01 & 0,09 & 0,12 & 0,11 & 0,03 & 0,04 & 0,33 & 0,15 \\
& $^3B_1$ & 3 & V & dou & 4,2 & & 3,13 & NEVPT2/AVTZ & N & & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 4,39 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 2,35 & \multicolumn{1}{l}{} & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
Hexatriene & ^1B_u   & 1 & V & ppi & 92,2 & \multicolumn{1}{r}{1,115} & 5,37 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 5,31 & 5,21 & 5,41 & & 5,47 & 5,33 & 5,36 & 5,34 & 5,40 & 5,45 & 5,37 & 5,23 & 5,16 & 5,12 & 5,14 & & -0,06 & -0,16 & 0,04 & & 0,10 & -0,04 & -0,01 & -0,03 & 0,03 & 0,08 & 0,00 & -0,14 & -0,21 & -0,25 & -0,23 & & 0,06 & 0,16 & 0,04 & & 0,10 & 0,04 & 0,01 & 0,03 & 0,03 & 0,08 & 0,00 & 0,14 & 0,21 & 0,25 & 0,23 \\
& $^1A_g$ & 1 & V & ppi & 65,3 & & 5,62 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & N & & 6,77 & 6,46 & 6,65 & & 6,57 & 6,14 & 5,91 & 5,75 & 6,84 & 6,82 & 6,70 & 6,68 & 6,53 & 4,66 & 5,60 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^1A_u$   & 1 & R & p3s & 93,6 & \multicolumn{1}{r}{0,009} & 5,79 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 5,80 & 5,70 & 5,95 & \multicolumn{1}{r}{5,90} & 5,85 & 5,79 & 5,80 & 5,78 & 6,03 & 5,98 & 5,88 & 5,93 & 5,77 & 5,55 & 5,66 & & 0,01 & -0,09 & 0,16 & 0,11 & 0,06 & 0,00 & 0,01 & -0,01 & 0,24 & 0,19 & 0,09 & 0,14 & -0,02 & -0,24 & -0,13 & & 0,01 & 0,09 & 0,16 & 0,11 & 0,06 & 0,00 & 0,01 & 0,01 & 0,24 & 0,19 & 0,09 & 0,14 & 0,02 & 0,24 & 0,13 \\
& $^1B_g$ & 1 & R & p3p & 93,5 & & 5,94 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 5,94 & 5,84 & 6,09 & \multicolumn{1}{r}{6,01} & 6,00 & 5,93 & 5,94 & 5,86 & 6,20 & 6,16 & 6,05 & 6,10 & 5,91 & 5,70 & 5,81 & & 0,00 & -0,10 & 0,15 & 0,07 & 0,06 & -0,01 & 0,00 & -0,08 & 0,26 & 0,22 & 0,11 & 0,16 & -0,03 & -0,24 & -0,14 & & 0,00 & 0,10 & 0,15 & 0,07 & 0,06 & 0,01 & 0,00 & 0,08 & 0,26 & 0,22 & 0,11 & 0,16 & 0,03 & 0,24 & 0,14 \\
& $^1B_u$   & 3 & V & ppi & 97,9 & & 2,73 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 2,98 & 2,84 & 2,83 & \multicolumn{1}{r}{2,53} & 2,68 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 2,73 & 2,98 & 2,98 & 2,93 & 2,86 & 2,85 & 2,44 & 2,65 & & 0,25 & 0,11 & 0,10 & -0,20 & -0,05 & & & 0,00 & 0,25 & 0,25 & 0,20 & 0,13 & 0,12 & -0,29 & -0,08 & & 0,25 & 0,11 & 0,10 & 0,20 & 0,05 & & & 0,00 & 0,25 & 0,25 & 0,20 & 0,13 & 0,12 & 0,29 & 0,08 \\
& $^1A_g$ & 3 & V & ppi & 98,3 & & 4,36 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 4,53 & 4,46 & 4,36 & \multicolumn{1}{r}{4,26} & 4,32 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 4,36 & 4,43 & 4,43 & 4,44 & 4,32 & 4,45 & 4,07 & 4,26 & & 0,17 & 0,10 & 0,00 & -0,10 & -0,04 & & & 0,00 & 0,07 & 0,07 & 0,08 & -0,04 & 0,09 & -0,29 & -0,10 & & 0,17 & 0,10 & 0,00 & 0,10 & 0,04 & & & 0,00 & 0,07 & 0,07 & 0,08 & 0,04 & 0,09 & 0,29 & 0,10 \\
Maleimide & ^1B_1   & 1 & V & npi & 87,6 & \multicolumn{1}{r}{0,000} & 3,80 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 3,86 & 3,70 & 4,15 & \multicolumn{1}{r}{3,86} & 4,07 & 3,89 & 3,87 & 3,78 & 4,04 & 4,19 & 4,03 & 3,78 & 3,54 & 4,07 & 3,81 & & 0,06 & -0,10 & 0,35 & 0,06 & 0,27 & 0,09 & 0,07 & -0,02 & 0,24 & 0,39 & 0,23 & -0,02 & -0,26 & 0,27 & 0,01 & & 0,06 & 0,10 & 0,35 & 0,06 & 0,27 & 0,09 & 0,07 & 0,02 & 0,24 & 0,39 & 0,23 & 0,02 & 0,26 & 0,27 & 0,01 \\
& $^1A_2$ & 1 & V & npi & 85,9 & & 4,52 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 4,66 & 4,52 & 4,87 & \multicolumn{1}{r}{4,59} & 4,82 & 4,64 & 4,60 & 4,51 & 4,74 & 4,92 & 4,80 & 4,49 & 4,33 & 4,76 & 4,55 & & 0,14 & 0,00 & 0,35 & 0,07 & 0,30 & 0,12 & 0,08 & -0,01 & 0,22 & 0,40 & 0,28 & -0,03 & -0,19 & 0,24 & 0,03 & & 0,14 & 0,00 & 0,35 & 0,07 & 0,30 & 0,12 & 0,08 & 0,01 & 0,22 & 0,40 & 0,28 & 0,03 & 0,19 & 0,24 & 0,03 \\
& $^1B_2$   & 1 & V & ppi & 88,2 & \multicolumn{1}{r}{0,025} & 4,89 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 5,39 & 4,87 & 5,32 & \multicolumn{1}{r}{4,85} & 5,16 & 4,94 & 4,95 & 4,86 & 5,20 & 5,24 & 5,11 & 4,95 & 4,82 & 4,88 & 4,85 & & 0,50 & -0,02 & 0,43 & -0,04 & 0,27 & 0,05 & 0,06 & -0,03 & 0,31 & 0,35 & 0,22 & 0,06 & -0,07 & -0,01 & -0,04 & & 0,50 & 0,02 & 0,43 & 0,04 & 0,27 & 0,05 & 0,06 & 0,03 & 0,31 & 0,35 & 0,22 & 0,06 & 0,07 & 0,01 & 0,04 \\
& $^1B_2$   & 1 & V & ppi & 89,1 & \multicolumn{1}{r}{0,373} & 6,21 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 5,74 & 6,22 & 6,53 & & 6,48 & 6,25 & 6,26 & 6,18 & 6,40 & 6,52 & 6,43 & 6,18 & 6,11 & 6,20 & 6,16 & & -0,47 & 0,01 & 0,32 & & 0,27 & 0,04 & 0,05 & -0,03 & 0,19 & 0,31 & 0,22 & -0,03 & -0,10 & -0,01 & -0,05 & & 0,47 & 0,01 & 0,32 & & 0,27 & 0,04 & 0,05 & 0,03 & 0,19 & 0,31 & 0,22 & 0,03 & 0,10 & 0,01 & 0,05 \\
& $^1B_2$   & 1 & R & n3s & 89,1 & \multicolumn{1}{r}{0,034} & 7,20 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 6,65 & 6,71 & 7,58 & & 7,46 & 7,28 & 7,31 & 7,19 & 7,39 & 7,41 & 7,17 & 7,19 & 6,71 & 7,80 & 7,26 & & -0,55 & -0,49 & 0,38 & & 0,26 & 0,08 & 0,11 & -0,01 & 0,19 & 0,21 & -0,03 & -0,01 & -0,49 & 0,60 & 0,05 & & 0,55 & 0,49 & 0,38 & & 0,26 & 0,08 & 0,11 & 0,01 & 0,19 & 0,21 & 0,03 & 0,01 & 0,49 & 0,60 & 0,05 \\
& $^3B_1$   & 3 & V & npi & 96,3 & & 3,57 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 3,67 & 3,45 & 3,87 & \multicolumn{1}{r}{3,53} & 3,78 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 3,56 & 3,85 & 3,99 & 3,81 & 3,61 & 3,31 & 3,46 & 3,39 & & 0,10 & -0,12 & 0,30 & -0,04 & 0,21 & & & -0,01 & 0,28 & 0,42 & 0,24 & 0,04 & -0,26 & -0,11 & -0,19 & & 0,10 & 0,12 & 0,30 & 0,04 & 0,21 & & & 0,01 & 0,28 & 0,42 & 0,24 & 0,04 & 0,26 & 0,11 & 0,19 \\
& $^3B_2$  & 3 & V & ppi & 98,4 & & 3,74 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 3,98 & 3,85 & 3,88 & \multicolumn{1}{r}{3,40} & 3,71 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 3,73 & 3,92 & 3,93 & 3,90 & 3,80 & 3,85 & 3,79 & 3,82 & & 0,24 & 0,11 & 0,14 & -0,34 & -0,03 & & & -0,01 & 0,18 & 0,19 & 0,16 & 0,06 & 0,11 & 0,05 & 0,08 & & 0,24 & 0,11 & 0,14 & 0,34 & 0,03 & & & 0,01 & 0,18 & 0,19 & 0,16 & 0,06 & 0,11 & 0,05 & 0,08 \\
& $^3B_2$  & 3 & V & ppi & 96,9 & & 4,24 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 4,67 & 4,32 & 4,58 & & 4,35 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 4,25 & 4,59 & 4,67 & 4,55 & 4,38 & 4,23 & 4,20 & 4,22 & & 0,43 & 0,08 & 0,34 & & 0,11 & & & 0,01 & 0,35 & 0,43 & 0,31 & 0,14 & -0,01 & -0,04 & -0,03 & & 0,43 & 0,08 & 0,34 & & 0,11 & & & 0,01 & 0,35 & 0,43 & 0,31 & 0,14 & 0,01 & 0,04 & 0,03 \\
& $^3A_2$ & 3 & V & npi & 96,1 & & 4,32 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 4,44 & 4,27 & 4,58 & \multicolumn{1}{r}{4,26} & 4,51 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 4,31 & 4,55 & 4,71 & 4,57 & 4,32 & 4,08 & 4,50 & 4,29 & & 0,12 & -0,05 & 0,26 & -0,06 & 0,19 & & & -0,01 & 0,23 & 0,39 & 0,25 & 0,00 & -0,24 & 0,18 & -0,03 & & 0,12 & 0,05 & 0,26 & 0,06 & 0,19 & & & 0,01 & 0,23 & 0,39 & 0,25 & 0,00 & 0,24 & 0,18 & 0,03 \\
Naphthalene & ^1B_{3u}   & 1 & V & ppi & 85,8 & & 4,27 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 4,49 & 4,45 & 4,82 & & 4,45 & 4,39 & 4,34 & 4,30 & 4,35 & 4,35 & 4,38 & 4,13 & 4,46 & 4,19 & 4,33 & & 0,22 & 0,18 & 0,55 & & 0,18 & 0,12 & 0,07 & 0,03 & 0,08 & 0,08 & 0,11 & -0,14 & 0,19 & -0,08 & 0,06 & & 0,22 & 0,18 & 0,55 & & 0,18 & 0,12 & 0,07 & 0,03 & 0,08 & 0,08 & 0,11 & 0,14 & 0,19 & 0,08 & 0,06 \\
& $^1B_{2u}$   & 1 & V & ppi & 90,3 & & 4,90 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 5,15 & 4,82 & 5,30 & & 5,05 & 4,94 & 4,92 & 4,87 & 4,93 & 4,96 & 4,92 & 4,74 & 4,81 & 4,76 & 4,79 & & 0,25 & -0,08 & 0,40 & & 0,15 & 0,04 & 0,02 & -0,03 & 0,03 & 0,06 & 0,02 & -0,16 & -0,09 & -0,14 & -0,12 & & 0,25 & 0,08 & 0,40 & & 0,15 & 0,04 & 0,02 & 0,03 & 0,03 & 0,06 & 0,02 & 0,16 & 0,09 & 0,14 & 0,12 \\
& $^1A_u$ & 1 & R & p3s & 92,7 & & 5,65 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 5,67 & 5,56 & 5,98 & & 5,70 & 5,67 & 5,66 & 5,63 & 5,81 & 5,75 & 5,69 & 5,69 & 5,62 & 5,49 & 5,56 & & 0,02 & -0,09 & 0,33 & & 0,05 & 0,02 & 0,01 & -0,02 & 0,16 & 0,10 & 0,04 & 0,04 & -0,03 & -0,16 & -0,10 & & 0,02 & 0,09 & 0,33 & & 0,05 & 0,02 & 0,01 & 0,02 & 0,16 & 0,10 & 0,04 & 0,04 & 0,03 & 0,16 & 0,10 \\
& $^1B_{1g}$   & 1 & V & ppi & 84,7 & & 5,84 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 6,19 & 5,87 & 6,38 & & 6,11 & 5,98 & 5,93 & 5,83 & 6,11 & 6,10 & 6,02 & 5,93 & 5,90 & 5,80 & 5,85 & & 0,35 & 0,03 & 0,54 & & 0,27 & 0,14 & 0,09 & -0,01 & 0,27 & 0,26 & 0,18 & 0,09 & 0,06 & -0,04 & 0,01 & & 0,35 & 0,03 & 0,54 & & 0,27 & 0,14 & 0,09 & 0,01 & 0,27 & 0,26 & 0,18 & 0,09 & 0,06 & 0,04 & 0,01 \\
& $^1A_g$ & 1 & V & ppi & \multicolumn{1}{l}{} & & 5,89 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & N & & 6,32 & 6,12 & 6,50 & & 6,17 & 6,05 & 6,01 & 5,94 & 6,03 & 6,02 & 6,05 & 5,81 & 6,13 & 5,63 & 5,88 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^1B_{3g}$   & 1 & R & p3p & \multicolumn{1}{l}{} & & 6,07 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 6,07 & 5,97 & 6,41 & & 6,14 & 6,08 & 6,06 & 6,04 & 6,23 & 6,18 & 6,11 & 6,11 & 6,03 & 5,92 & 5,98 & & 0,00 & -0,10 & 0,34 & & 0,07 & 0,01 & -0,01 & -0,03 & 0,16 & 0,11 & 0,04 & 0,04 & -0,04 & -0,15 & -0,10 & & 0,00 & 0,10 & 0,34 & & 0,07 & 0,01 & 0,01 & 0,03 & 0,16 & 0,11 & 0,04 & 0,04 & 0,04 & 0,15 & 0,10 \\
& $^1B_{2g}$   & 1 & R & p3p & 92,5 & & 6,09 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 6,04 & 5,94 & 6,38 & & 6,10 & 6,11 & 6,09 & 6,07 & 6,31 & 6,15 & 6,08 & 6,10 & 6,00 & 5,89 & 5,95 & & -0,05 & -0,15 & 0,29 & & 0,01 & 0,02 & 0,00 & -0,02 & 0,22 & 0,06 & -0,01 & 0,01 & -0,09 & -0,20 & -0,15 & & 0,05 & 0,15 & 0,29 & & 0,01 & 0,02 & 0,00 & 0,02 & 0,22 & 0,06 & 0,01 & 0,01 & 0,09 & 0,20 & 0,15 \\
& $^1B_{3u}$   & 1 & V & ppi & 90,6 & & 6,19 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & N & & 6,30 & 6,08 & 6,65 & & 6,36 & 6,19 & 6,22 & 6,15 & 6,26 & 6,27 & 6,21 & 6,07 & 6,07 & 6,09 & 6,08 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^1B_{1u}$   & 1 & R & p3s & 91,9 & & 6,33 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 6,42 & 6,27 & 6,72 & & 6,38 & 6,37 & 6,35 & 6,32 & 6,44 & 6,37 & 6,34 & 6,31 & 6,33 & 6,19 & 6,26 & & 0,09 & -0,06 & 0,39 & & 0,05 & 0,04 & 0,02 & -0,01 & 0,11 & 0,04 & 0,01 & -0,02 & 0,00 & -0,14 & -0,07 & & 0,09 & 0,06 & 0,39 & & 0,05 & 0,04 & 0,02 & 0,01 & 0,11 & 0,04 & 0,01 & 0,02 & 0,00 & 0,14 & 0,07 \\
& $^1B_{2u}$   & 1 & V & ppi & 90,2 & & 6,42 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 6,30 & 6,40 & 6,90 & & 6,60 & 6,44 & 6,46 & 6,39 & 6,48 & 6,49 & 6,45 & 6,28 & 6,39 & 6,31 & 6,35 & & -0,12 & -0,02 & 0,48 & & 0,18 & 0,02 & 0,04 & -0,03 & 0,06 & 0,07 & 0,03 & -0,14 & -0,03 & -0,11 & -0,07 & & 0,12 & 0,02 & 0,48 & & 0,18 & 0,02 & 0,04 & 0,03 & 0,06 & 0,07 & 0,03 & 0,14 & 0,03 & 0,11 & 0,07 \\
& $^1B_{1g}$   & 1 & V & ppi & 87,5 & & 6,48 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 7,06 & 6,50 & 7,05 & & 6,78 & 6,54 & 6,54 & 6,46 & 6,66 & 6,65 & 6,60 & 6,45 & 6,52 & 6,39 & 6,46 & & 0,58 & 0,02 & 0,57 & & 0,30 & 0,06 & 0,06 & -0,02 & 0,18 & 0,17 & 0,12 & -0,03 & 0,04 & -0,09 & -0,03 & & 0,58 & 0,02 & 0,57 & & 0,30 & 0,06 & 0,06 & 0,02 & 0,18 & 0,17 & 0,12 & 0,03 & 0,04 & 0,09 & 0,03 \\
& $^1A_g & $1 & V & ppi & 71,5 & & 6,87 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 7,35 & 7,16 & 7,27 & & 7,41 & 7,30 & 7,09 & 6,87 & 7,34 & 7,30 & 7,26 & 7,13 & 7,20 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & & 0,48 & 0,29 & 0,40 & & 0,54 & 0,43 & 0,22 & 0,00 & 0,47 & 0,43 & 0,39 & 0,26 & 0,33 & & & & 0,48 & 0,29 & 0,40 & & 0,54 & 0,43 & 0,22 & 0,00 & 0,47 & 0,43 & 0,39 & 0,26 & 0,33 & & \\
& $^1B_{2u}$   & 3 & V & ppi & 97,7 & & 3,17 & CC3/AVTZ & N & & 3,54 & 3,32 & 3,47 & & 3,07 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 3,17 & 3,36 & 3,37 & 3,35 & 3,22 & 3,32 & 2,92 & 3,12 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^1B_{3u}$   & 3 & V & ppi & 96,6 & & 4,16 & CC3/AVTZ & N & & 4,45 & 4,34 & 4,48 & & 4,24 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 4,16 & 4,30 & 4,31 & 4,32 & 4,13 & 4,32 & 3,90 & 4,11 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^1B_{1g}$   & 3 & V & ppi & 97,8 & & 4,48 & CC3/AVTZ & N & & 4,75 & 4,64 & 4,73 & & 4,44 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 4,48 & 4,60 & 4,60 & 4,62 & 4,47 & 4,63 & 4,23 & 4,43 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^1B_{2u}$   & 3 & V & ppi & 96,8 & & 4,64 & CC3/AVTZ & N & & 4,88 & 4,86 & 5,08 & & 4,67 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 4,64 & 4,79 & 4,80 & 4,82 & 4,62 & 4,84 & 4,39 & 4,62 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^1B_{3u}$   & 3 & V & ppi & 97,5 & & 4,95 & CC3/AVTZ & N & & 5,08 & 4,98 & 5,22 & & 4,94 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 4,95 & 5,12 & 5,15 & 5,09 & 4,95 & 4,96 & 4,68 & 4,82 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^1A_g$ & 3 & V & ppi & 97,3 & & 5,49 & CC3/AVTZ & N & & 5,79 & 5,71 & 5,78 & & 5,53 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 5,49 & 5,57 & 5,57 & 5,62 & 5,42 & 5,69 & 5,23 & 5,46 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^1B_{1g}$   & 3 & V & ppi & 95,6 & & 6,17 & CC3/AVTZ & N & & 6,58 & 6,12 & 6,69 & & 6,40 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 6,17 & 6,45 & 6,44 & 6,33 & 6,27 & 6,15 & 6,15 & 6,15 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^1A_g$ & 3 & V & ppi & 95,2 & & 6,39 & CC3/AVTZ & N & & 6,66 & 6,57 & 6,83 & & 6,56 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 6,39 & 6,69 & 6,69 & 6,65 & 6,53 & 6,57 & 6,16 & 6,37 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
Nitroxyl (HNO) & ^1A''   & 1 & V & npi & 93,2 & \multicolumn{1}{r}{0,000} & 1,74 & exFCI/AVTZ & Y & & 1,80 & 1,74 & 1,74 & \multicolumn{1}{r}{1,56} & 1,76 & 1,74 & 1,75 & 1,75 & 1,88 & 1,93 & 1,87 & 1,68 & 1,68 & 1,50 & 1,59 & & 0,06 & 0,00 & 0,00 & -0,18 & 0,02 & 0,00 & 0,01 & 0,01 & 0,14 & 0,19 & 0,13 & -0,06 & -0,06 & -0,24 & -0,15 & & 0,06 & 0,00 & 0,00 & 0,18 & 0,02 & 0,00 & 0,01 & 0,01 & 0,14 & 0,19 & 0,13 & 0,06 & 0,06 & 0,24 & 0,15 \\
& $^1A'$   & 1 & V & dou & 0,3 & \multicolumn{1}{r}{0,000} & 4,33 & exFCI/AVTZ & Y & & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 5,51 & 5,26 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 2,55 & \multicolumn{1}{l}{} & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & \\
& $^1A'$   & 1 & R & non-d & 92,4 & \multicolumn{1}{r}{0,038} & 6,27 & CCSDTQ/AVDZ + [CCSDT/AVTZ - CCSDT/AVDZ] & Y & & 5,81 & 5,72 & 6,33 & \multicolumn{1}{r}{6,26} & 6,30 & 6,25 & 6,29 & 6,26 & 6,27 & 6,25 & 6,07 & 6,09 & 5,73 & 6,42 & 6,08 & & -0,46 & -0,55 & 0,06 & -0,01 & 0,03 & -0,02 & 0,02 & -0,01 & 0,00 & -0,02 & -0,20 & -0,18 & -0,54 & 0,15 & -0,20 & & 0,46 & 0,55 & 0,06 & 0,01 & 0,03 & 0,02 & 0,02 & 0,01 & 0,00 & 0,02 & 0,20 & 0,18 & 0,54 & 0,15 & 0,20 \\
& $^3A''$   & 3 & V & npi & 99,2 & & 0,88 & exFCI/AVTZ & Y & & 0,91 & 0,84 & 0,84 & \multicolumn{1}{r}{0,75} & 0,85 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 0,88 & 1,08 & 1,13 & 1,03 & 0,91 & 0,78 & 0,59 & 0,69 & & 0,03 & -0,04 & -0,04 & -0,13 & -0,03 & & & 0,00 & 0,20 & 0,25 & 0,15 & 0,03 & -0,10 & -0,29 & -0,20 & & 0,03 & 0,04 & 0,04 & 0,13 & 0,03 & & & 0,00 & 0,20 & 0,25 & 0,15 & 0,03 & 0,10 & 0,29 & 0,20 \\
& $^3A'$   & 3 & V & ppi & 98,5 & & 5,61 & exFCI/AVTZ & Y & & 5,72 & 5,44 & 5,73 & \multicolumn{1}{r}{5,25} & 5,49 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 5,59 & 5,59 & 5,63 & 5,81 & 5,49 & 5,46 & 5,08 & 5,27 & & 0,11 & -0,17 & 0,12 & -0,36 & -0,12 & & & -0,02 & -0,02 & 0,02 & 0,20 & -0,12 & -0,15 & -0,53 & -0,34 & & 0,11 & 0,17 & 0,12 & 0,36 & 0,12 & & & 0,02 & 0,02 & 0,02 & 0,20 & 0,12 & 0,15 & 0,53 & 0,34 \\
Streptocyanine-3 & ^1B_2   & 1 & V & ppi & 87,2 & \multicolumn{1}{r}{0,755} & 4,82 & exFCI/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 4,76 & 4,92 & 4,93 & \multicolumn{1}{r}{4,41} & 4,94 & 4,82 & 4,85 & 4,82 & 4,71 & 4,87 & 4,89 & 4,49 & 4,71 & 4,76 & 4,74 & & -0,06 & 0,10 & 0,11 & -0,41 & 0,12 & 0,00 & 0,03 & 0,00 & -0,11 & 0,05 & 0,07 & -0,33 & -0,11 & -0,06 & -0,09 & & 0,06 & 0,10 & 0,11 & 0,41 & 0,12 & 0,00 & 0,03 & 0,00 & 0,11 & 0,05 & 0,07 & 0,33 & 0,11 & 0,06 & 0,09 \\
& $^3B_2$   & 3 & V & ppi & 98,0 & & 3,44 & exFCI/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 3,62 & 3,57 & 3,52 & \multicolumn{1}{r}{3,31} & 3,40 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 3,44 & 3,66 & 3,70 & 3,66 & 3,50 & 3,51 & 3,23 & 3,37 & & 0,18 & 0,13 & 0,08 & -0,13 & -0,04 & & & 0,00 & 0,22 & 0,26 & 0,22 & 0,06 & 0,07 & -0,21 & -0,07 & & 0,18 & 0,13 & 0,08 & 0,13 & 0,04 & & & 0,00 & 0,22 & 0,26 & 0,22 & 0,06 & 0,07 & 0,21 & 0,07 \\
Streptocyanine-5 & ^1B_2   & 1 & V & ppi & 85,8 & \multicolumn{1}{r}{1,182} & 3,64 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 3,60 & 3,77 & 3,86 & & 3,79 & 3,68 & 3,69 & 3,66 & 3,56 & 3,71 & 3,73 & 3,33 & 3,54 & 3,54 & 3,54 & & -0,04 & 0,13 & 0,22 & & 0,15 & 0,04 & 0,05 & 0,02 & -0,08 & 0,07 & 0,09 & -0,31 & -0,10 & -0,10 & -0,10 & & 0,04 & 0,13 & 0,22 & & 0,15 & 0,04 & 0,05 & 0,02 & 0,08 & 0,07 & 0,09 & 0,31 & 0,10 & 0,10 & 0,10 \\
& $^3B_2$   & 3 & V & ppi & 97,7 & & 2,47 & CCSDT/6-31+G(d) + [CC3/AVTZ - CC3/6-31+G(d)] & Y & & 2,68 & 2,60 & 2,65 & \multicolumn{1}{r}{2,32} & 2,45 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 2,48 & 2,73 & 2,76 & 2,71 & 2,56 & 2,54 & 2,25 & 2,40 & & 0,21 & 0,13 & 0,18 & -0,15 & -0,02 & & & 0,01 & 0,26 & 0,29 & 0,24 & 0,09 & 0,07 & -0,22 & -0,08 & & 0,21 & 0,13 & 0,18 & 0,15 & 0,02 & & & 0,01 & 0,26 & 0,29 & 0,24 & 0,09 & 0,07 & 0,22 & 0,08 \\
Thioacrolein & ^1A''   & 1 & V & npi & 86,4 & \multicolumn{1}{r}{0,000} & 2,11 & CCSDT/AVTZ & Y & & 2,22 & 2,28 & 2,04 & \multicolumn{1}{r}{2,14} & 2,26 & 2,16 & 2,17 & 2,14 & 2,27 & 2,40 & 2,36 & 2,10 & 2,14 & 1,98 & 2,06 & & 0,11 & 0,17 & -0,07 & 0,03 & 0,15 & 0,05 & 0,06 & 0,03 & 0,16 & 0,29 & 0,25 & -0,01 & 0,03 & -0,13 & -0,05 & & 0,11 & 0,17 & 0,07 & 0,03 & 0,15 & 0,05 & 0,06 & 0,03 & 0,16 & 0,29 & 0,25 & 0,01 & 0,03 & 0,13 & 0,05 \\
& $^3A''$   & 3 & V & npi & 96,9 & & 1,91 & CCSDT/AVDZ + [CC3/AVTZ - CC3/AVDZ] & Y & & 1,96 & 1,96 & 1,78 & \multicolumn{1}{r}{1,90} & 1,98 & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & 1,93 & 2,06 & 2,17 & 2,10 & 1,92 & 1,85 & 1,77 & 1,81 & & 0,05 & 0,05 & -0,13 & -0,01 & 0,07 & & & 0,02 & 0,15 & 0,26 & 0,19 & 0,01 & -0,06 & -0,14 & -0,10 & & 0,05 & 0,05 & 0,13 & 0,01 & 0,07 & & & 0,02 & 0,15 & 0,26 & 0,19 & 0,01 & 0,06 & 0,14 & 0,10 \\
\end{tabular}

View File

@ -4,32 +4,37 @@ import re
from enum import IntEnum,auto,unique
import numpy as np
from pathlib import Path
from lib import LaTeX
from lib.dfbOptions import dfbOptions
from lib.Format import Format
from lib import LaTeX,formats,dfbOptions
from lib.formats import getFormatHandlers
from TexSoup import TexSoup,TexNode,TexCmd,TexEnv
from lib.data import dataFileBase,DataType,state
from collections import defaultdict
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--file', type=argparse.FileType('r'))
parser.add_argument("--list","-l",action="store_true", help='List all available format')
parser.add_argument('--debug', action='store_true', help='Debug mode')
args = parser.parse_args()
lines=args.file.readlines()
soup=TexSoup(lines)
opt=soup.dfbOptions
if type(opt) is TexNode and type(opt.expr) is TexEnv:
texOps=dfbOptions.readFromEnv(opt)
if args.list:
print("The list of avalable formats are:")
for formatName,_ in getFormatHandlers():
print(formatName)
else:
texOps=dfbOptions()
commands=[LaTeX.newCommand(cmd) for cmd in soup.find_all("newcommand")]
dat=LaTeX.tabularToData(soup.tabular,commands)
scriptpath=Path(sys.argv[0]).resolve()
datapath=scriptpath.parents[1]/"static"/"data"
if args.debug:
datapath=datapath/"test"
if not datapath.exists():
datapath.mkdir()
datalst=dataFileBase.readFromTable(dat,texOps,commands=commands)
for data in datalst:
data.toFile(datapath,texOps.suffix)
lines=args.file.readlines()
soup=TexSoup(lines)
opt=soup.dfbOptions
if type(opt) is TexNode and type(opt.expr) is TexEnv:
texOps=dfbOptions.readFromEnv(opt)
else:
texOps=dfbOptions()
commands=[LaTeX.newCommand(cmd) for cmd in soup.find_all("newcommand")]
dat=LaTeX.tabularToData(soup.tabular,commands)
scriptpath=Path(sys.argv[0]).resolve()
datapath=scriptpath.parents[1]/"static"/"data"
if args.debug:
datapath=datapath/"test"
if not datapath.exists():
datapath.mkdir()
datalst=dataFileBase.readFromTable(dat,texOps,commands=commands)
for data in datalst:
data.toFile(datapath,texOps.suffix)

View File

@ -1,9 +0,0 @@
from enum import IntEnum,auto,unique
@unique
class Format(IntEnum):
LINE=auto()
COLUMN=auto()
DOUBLECOLUMN=auto()
EXOTICCOLUMN=auto()
TBE=auto()
DOUBLETBE=auto()

View File

@ -0,0 +1 @@
from .dfbOptions import dfbOptions

View File

@ -4,7 +4,7 @@ from .LaTeX import newCommand
from .utils import getValFromCell,checkFloat
from TexSoup import TexNode,TexEnv
from enum import IntEnum,auto,unique,IntFlag
from .Format import Format
from .formats import getFormatHandlers
import re
import numpy as np
import json
@ -25,6 +25,27 @@ class state:
class DataType(IntEnum):
ABS=auto()
FLUO=auto()
def datafileSelector(dataType):
switcher={
DataType.ABS:AbsDataFile,
DataType.FLUO:FluoDataFile,
}
return switcher[dataType]
def getSubtableIndex(table,firstindex=2,column=0,count=1):
subtablesindex=list()
i=firstindex+count
while i<np.size(table,0):
if str(table[i,column])!="":
subtablesindex.append((firstindex,i-1))
firstindex=i
i+=count
else:
i+=1
subtablesindex.append((firstindex,np.size(table,0)))
return subtablesindex
class dataFileBase(object):
def __init__(self):
self.molecule = ''
@ -78,253 +99,13 @@ class dataFileBase(object):
return lst
@staticmethod
def readFromTable(table,TexOps, commands=[]):
def getSubtableIndex(table,firstindex=2,column=0,count=1):
subtablesindex=list()
i=firstindex+count
while i<np.size(table,0):
if str(table[i,column])!="":
subtablesindex.append((firstindex,i-1))
firstindex=i
i+=count
else:
i+=1
subtablesindex.append((firstindex,np.size(table,0)))
return subtablesindex
datalist=list()
switcher={
DataType.ABS:AbsDataFile,
DataType.FLUO:FluoDataFile,
}
if TexOps.format==Format.LINE:
for col in range(1,np.size(table,1)):
col=table[:,col]
mymolecule=str(col[0])
mymethod=method(str(col[2]),str(col[1]))
initialState=TexOps.initialStates[mymolecule]
finsts=dataFileBase.convertState(table[3:,0],initialState,default=TexOps.defaultType,commands=commands)
datacls=dict()
for index,cell in enumerate(col[3:]):
if str(cell)!="":
val,unsafe=getValFromCell(cell)
finst=finsts[index]
dt=finst[1]
if dt in datacls:
data=datacls[dt]
else:
cl=switcher[dt]
data=cl()
datacls[dt]=data
data.molecule=mymolecule
data.method=mymethod
data.excitations.append(excitationValue(initialState,finst[0],val,type=finst[2],isUnsafe=unsafe))
for value in datacls.values():
datalist.append(value)
return datalist
elif TexOps.format==Format.COLUMN:
subtablesindex=getSubtableIndex(table)
for first, last in subtablesindex:
for col in range(2,np.size(table,1)):
datacls=dict()
col=table[:,col]
mymolecule=str(table[first,0])
initialState=TexOps.initialStates[mymolecule]
mymethod=method(str(col[1]),str(col[0]))
finsts=dataFileBase.convertState(table[first:last+1,1],initialState,default=TexOps.defaultType,commands=commands)
for index,cell in enumerate(col[first:last+1]):
if str(cell)!="":
val,unsafe=getValFromCell(cell)
finst=finsts[index]
dt=finst[1]
if dt in datacls:
data=datacls[dt]
else:
cl=switcher[dt]
data=cl()
data.molecule=mymolecule
data.method=mymethod
datacls[dt]=data
data.excitations.append(excitationValue(initialState,finst[0],val,type=finst[2]))
for value in datacls.values():
datalist.append(value)
return datalist
elif TexOps.format==Format.DOUBLECOLUMN:
datacls=dict()
subtablesMol=getSubtableIndex(table)
for firstMol, lastMol in subtablesMol:
mymolecule=str(table[firstMol,0])
moltable=table[firstMol:lastMol+1,:]
subtablestrans=getSubtableIndex(moltable,firstindex=0,column=1,count=2)
for firstTrans,lastTrans in subtablestrans:
mytrans=moltable[firstTrans:lastTrans+1,:]
mytransdesc=mytrans[0:2,1]
for i in range(2):
try:
mathsoup=TexSoup(mytransdesc[i])
except:
print(f"Error when parsing latex state: {str(mytransdesc[i])}")
exit(-1)
newCommand.runAll(mathsoup,commands)
mytransdesc[i]=str(mathsoup)
for colindex in range(3,np.size(table,1)):
col=mytrans[:,colindex]
mybasis=str(table[1,colindex])
for index,cell in enumerate(col):
methodnameAT1=str(mytrans[index,2])
PTString=r"($\%T_1$)"
HasT1=methodnameAT1.endswith(PTString)
if HasT1:
methodname=methodnameAT1[:-len(PTString)]
else:
methodname=str(methodnameAT1)
mymethod=method(methodname,mybasis)
strcell=str(cell)
if strcell!="":
if HasT1:
m=re.match(r"^(?P<value>[-+]?\d+\.?\d*)\s*(?:\((?P<T1>\d+\.?\d*)\\\%\))?",strcell)
val,unsafe=getValFromCell(TexSoup(m.group("value")))
T1=m.group("T1")
else:
m=re.match(r"^[-+]?\d+\.?\d*",strcell)
val,unsafe=getValFromCell(TexSoup(m.group(0)))
T1=None
if (mymolecule,mymethod.name,mymethod.basis) in datacls:
data=datacls[(mymolecule,mymethod.name,mymethod.basis)]
else:
data=AbsDataFile()
data.molecule=mymolecule
data.method=mymethod
datacls[(mymolecule,mymethod.name,mymethod.basis)]=data
infin=mytransdesc[0].split(r"\rightarrow")
for i,item in enumerate(infin):
m=re.match(r"^(?P<number>\d)\\[,:;\s]\s*\^(?P<multiplicity>\d)(?P<sym>\S*)",item.strip())
infin[i]=state(m.group("number"),m.group("multiplicity"),m.group("sym"))
data.excitations.append(excitationValue(infin[0],infin[1],val,type=mytransdesc[1],isUnsafe=unsafe,T1=T1))
for value in datacls.values():
datalist.append(value)
return datalist
elif TexOps.format==Format.EXOTICCOLUMN:
import json
subtablesindex=getSubtableIndex(table)
for first, last in subtablesindex:
valDic=dict()
mymolecule=str(table[first,0])
initialState=TexOps.initialStates[mymolecule]
for col in range(2,np.size(table,1)):
col=table[:,col]
basis=str(col[0])
mymethcell=list(col[1])
if isinstance(mymethcell[0],TexNode) and mymethcell[0].name=="$":
kindSoup=TexSoup("".join(list(mymethcell[0].expr.all)))
newCommand.runAll(kindSoup,commands)
kind=str(kindSoup)
methodnameSoup=TexSoup(mymethcell[1].value)
newCommand.runAll(methodnameSoup,commands)
methodname=str(methodnameSoup)
else:
kind=""
methtex=col[1]
newCommand.runAll(methtex,commands)
methodname=str(methtex)
mymethod=method(methodname,basis)
methkey=json.dumps(mymethod.__dict__)
finsts=dataFileBase.convertState(table[first:last+1,1],initialState,default=TexOps.default,commands=commands)
for index,cell in enumerate(col[first:last+1]):
if str(cell)!="":
val,unsafe=getValFromCell(cell)
finst=finsts[index]
dt=finst[1]
if dt in valDic:
dtDic=valDic[dt]
else:
dtDic=dict()
valDic[dt]=dtDic
if not methkey in dtDic:
dtDic[methkey]=dict()
dataDic=dtDic[methkey]
exkey=(json.dumps(finst[0].__dict__,),finst[2])
if not exkey in dataDic:
dataDic[exkey]=dict()
if kind=='':
dataDic[exkey][kind]=(val,unsafe)
else:
dataDic[exkey][kind]=val
#data.excitations.append(excitationValue(initialState,finst[0],val,type=finst[2]))
for dt,methdic in valDic.items():
for methstring,exdic in methdic.items():
data=switcher[dt]()
data.molecule=mymolecule
methdic=json.loads(methstring)
data.method=method(methdic["name"],methdic["basis"])
for exstr,values in exdic.items():
stDict=json.loads(exstr[0])
ty=exstr[1]
st=state(stDict["number"],stDict["multiplicity"],stDict["symetry"])
T1=values["\\%T_1"] if "\\%T_1" in values else None
oF= values["f"] if "f" in values else None
val,unsafe=values[""]
data.excitations.append(excitationValue(initialState,st,val,type=ty,T1=T1,isUnsafe=unsafe,oscilatorForces=oF))
datalist.append(data)
return datalist
elif TexOps.format==Format.TBE:
subtablesindex=getSubtableIndex(table)
for first, last in subtablesindex:
datacls=dict()
mymolecule=str(table[first,0])
initialState=TexOps.initialStates[mymolecule]
mymethod=(method("TBE(FC)"),method("TBE"))
finsts=dataFileBase.convertState(table[first:last+1,1],initialState,default=TexOps.defaultType,commands=commands)
for index,row in enumerate(table[first:last+1,]):
oscilatorForces=checkFloat(str(row[2]))
T1 = checkFloat(str(row[3]))
val,unsafe = getValFromCell(row[4])
corr,unsafecorr = getValFromCell(row[7])
finst=finsts[index]
dt=finst[1]
if dt in datacls:
datamtbe = datacls[dt]
else:
cl=switcher[dt]
datamtbe=[]
for met in mymethod:
data=cl()
data.molecule=mymolecule
data.method=met
datamtbe.append(data)
datacls[dt]=datamtbe
vs=[val,corr]
uns=[unsafe,unsafecorr]
for i in range(2):
datamtbe[i].excitations.append(excitationValue(initialState,finst[0],vs[i],type=finst[2],T1=T1,oscilatorForces=oscilatorForces,isUnsafe=uns[i]))
for value in datacls.values():
for dat in value:
datalist.append(dat)
return datalist
elif TexOps.format==Format.DOUBLETBE:
datacls=dict()
subtablesMol=getSubtableIndex(table)
for firstMol, lastMol in subtablesMol:
data=AbsDataFile()
data.molecule=str(table[firstMol,0])
data.method=method("TBE","CBS")
for mytrans in table[firstMol:lastMol+1]:
try:
mathsoup=TexSoup(mytrans[1])
except:
print(f"Error when parsing latex state: {str(mytransdesc[i])}")
exit(-1)
newCommand.runAll(mathsoup,commands)
mytransdesc=str(mathsoup)
infin=mytransdesc.split(r"\rightarrow")
for i,item in enumerate(infin):
m=re.match(r"^(?P<number>\d)\\[,:;\s]\s*\^(?P<multiplicity>\d)(?P<sym>\S*)",item.strip())
infin[i]=state(m.group("number"),m.group("multiplicity"),m.group("sym"))
cell=mytrans[6]
val,unsafe=getValFromCell(cell)
data.excitations.append(excitationValue(infin[0],infin[1],val,isUnsafe=unsafe))
datalist.append(data)
return datalist
for formatName,Cls in getFormatHandlers:
if formatName.lower()==TexOps.format.lower():
handler=Cls(TexOps,commands)
break
else:
raise ValueError()
return handler.readFromTable(table)
def getMetadata(self):
dic=OrderedDict()
dic["Molecule"]=self.molecule

View File

@ -1,12 +1,12 @@
from TexSoup import TexSoup,TexCmd
from .Format import Format
from . import formats
from .data import dataFileBase,DataType,state
from collections import defaultdict
class dfbOptions(object):
def __init__(self):
self.defaultType=DataType.ABS
self.format=Format.LINE
self.format="line"
self.suffix=None
self.initialStates=defaultdict(lambda : state(1,1,"A_1"))
@ -23,7 +23,7 @@ class dfbOptions(object):
if dfbFormatNode!=None:
dfbFormat=dfbFormatNode.expr
if type(dfbFormat) is TexCmd:
dfb_Opt.format=Format[dfbFormat.args[0].value.upper()]
dfb_Opt.format=dfbFormat.args[0].value
dfbSuffixNode=lateEnv.suffix
if dfbSuffixNode!=None:

View File

@ -0,0 +1,3 @@
from .formatHandlerBase import formatHandlerBase
from .formatName import formatName
from .getFormatHandlers import getFormatHandlers

View File

@ -0,0 +1,41 @@
from ..formatHandlerBase import formatHandlerBase
from ..formatName import formatName
from ...data import dataFileBase,DataType,method,excitationValue,datafileSelector,getSubtableIndex
from ...utils import getValFromCell, checkFloat
@formatName("TBE")
class TBEHandler(formatHandlerBase):
def readFromTable(self,table):
datalist=list()
subtablesindex=getSubtableIndex(table)
for first, last in subtablesindex:
datacls=dict()
mymolecule=str(table[first,0])
initialState=self.TexOps.initialStates[mymolecule]
mymethod=(method("TBE(FC)"),method("TBE"))
finsts=dataFileBase.convertState(table[first:last+1,1],initialState,default=TexOps.defaultType,commands=commands)
for index,row in enumerate(table[first:last+1,]):
oscilatorForces=checkFloat(str(row[2]))
T1 = checkFloat(str(row[3]))
val,unsafe = getValFromCell(row[4])
corr,unsafecorr = getValFromCell(row[7])
finst=finsts[index]
dt=finst[1]
if dt in datacls:
datamtbe = datacls[dt]
else:
cl=datafileSelector(dt)
datamtbe=[]
for met in mymethod:
data=cl()
data.molecule=mymolecule
data.method=met
datamtbe.append(data)
datacls[dt]=datamtbe
vs=[val,corr]
uns=[unsafe,unsafecorr]
for i in range(2):
datamtbe[i].excitations.append(excitationValue(initialState,finst[0],vs[i],type=finst[2],T1=T1,oscilatorForces=oscilatorForces,isUnsafe=uns[i]))
for value in datacls.values():
for dat in value:
datalist.append(dat)
return datalist

View File

@ -0,0 +1,6 @@
from .lineHandler import lineHandler
from .columnHandler import columnHandler
from .doubleColumnHandler import doubleColumnHandler
from .TBEHandler import TBEHandler
from .doubleTBEHandler import doubleTBEHandler
from .exoticColumnHandler import exoticColumnHandler

View File

@ -0,0 +1,34 @@
from ..formatHandlerBase import formatHandlerBase
from ..formatName import formatName
from ...data import dataFileBase,DataType,method,excitationValue,datafileSelector,getSubtableIndex
from ...utils import getValFromCell
@formatName("column")
class columnHandler(formatHandlerBase):
def readFromTable(self,table):
datalist=list()
subtablesindex=getSubtableIndex(table)
for first, last in subtablesindex:
for col in range(2,np.size(table,1)):
datacls=dict()
col=table[:,col]
mymolecule=str(table[first,0])
initialState=TexOps.initialStates[mymolecule]
mymethod=method(str(col[1]),str(col[0]))
finsts=dataFileBase.convertState(table[first:last+1,1],initialState,default=TexOps.defaultType,commands=commands)
for index,cell in enumerate(col[first:last+1]):
if str(cell)!="":
val,unsafe=getValFromCell(cell)
finst=finsts[index]
dt=finst[1]
if dt in datacls:
data=datacls[dt]
else:
cl=datafileSelector[dt]
data=cl()
data.molecule=mymolecule
data.method=mymethod
datacls[dt]=data
data.excitations.append(excitationValue(initialState,finst[0],val,type=finst[2]))
for value in datacls.values():
datalist.append(value)
return datalist

View File

@ -0,0 +1,63 @@
from ..formatHandlerBase import formatHandlerBase
from ..formatName import formatName
from ...data import dataFileBase,DataType,method,excitationValue,datafileSelector,AbsDataFile,getSubtableIndex
from ...LaTeX import newCommand
import re
from ...utils import getValFromCell
@formatName("doubleColumn")
class doubleColumnHandler(formatHandlerBase):
def readFromTable(self,table):
datacls=dict()
subtablesMol=getSubtableIndex(table)
for firstMol, lastMol in subtablesMol:
mymolecule=str(table[firstMol,0])
moltable=table[firstMol:lastMol+1,:]
subtablestrans=getSubtableIndex(moltable,firstindex=0,column=1,count=2)
for firstTrans,lastTrans in subtablestrans:
mytrans=moltable[firstTrans:lastTrans+1,:]
mytransdesc=mytrans[0:2,1]
for i in range(2):
try:
mathsoup=TexSoup(mytransdesc[i])
except:
print(f"Error when parsing latex state: {str(mytransdesc[i])}")
exit(-1)
newCommand.runAll(mathsoup,commands)
mytransdesc[i]=str(mathsoup)
for colindex in range(3,np.size(table,1)):
col=mytrans[:,colindex]
mybasis=str(table[1,colindex])
for index,cell in enumerate(col):
methodnameAT1=str(mytrans[index,2])
PTString=r"($\%T_1$)"
HasT1=methodnameAT1.endswith(PTString)
if HasT1:
methodname=methodnameAT1[:-len(PTString)]
else:
methodname=str(methodnameAT1)
mymethod=method(methodname,mybasis)
strcell=str(cell)
if strcell!="":
if HasT1:
m=re.match(r"^(?P<value>[-+]?\d+\.?\d*)\s*(?:\((?P<T1>\d+\.?\d*)\\\%\))?",strcell)
val,unsafe=getValFromCell(TexSoup(m.group("value")))
T1=m.group("T1")
else:
m=re.match(r"^[-+]?\d+\.?\d*",strcell)
val,unsafe=getValFromCell(TexSoup(m.group(0)))
T1=None
if (mymolecule,mymethod.name,mymethod.basis) in datacls:
data=datacls[(mymolecule,mymethod.name,mymethod.basis)]
else:
data=AbsDataFile()
data.molecule=mymolecule
data.method=mymethod
datacls[(mymolecule,mymethod.name,mymethod.basis)]=data
infin=mytransdesc[0].split(r"\rightarrow")
for i,item in enumerate(infin):
m=re.match(r"^(?P<number>\d)\\[,:;\s]\s*\^(?P<multiplicity>\d)(?P<sym>\S*)",item.strip())
infin[i]=state(m.group("number"),m.group("multiplicity"),m.group("sym"))
data.excitations.append(excitationValue(infin[0],infin[1],val,type=mytransdesc[1],isUnsafe=unsafe,T1=T1))
for value in datacls.values():
datalist.append(value)
return datalist

View File

@ -0,0 +1,33 @@
from ..formatHandlerBase import formatHandlerBase
from ..formatName import formatName
from ...data import dataFileBase,DataType,method,excitationValue,datafileSelector,getSubtableIndex,AbsDataFile,state
from ...utils import getValFromCell, checkFloat
from ...LaTeX import newCommand
from TexSoup import TexSoup
import re
@formatName("doubleTBE")
class doubleTBEHandler(formatHandlerBase):
def readFromTable(self,table):
datalist=list()
subtablesMol=getSubtableIndex(table)
for firstMol, lastMol in subtablesMol:
data=AbsDataFile()
data.molecule=str(table[firstMol,0])
data.method=method("TBE","CBS")
for mytrans in table[firstMol:lastMol+1]:
try:
mathsoup=TexSoup(mytrans[1])
except:
print(f"Error when parsing latex state: {str(mytransdesc[i])}")
exit(-1)
newCommand.runAll(mathsoup,commands)
mytransdesc=str(mathsoup)
infin=mytransdesc.split(r"\rightarrow")
for i,item in enumerate(infin):
m=re.match(r"^(?P<number>\d)\\[,:;\s]\s*\^(?P<multiplicity>\d)(?P<sym>\S*)",item.strip())
infin[i]=state(m.group("number"),m.group("multiplicity"),m.group("sym"))
cell=mytrans[6]
val,unsafe=getValFromCell(cell)
data.excitations.append(excitationValue(infin[0],infin[1],val,isUnsafe=unsafe))
datalist.append(data)
return datalist

View File

@ -0,0 +1,72 @@
from ..formatHandlerBase import formatHandlerBase
from ..formatName import formatName
from ...data import dataFileBase,DataType,method,excitationValue,datafileSelector,getSubtableIndex
from ...utils import getValFromCell
from TexSoup import TexSoup
from ...LaTeX import newCommand
import json
@formatName("exoticColumn")
class exoticColumnHandler(formatHandlerBase):
def readFromTable(self,table):
datalist=list()
subtablesindex=getSubtableIndex(table)
for first, last in subtablesindex:
valDic=dict()
mymolecule=str(table[first,0])
initialState=TexOps.initialStates[mymolecule]
for col in range(2,np.size(table,1)):
col=table[:,col]
basis=str(col[0])
mymethcell=list(col[1])
if isinstance(mymethcell[0],TexNode) and mymethcell[0].name=="$":
kindSoup=TexSoup("".join(list(mymethcell[0].expr.all)))
newCommand.runAll(kindSoup,commands)
kind=str(kindSoup)
methodnameSoup=TexSoup(mymethcell[1].value)
newCommand.runAll(methodnameSoup,commands)
methodname=str(methodnameSoup)
else:
kind=""
methtex=col[1]
newCommand.runAll(methtex,commands)
methodname=str(methtex)
mymethod=method(methodname,basis)
methkey=json.dumps(mymethod.__dict__)
finsts=dataFileBase.convertState(table[first:last+1,1],initialState,default=TexOps.default,commands=commands)
for index,cell in enumerate(col[first:last+1]):
if str(cell)!="":
val,unsafe=getValFromCell(cell)
finst=finsts[index]
dt=finst[1]
if dt in valDic:
dtDic=valDic[dt]
else:
dtDic=dict()
valDic[dt]=dtDic
if not methkey in dtDic:
dtDic[methkey]=dict()
dataDic=dtDic[methkey]
exkey=(json.dumps(finst[0].__dict__,),finst[2])
if not exkey in dataDic:
dataDic[exkey]=dict()
if kind=='':
dataDic[exkey][kind]=(val,unsafe)
else:
dataDic[exkey][kind]=val
#data.excitations.append(excitationValue(initialState,finst[0],val,type=finst[2]))
for dt,methdic in valDic.items():
for methstring,exdic in methdic.items():
data=switcher[dt]()
data.molecule=mymolecule
methdic=json.loads(methstring)
data.method=method(methdic["name"],methdic["basis"])
for exstr,values in exdic.items():
stDict=json.loads(exstr[0])
ty=exstr[1]
st=state(stDict["number"],stDict["multiplicity"],stDict["symetry"])
T1=values["\\%T_1"] if "\\%T_1" in values else None
oF= values["f"] if "f" in values else None
val,unsafe=values[""]
data.excitations.append(excitationValue(initialState,st,val,type=ty,T1=T1,isUnsafe=unsafe,oscilatorForces=oF))
datalist.append(data)
return datalist

View File

@ -0,0 +1,32 @@
from ..formatHandlerBase import formatHandlerBase
from ..formatName import formatName
from ...data import dataFileBase,DataType,method,excitationValue,datafileSelector
from ...utils import getValFromCell
@formatName("line")
class lineHandler(formatHandlerBase):
def readFromTable(self,table):
datalist=list()
for col in range(1,np.size(table,1)):
col=table[:,col]
mymolecule=str(col[0])
mymethod=method(str(col[2]),str(col[1]))
initialState=self.TexOps.initialStates[mymolecule]
finsts=dataFileBase.convertState(table[3:,0],initialState,default=TexOps.defaultType,commands=commands)
datacls=dict()
for index,cell in enumerate(col[3:]):
if str(cell)!="":
val,unsafe=getValFromCell(cell)
finst=finsts[index]
dt=finst[1]
if dt in datacls:
data=datacls[dt]
else:
cl=datafileSelector(dt)
data=cl()
datacls[dt]=data
data.molecule=mymolecule
data.method=mymethod
data.excitations.append(excitationValue(initialState,finst[0],val,type=finst[2],isUnsafe=unsafe))
for value in datacls.values():
datalist.append(value)
return datalist

View File

@ -0,0 +1,10 @@
from abc import ABCMeta
from abc import abstractmethod
class formatHandlerBase(object):
__metaclass__ = ABCMeta
def __init__(self,TexOps, commands=[]):
self.TexOps=TexOps
self.commands=commands
@abstractmethod
def readFromTable(self,table):
raise NotImplementedError()

View File

@ -0,0 +1,5 @@
def formatName(name):
def formatWrapped(Cls):
Cls.__formatName__=name
return Cls
return formatWrapped

View File

@ -0,0 +1,12 @@
import inspect
import sys
from . import default
from . import formatHandlerBase
def getFormatHandlers(includeUnnamed=False):
for clsName,Cls in inspect.getmembers(default,inspect.isclass):
if issubclass(Cls,formatHandlerBase):
if hasattr(Cls,"__formatName__"):
yield (Cls.__formatName__,Cls)
elif(includeUnnamed):
yield (None,Cls)