AccelTwinViewpoints.mw

1. Viewpoint of inertial twin

> restart:
Digits := 20:

Parameters

> a := 1; # 9.81 m/s^ gives 1.032648;
x0 := 0;

v0 := 0;

T0 := 0;

t0 := 0;

Ttot := T0 + 10;

Derived parameters

> ttot := evalf( 4.0/a * sinh( a*(Ttot-T0)/4.0 ) );
t1 := t0 + 1/4 * ttot;

t2 := t0 + 3/4 * ttot;

t3 := t0 + ttot;

a1 := a;

a2 := -a;

a3 := a;

Velocity v(t) as function of Coordinate time

> v1 := t -> ( a1*(t-t0) +    v0/sqrt(1-v0^2   ) ) / sqrt( 1 + ( a1*(t-t0) +    v0/sqrt(1-v0^2   ) )^2 );   v1_t1 := v1(t1);
v2 := t -> ( a2*(t-t1) + v1_t1/sqrt(1-v1_t1^2) ) / sqrt( 1 + ( a2*(t-t1) + v1_t1/sqrt(1-v1_t1^2) )^2 );   v2_t2 := v2(t2);

v3 := t -> ( a3*(t-t2) + v2_t2/sqrt(1-v2_t2^2) ) / sqrt( 1 + ( a3*(t-t2) + v2_t2/sqrt(1-v2_t2^2) )^2 );

v  := t -> piecewise( t <= t1, v1(t), t <= t2, v2(t), t <= t3, v3(t) );

dT/dt as function of Coordinate time t

> dTdt1 := t -> sqrt(1-v1(t)^2);
dTdt2 := t -> sqrt(1-v2(t)^2);

dTdt3 := t -> sqrt(1-v3(t)^2);

dTdt  := t -> piecewise( t <= t1, dTdt1(t), t <= t2, dTdt2(t), t <= t3, dTdt3(t) );

Proper time T(t) as function of Coordinate time t

> T1 := t -> T0    + int( dTdt1(z) , z = t0 .. t );   T1_t1 := T1(t1);
T2 := t -> T1_t1 + int( dTdt2(z) , z = t1 .. t );   T2_t2 := T2(t2);

T3 := t -> T2_t2 + int( dTdt3(z) , z = t2 .. t );

T  := t -> piecewise( t <= t1, T1(t), t <= t2, T2(t), t <= t3, T3(t) );

Coordinate distance x(t) as function of Coordinate time t

> x1 := t -> x0    + 1/(a1*sqrt(1-v0^2   )) * ( -1 + sqrt( 1 + a1^2*(1-v0^2   )*(t-t0)^2 + 2*a1*v0   *sqrt(1-v0^2   )*(t-t0) ) );   x1_t1 := x1(t1);
x2 := t -> x1_t1 + 1/(a2*sqrt(1-v1_t1^2)) * ( -1 + sqrt( 1 + a2^2*(1-v1_t1^2)*(t-t1)^2 + 2*a2*v1_t1*sqrt(1-v1_t1^2)*(t-t1) ) );   x2_t2 := x2(t2);

x3 := t -> x2_t2 + 1/(a3*sqrt(1-v2_t2^2)) * ( -1 + sqrt( 1 + a3^2*(1-v2_t2^2)*(t-t2)^2 + 2*a3*v2_t2*sqrt(1-v2_t2^2)*(t-t2) ) );

x  := t -> piecewise( t <= t1, x1(t), t <= t2, x2(t), t <= t3, x3(t) );

Plot

> plot( [ x(t), t, t = t0 .. t3 ],
title = "Worldline of Accelerated twin as seen by inertial twin",

labels = [ "t", "x(t)" ],

scaling = CONSTRAINED,

thickness = 2 );

> plot( [ 0, v(t), x(t), dTdt(t), T(t) ], t = t0 .. t3,
title = "Viewpoint of Inertial twin",

axes = BOXED, thickness = 3,

legend = [ "", "v(t)", "x(t)", "dTdt(t)", "T(t)" ] );

