da_willem said:
Could you back this up with a calculation?
Of course yes!
I used a numerical method (simplified program below).
Use 52.047 as parameter to get 96 hours as the free fall time.
This means the max distance will be 52.047 * 6370 km , or about 86% of the Earth Moon distance.
--------------------------
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
main( argc,argv )
int argc;char *argv[];
{
double acc_now,vel_now,acc_next,vel_next,step;
/* s= s0 + v0*t + 1/2*a*t^2 */
/* Initial distance: Number_of_radius*Radius , where Radius = Earth's Radius*/
double Number_of_radius,Time_interval,Radius,time_elapsed,total_distance;
double g;
if(argc != 2){
fprintf(stderr,"\n\nUse: %s InitialDistance\n", argv[0]);
fprintf(stderr,"\nEval free fall time given the initial height(in Earth's Radius units)\n\n");
exit(1);
}
g = 9.8 ; /* grav. accel = 9.8 m/s2 */
Radius = 6370000.0; /* Radius (Earth) - 6.37*10e6 m */
Number_of_radius = atof( argv[1] );
fprintf(stdout,"Distance (in Earth radius) = %f\n", Number_of_radius );
Number_of_radius += 1.0 ; /* Distance from the Earth's center */
vel_next = 0.0 ;
time_elapsed = 0.0 ;
total_distance = Number_of_radius*Radius ;
acc_next = g / (Number_of_radius*Number_of_radius) ;
vel_next = 0.0 ; /* in m/s */
Time_interval = 60. ; /* in seconds */
time_elapsed = 0.0 ;
/* s = s0 - vt - 1/2 a t^2 */
while( total_distance > Radius ){
acc_now = acc_next;
vel_now = vel_next;
step = vel_now * Time_interval + .5 * acc_now * Time_interval * Time_interval ;
total_distance -= step;
vel_next = vel_now + acc_now * Time_interval ;
acc_next = g * (Radius / total_distance) * (Radius / total_distance) ;
time_elapsed += Time_interval ;
}
/* vel_now is the final speed */
time_elapsed -= Time_interval;
total_distance += step;
fprintf(stdout," Total time = %f seconds or %f hours.\n Final speed = %f m/s\n",
time_elapsed , time_elapsed/3600. , vel_now );
}