Fastest possible Mars one-way trip with fusion propulsion
This performs a planar optimization for a large-payload trip to Mars.
------------------------------------------------------------------------- See also PlanarHelioOptimal, SimulatePlanarHelioTrajectory, StraightLineReport -------------------------------------------------------------------------
Contents
%-------------------------------------------------------------------------- % Copyright (c) 2018 Princeton Satellite Systems, Inc. % All rights reserved. %--------------------------------------------------------------------------
Setup
AU = Constant('au'); YEAR = 365.25*86400; uExhaust = 80; % km/s sigma = 330; % W/kg eta = 1; % Total fusion power to thrust fS = 0.05; % tank fraction dAU = 1.5; payload = 50000; % payload mass (kg) nYears = 100/365.25; % transit time in years repeatPrevious = false;
Shortest possible trip
% Default structure d = PlanarHelioOptimal; d.sigma = sigma; % specific power, W/kg d.eta = eta; % thrust efficiency d.uE = uExhaust; % exhaust velocity, km/s d.f = fS; % fuel structural fraction (tanks) d.dVF = 0; % radial not tangential? can make soln WORSE tRet = nYears*YEAR; d.r0 = 1*AU; d.rF = dAU*AU; d.tF = nYears*YEAR; d.mP = payload; % payload mass (kg) d.scale = [1;1e3;1e3]; d.nPts = 25; if repeatPrevious [phi, thrust, t, data] = PlanarHelioOptimal( d, 4000, 'iter-detailed', thrust1, phi1 ); else [phi, thrust, t, data] = PlanarHelioOptimal( d, 4000, 'notify' ); end [~,x1] = SimulatePlanarHelioTrajectory( data.mD, data.mF, thrust, d.uE,... d.r0, d.rF, d.mu, phi, t ); h1 = findobj('name','Optimization PlotFcns'); set(h1,'name','Fast Mars Trip Optimization') data.fmincon ret.dT = d.tF; ret.dTheta = data.xEnd(end); fprintf('Trip duration: %g days\n',d.tF/86400); fprintf('Trip angle: %g deg\n',ret.dTheta*180/pi); fprintf('Mars angle: %g deg\n',x1(2,end)*180/pi); rXY = x1(1,:).*[cos(x1(2,:));sin(x1(2,:))]; dX = rXY(:,2:end) - rXY(:,1:end-1); s = sum(Mag(dX)); fprintf('Total distance traveled: %g AU\n\n',s); StraightLineReport(data) repeatPrevious = true; %-------------------------------------- % $Id: 5669bcb20a0529f7c03f9b2158065f6307f5ac8f $
1156 14.548 32.03 1.8349 -2.1828e-11
1156 14.548 32.03 1.8349 -2.1828e-11
325.29 4.5049 28.955 1.3777 9.5497e-12
321.14 4.3144 28.757 1.3824 1.6371e-11
321.64 2.5418 27.589 1.3886 0
321.92 1.7315 27.115 1.3888 1.2278e-11
322.57 1.1984 26.629 1.3973 1.9554e-11
324.44 0.98179 26.26 1.4024 -1.5007e-11
340.63 2.3 24.4 1.4395 -9.5497e-12
400.57 0.9812 24.51 1.4524 -2.4556e-11
382.24 1.5368 24.259 1.4611 1.728e-11
461.03 3.1485 24.442 1.4853 -1.8645e-11
495.13 1.418 23.828 1.4916 -3.0013e-11
548.55 0.85891 24.019 1.4964 1.0004e-11
620.12 0.15797 24.305 1.4975 5.457e-11
617.12 0.03756 24.353 1.499 -6.3665e-12
579.12 0.2724 24.326 1.5003 -3.638e-11
584.74 -0.010278 24.328 1.5001 1.9099e-11
575.53 0.00041651 24.319 1.5 1.728e-11
571.59 0.00014625 24.319 1.5 0
570.16 6.7186e-05 24.319 1.5 -1.9099e-11
570.2 9.6671e-05 24.319 1.5 -1.819e-11
569.75 -0.0001095 24.319 1.5 -2.4556e-11
569.29 -1.9337e-05 24.319 1.5 2.4556e-11
569.32 -8.8005e-06 24.319 1.5 -2.8194e-11
569.12 -2.4819e-06 24.319 1.5 2.4556e-11
569.15 7.8729e-07 24.319 1.5 -3.7289e-11
569.1 -1.205e-06 24.319 1.5 2.4556e-11
569.04 -1.9479e-07 24.319 1.5 -2.2737e-11
569.03 1.3791e-08 24.319 1.5 1.9099e-11
569.03 -3.5606e-08 24.319 1.5 -3.638e-11
569.03 4.4637e-08 24.319 1.5 -1.728e-11
569.02 4.1149e-08 24.319 1.5 1.0914e-11
569.02 4.913e-09 24.319 1.5 1.9099e-11
569.02 -1.8697e-08 24.319 1.5 2.0918e-11
569.02 1.6294e-08 24.319 1.5 1.9099e-11
569.01 7.0745e-05 24.319 1.5 -8.1855e-12
569.01 7.0745e-05 24.319 1.5 -8.1855e-12
Planar optimization results:
----------------------------
Destination: 1.5 AU
sigma: 330 W/kg
uE: 80 km/s
eta: 1
f: 0.05
Duration: 100.0 days
Thrust: 569.0 N
Distance error: 0.083 km
Velocity errors: [7.07445e-05;-2.78941e-06] km/s
Payload: 50000 kg
Engine: 68971.2 kg
Dry mass: 122044 kg
Fuel: 61453.3 kg
Total mass: 183497 kg
Total DV: 32.6255 km/s
Power: 22.7605 MW
Mars Angle: 76.5579 deg
Earth Angle: 98.5626 deg
ans =
struct with fields:
iterations: 36
funcCount: 2182
constrviolation: 0.082825
stepsize: 1.5599e-06
algorithm: 'interior-point'
firstorderopt: 0.084235
cgiterations: 326
message: 'Local minimum possible. Constraints satisfied.↵↵fmincon stopped because the size of the current step is less than↵the value of the step size tolerance and constraints are ↵satisfied to within the value of the constraint tolerance.↵↵<stopping criteria details>↵↵Optimization stopped because the relative changes in all elements of x are↵less than options.StepTolerance = 1.000000e-06, and the relative maximum constraint↵violation, 1.652958e-09, is less than options.ConstraintTolerance = 5.000000e-05.'
bestfeasible: []
Trip duration: 100 days
Trip angle: 76.5579 deg
Mars angle: 76.5579 deg
Total distance traveled: 1.69143 AU
Report:
Inputs -- --
Payload 50000 kg
Travel time 0.27 years
Specific Power 0.33 kW/kg
Exhaust velocity 80 km/s
Thrust Efficiency 1.00
Fuel Fraction 0.05
Outputs -- --
Thrust 569.01 N
Total Mass 183497.17 kg
Mass Dry 122043.84 kg
Mass Engine 68971.18 kg
Mass Fuel 61453.32 kg
Flow Rate 7.11 g/s
Power 22.76 MW
Delta V 32.63 km/s
Final Distance 1.50 AU
Final Velocity 24.32 km/s