Table

> datatable := proc( tbegin, tend, steps )
local t, increment, hdrformat, datformat, Tappr;

increment := (tend-tbegin)/steps:

Tappr := T0:

hdrformat := "%10s %10s %10s %10s %10s %10s\n":

datformat := "%10.4f %10.4f %10.4f %10.4f %10.4f %10.4f\n":

printf( hdrformat,    "t", "v(t)", "x(t)", "dT/dt(t)", "T(t)", "appr" );

printf( hdrformat,    "=", "====", "====", "========", "====", "====" );

for t from tbegin by increment to tend+1/2*increment do

   if (t <> tbegin) then Tappr := Tappr + increment * 1/2 * ( dTdt(t) + dTdt(t-increment) ) end if:

   printf( datformat, t,   v(t),   x(t),   dTdt(t),    T(t),   Tappr );

end do;

end proc:

> datatable( t0, ttot, 20);

        t       v(t)       x(t)   dT/dt(t)       T(t)       appr
        =       ====       ====   ========       ====       ====

   0.0000     0.0000     0.0000     1.0000     0.0000     0.0000

   1.2100     0.7708     0.5698     0.6370     1.0224     0.9904

   2.4201     0.9242     1.6185     0.3819     1.6171     1.6069

   3.6301     0.9641     2.7653     0.2656     2.0009     1.9986

   4.8402     0.9793     3.9424     0.2023     2.2806     2.2817

   6.0502     0.9866     5.1323     0.1631     2.5000     2.5028

   7.2602     0.9793     6.3222     0.2023     2.7194     2.7239

   8.4703     0.9641     7.4992     0.2656     2.9991     3.0070

   9.6803     0.9242     8.6460     0.3819     3.3829     3.3987

  10.8904     0.7708     9.6948     0.6370     3.9776     4.0152

  12.1004    -0.0000    10.2646     1.0000     5.0000     5.0056

  13.3104    -0.7708     9.6948     0.6370     6.0224     5.9961

  14.5205    -0.9242     8.6460     0.3819     6.6171     6.6125

  15.7305    -0.9641     7.4992     0.2656     7.0009     7.0043

  16.9406    -0.9793     6.3222     0.2023     7.2806     7.2874

  18.1506    -0.9866     5.1323     0.1631     7.5000     7.5084

  19.3607    -0.9793     3.9424     0.2023     7.7194     7.7295

  20.5707    -0.9641     2.7653     0.2656     7.9991     8.0126

  21.7807    -0.9242     1.6185     0.3819     8.3829     8.4043

  22.9908    -0.7708     0.5698     0.6370     8.9776     9.0208

  24.2008    -0.0000    -0.0000     1.0000    10.0000    10.0113

2. Viewpoint of accelerated twin

> restart;
Digits := 20:

Parameters

> a := 1; # 9.81 m/s^ gives 1.032648;
x0 := 0;

v0 := 0;

T0 := 0;

t0 := 0;

Ttot := T0 + 10;

Derived parameters

> T1 := T0 + 1/4. * (Ttot-T0);
T2 := T0 + 3/4. * (Ttot-T0);

T3 := Ttot;

a1 := a;

a2 := -a;

a3 := a;

g0 := 1/sqrt(1-v0^2);

X0 := x0/g0;

Velocity as function of Proper time T

> v1 := T -> tanh( a1*(T-T0) + arctanh(v0   ) );   v1_T1 := v1(T1);
v2 := T -> tanh( a2*(T-T1) + arctanh(v1_T1) );   v2_T2 := v2(T2);

v3 := T -> tanh( a3*(T-T2) + arctanh(v2_T2) );

v  := T -> piecewise( T <= T1, v1(T), T <= T2, v2(T), T <= T3, v3(T) );

Coordinate distance x(T) as function of Proper time T

