Demonstrate the solar pressure force function using a striped sail quadrant.

Plots the force and temperature on each area element. Uses the material properties of uniform CP1.

Since version 7.
------------------------------------------------------------------------
See also SolarPressureForce, StripedQuadrant, CP1Props., PolygonProps,
Plot2D, Dot, Mag, Unit, SolarFlx
------------------------------------------------------------------------

Contents

%-------------------------------------------------------------------------------
%	 Copyright 2007 Princeton Satellite Systems, Inc. All rights reserved.
%-------------------------------------------------------------------------------

Get a striped sail quadrant component (vertices and faces)

%-----------------------------------------------------------
lQuad    = 50; % m
nStripes = 6;
billow   = 0.3;
[v, f]   = StripedQuadrant( lQuad, nStripes, billow );

Obtain the polygon properties from the v/f

%-------------------------------------------
[area, nB] = PolygonProps( v, f );
nEl = length(area);

Other parameters

%-----------------
uSun = [0;0;-1];
flux = SolarFlx( 0.5 );

Material properties for CP1

%----------------------------
[optical, infrared, thermal] = CP1Props;

Compute the force and temperature of each element

%--------------------------------------------------
[f, T, fT] = SolarPressureForce( area', nB', uSun, flux, optical, thermal.emissivity );

Plot the results

%-----------------
Plot2D(1:nEl,[f;T],'Element',{'Force (N)' 'T (K)'},'Element Force and Temperature',...
      'lin',{[1:3],4})
subplot(2,1,1); legend('x','y','z')

Compute the performance of the whole component for a range of angles

%---------------------------------------------------------------------
theta = linspace(0,2*pi);
nPts = length(theta);
uSun = [sin(theta);zeros(size(theta));-cos(theta)];
force = zeros(3,nPts); Tavg = zeros(1,nPts);
for k = 1:nPts
  [f, T, fT] = SolarPressureForce( area', nB', uSun(:,k), flux, optical, thermal.emissivity );
  force(:,k) = fT;
  Tavg(k) = mean(T);
end

Plot the results

%-----------------
Plot2D(theta*180/pi,[force;Mag(force);Tavg],'Sun Incidence Angle',{'Force (N)','Avg Temp (K)'},...
  'Sail Performance','lin',{[1 2 3 4],5})
subplot(2,1,1)
legend('x','y','z','|F|')
angle = acos(Dot(Unit(force),-uSun));
Plot2D(theta*180/pi,angle*180/pi,'Sun Incidence Angle','Angular Offset of Force from Sun Vector (deg)',...
  'Cone Angle')



%--------------------------------------
% PSS internal file version information
%--------------------------------------