ThrustModel:

--------------------------------------------------------------------------
   Computes the thruster torques based on an exponential rise
   and fall time model. database is only used if no output arguments
   are entered. 

   Since version 1.
--------------------------------------------------------------------------
   Form:
   [torque, timeSinceCEP, nPulses, firingInfo] = ThrstMdl( dT, thrusterInfo,
   firingInfo, spinRate, nPulses, CEP, timeSinceCEP, database )
--------------------------------------------------------------------------

   ------
   Inputs
   ------
   dT                  Time step
   thrusterInfo (10,n) [tID; riseConst; fallConst; pulsewidth;
                        peakTorque; aFall; aRise; bRise]
   firingInfo    (5,n) [delayFraction; thrusterDelay; thrusterFiring;
                        thrusterTimeOn; thrustLevel]
   spinRate            Spin rate (rad/sec)
   nPulses             Number of pulses to go
   CEP                 True (1) if the sun has just passed through the
                        sensor boresight, false (0) otherwise
   timeSinceCEP        Time since the last CEP


   The following are elements in one of the Info arrays and/or inputs
   to the second form:

   tID            (n)  Thruster IDs 
   riseConst      (n)  Rise time constant
   fallConst      (n)  Fall time constant
   pulsewidth     (n)  Pulsewidth
   aFall          (n)  exp(-dT./fallConst)
   aRise          (n)  exp(-dT./riseConst)
   bRise          (n)  1 - aRise
   peakTorque   (3,n)  Peak torque for each thruster
   delayFraction  (n)  Fraction of a spin period between CEP (sun passing)
                        and each thruster firing
   delay          (n)  Delay from CEP in seconds
   thrusterFiring (n)  Each element is true (1) if that thruster is 
                        firing, false (0) if not
   thrusterTimeOn (n)  Time since each thruster started firing
   thrustLevel    (n)  Current fraction of peak torque being output


   -------
   Outputs
   -------
   torque         (3) Total thruster torque
   timeSinceCEP (1,1) Time since the last CEP
   nPulses      (1,1) (Updated) number of pulses to go
   firingInfo   (5,n) [delayFraction; delay; thrusterFiring;
                       ThrusterTimeOn; thrustLevel]

--------------------------------------------------------------------------

Children:

Common: Graphics/Plot2D
Missions: Comsat/ThrustLevel