92 lines
2.6 KiB
JavaScript
92 lines
2.6 KiB
JavaScript
|
var V0;
|
||
|
var R0;
|
||
|
var a0;
|
||
|
var VSO;
|
||
|
var RSO;
|
||
|
var aSO;
|
||
|
var Z;
|
||
|
var Rc;
|
||
|
var nStep;
|
||
|
var dr;
|
||
|
|
||
|
class State{
|
||
|
constructor(energy, jpi){
|
||
|
this.energy = energy;
|
||
|
this.jpi = jpi;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
var states = [];
|
||
|
|
||
|
function WSCal(){
|
||
|
|
||
|
V0 = parseFloat(document.getElementById('V0').value);
|
||
|
R0 = parseFloat(document.getElementById('R0').value);
|
||
|
a0 = parseFloat(document.getElementById('a0').value);
|
||
|
VSO = parseFloat(document.getElementById('VSO').value);
|
||
|
RSO = parseFloat(document.getElementById('RSO').value);
|
||
|
aSO = parseFloat(document.getElementById('aSO').value);
|
||
|
Z = parseInt(document.getElementById('Z').value);
|
||
|
Rc = parseFloat(document.getElementById('Rc').value);
|
||
|
nStep = parseInt(document.getElementById('nStep').value);
|
||
|
dr = parseFloat(document.getElementById('dr').value);
|
||
|
|
||
|
let str = 'WoodsSaxon.py?V0=' + V0 +
|
||
|
'&R0=' + R0 +
|
||
|
'&a0=' + a0 +
|
||
|
'&VSO=' + VSO +
|
||
|
'&RSO=' + RSO +
|
||
|
'&aSO=' + aSO +
|
||
|
'&Z=' + Z +
|
||
|
'&Rc=' + Rc +
|
||
|
'&nStep=' + nStep +
|
||
|
'&dr=' + dr ;
|
||
|
|
||
|
console.log(str);
|
||
|
states = [];
|
||
|
let client = new XMLHttpRequest();
|
||
|
client.onreadystatechange = function() {
|
||
|
let haha = client.responseText.split('\n').slice(11);
|
||
|
|
||
|
haha.forEach(line =>{
|
||
|
console.log(line);
|
||
|
if( !line.includes("=====") && line.length != 0) {
|
||
|
let jpi = line.substring(4, 12);
|
||
|
let energy = parseFloat(line.substring(13,25));
|
||
|
states.push(new State(energy, jpi));
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
client.open('GET', str, false);
|
||
|
client.send();
|
||
|
|
||
|
states.forEach(st =>{
|
||
|
console.log( st.jpi + ", " + st.energy);
|
||
|
})
|
||
|
|
||
|
Plotly.purge("Plot_WS");
|
||
|
|
||
|
let nEx = states.length;
|
||
|
let data = [];
|
||
|
|
||
|
for( let i = 0; i < nEx; i++){
|
||
|
let newData = {
|
||
|
x : [0,1],
|
||
|
y : [states[i].energy, states[i].energy],
|
||
|
mode:"lines",
|
||
|
name: states[i].jpi,
|
||
|
type:"scatter"
|
||
|
}
|
||
|
data.push(newData);
|
||
|
}
|
||
|
|
||
|
let layout = {
|
||
|
xaxis: {range: [-1, 2], title: { text : "Ex", standoff : 1}, mirror : "allticks", linewidth : "1"},
|
||
|
yaxis: {range: [V0, 0], title: "Energy [MeV]" , mirror : "allticks", linewidth : "1"},
|
||
|
//dragmode : "pan",
|
||
|
margin: { l: 40, r: 40, b : 60, t : 40},
|
||
|
legend: {yanchor:"top", xanchor:"left", x:"0.01",y:"0.99" }
|
||
|
};
|
||
|
|
||
|
Plotly.newPlot( "Plot_WS", data, layout, {responsive: true});
|
||
|
}
|