Advertisement
Guest User

Untitled

a guest
Nov 25th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.74 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <title>Atmospheric Mass Loss Rate Calculator</title>
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <style>
  8. * {
  9. box-sizing: border-box;
  10. }
  11.  
  12. body {
  13. background-image: url("mass2.jpg");
  14. background-repeat: no-repeat;
  15. background-size: 100% 200%;
  16. margin: 60px;
  17. }
  18.  
  19. /* Style the header */
  20. .header {
  21. background-color: navy;
  22. padding: 1px;
  23. text-align: center;
  24. color: white;
  25. }
  26.  
  27. /* Style the top navigation bar */
  28. .topnav {
  29. overflow: hidden;
  30. background-color: #333;
  31. }
  32.  
  33. /* Style the topnav links */
  34. .topnav a {
  35. float: left;
  36. display: block;
  37. color: #f2f2f2;
  38. text-align: center;
  39. padding: 14px 16px;
  40. text-decoration: none;
  41. }
  42.  
  43. /* Change color on hover */
  44. .topnav a:hover {
  45. background-color: #ddd;
  46. color: black;
  47. }
  48.  
  49. /* Create three equal columns that floats next to each other */
  50. .Maeve {
  51. float: left;
  52. background-color: lightgrey;
  53. width: 47.5%;
  54. border: 5px solid yellow;
  55. padding: 25px;
  56. margin: 15px;
  57. opacity: .7;
  58.  
  59. }
  60. /* Javascript */
  61. .Maeve2 {
  62. opacity: .8;
  63. float: left;
  64. text-align:center;
  65. background-color: navy;
  66. width: 97.5%;
  67. border: 5px solid yellow;
  68. padding: 0px;
  69. margin: 15px;
  70. color: white;
  71. }
  72.  
  73. .footer {
  74. opacity: .5;
  75. top: 750px;
  76. position: absolute ;
  77. width: 91%;
  78. background-color: black;
  79. padding: 0.5px;
  80. text-align: center;
  81. color: white;
  82.  
  83. }
  84.  
  85.  
  86. /* Clear floats after the columns */
  87. .row:after {
  88. content: "";
  89. display: table;
  90. clear: both;
  91. }
  92.  
  93. /* Responsive layout - makes the three columns stack on top of each other instead of next to each other This is for mobile phone users*/
  94. @media (max-width:600px) {
  95. .column {
  96. width: 100%;
  97. }
  98. }
  99. </style>
  100. <script>
  101. //Inputs from user
  102. var inMstar,inPorb,inVrot,inRstar,inMp,inRp;
  103. //Units
  104. var Rsolar=69570000000; //cm
  105. var Msolar=1.989e33; //g
  106. var Porbday=86400; //day-->second
  107. var Rjup = 6.99e9; //cm
  108. var Mjup = 1.898e30; //g
  109. //Constants
  110. var pi = 3.14159;
  111. var G = 0.0000000667;
  112. var omegasun = (2*pi)/(27.4*3600*24);
  113. var n = 0.15;//heating efficiency of atmosphere
  114. var outputText;
  115.  
  116. function validate() {
  117.  
  118. // get the input
  119. inMstar = document.forms["input_form"]["inMstarterm"].value;
  120. inPorb = document.forms["input_form"]["inPorbterm"].value;
  121. inVrot = document.forms["input_form"]["inVrotterm"].value;
  122. inRstar = document.forms["input_form"]["inRstarterm"].value;
  123. inMp = document.forms["input_form"]["inMpterm"].value;
  124. inRp = document.forms["input_form"]["inRpterm"].value;
  125. // validate a, b and c
  126. if (inMstar == 0) {
  127. outputText = "<em>inMstar</em> cannot equal zero!";
  128. } else if (isNaN(inMstar)) {
  129. outputText = "<em>inMstar</em> must be a number!";
  130. } else if (isNaN()) {
  131. outputText = "<em>inPorb</em> must be a number!";}
  132. else if (isNaN()) {
  133. outputText = "<em>inVrot</em> must be a number!";}
  134. else if (isNaN()) {
  135. outputText = "<em>inRstar</em> must be a number!";}
  136. else if (isNaN()) {
  137. outputText = "<em>inRp</em> must be a number!";}
  138. else if (isNaN()) {
  139. outputText = "<em>inMp</em> must be a number!";}
  140. {
  141. //Conversions of units
  142. var Mstar = Number(inMstar*Msolar);//conversion units
  143. var Porb = Number(inPorb*Porbday);//consversion units
  144. var vrot = Number(inVrot*100000);//conversion units
  145. var Rstar = Number(inRstar*Rsolar);//conversion units
  146. var Rp = Number(inRp*Rjup);
  147. var Mp = Number(inMp*Mjup);
  148. //Kepler Function
  149. var output1 =(G*Mstar*Porb*Porb)/(4*pi*pi);
  150. var ap = Math.pow(output1, 0.33);//ap
  151. //Omega Function
  152. var output3 = Number(vrot/Rstar/omegasun); //omega
  153. //Xray Flux Equation
  154. var xrayFlux = Number((Math.pow(10,4.33))*(Math.pow(output3,2.77)));
  155. //Luminosity from Xrays
  156. var Lumxray = Number((xrayFlux)*4*pi*(Math.pow(Rstar,2)));
  157. //Luminosity of EUV from Sanz Forcada
  158. var Leuv = Number(Math.pow(10,4.8)*(Math.pow(Lumxray,0.86)));
  159. // Flux for XUV rays on surface of star
  160. var Fxuv = Number((Lumxray+Leuv)/(4.*pi*(Math.pow(Rstar,2))));
  161. //Stellar energy per unit time
  162. var dEx = Number((Math.pow(Rp,2.))*pi*(Math.pow(ap,-2))*Fxuv*(Math.pow(Rstar,2)));
  163. //Potential energy per unit mass
  164. var dEp = Number((G*Mp)/(Rp));
  165. //Tidal Forces
  166. var tidal = Number((((Math.pow(3,1.33))/2)*G*(Math.pow(Mstar,0.333))*(Math.pow(Mp,0.666)))/ap);
  167. //Potential energy with tidal forces
  168. var dEptot = Number(dEp-tidal);
  169. //Mass loss Rate
  170. var dm = n*(dEx/dEp);
  171. outputText = "Mass Loss Rate of Exoplanet in g/s: <strong>" + Number(dm)+" </strong>";
  172. //outputText = "For the equation pi squared the answer is <strong>" + Number(output1) + "</strong>, <br/> x2 is <strong>" + Number(output2) + "</strong><br/> and x3 is <strong>" + Number(x3) + "</strong>";
  173. }
  174. // output the result (or errors)
  175. document.getElementById("output_text").innerHTML = outputText;
  176. }
  177. </script>
  178. </head>
  179. <body>
  180.  
  181. <div class="header">
  182. <h1>Planetary Mass Loss Rate Calculator</h1>
  183. <p>Please Input your values to get a result</p>
  184. </div>
  185.  
  186. <!--Nav Bar-->
  187. <!---<div class="topnav">
  188. <a href="Index.html">Calculator</a>-->
  189.  
  190. </div>
  191.  
  192. <div class="row">
  193. <div class="Maeve">
  194. <h2>Planetary Mass Loss Rate</h2>
  195. <p>This process occurs when particle </p>
  196. <img src="formulawords.PNG" alt="Mass Loss Rate Formula" style="width:500px;height:100px;">
  197. </div>
  198. <div class="Maeve">
  199. <h2>How To Use The Mass Loss Rate Calculator</h2>
  200. <p>There are many .</p>
  201. </div>
  202. <div class="Maeve2">
  203. <p>Please enter the known parameters and I'll take it from there</p>
  204.  
  205. <form name="input_form" action="javascript:validate();">
  206. Mass of Star[Msolar]: <input type="text" name="inMstarterm" size="5" required>
  207. Orbital Period[days]: <input type="text" name="inPorbterm" size="5" required>
  208. Radius of Star[Rsolar]: <input type="text" name="inRstarterm" size="5" required></br></br>
  209. Rotational Velocity of Host Star[km/s]: <input type="text" name="inVrotterm" size="5" required>
  210. Mass of Exoplanet[Mjupiters]: <input type="text" name="inMpterm" size="5" required>
  211. Radius of Exoplanet[Rjupiters]: <input type="text" name="inRpterm" size="5" required>
  212.  
  213. <br><br>
  214. <input type="submit" value="Calculate">
  215. </form>
  216.  
  217. <p id="output_text"/>
  218. </div>
  219.  
  220. <div class="footer">
  221. <p>
  222. Copyright of Maeve Upton(2018)
  223. </p>
  224. </div>
  225.  
  226.  
  227. </body>
  228. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement