mirror of
https://github.com/LCPQ/QUESTDB_website.git
synced 2024-11-04 13:13:55 +01:00
154 lines
5.3 KiB
HTML
154 lines
5.3 KiB
HTML
---
|
|
title: "Welcome"
|
|
date: 2019-08-29 09:00
|
|
draft: false
|
|
---
|
|
<script src="/scripts/data.js" type="text/javascript"></script>
|
|
<script src="/scripts/getFullDataPath.js" type="text/javascript"></script>
|
|
<script src="/scripts/getTextFromFile.js" type="text/javascript"></script>
|
|
<script src="https://cdn.rawgit.com/larsgw/citation.js/archive/citation.js/citation-0.4.0-9.js" type="text/javascript"></script>
|
|
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
|
|
<script type="text/javascript" id="MathJax-script" async
|
|
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js">
|
|
</script>
|
|
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
|
|
{{< getDataFilesName >}}
|
|
<script>
|
|
window.onload=function()
|
|
{
|
|
fsel=document.getElementById("fileSelect")
|
|
getDataFilesName().forEach(function(element) {
|
|
op=document.createElement("option");
|
|
op.value=element;
|
|
op.innerText=element.split('.')[0];
|
|
fsel.appendChild(op);
|
|
});
|
|
}
|
|
async function update_file(file) {
|
|
var lnk_file=document.getElementById('lnk_file');
|
|
lnk_file.setAttribute('href',String.raw`view?dataFile=${file}`);
|
|
dat= await data.loadAsync(file);
|
|
await applyData(dat);
|
|
}
|
|
async function applyData(dat) {
|
|
const Cite = require('citation-js');
|
|
// Start an async task to get publi data
|
|
let publiPromise = Cite.async(dat.doi.string)
|
|
const LatexInline=['\\(','\\)']
|
|
var par=document.getElementById("data_par")
|
|
par.innerHTML='';
|
|
var md=[];
|
|
var els=[];
|
|
md.push(["Molecule",dat.molecule]);
|
|
md.push(["Comment",dat.comment])
|
|
var dict = {
|
|
"Ground state": dat.GS,
|
|
"Excited states": dat.ES,
|
|
};
|
|
for (var key in dict){
|
|
md.push(key)
|
|
md.push(["Code",dict[key].code])
|
|
md.push(["Method",dict[key].method])
|
|
md.push(["Geometry",dict[key].geometry])
|
|
}
|
|
md.push("ZPE")
|
|
md.push(["Code",dat.ZPE.code])
|
|
md.push(["Method",dat.ZPE.method])
|
|
md.push(["DOI",dat.doi]);
|
|
div=document.getElementById("meta_div")
|
|
div.innerHTML=""
|
|
md.forEach(function(element){
|
|
var node =null;
|
|
if(typeof element==="string"){
|
|
node= document.createElement("h2");
|
|
node.innerText=element;
|
|
} else {
|
|
node = document.createElement("div");
|
|
node.innerText= element[0]+': '+element[1];
|
|
}
|
|
div.appendChild(node);
|
|
});
|
|
var tb=document.getElementById("ex_table_b");
|
|
tb.innerHTML=''
|
|
dat.excitations.forEach(el=> {
|
|
var row=document.createElement("tr")
|
|
var rowd=[]
|
|
rowd.push(String.raw`${LatexInline[0]} ${el.start.toLaTeX()} \rightarrow ${el.end.toLaTeX()}${LatexInline[1]}`)
|
|
var e=[el.Eabs,el.Efluo,el.EZPE,el.Eadia,el.Ezz]
|
|
e.forEach((val)=>rowd.push(val.toFixed(2)))
|
|
rowd.forEach((d)=>{
|
|
td=document.createElement("td")
|
|
td.innerText=d
|
|
row.appendChild(td)
|
|
})
|
|
tb.appendChild(row)
|
|
});
|
|
await MathJax.typesetPromise();
|
|
document.getElementById("ex_div").hidden=false
|
|
var plotdat = [{
|
|
x: [],
|
|
y: [],
|
|
type: 'bar'
|
|
}];
|
|
var expdat= await data.loadAsync("/"+dat.molecule.toLowerCase()+"_exp.dat")
|
|
var i;
|
|
for (i = 0; i < dat.excitations.length; i++) {
|
|
var ext=dat.excitations[i];
|
|
var exexp=expdat.excitations[i]
|
|
plotdat[0].x.push(ext.end.toString())
|
|
plotdat[0].y.push(ext.Eabs-exexp.Eabs)
|
|
}
|
|
await MathJax.typesetPromise();
|
|
var layout={title: "Absorption theory deviation"}
|
|
Plotly.newPlot('abs_plot', plotdat,layout);
|
|
document.getElementById("graph_div").hidden=false
|
|
var lnkdoi = document.createElement("a");
|
|
// Wait for the value of publi when required
|
|
let publi=await publiPromise;
|
|
let output = publi.format('bibliography', {
|
|
format: 'html',
|
|
template: 'apa',
|
|
lang: 'en-US'
|
|
})
|
|
lnkdoi.innerHTML=output
|
|
lnkdoi.setAttribute('target','_blank');
|
|
lnkdoi.setAttribute('href',dat.doi.url);
|
|
par.appendChild(lnkdoi);
|
|
}
|
|
</script>
|
|
<script>
|
|
function onValueChange(e) {
|
|
update_file(e.target.value);
|
|
}
|
|
</script>
|
|
|
|
<label>Select a data file name<br/>
|
|
<select id="fileSelect" onchange="onValueChange(event)">
|
|
<option value="" disabled=true selected=true>Select a file</option>
|
|
</select>
|
|
</label><br/>
|
|
<h1>Data</h1>
|
|
<p id=data_par>
|
|
<div id="meta_div"></div>
|
|
<div id="ex_div" hidden=true>
|
|
<h2>Excitation</h2>
|
|
<table id="ex_table">
|
|
<thead>
|
|
<th>Transition</th>
|
|
<th>\(E_\text{abs}\)</th>
|
|
<th>\(E_\text{fluo}\)</th>
|
|
<th>\(\Delta E_\text{ZPE}\)</th>
|
|
<th>\(E_\text{adia}\)</th>
|
|
<th>\(E_\text{00}\)</th>
|
|
</thead>
|
|
<tbody id="ex_table_b">
|
|
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div id="graph_div" hidden=true>
|
|
<div id="abs_plot">
|
|
</div>
|
|
</div>
|
|
</p>
|
|
<a target="_blank" id='lnk_file'>Go to file</a> |