Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $isGravity = false;
- $g = 6.67408E-11;// m3⋅kg–1⋅s–2
- $coulomb = 8.9875517923E9;
- //Parameters
- if ($isGravity)
- {
- $m1 = 1;
- $m2 = 5.972E24;
- $distance = 1000000000000;
- } else {
- $m1 = 9.10938356E-31;
- $m2 = 1.6726219E-27;
- $distance = 1;
- }
- //Init variables
- $initialDistance = $distance;
- $distanceAdditional = 1.0581106794609E-10;
- $jouleToEv = 6.242E18;
- $v1 = 0;
- $v2 = 0;
- $time = 1000000000000000;
- $totalTime = 0;
- $i = 0;
- $steps = 10000000000;
- while ($distance > 0)
- {
- if ($isGravity)
- $force = ($g * $m1*$m2)/($distance * $distance);
- else
- $force = ($coulomb * 1.60217646E-19 * 1.60217646E-19)/($distance * $distance);
- $a1 = $force / $m1;// + ($force2 / $m1);
- $a2 = $force / $m2;
- while ($initialDistance < (($a1 * $time) * $time) * $steps)
- {
- $time /= 2;
- }
- while ($initialDistance > (($a1 * $time) * $time) * $steps)
- {
- $time *= 2;
- }
- while ($a1 * $time > 100)
- {
- $time /= 2;
- }
- $v1 += $a1 * $time;
- $v2 += $a2 * $time;
- $energy1 = $m1 * $v1*$v1 / 2;
- $energy2 = $m2 * $v2*$v2 / 2;
- /*
- echo "multi: ".($a1 * $time)."\n";
- echo "a1: ".($a1)."\n";
- echo "v1: ".($v1)."\n";
- echo "time: ".($time)."\n";
- echo "force: $force\n";
- echo "distance: $distance\n";
- echo "time: $time\n";
- echo "----\n";
- */
- if ($isGravity)
- {
- if ($distance < 6371000)
- break;
- } else {
- if ($energy1 * $jouleToEv > 13.6*2)
- break;
- }
- $distance -= $v1 * $time;
- $distance -= $v2 * $time;
- echo "distance after : $distance\n";
- $totalTime+= $time;
- }
- echo "------\n";
- echo "V1: $v1\n";
- echo "V2: $v2\n";
- echo "A1: $a1\n";
- echo "A2: $a2\n";
- echo "M1: ".($m1 * $v1)."\n";
- echo "M2: ".($m2 * $v2)."\n";
- echo "Total Time: $totalTime\n";
- echo "Distance: $distance\n";
- echo "Energy1: $energy1, eV: ".($energy1 * $jouleToEv)."\n";
- echo "Energy2: $energy2, eV: ".($energy1 * $jouleToEv)."\n";
- ?>
Advertisement
Add Comment
Please, Sign In to add comment