Guest User

Untitled

a guest
Jun 28th, 2021
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.11 KB | None | 0 0
  1. <?php
  2.  
  3. $isGravity = false;
  4.  
  5. $g = 6.67408E-11;// m3⋅kg–1⋅s–2
  6. $coulomb = 8.9875517923E9;
  7.  
  8. //Parameters
  9. if ($isGravity)
  10. {
  11. $m1 = 1;
  12. $m2 = 5.972E24;
  13. $distance = 1000000000000;
  14. } else {
  15. $m1 = 9.10938356E-31;
  16. $m2 = 1.6726219E-27;
  17. $distance = 1;
  18. }
  19.  
  20. //Init variables
  21. $initialDistance = $distance;
  22. $distanceAdditional = 1.0581106794609E-10;
  23. $jouleToEv = 6.242E18;
  24.  
  25. $v1 = 0;
  26. $v2 = 0;
  27. $time = 1000000000000000;
  28. $totalTime = 0;
  29. $i = 0;
  30.  
  31. $steps = 10000000000;
  32. while ($distance > 0)
  33. {
  34. if ($isGravity)
  35. $force = ($g * $m1*$m2)/($distance * $distance);
  36. else
  37. $force = ($coulomb * 1.60217646E-19 * 1.60217646E-19)/($distance * $distance);
  38.  
  39. $a1 = $force / $m1;// + ($force2 / $m1);
  40. $a2 = $force / $m2;
  41.  
  42. while ($initialDistance < (($a1 * $time) * $time) * $steps)
  43. {
  44. $time /= 2;
  45. }
  46.  
  47. while ($initialDistance > (($a1 * $time) * $time) * $steps)
  48. {
  49. $time *= 2;
  50. }
  51.  
  52. while ($a1 * $time > 100)
  53. {
  54. $time /= 2;
  55. }
  56.  
  57. $v1 += $a1 * $time;
  58. $v2 += $a2 * $time;
  59.  
  60. $energy1 = $m1 * $v1*$v1 / 2;
  61. $energy2 = $m2 * $v2*$v2 / 2;
  62.  
  63. /*
  64. echo "multi: ".($a1 * $time)."\n";
  65. echo "a1: ".($a1)."\n";
  66. echo "v1: ".($v1)."\n";
  67. echo "time: ".($time)."\n";
  68. echo "force: $force\n";
  69. echo "distance: $distance\n";
  70. echo "time: $time\n";
  71. echo "----\n";
  72. */
  73.  
  74. if ($isGravity)
  75. {
  76. if ($distance < 6371000)
  77. break;
  78. } else {
  79. if ($energy1 * $jouleToEv > 13.6*2)
  80. break;
  81. }
  82.  
  83. $distance -= $v1 * $time;
  84. $distance -= $v2 * $time;
  85.  
  86. echo "distance after : $distance\n";
  87.  
  88. $totalTime+= $time;
  89. }
  90.  
  91. echo "------\n";
  92. echo "V1: $v1\n";
  93. echo "V2: $v2\n";
  94. echo "A1: $a1\n";
  95. echo "A2: $a2\n";
  96. echo "M1: ".($m1 * $v1)."\n";
  97. echo "M2: ".($m2 * $v2)."\n";
  98. echo "Total Time: $totalTime\n";
  99. echo "Distance: $distance\n";
  100. echo "Energy1: $energy1, eV: ".($energy1 * $jouleToEv)."\n";
  101. echo "Energy2: $energy2, eV: ".($energy1 * $jouleToEv)."\n";
  102. ?>
  103.  
Advertisement
Add Comment
Please, Sign In to add comment