> x1 := T -> x0    + 1/a1 * ( 1/sqrt(1-v1((T))^2) - 1/sqrt(1-v0^2)    );   x1_T1 := x1(T1);
x2 := T -> x1_T1 + 1/a2 * ( 1/sqrt(1-v2((T))^2) - 1/sqrt(1-v1_T1^2) );   x2_T2 := x2(T2);

x3 := T -> x2_T2 + 1/a3 * ( 1/sqrt(1-v3((T))^2) - 1/sqrt(1-v2_T2^2) );

x  := T -> piecewise( T <= T1, x1(T), T <= T2, x2(T), T <= T3, x3(T) );

Proper distance X(T) as function of Proper time T

> X1 := T -> - (X0 + x1(T) * sqrt(1-v1(T)^2 ) );
X2 := T -> - (X0 + x2(T) * sqrt(1-v2(T)^2 ) );

X3 := T -> - (X0 + x3(T) * sqrt(1-v3(T)^2 ) );

X  := T -> piecewise( T <= T1, X1(T), T <= T2, X2(T), T <= T3, X3(T) );

dt/dT as function of Proper time T

> dtdT1 := T -> sqrt(1-v1(T)^2) * ( 1 + a1*X1(T) );
dtdT2 := T -> sqrt(1-v2(T)^2) * ( 1 + a2*X2(T) );

dtdT3 := T -> sqrt(1-v3(T)^2) * ( 1 + a3*X3(T) );

dtdT  := T -> piecewise( T <= T1, dtdT1(T), T <= T2, dtdT2(T), T <= T3, dtdT3(T) );

Coordinate time t(T) as function of Proper time T

> t1 := T -> t0-v0*x0 + int( dtdT1(z) , z = T0 .. T );   t1_T1 := t1(T1);
t2 := T -> t1_T1    + int( dtdT2(z) , z = T1 .. T );   t2_T2 := t2(T2);

t3 := T -> t2_T2    + int( dtdT3(z) , z = T2 .. T );

t  := T -> piecewise( T <= T1, t1(T), T <= T2, t2(T), T <= T3, t3(T) );

Plot

> plot( [ X(T), T, T = T0 .. T3 ],
title = "Worldline of inertial twin as seen by accelerated twin",

labels = [ "T", "X(T)" ],

scaling = CONSTRAINED,

thickness = 2 );

> plot( [ 0, v(T), x(T), X(T), dtdT(T), t(T) ], T = T0 .. T3,
title = "Viewpoint of Accelerated twin",

axes = BOXED, thickness = 3,

legend = [ "", "v(T)", "x(T)", "X(T)", "dt/dT(T)", "t(T)" ] );

Table

> datatable := proc( Tbegin, Tend, steps )
local T, increment, hdrformat, datformat, tappr;

increment := (Ttot-T0)/steps:

tappr := t0 - x0*v0:

hdrformat := "%10s %10s %10s %10s %10s %10s %10s\n":

datformat := "%10.4f %10.4f %10.4f %10.4f %10.4f %10.4f %10.4f\n":

printf( hdrformat,    "T", "v(T)", "x(T)", "X(T)", "dt/dT(T)", "t(T)", "appr" );

printf( hdrformat,    "=", "====", "====", "====", "========", "====", "====" );

for T from Tbegin by increment to Tend+1/2*increment do

   if (T <> Tbegin) then tappr := tappr + increment * 1/2 * ( dtdT(T) + dtdT(T-increment) ) end if:

   printf( datformat, T,   v(T),   x(T),   X(T),   dtdT(T),    t(T),   tappr  );

end do;

end proc:

