Attachment 'plat03.c'

Download

   1 // plat03.c
   2 //  Version 0.3    7-20-2011   KHL  more printout, compute stretch
   3 //  Version 0.2    7-19-2011   KHL  tweaks, magnet radius
   4 //  Version 0.1    7-19-2011   KHL  original version
   5 //
   6 // compile with:
   7 // cc -o plat03 plat03.c -lm
   8 //    using gcc compiler, -lm is the gcc math library
   9 // math:   sin, cos, atan, acos, sqrt
  10 // stdio:  printf, fprintf, fopen, fclose, exit
  11 //
  12 // Inputs via DEFINE statements, too lazy to parse argv
  13 //
  14 // Standard output,  tables suitable for inclusion in moin wiki
  15 //
  16 // plat03.dat output, X/Z coordinate points suitable for gnuplot
  17 //
  18 // Units are km and sec, tonnes and meganewtons (tonne-km/sec2)
  19 //  Z is vertical, X is horizontal
  20 //
  21 // Ignore coriolis effects, just centrifugal effects on apparent gravity
  22 // Ignore earth curvature
  23 //
  24 //    Sum of all rotors in one direction, double the support for both
  25 //    up and down directions.
  26 //
  27 //    No static/repair rotor assumed.
  28 //    With static rotor just floating there in the levitation field,
  29 //    it will be under high tension at the top, break,  slide down
  30 //    to the bottom and pack up, won't it?  Iron is not very strong.
  31 
  32 #include <stdlib.h>
  33 #include <stdio.h>
  34 #include <math.h>
  35 
  36 #define  NAME   "plat03"             // data file name
  37 #define  PLAT    50.0                // platform bottom altitude, km
  38 #define  M0      1.50                // rotor tons per kilometer (kg/m)
  39 #define  DEG0    38.0                // Incline starting angle, degrees
  40 #define  V0      3.50                // ground velocity, km/s
  41 #define  TRATIO   1.542              // Ratio of track to rotor deadweight
  42 #define  MYURI   (0.5*2.08)          // derated strength of kevlar
  43 
  44 // #define  MYURI   100.0               // make higher to remove tension effect
  45 
  46 // John's superconducting magnets assumed for smaller ground radius.
  47 //   Typical superconducting coils surround superconductor with copper
  48 //   matrix to provide current path for microfluctuations.  However,
  49 //   the copper resists high dB/dT needed for active control.
  50 //   Fast control currents may require much power and dissipate huge
  51 //   currents in low-resistance copper matrix and cause heat and quench.
  52 //   Launch loop uses copper wound magnets with NIB core, inefficient
  53 //   but quick response and no risk of quench.
  54 //   Needs more study.
  55 //
  56 // -----------------------------------------------------------------------
  57 // Magnet diameters from John's paper
  58 //
  59 #define  MAGGND  (0.62/(3.5*3.5))    // ground   magnet radius km per (km/s)^2
  60 #define  MAGTOP  (8.50/(3.5*3.5))    // platform magnet radius km per (km/s)^2
  61 
  62 // arbitrary cost functions per unit length relative to incline. 
  63 // The top magnets will be difficult to power and prevent overheating
  64 // The ground magnets will be supercooled and floating and anchored
  65 
  66 #define  CINCL   1.0                 // incline cost
  67 #define  CTOP    20.0                // top magnet cost
  68 #define  CGND    60.0                // ground magnet cost
  69 
  70 #define  DZ      1.0                 // vertical output step height, km
  71 #define  NSTEP   100                 // compute steps per output step
  72 
  73 #define  MU      398600.4418         // grav constant, km3/s2
  74 #define  SDAY    86164.098903691     // sidereal day, seconds
  75 #define  RE      6378.137            // Earth equatorial radius, km
  76 
  77 int main() {
  78    double pi2   = 8.0*atan(1.0)     ;// 
  79    double d2r   = pi2/360.0         ;// degrees to radians
  80    double om2   = pi2/SDAY          ;// radians/second 
  81           om2  *= om2               ;// (rad/s)^2
  82 
  83    double ztop  = PLAT-0.1*DZ/NSTEP ;// stop the main loop
  84    
  85    double z     = 0.0               ;// vertical height, km
  86    double x     = 0.0               ;// horizontal distance, km
  87    double l     = 0.0               ;// total length, km
  88    double mt                        ;// track/tube mass per length, tonnes/km
  89    double sumt  = 0.0               ;// total track/tube mass, tonnes
  90    double mr    = 2.0*M0            ;// rotor mass per length, tonnes/km
  91    double sumr  = 0.0               ;// total rotor mass, tonnes
  92 
  93    double time  = 0.0               ;// time, seconds
  94    double dtime                     ;// time increment, seconds
  95 
  96    double T     = 0.0               ;// total track tension MN
  97    double T0                        ;// old total track tension MN
  98    
  99    double dz    = DZ                ;// computing step height km
 100           dz   /= (double) NSTEP    ;// smaller for inner loop
 101 
 102    double rad0  = d2r*DEG0          ;// Incline starting angle radians
 103 
 104    double dxdz  = 1.0/tan(rad0)     ;// starting "inverse slope" 
 105 
 106    double tmp                       ;// working variable computing new dxdz
 107 
 108    double dx                        ;// horizontal distance increment, km
 109    double dl                        ;// length increment, km
 110    double dldz                      ;// differential length per height
 111  
 112    double v     = V0                ;// rotor velocity km/s
 113    double v0                        ;// old velocity km/s
 114 
 115    double vx, vz                    ;// velocity components, km/s printout
 116    double vz0   = V0*sin(rad0)      ;// vertical rotor velocity km/s printout
 117    double vx0   = V0*cos(rad0)      ;// horizontal rotor velocity km/s printout
 118 
 119    double mv    = 2.0*V0*M0         ;// mass flow rate, constant! tonne-km/sec
 120    double mt0   = 2.0*M0*TRATIO     ;// mass of two tracks, tonnes/km
 121 
 122    double maggnd = MAGGND*V0*V0     ;// magnet radius near ground, km
 123    double magtop = MAGTOP*V0*V0     ;// magnet radius near platform, km
 124 
 125    double r                         ;// radius from center of earth, km
 126    double a                         ;// radial acceleration (down), km/s2
 127    double a0    = MU/(RE*RE)        ;// gravitational accel. at surface km/s2
 128           a0   -= om2*RE            ;// minus rotation centrifugal accel
 129    double eg2                       ;// 2* grav/rot potential diff GJ/tonne
 130    double eg20 =om2*RE*RE-2.0*MU/RE ;// potential at surface GJ/tonne
 131 
 132    int    i                         ;// inner loop index
 133    int    stop = 0                  ;// outer loop stop flag
 134 
 135    FILE   *datfile                  ;// data file
 136    char   name[128]                 ;// working string name
 137 
 138    sprintf( name, "%s.dat", NAME )  ;// data file name
 139    datfile = fopen( name, "wb" )    ;// gnuplot data file, x z pairs
 140 
 141    sprintf( name, "%s.c", NAME )    ;// source file name
 142 
 143    for( ;; ) {                       // break loop with if statements
 144       fprintf( datfile,
 145              "%9.3f%9.3f\n", x, z ) ;// print to gnuplot data file
 146 
 147       for( i=0 ; i<NSTEP ; i++ ) {   // inner loop
 148 
 149          // all this is from the previous iteration:
 150 
 151          v0    = v                  ;// save old velocity
 152          T0    = T                  ;// save old tension
 153 
 154          dldz  = sqrt(1.0+dxdz*dxdz);// l^2 = x^2 + y^2
 155          dx    = dxdz * dz          ;//
 156          dl    = dldz * dz          ;//
 157 	 dtime = dl/v               ;// transit time for dl at velocity v
 158          
 159          mt    = mt0+T/MYURI        ;// track/tube weight 
 160          mr    = mv /  v            ;// rotor density increases with height
 161 
 162          x    += dx                 ;// horizontal km
 163          z    += dz                 ;// vertical km
 164          l    += dl                 ;// total length km
 165          time += dtime              ;// total time seconds
 166          sumt += dl * mt            ;// total track mass tonnes
 167          sumr += dl * mr            ;// total rotor mass tonnes
 168 
 169          // start of new iteration, dz higher.  What is new acceleration
 170          // and velocity and slope at the top of the new segment?
 171 
 172          r     = RE + z             ;// earth radius from altitude
 173          a     = MU/(r*r)           ;// gravitational acceleration at altit. z
 174          a    -= om2*r              ;// minus centrifugal acceleration
 175          eg2   = om2*r*r -2.0*MU/r  ;// twice the potential difference
 176          eg2  -= eg20               ;// minus the ground potential difference
 177          v     = sqrt(V0*V0-eg2)    ;// velocity, reduced by potential difference
 178 
 179          // we know from Archimedes' "chain hanging down a slope"
 180          // thought experiment that the track tension increases by the
 181          // extra vertical weight of track, not the horizontal weight
 182 
 183          T    += dz*a*mt            ;//
 184  
 185          // The total force pushing this segment horizontally (in the
 186          // X direction) is zero.
 187          //
 188          // A force of mv*v0-T0 is pushing on the segment from below.
 189          // The horizontal portion of that, pushing in the plus x
 190          // direction, is (dx0/dl0)*(mv*v0-T0).  mv is constant, v0
 191          // (rotor speed) is a function only of gravitational height,
 192          // and T0 is the accumulated tension, computed previously.
 193          // We have also already computed the previous derivative,
 194          // dx0/dl0 AKA dxdl0.  
 195          //
 196          // The force pushing on the segment from above is (dx/dl)*(mv*v-T)
 197          // As before, we know mv, v, and T.
 198          //
 199          // The horizontal forces are equal and opposite:
 200          // (dxdl)*(mv*v-T) = (dxdl0)*(mv*v0-T0)
 201          // 
 202          // From this, we can compute dxdl:
 203          // dxdl = (dxdl0)*(mv*v0-T0)/(mv*v-T)
 204          //
 205          // But what we really care about is dxdz, the increment of the
 206          // horizontal extent of the incline. 
 207          //
 208          // dl is the pythagorean sum of dx and dz:
 209          //
 210          // dl^2    = dz^2 + dx^2
 211          //
 212          // Compute dxdl from dxdz:
 213          //
 214          // dxdl^2  = dx^2      / dl^2 
 215          // dxdl^2  = dx^2      / ( dz^2      + dx^2      )
 216          // dxdl^2  = dx^2/dz^2 / ( dz^2/dz^2 + dx^2/dz^2 )
 217          // dxdl^2  = dxdz^2    / ( 1         + dxdz^2    ) 
 218          //
 219          // Compute dxdz from dxdl:
 220          //
 221          // dxdz^2  = dxdl^2    / ( 1         - dxdl^2    )
 222          //
 223          // Lastly, remember that
 224          //
 225          // dx/dl = (dx/dz) / (dl/dz)
 226          // 
 227          // Now we know enough to perform the new dxdz calculation.
 228          // This is easier to compute if we square both sides.
 229          //
 230          // tmp  = dxdl^2 = ( (dxdz/dldz)*(mv*v0-T0)/(mv*v-T) )^2
 231          // dxdz = sqrt( tmp / ( 1 - tmp ) )
 232          //
 233          // Cumulative build simplifies juggling terms for experiments. 
 234          // The compiler will optimize this sequence.
 235 
 236          tmp   = 1.0                ;//
 237          tmp  *= mv*v0 - T0         ;// old compression
 238          tmp  /= mv*v  - T          ;// ratio of old over new compression
 239          tmp  *= dxdz/dldz          ;// aka dx/dl, from previous iteration
 240          tmp  *= tmp                ;// cheap square -> new (dxdl)^2
 241          dxdz  = sqrt(tmp/(1.0-tmp));// new dxdz
 242 
 243          if( z > ztop ) { stop=1 ;  break; }  // break out of inner loop
 244 
 245       } // inner loop
 246 
 247       if(  stop==1 ) {  break; }     // break out of outer loop, cheezy!
 248 
 249    } // outer print loop
 250 
 251    fclose( datfile );  // close gnuplot data file
 252 
 253    // loops end up with T, x, z, l, dxdz, sumt, sumr, time, mt
 254 
 255    // compute platform parameters
 256 
 257    vz    = v / dldz               ;// platform interface vertical V
 258    vx    = dxdz * vz              ;// platform interface horizontal v
 259 
 260    double dzdx     = 1.0/dxdz     ;//
 261    double ang      = atan(dzdx)   ;// platform half angle radians
 262    double dang     = ang / d2r    ;// platform half angle degrees
 263 
 264    double p_rotor  = 2.0*ang      ;// rotor under platform angle, radians
 265           p_rotor *= mr*magtop    ;// rotor under platform rmass
 266    double p_long   = magtop       ;// platform magnet radius, km
 267           p_long  *= 2.0*sin(ang) ;// platform width, km 
 268    double p_bulge  = magtop       ;// platform magnet radius, km
 269           p_bulge *= 1.0-cos(ang) ;// platform bulge height, km
 270    double p_high   = p_bulge      ;//
 271           p_high  += PLAT         ;// platform center height, km
 272    double p_force  = 2.0*mv*vz    ;// raw platform force, MN
 273           p_force -= a*p_rotor    ;// subtract rotor weight
 274           p_force -= 2.0*T/dldz   ;// subtract tension force
 275    double p_mass   = p_force/a    ;// platform mass, tonnes
 276 
 277    // estimate rotor speed and compression at top of platform bulge
 278 
 279    double vt       =v-a*p_bulge/v ;// rotor velocity at top of bulge
 280    double compr    = V0/vt        ;// rotor compression factor to edge
 281 
 282    // compute ramp parameters
 283 
 284    double r_deep   = 1.0-cos(rad0);// depth, arbitrary units
 285    double r_deeph  =1.0-r_deep/2.0;// half depth, arbitrary units
 286           r_deep  *= maggnd       ;// depth in kilometers
 287    double a_deeph  = acos(r_deeph);// half depth angle
 288    double r_tgnd   = 2.0*a_deeph  ;// down and up radians
 289           r_tgnd  += rad0         ;// ramp up radians
 290           r_tgnd  *= 4.0          ;// 4 ramps
 291           r_tgnd  += pi2          ;// 2 ambits
 292           r_tgnd  *= maggnd       ;// total turnaround length
 293 
 294    // pre-deployed rotor length on surface
 295    double l_flat   = sin(rad0)    ;// ramp horizontal
 296           l_flat += 2.0*sin(a_deeph);// down and up horizontal
 297    double x_tot    = 2.0*l_flat   ;// surface end to end
 298           l_flat  *= 4.0          ;// 4 of these sections
 299           l_flat  += pi2          ;// turnarounds
 300           x_tot   += 2.0          ;// turnarounds
 301           l_flat  *= maggnd       ;// total length of ends
 302           x_tot   *= maggnd       ;// surface end to end
 303           l_flat  += 4.0*x        ;// horizontal part of incline
 304           x_tot   += 2.0*x        ;// surface end to end
 305           l_flat  += 2.0*p_long   ;// platform length
 306           x_tot   += p_long       ;// surface end to end
 307 
 308     // deployed length
 309    double l_dep    = r_tgnd       ;// all the ground stuff
 310           l_dep   += 2.0*p_long   ;// the platform
 311           l_dep   += 4.0*l        ;// incline length
 312 
 313    double stretch  = l_dep/l_flat ;// deployment stretch
 314 
 315           sumt    *= 2.0          ;// track mass, east and west 
 316           sumr    *= 2.0          ;// rotor mass, east and west 
 317 
 318    // cost estimate
 319 
 320    double cgnd    = M0*r_tgnd     ;// length*mass ground magnets
 321           cgnd   *= CGND          ;// ground magnet "cost"
 322    double cplat   = CTOP*p_rotor  ;// platform magnet "cost"
 323    double cincl   = M0*4.0*l      ;// total incline length and weight
 324           cincl  *= CINCL         ;// incline "cost"
 325    double ctot = cgnd+cincl+cplat ;// total "cost"
 326 
 327    // print out results ---------------------------------------------------
 328 
 329    printf("\n");
 330    printf("||<-6>'''Design parameters'''            %56s ||\n", " "    );
 331    printf("||Design Tensile Strength ||%8.2f||!MegaYuri  "    , MYURI  );
 332    printf("||Platform Height         ||%8.2f|| km        ||\n", PLAT   );
 333    printf("||Surface angle           ||%8.2f|| degrees   "    , DEG0   );
 334    printf("||Track to Rotor ratio    ||%8.3f||           ||\n", TRATIO );
 335    printf("||<-6>'''Ground'''                       %56s ||\n", " "    );
 336    printf("||1dir rotors lineal dens.||%8.2f|| kg/m      "    , M0     );
 337    printf("||Rotor ground speed      ||%8.3f|| km/s      ||\n", V0     );
 338    printf("||Gnd horizontal velocity ||%8.2f|| km/s      "    , vx0    );
 339    printf("||Gnd vertical velocity   ||%8.2f|| km/s      ||\n", vz0    );
 340    printf("||ground ramp depth       ||%8.3f|| km        "    , r_deep );
 341    printf("||grav. and centrif. accel||%8.3f|| m/s^2^    ||\n", a0*1e3 );
 342    printf("||<-6>'''Incline'''                      %56s ||\n", " "    );
 343    printf("||Incline horiz. distance ||%8.2f|| km        "    , x      );
 344    printf("||Incline vert. distance  ||%8.2f|| km        ||\n", z      );
 345    printf("||Incline length          ||%8.2f|| km        "    , l      );
 346    printf("||Incline time            ||%8.2f|| sec       ||\n", time   );
 347    printf("||Incline total track mass||%8.2f|| tonnes    "    , sumt   );
 348    printf("||Incline total rotor mass||%8.2f|| tonnes    ||\n", sumr   );
 349    printf("||<-6>'''Platform interface'''           %56s ||\n", " "    );
 350    printf("||track tension           ||%8.2f||!MegaNewton"    , T      );
 351    printf("||track lineal dens.      ||%8.3f|| kg/m      ||\n", mt     );
 352    printf("||rotor lineal dens.      ||%8.3f|| kg/m      "    , mr     );
 353    printf("||angle                   ||%8.2f|| degrees   ||\n", dang   );
 354    printf("||rotor speed             ||%8.3f|| km/s      "    , v      );
 355    printf("||rotor compression       ||%8.4f||           ||\n", compr  );
 356    printf("||horizontal velocity     ||%8.3f|| km/s      "    , vx     );
 357    printf("||vertical velocity       ||%8.3f|| km/s      ||\n", vz     );
 358    printf("||grav. and centrif. accel||%8.3f|| m/s^2^    "    , a*1e3  );
 359    printf("||end to end length       ||%8.3f|| km        ||\n", x_tot  );
 360    printf("||total rotor length      ||%8.3f|| km        "    , l_dep  );
 361    printf("||deployment stretch      ||%8.3f||           ||\n", stretch);
 362    printf("||<-6>'''Platform'''                     %56s ||\n", " "    );
 363    printf("||platform length         ||%8.3f|| km        "    , p_long );
 364    printf("||platform center height  ||%8.3f|| km        ||\n", p_high );
 365    printf("||platform mass           ||%8.0f|| tonnes    "    , p_mass );
 366    printf("||<-3>                                   %6s  ||\n", " "    );
 367    printf("||<-6>'''Estimated costs, arbitrary units'''%54s||\n", " "  );
 368    printf("||cost of ground magnets  ||%8.0f|| cost unit "    , cgnd   );
 369    printf("||cost of inclines        ||%8.0f|| cost unit ||\n", cincl  );
 370    printf("||cost of platform magnets||%8.0f|| cost unit "    , cplat  );
 371    printf("||cost total              ||%8.0f|| cost unit ||\n", ctot   );
 372    printf("||<-6>computed with [[attachment:%s|%s]]  ||\n", name, name );
 373    printf("\n");
 374 
 375    // print out summary ---------------------------------------------------
 376    // DEG0, V0, M0, p_long, p_mass, r_deep, c_tot
 377 
 378    printf("||<-7>%7.2f km platform edge height %24s||\n",
 379                   PLAT,                         " " );
 380    printf("||<-7>%7.3f MYuri design load,%7.3f Track/Rotor mass ratio||\n",
 381                   MYURI,                  TRATIO    );
 382    printf("|| ramp  ||depth||Vrotor||Mrotor||platform||platform||  cost  ||\n");
 383    printf("||degrees|| km  || m/s  || kg/m ||leng.km || tonnes ||relative||\n");
 384    printf("||%6.2f ||%5.3f||%6.3f||%6.3f|| %5.2f  ||%7.0f ||%8.0f||\n",
 385              DEG0,   r_deep, V0,     M0,    p_long,    p_mass,   ctot );
 386    printf("\n");
 387 }

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] (2011-07-12 03:49:56, 1617.6 KB) [[attachment:Arecibo.png]]
  • [get | view] (2011-07-12 04:58:30, 51.9 KB) [[attachment:BenClimber.png]]
  • [get | view] (2011-07-13 00:44:55, 216.0 KB) [[attachment:CloudCover.png]]
  • [get | view] (2011-07-12 03:49:58, 37.0 KB) [[attachment:DeflDistrib.png]]
  • [get | view] (2011-07-12 03:49:57, 40.4 KB) [[attachment:DeflDistrib2.png]]
  • [get | view] (2011-07-12 03:49:58, 30.3 KB) [[attachment:DeflHorseshoe.png]]
  • [get | view] (2011-07-12 03:49:56, 45.5 KB) [[attachment:Defl_1k_100m.png]]
  • [get | view] (2011-07-12 03:49:57, 56.2 KB) [[attachment:Defl_1k_1m.png]]
  • [get | view] (2011-07-12 03:49:57, 74.4 KB) [[attachment:Defl_1k_2m.png]]
  • [get | view] (2011-07-13 05:02:36, 55.2 KB) [[attachment:Force01.png]]
  • [get | view] (2011-07-13 05:02:37, 47.6 KB) [[attachment:Force02.png]]
  • [get | view] (2011-07-13 05:02:37, 87.1 KB) [[attachment:Force03.png]]
  • [get | view] (2011-07-13 05:02:37, 112.6 KB) [[attachment:Force04.png]]
  • [get | view] (2011-10-12 17:12:54, 1517.6 KB) [[attachment:JMK.zip]]
  • [get | view] (2011-07-21 02:03:21, 37.3 KB) [[attachment:Laser.png]]
  • [get | view] (2011-07-13 00:44:54, 777.5 KB) [[attachment:Lightning.png]]
  • [get | view] (2011-07-13 00:44:52, 110.1 KB) [[attachment:Lightning2.jpg]]
  • [get | view] (2011-07-27 01:36:58, 458.1 KB) [[attachment:Loop.png]]
  • [get | view] (2011-07-20 05:28:59, 2308.6 KB) [[attachment:Observation.png]]
  • [get | view] (2011-07-14 03:23:23, 18.1 KB) [[attachment:Oval.png]]
  • [get | view] (2011-07-21 22:36:54, 436.3 KB) [[attachment:Platform.png]]
  • [get | view] (2011-07-27 01:36:57, 3194.6 KB) [[attachment:Platform_4K.png]]
  • [get | view] (2011-07-13 00:44:57, 686.2 KB) [[attachment:Rain.png]]
  • [get | view] (2011-07-21 06:38:00, 59.0 KB) [[attachment:Simplified.png]]
  • [get | view] (2011-07-27 01:36:51, 237.8 KB) [[attachment:Surface.png]]
  • [get | view] (2011-07-27 01:36:51, 431.6 KB) [[attachment:Title.png]]
  • [get | view] (2011-07-12 03:49:59, 171.5 KB) [[attachment:TrackRotor.png]]
  • [get | view] (2011-07-12 15:28:22, 11.7 KB) [[attachment:Wind.png]]
  • [get | view] (2011-07-12 15:42:16, 37.8 KB) [[attachment:WindP.jpg]]
  • [get | view] (2011-07-12 18:37:28, 61.6 KB) [[attachment:WindP2.png]]
  • [get | view] (2011-07-12 15:32:19, 22.0 KB) [[attachment:WindPressure.png]]
  • [get | view] (2013-09-23 21:54:59, 147.7 KB) [[attachment:crofta.png]]
  • [get | view] (2013-09-24 05:05:31, 236.8 KB) [[attachment:gard.png]]
  • [get | view] (2012-07-20 16:42:30, 21.3 KB) [[attachment:grha3.png]]
  • [get | view] (2011-07-21 02:03:03, 171.5 KB) [[attachment:incline05.png]]
  • [get | view] (2011-07-13 19:26:29, 229.2 KB) [[attachment:incline06.png]]
  • [get | view] (2011-07-21 02:14:08, 192.4 KB) [[attachment:incline13.png]]
  • [get | view] (2011-07-21 03:46:37, 17.9 KB) [[attachment:plat03.c]]
  • [get | view] (2011-07-27 01:36:58, 24.2 KB) [[attachment:radar.png]]
  • [get | view] (2013-09-23 20:19:25, 161.3 KB) [[attachment:sample1.png]]
  • [get | view] (2012-11-30 06:00:36, 10446.9 KB) [[attachment:slide.zip]]
 All files | Selected Files: delete move to page

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