Disturbance analysis of two thin plates.

This model mimics the effect of two solar panels which often dominate the disturbances at higher altitudes. The analysis is performed in LEO. Two pointing modes are available: ECI pointing with the arrays towards the sun, and Earth pointing with the plates facing the Earth.

Things to try:

- Vary the orbital parameters - Add an additional rotation to the LVLH pointing

See also BuildFlatPlates, Disturbances, EarthEnvironment

Contents

%--------------------------------------------------------------------------
%  	Copyright (c) 2000-2003, 2015 Princeton Satellite Systems, Inc.
%   All rights reserved.
%--------------------------------------------------------------------------

Parameters

Choose the pointing method and specify the orbit. Load the CAD model from a mat file and display it.

% Pointing Method
%----------------
% Select between Earth and ECI pointing via a flag and clean up workspace
% variables. Set true for Earth pointing and false for ECI pointing.
earthPointing = true;

% Orbital parameters
%-------------------
rOrbit       = 7000;
inclination  = 0.0; % radians
eccentricity = 0.0;

% Load the model and display it
%------------------------------
g = load('FlatPlates');
DrawSCPlanPlugIn(g)
ans =
    'DrawSCPlanPlugIn12      35.5802      98.6104'

Perform the disturbance analysis

We will do 100 samples in a circular low Earth orbit. This will open several windows.

% Get the default data structure to fill in
%------------------------------------------
d = Disturbances( 'defaults' );

% Generate orbit
%---------------
nSamp     = 100;
period    = Period( rOrbit );
jD0       = FindSolsticeOrEquinox( 'spring equinox' );
d.tSamp   = period/nSamp;
elements  = [rOrbit inclination 0 0 eccentricity 0];
t         = linspace(0,period,nSamp);
[d.r,d.v] = RVFromKepler(elements,t);
PltOrbit( elements, jD0 );

% Initialize the disturbance model
%---------------------------------
e  = EarthEnvironment( d.r, d.v, JD2Array( jD0, t ), d );
hD = Disturbances( 'init', g, e );

% Create the transformation matrix arrays
%----------------------------------------
% Align the plates, with a z normal, with the x axis
bZToX = Eul2Mat([0;pi/2;0]);
for k = 1:nSamp
  if( earthPointing )
    g.body(1).bHinge(k).b = Q2Mat( QLVLH( d.r(:,k), d.v(:,k) ))';
  else
    % Point at the sun assuming equinox
    g.body(1).bHinge(k).b = bZToX;
  end
end

% Run the analysis
%-----------------
Disturbances( 'run', g, e, hD );
Figui;

%--------------------------------------