> datatable( T0, Ttot, 20);

        T       v(T)       x(T)       X(T)   dt/dT(T)       t(T)       appr
        =       ====       ====       ====   ========       ====       ====

   0.0000     0.0000     0.0000     0.0000     1.0000     0.0000     0.0000

   0.5000     0.4621     0.1276    -0.1132     0.7864     0.4621     0.4466

   1.0000     0.7616     0.5431    -0.3519     0.4200     0.7616     0.7482

   1.5000     0.9051     1.3524    -0.5749     0.1807     0.9051     0.8984

   2.0000     0.9640     2.7622    -0.7342     0.0706     0.9640     0.9612

   2.5000     0.9866     5.1323    -0.8369     0.0266     0.9866     0.9855

   3.0000     0.9640     7.5024    -1.9942     0.7959     1.2410     1.1911

   3.5000     0.9051     8.9122    -3.7885     2.0356     1.9043     1.8990

   4.0000     0.7616     9.7215    -6.3001     4.7308     3.5214     3.5906

   4.5000     0.4621    10.1370    -8.9896     8.8590     6.8949     6.9881

   5.0000     0.0000    10.2646   -10.2646    11.2646    12.1004    12.0190

   5.5000    -0.4621    10.1370    -8.9896     8.8590    17.3060    17.0499

   6.0000    -0.7616     9.7215    -6.3001     4.7308    20.6794    20.4473

   6.5000    -0.9051     8.9122    -3.7885     2.0356    22.2965    22.1389

   7.0000    -0.9640     7.5024    -1.9942     0.7959    22.9598    22.8468

   7.5000    -0.9866     5.1323    -0.8369     0.2996    23.2142    23.1206

   8.0000    -0.9640     2.7622    -0.7342     0.0706    23.2368    23.2132

   8.5000    -0.9051     1.3524    -0.5749     0.1807    23.2957    23.2760

   9.0000    -0.7616     0.5431    -0.3519     0.4200    23.4392    23.4262

   9.5000    -0.4621     0.1276    -0.1132     0.7864    23.7387    23.7278

  10.0000     0.0000     0.0000     0.0000     1.0000    24.2008    24.1744

3. Alternative Viewpoint of accelerated twin

> restart;
# Digits := 20:

> a := 1 ; # 9.81 m/s^ gives 1.032648;
T0 := 0; # Proper time of traveller at begin of trip

x0 := 0; # = x(T0)  Coordinate distance of traveller according to stay at home at begin of trip

t0 := 0; # = t(T0)  Coordinate time of stay at home at begin of trip

v0 := 0; # Initial velocity of traveller

cst := 0; # proper time duration of coasting phases

acc := 2.5; # proper time duration of acceleration phases

Ttot := T0 + 2*cst + 4*acc; # total proper time of trip

> ac := T -> piecewise(
T <= T0 +   acc,           a,

T <= T0 +   acc +   cst,   0,

T <= T0 + 3*acc +   cst,  -a,

T <= T0 + 3*acc + 2*cst,   0,

T <= T0 + 4*acc + 2*cst,   a

);

> Ac := T -> int(ac(T1),T1=T0..T); # proper acceleration integral

> v := T ->           tanh( Ac(T)+arctanh(v0) ); # velocity of traveller according to stay at home
t := T -> t0 + int( cosh( Ac(T2)+arctanh(v0) ), T2=T0..T ); # coordinate time according to stay at home

x := T -> x0 + int( sinh( Ac(T3)+arctanh(v0) ), T3=T0..T ); # coordinate distance according to stay at home

> g := T -> 1/sqrt(1-v(T)^2); # gamma for velocity of traveller
g := T ->  cosh( Ac(T)+arctanh(v0) ); # this is the same as the previous definition

X := T -> -x(T)/g(T); # position of stay at home twin according to traveller

These are less intersting

> V := T -> ( x(T)-x0 ) / ( t(T)-t0 ); # average velocity since start of trip according to stay at home
G := T -> 1/sqrt(1-V(T)^2); # gamma for average velocity

> tt := T -> t0 + sqrt(   int( exp(  Ac(T4) ), T4=T0..T )
                     * int( exp( -Ac(T5) ), T5=T0..T )

                   );

This is a copy of tt

> ttt := T -> t0 + sqrt( (t(T)-t0)^2 - (x(T)-x0)^2 );

This is another copy of tt

> tttt := T -> t0 + t(T) / G(T);

