Merge branch 'master' into ADC
38
README.md
Normal file
@ -0,0 +1,38 @@
|
||||
# QUEST Website
|
||||
|
||||
## Introduction
|
||||
|
||||
The QUEST website is the website build to analyze the date from the [QUEST project](https://doi.org/10.1021/acs.jpclett.0c00014). it provide statistics for the QUEST vertical excitations set by targeting data corresponding to the parameters which the user has selected.
|
||||
|
||||
## Quick start
|
||||
|
||||
To clone this website and use it locally please run the following commands.
|
||||
|
||||
```bash
|
||||
git clone --recurse-submodules https://git.irsamc.ups-tlse.fr/mveril/exdatabaseLCPQ
|
||||
cd exdatabaseLCPQ
|
||||
hugo serve
|
||||
```
|
||||
|
||||
Now you car use your favorite browser to navigate to the website using the URL showed by Hugo in your terminal (normally <localhost:1313>)
|
||||
|
||||
## Repository content
|
||||
|
||||
### The website
|
||||
|
||||
The main part of this repository is the website. It is build using the [hugo](https://gohugo.io/) static website generator with the [beautifulhugo](https://themes.gohugo.io/beautifulhugo/) theme.
|
||||
|
||||
All the data are stored in the [data](exdatabaseLCPQ/src/branch/master/static/data) directory.
|
||||
|
||||
### The tools.
|
||||
|
||||
The second part is the [tools](exdatabaseLCPQ/src/branch/master/tools/) a series of python and bash scripts used to generate data.
|
||||
|
||||
#### datafileBuilder
|
||||
|
||||
A python script to generate data from custom LaTeX input file see [examples](exdatabaseLCPQ/src/branch/master/docs/examples).
|
||||
|
||||
#### metarecover
|
||||
|
||||
the `metarecover` bash script is used to regenerate the metadata from the previous git history state.
|
||||
So you can remove a data file to regenerate it from a LaTeX input file with `datafileBuilder` and recover the metadata from the previous version using `metarecover`.
|
14
config.toml
@ -1,12 +1,16 @@
|
||||
baseURL = "localhost:8080"
|
||||
canonifyurls = true
|
||||
|
||||
languageCode = "en-us"
|
||||
metaDataFormat = "yaml"
|
||||
DateForm = "12-30-2006"
|
||||
title = "QUEST: a database of highly-accurate excitation energies"
|
||||
title = "QUEST: a database of highly-accurate excitation energies"
|
||||
DefaultContentLanguage = "en"
|
||||
theme = "beautifulhugo"
|
||||
[Params]
|
||||
# homeTitle = ""
|
||||
subtitle = "QUantum Excited STates database"
|
||||
hometitle = "QUESTDB"
|
||||
logo="img/TOC_JPCL.png"
|
||||
subtitle = "QUantum Excited STates DataBase"
|
||||
[[Params.bigimg]]
|
||||
src = "img/QUEST-home.png"
|
||||
desc = "A mountaineering strategy to excited states"
|
||||
@ -17,7 +21,7 @@ theme = "beautifulhugo"
|
||||
[Author]
|
||||
name = "M. Véril"
|
||||
email = "mveril@irsamc.ups-tlse.fr"
|
||||
# github = "lcpq"
|
||||
github = "mveril"
|
||||
twitter = "LCPQ_UMR5626"
|
||||
# reddit = "username"
|
||||
# linkedin = "username"
|
||||
@ -25,7 +29,7 @@ theme = "beautifulhugo"
|
||||
# stackoverflow = "users/XXXXXXX/username"
|
||||
# snapchat = "username"
|
||||
# instagram = "username"
|
||||
# youtube = "channel/UC3a7Yakg9gk36G3HKDIFaYw"
|
||||
youtube = "channel/UC3a7Yakg9gk36G3HKDIFaYw"
|
||||
# soundcloud = "username"
|
||||
# spotify = "username"
|
||||
# bandcamp = "username"
|
||||
|
@ -15,7 +15,7 @@ The corresponding literature references associated with the QUEST dataset can be
|
||||
|
||||
The statistics are represented as data table and graphs (using the [Plotly JavaScript Open Source Graphing Library](https://plotly.com/javascript)).
|
||||
|
||||
## Example of statistical analysis charts
|
||||
## Example of statistical analysis
|
||||
{{< figure src="/img/samplelot.png" title="Statistical results for QUEST#1 for single excitations computed with the aug‑cc‑pVTZ basis" >}}
|
||||
|
||||
|
||||
|
@ -8,12 +8,20 @@ The purpose of the QUEST project is to build a comprehensive dataset of highly-a
|
||||
QUEST is a collaborative project involving:
|
||||
|
||||
- [Denis Jacquemin](https://www.univ-nantes.fr/denis-jacquemin-633107.kjsp)
|
||||
from the [CIESAM laboratory](http://www.sciences.univ-nantes.fr/CEISAM) in Nantes (France).
|
||||
from the [CEISAM laboratory](http://www.sciences.univ-nantes.fr/CEISAM) in Nantes (France).
|
||||
<img class="funding" height="100" src="/img/CEISAM.png" alt="CEISAM logo" hspace="5" vspace="5" />
|
||||
<img class="funding" height="200" src="/img/UnivNantes.png" alt="Nantes logo" hspace="5" vspace="5" />
|
||||
|
||||
- [Filippo Lipparini](https://people.unipi.it/filippo_lipparini)
|
||||
from the [Universita di Pisa](https://unipi.it) in Pisa (Italy).
|
||||
<img class="funding" height="100" src="/img/Pisa.gif" alt="Pisa logo" hspace="5" vspace="5" />
|
||||
|
||||
- [Mickaël Véril](http://www.lcpq.ups-tlse.fr/spip.php?article1885), [Michel Caffarel](http://qmcchem.ups-tlse.fr/index.php?title=Michel_Caffarel), [Martial Boggio-Pasqua](http://www.lcpq.ups-tlse.fr/spip.php?article557), [Anthony Scemama](https://scemama.github.io), and [Pierre-François Loos](http://www.irsamc.ups-tlse.fr/loos),
|
||||
from the [LCPQ laboratory](http://www.lcpq.ups-tlse.fr) in Toulouse (France).
|
||||
<div>
|
||||
<img class="funding" height="100" src="/img/LCPQ.png" alt="LCPQ logo" hspace="5" vspace="5" />
|
||||
<img class="funding" height="100" src="/img/UPS.png" alt="UPS logo" hspace="5" vspace="5" />
|
||||
<img class="funding" height="100" src="/img/CNRS.png" alt="CNRS logo" hspace="5" vspace="5" />
|
||||
</div>
|
||||
|
||||
For any problem concerning the website, please contact [Mickaël Véril](mailto:mveril@irsamc.univ-tlse.fr).
|
||||
|
@ -29,7 +29,7 @@ draft: false
|
||||
const publiscite = await Cite.async(publis)
|
||||
const uopublis = publiscite.format('data', { format: 'object' })
|
||||
if (uopublis.length !== 0) {
|
||||
const mySetSec = $('<section>').addClass('publiSet').attr("data-setName", setName).appendTo(setsSec)
|
||||
const mySetSec = $('<section>').addClass('publiSet').attr("data-setName", setName).attr("id",setName).appendTo(setsSec)
|
||||
$("<h1>").text(setName).appendTo(mySetSec)
|
||||
const spublis = uopublis.sort((puba, pubb) => pubUtils.getIssuedDate(puba) - pubUtils.getIssuedDate(pubb))
|
||||
for (const publi of spublis) {
|
||||
@ -47,6 +47,17 @@ draft: false
|
||||
$(art).appendTo("#publis_others")
|
||||
}
|
||||
processingIndicator.isActive = false
|
||||
const hash=window.location.hash
|
||||
if (hash.length>1 && hash.startsWith("#")) {
|
||||
sec=document.getElementById(decodeURIComponent(hash.substring(1)))
|
||||
if (sec) {
|
||||
sec.scrollIntoView({
|
||||
block: 'start',
|
||||
behavior: 'smooth',
|
||||
inline: 'nearest'
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<section class="publis-list" id="publis_sets">
|
||||
|
@ -12,32 +12,32 @@ The QUEST dataset of vertical excitations is composed by 5 subsets:
|
||||
|
||||
{{< figure src="/img/molecules.png" title="Molecules each of the five subsets making up the present QUEST dataset of highly-accurate vertical excitation energies: QUEST#1 (red), QUEST#2 (magenta and/or underlined), QUEST#3 (black), QUEST#4 (green), and QUEST#5 (blue)." >}}
|
||||
|
||||
### [QUEST#1](https://doi.org/10.1021/acs.jctc.8b00406)
|
||||
### [QUEST#1](/publications#QUEST%231)
|
||||
The QUEST#1 benchmark set consists of 110 vertical excitation energies (as well as oscillator strengths) from 18 molecules with sizes ranging from one to three non-hydrogen atoms (water, hydrogen sulfide, ammonia, hydrogen chloride, dinitrogen, carbon monoxide, acetylene, ethylene, formaldehyde, methanimine, thioformaldehyde, acetaldehyde, cyclopropene, diazomethane, formamide, ketene, nitrosomethane, and the smallest
|
||||
streptocyanine). For this set, we provided two sets of TBEs: i) one obtained within the frozen-core approximation and the aug-cc-pVTZ basis set, and ii) another one including further corrections for basis set incompleteness and "all electron" effects.
|
||||
For the former set, we systematically selected FCI/aug-cc-pVTZ values to define our TBEs except in very few cases.
|
||||
For the latter set, both the "all electron" correlation and the basis set corrections were systematically obtained at the CC3 level of theory and with the d-aug-cc-pV5Z basis for the nine smallest molecules, and slightly more compact basis sets for the larger compounds.
|
||||
|
||||
### [QUEST#2](https://doi.org/10.1021/acs.jctc.8b01205)
|
||||
### [QUEST#2](/publications#QUEST%232)
|
||||
The QUEST#2 benchmark set reports reference energies for double excitations.
|
||||
This set gathers 20 vertical transitions from 14 small- and medium-size molecules (acrolein, benzene, beryllium atom, butadiene, carbon dimer and trimer, ethylene, formaldehyde, glyoxal, hexatriene, nitrosomethane, nitroxyl, pyrazine, and tetrazine).
|
||||
The TBEs of the QUEST#2 set are obtained with SCI and/or multiconfigurational [CASSCF, CASPT2, (X)MS-CASPT2, and NEVPT2] calculations depending on the size of the molecules and the level of theory that we could afford.
|
||||
An important addition to this second study was the inclusion of various flavors of multiconfigurational methods (CASSCF, CASPT2, and NEVPT2) in addition to high-order CC methods including, at least, perturbative triples (CC3, CCSDT, CCSDTQ, etc).
|
||||
|
||||
### [QUEST#3](https://doi.org/10.1021/acs.jctc.9b01216)
|
||||
### [QUEST#3](/publications#QUEST%233)
|
||||
The QUEST#3 benchmark set is, by far, our largest set, and consists of highly accurate vertical transition energies and oscillator strengths obtained for 27 molecules encompassing 4, 5, and 6 non-hydrogen atoms (acetone, acrolein, benzene, butadiene, cyanoacetylene, cyanoformaldehyde, cyanogen, cyclopentadiene, cyclopropenone, cyclopropenethione, diacetylene, furan, glyoxal, imidazole, isobutene, methylenecyclopropene, propynal, pyrazine, pyridazine, pyridine, pyrimidine, pyrrole, tetrazine, thioacetone, thiophene, thiopropynal, and triazine) for a total of 238 vertical transition energies and 90 oscillator strengths with a reasonably good balance between singlet, triplet, valence, and Rydberg excited states.
|
||||
For these 238 transitions, we have estimated that 224 are chemically accurate for the considered geometry.
|
||||
To define the TBEs of the QUEST#3 set, we employed CC methods up to the highest technically possible order (CC3, CCSDT, and CCSDTQ), and, when affordable SCI calculations with very large reference spaces (up to hundred million determinants in certain cases), as well as the most reliable multiconfigurational method, NEVPT2, for double excitations.
|
||||
Most of our TBEs are based on CCSDTQ (4 non-hydrogen atoms) or CCSDT (5 and 6 non-hydrogen atoms) excitation energies.
|
||||
For all the transitions of the QUEST#3 set, we reported at least CCSDT/aug-cc-pVTZ (sometimes with basis set extrapolation) and CC3/aug-cc-pVQZ transition energies as well as CC3/aug-cc-pVTZ oscillator strengths for each dipole-allowed transition.
|
||||
|
||||
### [QUEST#4](https://doi.org/10.1021/acs.jctc.0c00227)
|
||||
### [QUEST#4](/publications#QUEST%234)
|
||||
The QUEST#4 benchmark set consists of two subsets of excitations and oscillator strengths.
|
||||
An "exotic" subset of 30 excited states for closed-shell molecules containing {{< tex "\ce{F}">}}, {{< tex "\ce{Cl}">}}, {{< tex "\ce{P}">}}, and {{< tex "\ce{Si}">}} atoms (carbonyl fluoride, {{< tex "\ce{CCl2}">}}, {{< tex "\ce{CClF}">}}, {{< tex "\ce{CF2}">}}, difluorodiazirine, formyl fluoride, {{< tex "\ce{HCCl}">}}, {{< tex "\ce{HCF}">}}, {{< tex "\ce{HCP}">}}, {{< tex "\ce{HPO}">}}, {{< tex "\ce{HPS}">}}, {{< tex "\ce{HSiF}">}}, {{< tex "\ce{SiCl2}">}}, and silylidene) and a "radical" subset of 51 doublet-doublet transitions in small radicals (allyl, {{< tex "\ce{BeF}">}}, {{< tex "\ce{BeH}">}}, {{< tex "\ce{BH2}">}}, {{< tex "\ce{CH}">}}, {{< tex "\ce{CH3}">}}, {{< tex "\ce{CN}">}}, {{< tex "\ce{CNO}">}}, {{< tex "\ce{CON}">}}, {{< tex "\ce{CO+}">}}, {{< tex "\ce{F2BO}">}}, {{< tex "\ce{F2BS}">}}, {{< tex "\ce{H2BO}">}}, {{< tex "\ce{HCO}">}}, {{< tex "\ce{HOC}">}}, {{< tex "\ce{H2PO}">}}, {{< tex "\ce{H2PS}">}}, {{< tex "\ce{NCO}">}}, {{< tex "\ce{NH2}">}}, nitromethyl, {{< tex "\ce{NO}">}}, {{< tex "\ce{OH}">}}, {{< tex "\ce{PH2}">}}, and vinyl) characterized by open-shell electronic configurations and an unpaired electron.
|
||||
This represents a total of 81 high-quality TBEs, the vast majority being obtained at the FCI level with at least the aug-cc-pVTZ basis set.
|
||||
We further performed high-order CC calculations to ascertain these estimates.
|
||||
|
||||
### [QUEST#5]()
|
||||
### [QUEST#5](/publications#QUEST%235)
|
||||
|
||||
The QUEST#5 subset is composed by additional accurate excitation energies that we have produced for the present website.
|
||||
This new set gathers small molecules as well as larger molecules (aza-naphthalene, benzoquinone, cyclopentadienone, cyclopentadienethione, hexatriene, maleimide, naphthalene, nitroxyl, streptocyanine-C3, streptocyanine-C5, and thioacrolein).
|
||||
@ -45,4 +45,3 @@ QUEST#5 does also provide additional FCI/6-31+G* estimates of the lowest singlet
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -75,4 +75,4 @@ draft: false
|
||||
<div id="div_btn" hidden=true>
|
||||
<button id="btn_clip" onclick="Copy()">Copy content</button>
|
||||
<button id='btn_download'>Download</button>
|
||||
</div>
|
||||
</div>
|
||||
|
13
layouts/index.html
Normal file
@ -0,0 +1,13 @@
|
||||
{{ define "main" }}
|
||||
<div role="main" class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
|
||||
{{ with .Content }}
|
||||
<div class="well" align="justify">
|
||||
{{.}}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
12
static/data/abs/acetaldehyde_ADC(2.5)_aug-cc-pVTZ.dat
Normal file
@ -0,0 +1,12 @@
|
||||
# Molecule : Acetaldehyde
|
||||
# Comment :
|
||||
# code : MRCC
|
||||
# method : ADC(2.5),aug-cc-pVTZ
|
||||
# geom : CC3,aug-cc-pVTZ
|
||||
# article : 10.1021/acs.jctc.8b00406
|
||||
|
||||
# Initial state Final state Transition Energies (eV) %T1 Oscilator forces unsafe
|
||||
####################### ####################### ######################################## ############# ####### ################### ##############
|
||||
# Number Spin Symm Number Spin Symm type E_abs %T1 f is unsafe
|
||||
1 1 A^\prime 1 1 A^{\prime\prime} (\mathrm{V};n \rightarrow \pi^\star) 4.27 _ _ false
|
||||
1 1 A^\prime 1 3 A^{\prime\prime} (\mathrm{V};n \rightarrow \pi^\star) 3.86 _ _ false
|
15
static/data/abs/acetylene_ADC(2.5)_aug-cc-pVTZ.dat
Normal file
@ -0,0 +1,15 @@
|
||||
# Molecule : Acetylene
|
||||
# Comment :
|
||||
# code : MRCC
|
||||
# method : ADC(2.5),aug-cc-pVTZ
|
||||
# geom : CC3,aug-cc-pVTZ
|
||||
# article : 10.1021/acs.jctc.8b00406
|
||||
|
||||
# Initial state Final state Transition Energies (eV) %T1 Oscilator forces unsafe
|
||||
####################### ####################### ######################################## ############# ####### ################### ##############
|
||||
# Number Spin Symm Number Spin Symm type E_abs %T1 f is unsafe
|
||||
1 1 \Sigma_g 1 1 \Sigma_u^- (\mathrm{V};\pi \rightarrow \pi^\star) 6.98 _ _ false
|
||||
1 1 \Sigma_g 1 1 \Delta_u (\mathrm{V};\pi \rightarrow \pi^\star) 7.31 _ _ false
|
||||
1 1 \Sigma_g 1 3 \Sigma_u^+ (\mathrm{V};\pi \rightarrow \pi^\star) 5.50 _ _ false
|
||||
1 1 \Sigma_g 1 3 \Delta_u (\mathrm{V};\pi \rightarrow \pi^\star) 6.31 _ _ false
|
||||
1 1 \Sigma_g 1 3 \Sigma_u^- (\mathrm{V};\pi \rightarrow \pi^\star) 6.99 _ _ false
|
15
static/data/abs/ammonia_ADC(2.5)_aug-cc-pVTZ.dat
Normal file
@ -0,0 +1,15 @@
|
||||
# Molecule : Ammonia
|
||||
# Comment :
|
||||
# code : MRCC
|
||||
# method : ADC(2.5),aug-cc-pVTZ
|
||||
# geom : CC3,aug-cc-pVTZ
|
||||
# article : 10.1021/acs.jctc.8b00406
|
||||
|
||||
# Initial state Final state Transition Energies (eV) %T1 Oscilator forces unsafe
|
||||
####################### ####################### ######################################## ############# ####### ################### ##############
|
||||
# Number Spin Symm Number Spin Symm type E_abs %T1 f is unsafe
|
||||
1 1 A_1 1 1 A_2 (\mathrm{R};n \rightarrow 3s) 6.52 _ _ false
|
||||
1 1 A_1 1 1 E (\mathrm{R};n \rightarrow 3p) 8.04 _ _ false
|
||||
1 1 A_1 2 1 A_1 (\mathrm{R};n \rightarrow 3p) 9.21 _ _ false
|
||||
1 1 A_1 2 1 A_2 (\mathrm{R};n \rightarrow 4s) 9.84 _ _ false
|
||||
1 1 A_1 1 3 A_2 (\mathrm{R};n \rightarrow 3s) 6.23 _ _ false
|
21
static/data/abs/carbon_monoxide_ADC(2.5)_aug-cc-pVTZ.dat
Normal file
@ -0,0 +1,21 @@
|
||||
# Molecule : Carbon monoxide
|
||||
# Comment :
|
||||
# code : MRCC
|
||||
# method : ADC(2.5),aug-cc-pVTZ
|
||||
# geom : CC3,aug-cc-pVTZ
|
||||
# article : 10.1021/acs.jctc.8b00406
|
||||
|
||||
# Initial state Final state Transition Energies (eV) %T1 Oscilator forces unsafe
|
||||
####################### ####################### ######################################## ############# ####### ################### ##############
|
||||
# Number Spin Symm Number Spin Symm type E_abs %T1 f is unsafe
|
||||
1 1 \Sigma^+ 1 1 \Pi (\mathrm{V};n \rightarrow \pi^\star) 8.46 _ _ false
|
||||
1 1 \Sigma^+ 1 1 \Sigma^- (\mathrm{V};\pi \rightarrow \pi^\star) 9.88 _ _ false
|
||||
1 1 \Sigma^+ 1 1 \Delta (\mathrm{V};\pi \rightarrow \pi^\star) 10.06 _ _ false
|
||||
1 1 \Sigma^+ 2 1 \Sigma^+ (\mathrm{R}) 11.05 _ _ false
|
||||
1 1 \Sigma^+ 3 1 \Sigma^+ (\mathrm{R}) 11.58 _ _ false
|
||||
1 1 \Sigma^+ 2 1 \Pi (\mathrm{R}) 11.79 _ _ false
|
||||
1 1 \Sigma^+ 1 3 \Pi (\mathrm{V};n \rightarrow \pi^\star) 6.21 _ _ false
|
||||
1 1 \Sigma^+ 1 3 \Sigma^+ (\mathrm{V};\pi \rightarrow \pi^\star) 8.38 _ _ false
|
||||
1 1 \Sigma^+ 1 3 \Delta (\mathrm{V};\pi \rightarrow \pi^\star) 9.18 _ _ false
|
||||
1 1 \Sigma^+ 1 3 \Sigma^- (\mathrm{V};\pi \rightarrow \pi^\star) 9.77 _ _ false
|
||||
1 1 \Sigma^+ 2 3 \Sigma^+ (\mathrm{R}) 10.56 _ _ false
|
14
static/data/abs/cyclopropene_ADC(2.5)_aug-cc-pVTZ.dat
Normal file
@ -0,0 +1,14 @@
|
||||
# Molecule : Cyclopropene
|
||||
# Comment :
|
||||
# code : MRCC
|
||||
# method : ADC(2.5),aug-cc-pVTZ
|
||||
# geom : CC3,aug-cc-pVTZ
|
||||
# article : 10.1021/acs.jctc.8b00406
|
||||
|
||||
# Initial state Final state Transition Energies (eV) %T1 Oscilator forces unsafe
|
||||
####################### ####################### ######################################## ############# ####### ################### ##############
|
||||
# Number Spin Symm Number Spin Symm type E_abs %T1 f is unsafe
|
||||
1 1 A_1 1 1 B_1 (\mathrm{V};\sigma \rightarrow \pi^\star) 6.65 _ _ false
|
||||
1 1 A_1 1 1 B_2 (\mathrm{V};\pi \rightarrow \pi^\star) 6.71 _ _ false
|
||||
1 1 A_1 1 3 B_2 (\mathrm{V};\pi \rightarrow \pi^\star) 4.27 _ _ false
|
||||
1 1 A_1 1 3 B_1 (\mathrm{V};\sigma \rightarrow \pi^\star) 6.36 _ _ false
|
17
static/data/abs/diazomethane_ADC(2.5)_aug-cc-pVTZ.dat
Normal file
@ -0,0 +1,17 @@
|
||||
# Molecule : Diazomethane
|
||||
# Comment :
|
||||
# code : MRCC
|
||||
# method : ADC(2.5),aug-cc-pVTZ
|
||||
# geom : CC3,aug-cc-pVTZ
|
||||
# article : 10.1021/acs.jctc.8b00406
|
||||
|
||||
# Initial state Final state Transition Energies (eV) %T1 Oscilator forces unsafe
|
||||
####################### ####################### ######################################## ############# ####### ################### ##############
|
||||
# Number Spin Symm Number Spin Symm type E_abs %T1 f is unsafe
|
||||
1 1 A_1 1 1 A_2 (\mathrm{V};\pi \rightarrow \pi^\star) 3.04 _ _ false
|
||||
1 1 A_1 1 1 B_1 (\mathrm{R};\pi \rightarrow 3s) 5.43 _ _ false
|
||||
1 1 A_1 2 1 A_1 (\mathrm{V};\pi \rightarrow \pi^\star) 5.72 _ _ false
|
||||
1 1 A_1 1 3 A_2 (\mathrm{V};\pi \rightarrow \pi^\star) 2.72 _ _ false
|
||||
1 1 A_1 1 3 A_1 (\mathrm{V};\pi \rightarrow \pi^\star) 3.92 _ _ false
|
||||
1 1 A_1 1 3 B_1 (\mathrm{R};\pi \rightarrow 3s) 5.29 _ _ false
|
||||
1 1 A_1 2 3 A_1 (\mathrm{R};\pi \rightarrow 3p) 6.72 _ _ false
|
21
static/data/abs/dinitrogen_ADC(2.5)_aug-cc-pVTZ.dat
Normal file
@ -0,0 +1,21 @@
|
||||
# Molecule : Dinitrogen
|
||||
# Comment :
|
||||
# code : MRCC
|
||||
# method : ADC(2.5),aug-cc-pVTZ
|
||||
# geom : CC3,aug-cc-pVTZ
|
||||
# article : 10.1021/acs.jctc.8b00406
|
||||
|
||||
# Initial state Final state Transition Energies (eV) %T1 Oscilator forces unsafe
|
||||
####################### ####################### ######################################## ############# ####### ################### ##############
|
||||
# Number Spin Symm Number Spin Symm type E_abs %T1 f is unsafe
|
||||
1 1 \Sigma_g 1 1 \Pi_g (\mathrm{V};n \rightarrow \pi^\star) 9.32 _ _ false
|
||||
1 1 \Sigma_g 1 1 \Sigma_u^- (\mathrm{V};\pi \rightarrow \pi^\star) 9.79 _ _ false
|
||||
1 1 \Sigma_g 1 1 \Delta_u (\mathrm{V};\pi \rightarrow \pi^\star) 10.27 _ _ false
|
||||
1 1 \Sigma_g 1 1 \Sigma_g^+ (\mathrm{R}) 13.00 _ _ false
|
||||
1 1 \Sigma_g 1 1 \Pi_u (\mathrm{R}) 13.15 _ _ false
|
||||
1 1 \Sigma_g 1 1 \Sigma_u^+ (\mathrm{R}) 13.08 _ _ false
|
||||
1 1 \Sigma_g 2 1 \Pi_u (\mathrm{R}) 13.70 _ _ false
|
||||
1 1 \Sigma_g 1 3 \Sigma_u^+ (\mathrm{V};\pi \rightarrow \pi^\star) 7.70 _ _ false
|
||||
1 1 \Sigma_g 1 3 \Pi_g (\mathrm{V};n \rightarrow \pi^\star) 7.98 _ _ false
|
||||
1 1 \Sigma_g 1 3 \Delta_u (\mathrm{V};\pi \rightarrow \pi^\star) 8.80 _ _ false
|
||||
1 1 \Sigma_g 1 3 \Sigma_u^- (\mathrm{V};\pi \rightarrow \pi^\star) 9.69 _ _ false
|
16
static/data/abs/ethylene_ADC(2.5)_aug-cc-pVTZ.dat
Normal file
@ -0,0 +1,16 @@
|
||||
# Molecule : Ethylene
|
||||
# Comment :
|
||||
# code : MRCC
|
||||
# method : ADC(2.5),aug-cc-pVTZ
|
||||
# geom : CC3,aug-cc-pVTZ
|
||||
# article : 10.1021/acs.jctc.8b00406
|
||||
|
||||
# Initial state Final state Transition Energies (eV) %T1 Oscilator forces unsafe
|
||||
####################### ####################### ######################################## ############# ####### ################### ##############
|
||||
# Number Spin Symm Number Spin Symm type E_abs %T1 f is unsafe
|
||||
1 1 A_g 1 1 B_{3u} (\mathrm{R};\pi \rightarrow 3s) 7.25 _ _ false
|
||||
1 1 A_g 1 1 B_{1u} (\mathrm{V};\pi \rightarrow \pi^\star) 7.80 _ _ false
|
||||
1 1 A_g 1 1 B_{1g} (\mathrm{R};\pi \rightarrow 3p) 7.92 _ _ false
|
||||
1 1 A_g 1 3 B_{1u} (\mathrm{V};\pi \rightarrow \pi^\star) 4.44 _ _ false
|
||||
1 1 A_g 1 3 B_{3u} (\mathrm{R};\pi \rightarrow 3s) 7.14 _ _ false
|
||||
1 1 A_g 1 3 B_{1g} (\mathrm{R};\pi \rightarrow 3p) 7.88 _ _ false
|
23
static/data/abs/formaldehyde_ADC(2.5)_aug-cc-pVTZ.dat
Normal file
@ -0,0 +1,23 @@
|
||||
# Molecule : Formaldehyde
|
||||
# Comment :
|
||||
# code : MRCC
|
||||
# method : ADC(2.5),aug-cc-pVTZ
|
||||
# geom : CC3,aug-cc-pVTZ
|
||||
# article : 10.1021/acs.jctc.8b00406
|
||||
|
||||
# Initial state Final state Transition Energies (eV) %T1 Oscilator forces unsafe
|
||||
####################### ####################### ######################################## ############# ####### ################### ##############
|
||||
# Number Spin Symm Number Spin Symm type E_abs %T1 f is unsafe
|
||||
1 1 A_1 1 1 A_2 (\mathrm{V}; n \rightarrow \pi^\star) 3.91 _ _ false
|
||||
1 1 A_1 1 1 B_2 (\mathrm{R};n \rightarrow 3s) 7.06 _ _ false
|
||||
1 1 A_1 2 1 B_2 (\mathrm{R};n \rightarrow 3p) 7.99 _ _ false
|
||||
1 1 A_1 2 1 A_1 (\mathrm{R};n \rightarrow 3p) 8.04 _ _ false
|
||||
1 1 A_1 2 1 A_2 (\mathrm{R};n \rightarrow 3p) 8.50 _ _ false
|
||||
1 1 A_1 1 1 B_1 (\mathrm{V};\sigma \rightarrow \pi^\star) 9.17 _ _ false
|
||||
1 1 A_1 3 1 A_1 (\mathrm{V};\pi \rightarrow \pi^\star) 9.26 _ _ false
|
||||
1 1 A_1 1 3 A_2 (\mathrm{V};n \rightarrow \pi^\star) 3.47 _ _ false
|
||||
1 1 A_1 1 3 A_1 (\mathrm{V};\pi \rightarrow \pi^\star) 5.96 _ _ false
|
||||
1 1 A_1 1 3 B_2 (\mathrm{R};n \rightarrow 3s) 6.92 _ _ false
|
||||
1 1 A_1 2 3 B_2 (\mathrm{R};n \rightarrow 3p) 7.82 _ _ false
|
||||
1 1 A_1 2 3 A_1 (\mathrm{R};n \rightarrow 3p) 7.93 _ _ false
|
||||
1 1 A_1 1 3 B_1 (\mathrm{R};n \rightarrow 3d) 8.36 _ _ false
|
16
static/data/abs/formamide_ADC(2.5)_aug-cc-pVTZ.dat
Normal file
@ -0,0 +1,16 @@
|
||||
# Molecule : Formamide
|
||||
# Comment :
|
||||
# code : MRCC
|
||||
# method : ADC(2.5),aug-cc-pVTZ
|
||||
# geom : CC3,aug-cc-pVTZ
|
||||
# article : 10.1021/acs.jctc.8b00406
|
||||
|
||||
# Initial state Final state Transition Energies (eV) %T1 Oscilator forces unsafe
|
||||
####################### ####################### ######################################## ############# ####### ################### ##############
|
||||
# Number Spin Symm Number Spin Symm type E_abs %T1 f is unsafe
|
||||
1 1 A^\prime 1 1 A^{\prime\prime} (\mathrm{V};n \rightarrow \pi^\star) 5.60 _ _ false
|
||||
1 1 A^\prime 2 1 A^\prime (\mathrm{R};n \rightarrow 3s) 6.73 _ _ true
|
||||
1 1 A^\prime 3 1 A^\prime (\mathrm{V};\pi \rightarrow \pi^\star) 7.59 _ _ true
|
||||
1 1 A^\prime 4 1 A^\prime (\mathrm{R};n \rightarrow 3p) 7.47 _ _ true
|
||||
1 1 A^\prime 1 3 A^{\prime\prime} (\mathrm{V};n \rightarrow \pi^\star) 5.29 _ _ false
|
||||
1 1 A^\prime 1 3 A^\prime (\mathrm{V};\pi \rightarrow \pi^\star) 5.75 _ _ false
|
11
static/data/abs/hydrogen_chloride_ADC(2.5)_aug-cc-pVTZ.dat
Normal file
@ -0,0 +1,11 @@
|
||||
# Molecule : Hydrogen chloride
|
||||
# Comment :
|
||||
# code : MRCC
|
||||
# method : ADC(2.5),aug-cc-pVTZ
|
||||
# geom : CC3,aug-cc-pVTZ
|
||||
# article : 10.1021/acs.jctc.8b00406
|
||||
|
||||
# Initial state Final state Transition Energies (eV) %T1 Oscilator forces unsafe
|
||||
####################### ####################### ######################################## ############# ####### ################### ##############
|
||||
# Number Spin Symm Number Spin Symm type E_abs %T1 f is unsafe
|
||||
1 1 \Sigma^+ 1 1 \Pi (\mathrm{CT}) 7.88 _ _ false
|
14
static/data/abs/hydrogen_sulfide_ADC(2.5)_aug-cc-pVTZ.dat
Normal file
@ -0,0 +1,14 @@
|
||||
# Molecule : Hydrogen sulfide
|
||||
# Comment :
|
||||
# code : MRCC
|
||||
# method : ADC(2.5),aug-cc-pVTZ
|
||||
# geom : CC3,aug-cc-pVTZ
|
||||
# article : 10.1021/acs.jctc.8b00406
|
||||
|
||||
# Initial state Final state Transition Energies (eV) %T1 Oscilator forces unsafe
|
||||
####################### ####################### ######################################## ############# ####### ################### ##############
|
||||
# Number Spin Symm Number Spin Symm type E_abs %T1 f is unsafe
|
||||
1 1 A_1 1 1 A_2 (\mathrm{R};n \rightarrow 4p) 6.21 _ _ false
|
||||
1 1 A_1 1 1 B_1 (\mathrm{R};n \rightarrow 4s) 6.26 _ _ false
|
||||
1 1 A_1 1 3 A_2 (\mathrm{R};n \rightarrow 4p) 5.79 _ _ false
|
||||
1 1 A_1 1 3 B_1 (\mathrm{R};n \rightarrow 4s) 5.88 _ _ false
|
17
static/data/abs/ketene_ADC(2.5)_aug-cc-pVTZ.dat
Normal file
@ -0,0 +1,17 @@
|
||||
# Molecule : Ketene
|
||||
# Comment :
|
||||
# code : MRCC
|
||||
# method : ADC(2.5),aug-cc-pVTZ
|
||||
# geom : CC3,aug-cc-pVTZ
|
||||
# article : 10.1021/acs.jctc.8b00406
|
||||
|
||||
# Initial state Final state Transition Energies (eV) %T1 Oscilator forces unsafe
|
||||
####################### ####################### ######################################## ############# ####### ################### ##############
|
||||
# Number Spin Symm Number Spin Symm type E_abs %T1 f is unsafe
|
||||
1 1 A_1 1 1 A_2 (\mathrm{V};\pi \rightarrow \pi^\star) 3.89 _ _ false
|
||||
1 1 A_1 1 1 B_1 (\mathrm{R};n \rightarrow 3s) 5.95 _ _ false
|
||||
1 1 A_1 2 1 A_2 (\mathrm{R};\pi \rightarrow 3p) 7.12 _ _ false
|
||||
1 1 A_1 1 3 A_2 (\mathrm{V};n \rightarrow \pi^\star) 3.74 _ _ false
|
||||
1 1 A_1 1 3 A_1 (\mathrm{V};\pi \rightarrow \pi^\star) 5.53 _ _ false
|
||||
1 1 A_1 1 3 B_1 (\mathrm{R};n \rightarrow 3s) 5.76 _ _ false
|
||||
1 1 A_1 2 3 A_2 (\mathrm{R};\pi \rightarrow 3p) 7.09 _ _ false
|
12
static/data/abs/methanimine_ADC(2.5)_aug-cc-pVTZ.dat
Normal file
@ -0,0 +1,12 @@
|
||||
# Molecule : Methanimine
|
||||
# Comment :
|
||||
# code : MRCC
|
||||
# method : ADC(2.5),aug-cc-pVTZ
|
||||
# geom : CC3,aug-cc-pVTZ
|
||||
# article : 10.1021/acs.jctc.8b00406
|
||||
|
||||
# Initial state Final state Transition Energies (eV) %T1 Oscilator forces unsafe
|
||||
####################### ####################### ######################################## ############# ####### ################### ##############
|
||||
# Number Spin Symm Number Spin Symm type E_abs %T1 f is unsafe
|
||||
1 1 A^\prime 1 1 A^{\prime\prime} (\mathrm{V}; n \rightarrow \pi^\star) 5.17 _ _ false
|
||||
1 1 A^\prime 1 3 A^{\prime\prime} (\mathrm{V}; n \rightarrow \pi^\star) 4.53 _ _ false
|
@ -9,6 +9,6 @@
|
||||
####################### ####################### ######################################## ############# ####### ################### ##############
|
||||
# Number Spin Symm Number Spin Symm type E_abs %T1 f is unsafe
|
||||
1 1 A^\prime 1 1 A^{\prime\prime} (\mathrm{V};n \rightarrow \pi^\star) 1.88 _ _ false
|
||||
1 1 A^\prime 2 1 A^\prime (\mathrm{R};n \rightarrow 3s/3p) 5.86 _ _ false
|
||||
1 1 A^\prime 3 1 A^\prime (\mathrm{R};n \rightarrow 3s/3p) 5.86 _ _ false
|
||||
1 1 A^\prime 1 3 A^{\prime\prime} (\mathrm{V};n \rightarrow \pi^\star) 1.03 _ _ false
|
||||
1 1 A^\prime 1 3 A^\prime (\mathrm{V};\pi \rightarrow \pi^\star) 5.75 _ _ false
|
||||
|
14
static/data/abs/nitrosomethane_ADC(2.5)_aug-cc-pVTZ.dat
Normal file
@ -0,0 +1,14 @@
|
||||
# Molecule : Nitrosomethane
|
||||
# Comment :
|
||||
# code : MRCC
|
||||
# method : ADC(2.5),aug-cc-pVTZ
|
||||
# geom : CC3,aug-cc-pVTZ
|
||||
# article : 10.1021/acs.jctc.8b00406
|
||||
|
||||
# Initial state Final state Transition Energies (eV) %T1 Oscilator forces unsafe
|
||||
####################### ####################### ######################################## ############# ####### ################### ##############
|
||||
# Number Spin Symm Number Spin Symm type E_abs %T1 f is unsafe
|
||||
1 1 A^\prime 1 1 A^{\prime\prime} (\mathrm{V};n \rightarrow \pi^\star) 1.80 _ _ false
|
||||
1 1 A^\prime 3 1 A^\prime (\mathrm{R};n \rightarrow 3s/3p) 6.17 _ _ false
|
||||
1 1 A^\prime 1 3 A^{\prime\prime} (\mathrm{V};n \rightarrow \pi^\star) 0.94 _ _ false
|
||||
1 1 A^\prime 1 3 A^\prime (\mathrm{V};\pi \rightarrow \pi^\star) 5.39 _ _ false
|
12
static/data/abs/streptocyanine-c1_ADC(2.5)_aug-cc-pVTZ.dat
Normal file
@ -0,0 +1,12 @@
|
||||
# Molecule : Streptocyanine-C1
|
||||
# Comment :
|
||||
# code : MRCC
|
||||
# method : ADC(2.5),aug-cc-pVTZ
|
||||
# geom : CC3,aug-cc-pVTZ
|
||||
# article : 10.1021/acs.jctc.8b00406
|
||||
|
||||
# Initial state Final state Transition Energies (eV) %T1 Oscilator forces unsafe
|
||||
####################### ####################### ######################################## ############# ####### ################### ##############
|
||||
# Number Spin Symm Number Spin Symm type E_abs %T1 f is unsafe
|
||||
1 1 A_1 1 1 B_2 (\mathrm{V};\pi \rightarrow \pi^\star) 7.08 _ _ false
|
||||
1 1 A_1 1 3 B_2 (\mathrm{V};\pi \rightarrow \pi^\star) 5.44 _ _ false
|
16
static/data/abs/thioformaldehyde_ADC(2.5)_aug-cc-pVTZ.dat
Normal file
@ -0,0 +1,16 @@
|
||||
# Molecule : Thioformaldehyde
|
||||
# Comment :
|
||||
# code : MRCC
|
||||
# method : ADC(2.5),aug-cc-pVTZ
|
||||
# geom : CC3,aug-cc-pVTZ
|
||||
# article : 10.1021/acs.jctc.8b00406
|
||||
|
||||
# Initial state Final state Transition Energies (eV) %T1 Oscilator forces unsafe
|
||||
####################### ####################### ######################################## ############# ####### ################### ##############
|
||||
# Number Spin Symm Number Spin Symm type E_abs %T1 f is unsafe
|
||||
1 1 A_1 1 1 A_2 (\mathrm{V};n \rightarrow \pi^\star) 2.15 _ _ false
|
||||
1 1 A_1 1 1 B_2 (\mathrm{R};n \rightarrow 4s) 5.87 _ _ false
|
||||
1 1 A_1 2 1 A_1 (\mathrm{V};\pi \rightarrow \pi^\star) 6.28 _ _ false
|
||||
1 1 A_1 1 3 A_2 (\mathrm{V};n \rightarrow \pi^\star) 1.81 _ _ false
|
||||
1 1 A_1 1 3 A_1 (\mathrm{V};\pi \rightarrow \pi^\star) 3.26 _ _ false
|
||||
1 1 A_1 1 3 B_2 (\mathrm{R};n \rightarrow 4s) 5.67 _ _ false
|
16
static/data/abs/water_ADC(2.5)_aug-cc-pVTZ.dat
Normal file
@ -0,0 +1,16 @@
|
||||
# Molecule : Water
|
||||
# Comment :
|
||||
# code :
|
||||
# method : ADC(2.5),aug-cc-pVTZ
|
||||
# geom : CC3,aug-cc-pVTZ
|
||||
# article : 10.1021/acs.jctc.8b00406
|
||||
|
||||
# Initial state Final state Transition Energies (eV) %T1 Oscilator forces unsafe
|
||||
####################### ####################### ######################################## ############# ####### ################### ##############
|
||||
# Number Spin Symm Number Spin Symm type E_abs %T1 f is unsafe
|
||||
1 1 A_1 1 1 B_1 (\mathrm{R}; n \rightarrow 3s) 7.51 _ _ false
|
||||
1 1 A_1 1 1 A_2 (\mathrm{R}; n \rightarrow 3p) 9.23 _ _ false
|
||||
1 1 A_1 2 1 A_1 (\mathrm{R}; n \rightarrow 3s) 9.87 _ _ false
|
||||
1 1 A_1 1 3 B_1 (\mathrm{R}; n \rightarrow 3s) 7.13 _ _ false
|
||||
1 1 A_1 1 3 A_2 (\mathrm{R}; n \rightarrow 3p) 9.07 _ _ false
|
||||
1 1 A_1 1 3 A_1 (\mathrm{R}; n \rightarrow 3s) 9.43 _ _ false
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 30 KiB |
BIN
static/img/CEISAM.png
Normal file
After Width: | Height: | Size: 18 KiB |
0
static/img/CNRS.png
Executable file → Normal file
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 121 KiB |
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 8.3 KiB |
BIN
static/img/LCPQ.png
Normal file
After Width: | Height: | Size: 110 KiB |
BIN
static/img/Pisa.gif
Normal file
After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 1.6 MiB After Width: | Height: | Size: 1.8 MiB |
BIN
static/img/TOC_JPCL.png
Normal file
After Width: | Height: | Size: 186 KiB |
BIN
static/img/UPS.png
Normal file
After Width: | Height: | Size: 2.0 MiB |
BIN
static/img/UnivNantes.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 231 KiB |
@ -237,8 +237,7 @@ class dataFileBase {
|
||||
var vals = line.match(/\([^\)]+\)|\S+/g)
|
||||
var start = new state(parseInt(vals[0], 10), parseInt(vals[1], 10), vals[2]);
|
||||
var end = new state(parseInt(vals[3], 10), parseInt(vals[4], 10), vals[5]);
|
||||
var hasType = vals.length >= 7 && isNaN(vals[6])
|
||||
var type = ((vals.length >= 7 && hasType) ? vals[6] : null)
|
||||
var type = ((vals.length >= 7) ? vals[6] : null)
|
||||
if (type === "_") {
|
||||
type = null
|
||||
}
|
||||
@ -248,10 +247,10 @@ class dataFileBase {
|
||||
type = m[1]
|
||||
}
|
||||
}
|
||||
var val = ((vals.length >= 7 + hasType) ? new stringNumber(vals[6 + hasType]) : NaN)
|
||||
var T1 = ((vals.length >= 8 + hasType) ? new stringNumber(vals[7 + hasType]) : NaN)
|
||||
var oscilatorForces = ((vals.length >= 9 + hasType) ? new stringNumber(vals[8 + hasType]) : NaN)
|
||||
var isUnsafe = ((vals.length >= 10 + hasType) ? vals[9 + hasType] === true.toString() : false)
|
||||
var val = ((vals.length >= 8) ? new stringNumber(vals[7]) : NaN)
|
||||
var T1 = ((vals.length >= 9) ? new stringNumber(vals[8]) : NaN)
|
||||
var oscilatorForces = ((vals.length >= 10) ? new stringNumber(vals[9]) : NaN)
|
||||
var isUnsafe = ((vals.length >= 11) ? vals[10] === true.toString() : false)
|
||||
var ex = new excitationValue(start, end, type, val, oscilatorForces, T1, isUnsafe);
|
||||
if (this.VertExcitationKind) {
|
||||
ex.VertExcitationKind = this.VertExcitationKind
|
||||
|
105
tools/ADC25generator.py
Executable file
@ -0,0 +1,105 @@
|
||||
#!/usr/bin/env python3
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import copy
|
||||
from statistics import mean
|
||||
from math import nan,isnan
|
||||
from pathlib import Path
|
||||
from collections import defaultdict,OrderedDict
|
||||
from lib.data import dataFileBase,DataType,method,state,excitationValue
|
||||
import argparse
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('--debug', action='store_true', help='Debug mode')
|
||||
parser.add_argument("--sets",nargs="*")
|
||||
parser.add_argument("--articles",nargs="*")
|
||||
args=parser.parse_args()
|
||||
scriptpath=Path(sys.argv[0]).resolve()
|
||||
datadir=scriptpath.parents[1]/"static"/"data"
|
||||
articles=None
|
||||
if args.articles is not None or args.sets is not None:
|
||||
articles=set()
|
||||
if args.articles is not None:
|
||||
for article in args.articles:
|
||||
articles.add(article)
|
||||
if args.sets is not None:
|
||||
import yaml
|
||||
pubindex=datadir/"publis"/"index.yaml"
|
||||
with pubindex.open("r") as pubindexstream:
|
||||
pubindexdata = yaml.load(pubindexstream,Loader=yaml.loader.FullLoader)
|
||||
pubsetsdata=pubindexdata["sets"]
|
||||
for myset in args.sets:
|
||||
if myset in pubsetsdata:
|
||||
artset=pubsetsdata[myset]
|
||||
for article in artset:
|
||||
articles.add(article)
|
||||
outputdir=datadir/"test" if args.debug else datadir
|
||||
ADC23re=re.compile(r"ADC\(([23])\)")
|
||||
def getValue(ADC2,ADC3,parametername):
|
||||
vals = [getattr(x,parametername) for x in [ADC2,ADC3]]
|
||||
isObject=hasattr(vals[0], '__dict__')
|
||||
if isObject:
|
||||
if vars(vals[0]) == vars(vals[1]):
|
||||
return copy.deepcopy(vals[0])
|
||||
else:
|
||||
if vals[0] == vals[1]:
|
||||
return vals[0]
|
||||
d=OrderedDict()
|
||||
for i in range(2):
|
||||
key=f"ADC({i+2})"
|
||||
if isObject:
|
||||
d[key]=copy.deepcopy(vals[i])
|
||||
else:
|
||||
d[key]=vals[i]
|
||||
index=-1
|
||||
while len(vals)<index or index<0:
|
||||
if index==0:
|
||||
raise ValueError()
|
||||
print("The Two values are different")
|
||||
i=0
|
||||
for k in d:
|
||||
i+=1
|
||||
print(f"{i}){k} value: {vars(d[k]) if isObject else d[k]}")
|
||||
index=int(input("Select value from the menu:"))
|
||||
return vals[index-1]
|
||||
|
||||
for t in DataType:
|
||||
dFiles=dict()
|
||||
for i in range(2,4):
|
||||
dFiles[i]=defaultdict(dict)
|
||||
currdir=datadir/t.name.lower()
|
||||
for file in currdir.glob("*.dat"):
|
||||
with file.open('r') as f: # open in readonly mode
|
||||
dFile = dataFileBase.readFile(f,DataType.ABS)
|
||||
m=ADC23re.match(dFile.method.name)
|
||||
if m and (articles == None or dFile.article in articles):
|
||||
dFiles[int(m.group(1))][dFile.molecule][dFile.method.basis]=dFile
|
||||
for molecule in dFiles[2]:
|
||||
for basis in dFiles[2][molecule]:
|
||||
if basis in dFiles[3][molecule]:
|
||||
try:
|
||||
ADC2File,ADC3File=[dFiles[i][molecule][basis] for i in range(2,4)]
|
||||
ADC25File=ADC2File.__class__()
|
||||
adc2Dic=vars(ADC2File)
|
||||
adc3Dic=vars(ADC3File)
|
||||
for k in adc2Dic:
|
||||
if k not in ["excitations","method"]:
|
||||
val=getValue(ADC2File,ADC3File,k)
|
||||
setattr(ADC25File,k,val)
|
||||
ADC25File.method=method("ADC(2.5)",ADC2File.method.basis)
|
||||
for exADC2 in ADC2File.excitations:
|
||||
exADC3s=[x for x in ADC3File.excitations if vars(x.initial) == vars(exADC2.initial) and vars(x.final) == vars(exADC2.final)]
|
||||
if len(exADC3s)>0:
|
||||
exADC3=exADC3s[0]
|
||||
value=mean([(float(x.value)) for x in [exADC2,exADC3]])
|
||||
value= "_" if isnan(value) else "{0:.2f}".format(value)
|
||||
T1 = "_"
|
||||
f = "_"
|
||||
isUnsafe = exADC2.isUnsafe or exADC3.isUnsafe
|
||||
Type=getValue(exADC2,exADC3,"type")
|
||||
exADC25=excitationValue(copy.deepcopy(exADC2.initial),copy.deepcopy(exADC2.final),value,Type,T1,isUnsafe,f)
|
||||
ADC25File.excitations.append(exADC25)
|
||||
ADC25File.toFile(outputdir)
|
||||
|
||||
except ValueError as ex:
|
||||
pass
|
@ -69,7 +69,6 @@ class dataFileBase(object):
|
||||
for TexState in StateTablelist:
|
||||
st=str(extractMath(TexState,Soup=True,commands=commands))
|
||||
m=re.match(r"^\^(?P<multiplicity>\d)(?P<symm>[^\s\[(]*)\s*(?:\[(?:\\mathrm{)?(?P<special>\w)(?:})\])?\s*(:?\((?P<type>[^\)]*)\))?",st)
|
||||
seq=m.group("multiplicity","symm")
|
||||
mul=int(m.group("multiplicity"))
|
||||
symm=m.group("symm")
|
||||
spgrp=m.group("special")
|
||||
@ -87,6 +86,18 @@ class dataFileBase(object):
|
||||
count=countlst.count(countitem)
|
||||
lst.append((state(count,item[0],item[1]),item[2],item[3]))
|
||||
return lst
|
||||
def _OnReadMetaPair(self, key, value):
|
||||
if key == "molecule":
|
||||
self.molecule = value
|
||||
elif key == "comment":
|
||||
self.comment = value
|
||||
elif key == "code":
|
||||
self.code = code.fromString(value)
|
||||
elif key == "method":
|
||||
self.method = method.fromString(value)
|
||||
elif key == "article":
|
||||
self.article = value
|
||||
|
||||
@staticmethod
|
||||
def readFromTable(table,TexOps, commands=[]):
|
||||
for formatName,Cls in getFormatHandlers():
|
||||
@ -105,6 +116,59 @@ class dataFileBase(object):
|
||||
dic["article"]="" if self.article is None else self.article
|
||||
return dic
|
||||
|
||||
def _OnReadMeta(self,line,dataType):
|
||||
#get key value
|
||||
match = dataFileBase._GetMetaRexEx().match(line)
|
||||
# normalize key to lower
|
||||
key = match.group(1).lower()
|
||||
# if data has value
|
||||
if match.group(2):
|
||||
val = match.group(2)
|
||||
self._OnReadMetaPair(key, val)
|
||||
@staticmethod
|
||||
def _OnReadRow(line):
|
||||
vals = re.findall(r"\([^\)]+\)|\S+",line)
|
||||
start = state(int(vals[0]), int(vals[1]), vals[2])
|
||||
end = state(int(vals[3]), int(vals[4]), vals[5])
|
||||
Type = vals[6] if (len(vals) >= 7) else None
|
||||
if Type == "_":
|
||||
Type = None
|
||||
if Type:
|
||||
m = re.match(r"^\(([^\)]*)\)$",Type)
|
||||
if m:
|
||||
Type = m[1]
|
||||
val = vals[7] if len(vals) >= 8 else str(np.NaN)
|
||||
T1 = vals[8] if len(vals) >= 9 else str(np.NaN)
|
||||
oscilatorForces = vals[9] if len(vals) >= 10 else str(np.NaN)
|
||||
isUnsafe = vals[10] == json.dumps(True) if len(vals) >= 11 else False
|
||||
ex = excitationValue(start, end, val, Type,T1,isUnsafe,oscilatorForces)
|
||||
return ex
|
||||
|
||||
@staticmethod
|
||||
def _GetMetaRexEx():
|
||||
#metadata RegExp (start with #; maybe somme spaces; : ; maybe somme space; datas)
|
||||
return re.compile(r"^#\s*([A-Za-z_]+)\s*:\s*(.*)$")
|
||||
|
||||
@staticmethod
|
||||
def readFile(stream,dataType):
|
||||
lines = stream.readlines()
|
||||
# for each line with metadata
|
||||
ismetaArea = True
|
||||
dat = datafileSelector(dataType)()
|
||||
for line in lines:
|
||||
#if it's not empty line
|
||||
line = line.strip()
|
||||
if line:
|
||||
# if # may be metadata or comment
|
||||
if line[0] == "#":
|
||||
# if it's metadata
|
||||
if ismetaArea and dataFileBase._GetMetaRexEx().match(line):
|
||||
dat._OnReadMeta(line,dataType)
|
||||
else: # else its row
|
||||
ismetaArea = False
|
||||
dat.excitations.append(dat._OnReadRow(line))
|
||||
return dat
|
||||
|
||||
def toFile(self,datadir,suffix=None):
|
||||
subpath=datadir/self.GetFileType().name.lower()
|
||||
if not subpath.exists():
|
||||
@ -170,6 +234,11 @@ class code:
|
||||
self.name = name
|
||||
self.version = version
|
||||
|
||||
@staticmethod
|
||||
def fromString(string):
|
||||
vals = string.split(",")
|
||||
return method(*vals)
|
||||
|
||||
def toDataString(self):
|
||||
string=self.name
|
||||
if (self.version):
|
||||
@ -180,6 +249,12 @@ class oneStateDataFileBase(dataFileBase):
|
||||
def __init__(self):
|
||||
super(oneStateDataFileBase,self).__init__()
|
||||
self.geometry = None
|
||||
|
||||
def _OnReadMetaPair(self, key, value):
|
||||
if key == "geom":
|
||||
self.geometry = method.fromString(value)
|
||||
else:
|
||||
super(oneStateDataFileBase,self)._OnReadMetaPair(key, value)
|
||||
|
||||
def getMetadata(self):
|
||||
dic=super(oneStateDataFileBase,self).getMetadata()
|
||||
|