Contents
Momentum unloading with magnetic torque
Perform a long-term simulation of just the momentum unloading using magnetic torque. Performs Euler integration of the momentum vector in the ECI frame. This shows how the 3 axis torque is met over the course of the orbit depsite the mismatch at each time step.
See also MomentumUnloading, PlotOrbit, Period, RVOrbGen, BDipole, Figui, TimeHistory, Date2JD, Skew
%-------------------------------------------------------------------------- % Copyright (c) 2025 Princeton Satellite Systems, Inc. % All rights reserved. %-------------------------------------------------------------------------- % Since version 2025.1 %-------------------------------------------------------------------------- % Momentum control gain gain = 0.001; % Initial momentum (Nms) h = [1;1;1]; % Spacecraft semi-major axis sMA = 6728; % km jD0 = Date2JD([2029 6 1]); n = 10000; % Number of steps % Orbit el = [sMA 28.573469*pi/180 pi 0 0 0]; p = Period(sMA); t = linspace(0,100*p,n); [r,v,t] = RVOrbGen(el,t); jD = jD0 + t/86400; b = BDipole(r,jD);
Run the simulation
xP = zeros(15,n); for k = 1:n [tM, m, ~, tD] = MomentumUnloading( b(:,k), gain, h ); xP(:,k) = [b(:,k);m;h;tD;tM]; h = h + dT*tM; % Euler integration end
Plotting
yL = {'B_x (T) ' 'B_y (T)' 'B_z (T)' ... 'M_x (ATM) ' 'M_y (ATM)' 'M_z (ATM)' ... 'H_x (Nms) ' 'H_y (Nms)' 'H_z (Nms)' ... 'T_{d_x} (Nm)' 'T_{d_y} (Nm)' 'T_{d_z} (Nm)'... 'T_{m_x} (Nm)' 'T_{m_y} (Nm)' 'T_{m_z} (Nm)'}; PlotOrbit(r,t,jD0); k = 1:6; TimeHistory(t,xP(k,:),yL(k),'B and M'); k = 4:9; TimeHistory(t,xP(k,:),yL(k),'H and M'); k = 10:15; TimeHistory(t,xP(k,:),yL(k),'Torque Demand and Magnetic'); Figui %-------------------------------------- % $Id: f71ed867fad289172a702d47fd815a64a6ea6bb9 $