The traveller's sister's age accordig to the traveller when his age is T

> s := T -> t(T) - v(T) * x(T);

This is a copy of s

> ss := T -> t0 - v0*x0 + int( (1+ac(T6)*X(T6)) * sqrt(1-v(T6)^2), T6=T0..T );

> plot( [ x(T), t(T), T = T0 .. Ttot],
title = "Worldline of Accelerated twin as seen by inertial twin",

labels = [ "x(T)", "t(T)" ],

scaling = CONSTRAINED,

thickness = 2 );

> plot( [ 0, ac(T), Ac(T), v(T), x(T), t(T), g(T), tt(T), s(T), ss(T) ], T = T0 .. Ttot,
title = "Alternative Viewpoint of Accelerated twin",

axes = BOXED,

thickness = 3,

legend = [ "", "ac(T)", "Ac(T)", "v(T)", "x(T)", "t(T)", "g(T)", "tt(T)", "s(T)", "ss(T)" ] );

> datatable := proc( Tbegin, Tend, steps )
local T, increment, hdrformat, datformat;

increment := (Tend-Tbegin)/steps;

hdrformat := "%10s %10s %10s %10s %10s %10s %10s %10s %10s %10s %10s\n";

datformat := "%10.4f %10.4f %10.4f %10.4f %10.4f %10.4f %10.4f %10.4f %10.4f %10.4f %10.4f\n";

printf( hdrformat,    "",  "",      "",      "",     "",     "",     "-x(T)/g(T)", "",     "",      "",     ""      );

printf( hdrformat,    "T", "ac(T)", "Ac(T)", "v(T)", "x(T)", "g(T)", "    X(T)",   "t(T)", "tt(T)", "s(T)", "ss(T)" );

printf( hdrformat,    "=", "=====", "=====", "====", "====", "====", "==========", "====", "=====", "====", "=====" );

for T from Tbegin by increment to Tend+1/2*increment do

   printf( datformat, T,   ac(T),   Ac(T),   v(T),   x(T),   g(T),       X(T),     t(T),   tt(T),   s(T),   ss(T) );

end do;

end proc:

> datatable( T0, Ttot, 20);

                                                                 -x(T)/g(T)                                            
        T      ac(T)      Ac(T)       v(T)       x(T)       g(T)       X(T)       t(T)      tt(T)       s(T)      ss(T)

        =      =====      =====       ====       ====       ==== ==========       ====      =====       ====      =====

   0.0000     1.0000     0.0000     0.0000     0.0000     1.0000     0.0000     0.0000     0.0000     0.0000     0.0000

   0.5000     1.0000     0.5000     0.4621     0.1276     1.1276    -0.1132     0.5211     0.5052     0.4621     0.4621

   1.0000     1.0000     1.0000     0.7616     0.5431     1.5431    -0.3519     1.1752     1.0422     0.7616     0.7616

   1.5000     1.0000     1.5000     0.9051     1.3524     2.3524    -0.5749     2.1293     1.6446     0.9051     0.9051

   2.0000     1.0000     2.0000     0.9640     2.7622     3.7622    -0.7342     3.6269     2.3504     0.9640     0.9640

   2.5000     1.0000     2.5000     0.9866     5.1323     6.1323    -0.8369     6.0502     3.2038     0.9866     0.9866

   3.0000    -1.0000     2.0000     0.9640     7.5024     3.7622    -1.9942     8.4735     3.9389     1.2410     1.2410

   3.5000    -1.0000     1.5000     0.9051     8.9122     2.3524    -3.7885     9.9711     4.4718     1.9043     1.9043

   4.0000    -1.0000     1.0000     0.7616     9.7215     1.5431    -6.3001    10.9252     4.9852     3.5214     3.5214

   4.5000    -1.0000     0.5000     0.4621    10.1370     1.1276    -8.9896    11.5793     5.5967     6.8949     6.8949

   5.0000    -1.0000     0.0000     0.0000    10.2646     1.0000   -10.2646    12.1004     6.4077    12.1004    12.1004

   5.5000    -1.0000    -0.5000    -0.4621    10.1370     1.1276    -8.9896    12.6215     7.5196    17.3060    17.3060

   6.0000    -1.0000    -1.0000    -0.7616     9.7215     1.5431    -6.3001    13.2756     9.0407    20.6794    20.6794

   6.5000    -1.0000    -1.5000    -0.9051     8.9122     2.3524    -3.7885    14.2297    11.0931    22.2965    22.2965

   7.0000    -1.0000    -2.0000    -0.9640     7.5024     3.7622    -1.9942    15.7273    13.8225    22.9598    22.9598

   7.5000    -1.0000    -2.5000    -0.9866     5.1323     6.1323    -0.8369    18.1506    17.4099    23.2142    23.2142

   8.0000     1.0000    -2.0000    -0.9640     2.7622     3.7622    -0.7342    20.5740    20.3877    23.2368    23.2368

   8.5000     1.0000    -1.5000    -0.9051     1.3524     2.3524    -0.5749    22.0715    22.0301    23.2957    23.2957

   9.0000     1.0000    -1.0000    -0.7616     0.5431     1.5431    -0.3519    23.0256    23.0192    23.4392    23.4392

   9.5000     1.0000    -0.5000    -0.4621     0.1276     1.1276    -0.1132    23.6797    23.6794    23.7387    23.7387

  10.0000     1.0000     0.0000     0.0000     0.0000     1.0000     0.0000    24.2008    24.2008    24.2008    24.2008

