Attachment 'lj2.pl'

Download

   1 #!/usr/local/bin/perl
   2 # lj2.pl   light pressure modified orbits graph
   3 #   lj2.pl > lj2.dat
   4 #   KHL  2013 Feb 16
   5 #
   6 # FIXME:  the search loop for eccentricity Really Sucks
   7 #         and blows up near the asymptote
   8 
   9 
  10 my    $amin =  6600.0           ; # km, bottom of LEO
  11 my    $amax =  384400.0         ; # km, lunar distance
  12 my   $steps =  500.0            ; # logarithmic step
  13 
  14 # grav parameters --------------------------------------
  15 my      $re =  6378.137         ; # earth radius km
  16 my      $J2 = -1.082626683e-03  ; # spherical harmonic
  17 my       $Y =  31556926.0       ; # seconds per year
  18 my      $mu =  398600.4418      ; # grav parameter  km3/s2
  19 my      $pi =  3.14159265358979 ; 
  20 
  21 # optical parameters -----------------------------------
  22 my      @th = (50,100)          ; # thickness μm
  23 my    $dens = 2.5e-3            ; # density kg/μ-m3
  24 my  $ipower = 1367.0            ; # light power W/m2
  25 my  $ifudge = 0.9               ; # for shadow and tilt
  26 my      $cl = 2.998e8           ; # speed of light m/s
  27 
  28 
  29 # derived ----------------------------------------------
  30 my    $adel = ($amax/$amin)**(1.0/($steps-1.0))  ;
  31 my    $npr0 = (-1.5*$J2*$Y/$pi)*sqrt($mu/$re**3) ;
  32 my     $ac0 = 1e-3*$ipower*$ifudge/($cl*$dens)   ; # acceleration
  33 my     $el0 = 3.0*$ac0*$Y / ( 4.0*$pi*sqrt($mu)) ;
  34 my     @el  = ( $el0/$th[0] , $el0/$th[1] )      ; # km/s^2
  35 my     @ee  = ( 0.0 , 0.0 )                      ;
  36 
  37 my     $npr ;
  38 
  39 # printf( "#npr0 = %12.6f\n", $npr0 );
  40 printf( "#s.major.axs     e(%4.0f)     e(%4.0f)\n", $th[0], $th[1] );
  41 
  42 # loop for the x range of semimajor axis
  43 for( my $a = $amin ; $a <= $amax+10 ; $a *= $adel ) {
  44    my     $are = $a/$re               ;
  45    my    $npr1 = $npr0 * $are**(-3.5) ;
  46 
  47    # loop for each acceleration
  48    foreach my $idx ( 0..1 ) {
  49       my  $el2 = $el[$idx] ;
  50       my   $e  = 0.0       ;
  51       my   $e0 = 0.5       ;
  52       my $elam = $el2 * sqrt( $a ) ;
  53    
  54       # loop to converge on $e eccentricity
  55       while( ( abs($e-$e0) > 1e-8 ) && ( abs($e) < 0.9 ) ) {
  56          my $nprm = ( $npr1 / (1.0-$e*$e)**2 ) - 1.0 ;
  57          my $enew  = $elam / $nprm ;
  58             $e0    = $e ;
  59             $e     = 0.99*$e + 0.01*$enew ;  ## KLUDGE
  60      }
  61      $ee[ $idx ] = abs( $e ) ;
  62   }   
  63   if( ( $ee[0]< 0.4 ) && ( $ee[1] < 0.4 ) ) {
  64      # 1000 km
  65      printf( "%12.4f%12.6f%12.6f", 0.001*$a, $ee[0], $ee[1] );
  66   }
  67   printf("\n");
  68 }

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2013-02-12 15:26:57, 228.9 KB) [[attachment:A0_title.jpg]]
  • [get | view] (2013-02-12 15:35:39, 912.5 KB) [[attachment:B0_serversatV3a.png]]
  • [get | view] (2013-02-12 15:36:48, 1976.2 KB) [[attachment:C0_world_marble.png]]
  • [get | view] (2013-02-12 15:36:23, 1602.0 KB) [[attachment:C3_energy.png]]
  • [get | view] (2013-02-12 15:33:18, 469.6 KB) [[attachment:E0_m288xx.png]]
  • [get | view] (2013-02-12 15:32:48, 59.2 KB) [[attachment:E3_crosser.png]]
  • [get | view] (2013-02-12 15:32:06, 405.6 KB) [[attachment:H0_toroid.png]]
  • [get | view] (2013-02-12 15:34:51, 97.8 KB) [[attachment:I0_echrome.png]]
  • [get | view] (2013-02-12 15:34:08, 356.0 KB) [[attachment:J3_turn_tidal.png]]
  • [get | view] (2013-02-12 15:33:46, 281.9 KB) [[attachment:K0_lighteccentric.png]]
  • [get | view] (2013-02-12 15:31:33, 454.9 KB) [[attachment:M0_temperature.png]]
  • [get | view] (2013-02-12 15:35:14, 101.8 KB) [[attachment:M3_deploy.png]]
  • [get | view] (2013-02-12 15:30:15, 700.1 KB) [[attachment:Q0_phasedarray.png]]
  • [get | view] (2013-02-12 15:29:44, 466.0 KB) [[attachment:Q3_arrayspace.png]]
  • [get | view] (2013-02-12 15:31:06, 488.4 KB) [[attachment:R0_radiation.png]]
  • [get | view] (2013-02-12 15:30:42, 281.4 KB) [[attachment:R3_radiation.png]]
  • [get | view] (2013-02-12 15:27:28, 506.1 KB) [[attachment:S0_costdrop.png]]
  • [get | view] (2013-02-12 15:28:49, 3693.6 KB) [[attachment:U0_radar.png]]
  • [get | view] (2013-02-12 15:27:55, 416.5 KB) [[attachment:U3_rocketbody.png]]
  • [get | view] (2013-02-16 04:59:50, 14.8 KB) [[attachment:a6.c]]
  • [get | view] (2013-02-16 04:59:58, 14.6 KB) [[attachment:a7.c]]
  • [get | view] (2013-02-16 03:52:04, 16.9 KB) [[attachment:ar06.c]]
  • [get | view] (2013-02-15 23:11:57, 1.7 KB) [[attachment:crosser.gp]]
  • [get | view] (2013-02-15 23:11:40, 2.3 KB) [[attachment:crosser.pl]]
  • [get | view] (2013-02-16 04:30:17, 2.0 KB) [[attachment:darkside0.gp]]
  • [get | view] (2013-02-16 15:28:29, 2.3 KB) [[attachment:darkside0.pl]]
  • [get | view] (2013-02-16 03:38:30, 9.3 KB) [[attachment:echrome04.c]]
  • [get | view] (2013-02-16 15:29:15, 5.7 KB) [[attachment:insertrb.pl]]
  • [get | view] (2013-02-16 15:37:24, 1.9 KB) [[attachment:lj2.gp]]
  • [get | view] (2013-02-16 15:37:08, 2.3 KB) [[attachment:lj2.pl]]
  • [get | view] (2013-02-16 04:14:19, 5.1 KB) [[attachment:orbit04w.c]]
  • [get | view] (2013-02-16 04:19:08, 9.1 KB) [[attachment:pa03.c]]
  • [get | view] (2013-02-16 04:19:19, 9.1 KB) [[attachment:pa04.c]]
  • [get | view] (2013-02-12 18:22:40, 5.3 KB) [[attachment:pc02.c]]
  • [get | view] (2013-02-16 15:29:37, 2.0 KB) [[attachment:rb.gp]]
  • [get | view] (2013-02-16 02:50:27, 6.0 KB) [[attachment:sh01.c]]
  • [get | view] (2013-02-13 23:22:32, 13918.1 KB) [[attachment:ss.pdf]]
  • [get | view] (2013-02-13 23:21:58, 23.3 KB) [[attachment:ss.tex]]
  • [get | view] (2013-02-16 04:07:31, 24.1 KB) [[attachment:ss6a.c]]
  • [get | view] (2013-02-16 04:12:13, 3.4 KB) [[attachment:tor08.c]]
 All files | Selected Files: delete move to page

You are not allowed to attach a file to this page.