Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- GRAV_STD = 9.80665; // m/s2
- MUL_KILO = 1000.0;
- MUL_MEGA = 1000.0*1000.0;
- MUL_MILLI = 1.0/1000.0;
- MILLIMETER_PER_METER = 1000.0;
- MM2_PER_M2 = 1000.0 * 1000.0; // millimeter² per m²
- M3_TO_CM3 = 1000000.0; // cubic meter to cubic centimeter: (100*100*100) = 1 million
- SEC_PER_HOUR = 3600.0;
- function KgToNewton (kg) { return kg*GRAV_STD; }
- function CircleAreaFromRadius (r) { return Math.PI * r * r; }
- function CircleAreaFromDiameter (d) { return CircleAreaFromRadius(d*0.5); }
- EARTH_RADIUS_KM = 6371.0; // MEAN
- EARTH_RADIUSEQ_KM = 6378.1; // Equatorial
- EARTH_CIRCUMFERENCE_KM = 2.0 * Math.PI * EARTH_RADIUS_KM;
- EARTH_SURFACE_SPEED_EQUATOR_KM_PER_SEC = EARTH_CIRCUMFERENCE_KM / (24.0 * SEC_PER_HOUR);
- function f0 (f) { return Math.round(f); }
- function f1 (f) { return Math.round(f*10.0)/10.0; }
- function f2 (f) { return Math.round(f*100.0)/100.0; }
- function f3 (f) { return Math.round(f*1000.0)/1000.0; }
- // console.log("EARTH_SURFACE_SPEED_EQUATOR ="+EARTH_SURFACE_SPEED_EQUATOR_KM_PER_SEC+" km/s");
- // console.log("ghoulspace N/kg="+KgToNewton(1)+" pi="+Math.PI);
- // console.log("ghoulspace circle 1 meter = "+CircleAreaFromDiameter(1.0));
- // console.log("");
- // tenstr in MPa (megapascal, 1 Pa = 1 N / m²)
- // density in g/cm³
- function MatTestPayloadAlt (payload_kg,altitude_km,name,tenstr,density)
- {
- var diam_mm = 0.5;
- var restlen_km = altitude_km;
- var weightsum_kg = payload_kg;
- var altsum_km = 0.0;
- var bFirstSec = true;
- while (true) {
- diam_mm = diam_mm * Math.sqrt(2.0);
- var dia_m = diam_mm * MUL_MILLI;
- var area_m2 = CircleAreaFromDiameter(dia_m);
- var tenstr_pa = tenstr * MUL_MEGA;
- var brforce_n = tenstr_pa * area_m2;
- var brweight_kg = brforce_n/GRAV_STD;
- var volume_per_meter_in_m3 = area_m2*1.0;
- var weight_per_meter_in_kg = density * (volume_per_meter_in_m3 * M3_TO_CM3) / MUL_KILO;
- var weight_per_km_in_kg = 1000.0*weight_per_meter_in_kg;
- var brlengthE_km = (brweight_kg) / weight_per_km_in_kg; // wiki number total
- var brlength_km = (brweight_kg - weightsum_kg) / weight_per_km_in_kg;
- if (brlength_km < 0.0 && bFirstSec) continue;
- if (brlength_km < 0.0) { console.log("MatTest "+name+" d="+diam_mm+"mm: fail brkg="+brweight_kg+" wsum="+weightsum_kg); break; }
- bFirstSec = false;
- var uselen_km = brlength_km;
- if (uselen_km > restlen_km) uselen_km = restlen_km;
- altsum_km += uselen_km;
- restlen_km -= uselen_km;
- var useweight_kg = uselen_km * weight_per_km_in_kg;
- weightsum_kg += useweight_kg;
- console.log(" section "+payload_kg+"kg "+altitude_km+"km "+name+" d="+f2(diam_mm)+"mm (br="+f0(brweight_kg)+"kg) x "+f0(uselen_km)+"km ("+f0(useweight_kg)+"kg) tether="+f0(weightsum_kg-payload_kg)+"kg");
- if (restlen_km <= 0.0) {
- console.log("MatTest "+payload_kg+"kg "+altitude_km+"km "+name+" ("+tenstr+"MPa "+density+"g/cm^3 bL="+f0(brlengthE_km)+"km) d="+f2(diam_mm)+"mm tether="+f0(weightsum_kg-payload_kg)+"kg");
- break;
- }
- }
- // console.log("");
- }
- function MatTest (name,tenstr,density)
- {
- MatTestPayloadAlt(500.0,350,name,tenstr,density);
- }
- MatTest("Zylon", 5800.0,1.56);
- // MatTest("Aramid(Yield)", 3620.0,1.44);
- // MatTest("Dyneema", 3600.0,0.97);
- // MatTest("Kevlar", 3620.0,1.44);
- // MatTest("Vectran", 2900.0,1.40);
Advertisement
Add Comment
Please, Sign In to add comment