A case with non-zero initial values

> a := 1.032648; # 9.81 m/s^ gives 1.032648;
T0 := 5; # Proper time of traveller at begin of trip

x0 := 3; # = x(T0)  Coordinate distance of traveller according to stay at home at begin of trip

t0 := -4; # = t(T0)  Coordinate time of stay at home at begin of trip

v0 := -0.2; # Initial velocity of traveller

cst := 1; # proper time duration of coasting phases

acc := 1; # proper time duration of acceleration phases

Ttot := T0 + 2*cst + 4*acc; # total proper time of trip

x(T0); t(T0);

> datatable( T0, Ttot, 20);

                                                                 -x(T)/g(T)                                            
        T      ac(T)      Ac(T)       v(T)       x(T)       g(T)       X(T)       t(T)      tt(T)       s(T)      ss(T)

        =      =====      =====       ====       ====       ==== ==========       ====      =====       ====      =====

   5.0000     1.0326     0.0000    -0.2000     3.0000     1.0206    -2.9394    -4.0000    -4.0000    -3.4000    -3.4000

   5.3000     1.0326     0.3098     0.1067     2.9856     1.0057    -2.9686    -3.6985    -3.6988    -4.0169    -4.0169

   5.6000     1.0326     0.6196     0.3943     3.0654     1.0882    -2.8171    -3.3869    -3.3904    -4.5955    -4.5955

   5.9000     1.0326     0.9294     0.6210     3.2471     1.2758    -2.5451    -3.0351    -3.0673    -5.0516    -5.0516

   6.2000     0.0000     1.0326     0.6804     3.5188     1.3646    -2.5786    -2.6302    -2.7323    -5.0246    -5.0246

   6.5000     0.0000     1.0326     0.6804     3.7974     1.3646    -2.7828    -2.2209    -2.4096    -4.8047    -4.8047

   6.8000     0.0000     1.0326     0.6804     4.0759     1.3646    -2.9869    -1.8115    -2.0942    -4.5849    -4.5849

   7.1000    -1.0326     0.9294     0.6210     4.3476     1.2758    -3.4076    -1.4067    -1.7843    -4.1066    -4.1066

   7.4000    -1.0326     0.6196     0.3943     4.5293     1.0882    -4.1624    -1.0549    -1.4831    -2.8407    -2.8407

   7.7000    -1.0326     0.3098     0.1067     4.6092     1.0057    -4.5829    -0.7433    -1.1686    -1.2349    -1.2349

   8.0000    -1.0326     0.0000    -0.2000     4.5947     1.0206    -4.5019    -0.4417    -0.8191     0.4772     0.4772

   8.3000    -1.0326    -0.3098    -0.4719     4.4847     1.1342    -3.9539    -0.1211    -0.4164     1.9953     1.9953

   8.6000    -1.0326    -0.6196    -0.6763     4.2684     1.3576    -3.1441     0.2498     0.0560     3.1366     3.1366

   8.9000    -1.0326    -0.9294    -0.8117     3.9249     1.7123    -2.2922     0.7066     0.6148     3.8926     3.8926

   9.2000     0.0000    -1.0326    -0.8441     3.4620     1.8652    -1.8561     1.2583     1.2380     4.1807     4.1807

   9.5000     0.0000    -1.0326    -0.8441     2.9896     1.8652    -1.6028     1.8179     1.8179     4.3415     4.3415

   9.8000     0.0000    -1.0326    -0.8441     2.5173     1.8652    -1.3496     2.3775     2.3592     4.5024     4.5024

  10.1000     1.0326    -0.9294    -0.8117     2.0543     1.7123    -1.1997     2.9292     2.8644     4.5968     4.5968

  10.4000     1.0326    -0.6196    -0.6763     1.7108     1.3576    -1.2602     3.3861     3.2727     4.5431     4.5431

  10.7000     1.0326    -0.3098    -0.4719     1.4945     1.1342    -1.3176     3.7569     3.6094     4.4622     4.4622

  11.0000     1.0326     0.0000    -0.2000     1.3845     1.0206    -1.3565     4.0775     3.9143     4.3544     4.3544

