Bohr Model

by Salman_S

HTML

<html>

<head>
<script type="text/javascript" src="https://www.reality-theory.net/random.js"></script>
<script type="text/javascript" src="https://www.reality-theory.net/jscharts.js"></script>
</head>

<body>

  <div name="log">
    <b>Executing the code will leave the page unresponsive for a few minutes.</b>

    Time to compute = 6 to 8 minutes on a 2.5GHz CPU

    <table id="results">
      <tr>
        <th>Distance</th>
        <th>Charge^2</th>
        <th>Energy(p)</th>
        <th>Energy(p1)</th>
        <th>Expectation(p)</th>
        <th>Expectation(p1)</th>
        <th>Average Expectation</th>
      </tr>
    </table>

  </div> 

</body>

</html>

CSS

body {
  color: white;
  background-color: black;
}
table, th, td {
  border: 1px solid white;
  border-collapse: collapse;
}
th, td {
  padding: 15px;
}

JavaScript

var newElement = document.createElement('p');
var L = 1000000;
var w=10;
var f1  =0;
var f = 0;
var q = 0;
var en = 0;
var en1 = 0;
var edx = 0;
var edx1 = 0;
var kj = 1000000; // increase for accuracy
var m = 0;
var km = 5000000;

var d0 = 1822.9;
var d1 = 1822.9;
var intr = 0.5;

var rand = new Random();

function calculate(dist, st0, st1, i, S, Sy) {
// throw random lines
    var p = d0 * rand.random();
    var li =  (dist + d0) * rand.random();
    var p1 =  d1 * rand.random();
    var li1 = (dist + d1) * rand.random();
    //  p=Math.floor(p)
    //  li=Math.floor(li)
    //  p1=Math.floor(p1)
    //  li1=Math.floor(li1)

    // put random lines through conditions

    if (st1 + p1 + li1 > st0 + p - li)
    {
      // do nothing

      f1++;
    }
    else
    {
      Sy[Math.floor(w*p1)]=Sy[Math.floor(w*p1)]+1;
      S[Math.floor(w*p)]=S[Math.floor(w*p)]+1;
      en = en + (li);
      en1 = en1 + li1;
      f++;
    }
}

function main() {

  // create an array 's' and 'l' and initialize all elements to 0
  var fr = [];
  for (var i = 0; i <= km;i++)
  {
    fr.push([0,0]);
  }
  var mp = 249801.3-1822.9
  for ( var m=1; m <10; m++)
  {
    var S = [];
    var Sy = [];

    for (var i = 0; i <= w*d0;i++)
    {
      S.push(0);
      Sy.push(0);
    }

    var dist = 2*mp*intr + d0;
    var st1 =(L/2)  - mp*intr;
    var st0 =(L/2) + d0 + mp*intr ;	

    f = 0;	f1 = 0;	edx = 0;	edx1 = 0;	en = 0.0;  en1=0;  ent=0;

    for ( var i = 1; i < kj; i++)
    {
      setTimeout(calculate(dist, st0, st1, i, S, Sy), 1000)
    }

    en = f/en;
    en1 = f/en1;

    //document.lf.log.value += m+" "+dist+" "+en+"\n";

    for ( var ind = 0; ind<=Math.floor(w*d0); ind++)
    {
      // CALCULATE EXPECTATION VALUE AFTER INTERACTION HAS TAKEN PLACE
      edx = edx + (ind) * S[ind];
      edx1 = edx1 + (ind) * Sy[ind];

    }
    //	fr[m][0] = dist;
    //	fr[m][1] = en;	

    edx1 = (edx1 / f)- (0.5 * w*d1)+0.5 ;

    edx = (edx / f)- (0.5 * w*d1)+0.5;

    var table =...