> plot( [ 0, ac(T), Ac(T), v(T), x(T), t(T), g(T), tt(T), s(T), ss(T) ], T = T0 .. Ttot,
title = "Alternative Viewpoint of Accelerated twin",

axes = BOXED,

thickness = 3,

legend = [ "", "ac(T)", "Ac(T)", "v(T)", "x(T)", "t(T)", "g(T)", "tt(T)", "s(T)", "ss(T)" ] );

>

Output from Mike Fontenot's Cado program:


Enter your age when the journey begins: 0


Your initial age is 0.00 years old.


Do you want to start with a one g acceleration, or an

instantaneous speed change? enter a or i: a


Start with a one g acceleration.


Accelerate for how many years?: 2.5


After accelerating for 2.50 years:


Your current speed is 0.9885 lightyears/year.

You are now 2.50 years old.

Your sister is now 0.96 years old, according to you.

According to your sister, she was 6.34 years old when

you were 2.50 years old.  This is also what her current

age would be, according to you, if you were to suddenly

change your current speed to zero.

Your current separation is 0.82 lightyears, according to you.

According to your sister, your separation was 5.44

lightyears when you were 2.50 years old.

If you were to coast at your current speed, your sister's

rate of ageing would be 6.60 times slower than your own

rate of ageing, according to you.



What next?  Enter

a for one g acceleration,

c to coast at the current speed,

i for an instantaneous speed change, or

u to undo the last action.


enter choice: a


Do a one g acceleration segment.


Accelerate toward (t) or away (w) from your sister?

Enter t or w: t


Accelerate toward your sister at one g.


Accelerate for how many years?: 1.5


After accelerating for 1.50 years:


Your current speed is
0.7739 lightyears/year.
You are now
4.00 years old.
Your sister is now
3.50 years old, according to you.
According to your sister, she was
11.49 years old when
you were
4.00 years old.  This is also what her current
age would be, according to you, if you were to suddenly

change your current speed to zero.

Your current separation is
6.53 lightyears, according to you.
According to your sister, your separation was
10.32
lightyears when you were 4.00 years old.

If you were to coast at your current speed, your sister's

rate of ageing would be 1.58 times slower than your own

rate of ageing, according to you.