Spacecraft Control Framework 1.0
Spacecraft Control Library
Public Member Functions | List of all members
AtmJ70 Class Reference

Class implementing the Jacchia 1970 atmospheric density model. More...

#include <sc_atmJ70.h>

Public Member Functions

 AtmJ70 (void)
 Constructor.
 
 AtmJ70 (double aP, double f, double fHat, double fHat400)
 Constructor with parameters.
 
 AtmJ70 (double jD, int kTiming, int kSigma, const char fileName[])
 Constructor using solar flux model. More...
 
bool Initialize (double jD, int kTiming, int kSigma, const char fileName[])
 Initialize. More...
 
void Update (double jD, ml_matrix rECI)
 Update the model. More...
 
double GetDensity (void)
 Get the density.
 
double GetNumberDensityOfHelium (void)
 Get the number density of helium.
 
double GetNumberDensityOfArgon (void)
 Get the number density of argon.
 
double GetNumberDensityOfNitrogen (void)
 Get the number density of nitrogen.
 
double GetNumberDensityOfOxygen (void)
 Get the number density of oxygen.
 
double GetNumberDensityOfMonatomicOxygen (void)
 Get the number density of monatomic oxygen.
 
double GetTemperature (void)
 Get the temperature.
 
double GetMeanMolecularMass (void)
 Get the mean molecular mass.
 

Detailed Description

Class implementing the Jacchia 1970 atmospheric density model.

Reference: Models of the Earth's Atmosphere (90 to 2500 kM) NASA SP-8021. Roberts, C.E. Jr, "An Analytic Model for Upper Atmosphere Densities Based Upon Jacchia's 1970 Models", Celestial Mechanics Vol. 4, 1971, pp. 368-377.

Constructor & Destructor Documentation

◆ AtmJ70()

AtmJ70::AtmJ70 ( double  jD,
int  kTiming,
int  kSigma,
const char  fileName[] 
)

Constructor using solar flux model.

Construct the J70 model.

Parameters
jDJulian date
kTimingTiming of solar cycle for J70, can be 0, 1 or 2 (nominal, early, late)
kSigmaError bars for J70. Can be 0, 1 or 2 (nominal, +2 sig, -2 sig)
fileNamePath to file containing solar flux predictions data

Member Function Documentation

◆ Initialize()

bool AtmJ70::Initialize ( double  jD,
int  kTiming,
int  kSigma,
const char  fileName[] 
)

Initialize.

Initialize the J70 model.

Parameters
jDJulian date
kTimingTiming of solar cycle for J70, can be 0, 1 or 2 (nominal, early, late)
kSigmaError bars for J70. Can be 0, 1 or 2 (nominal, +2 sig, -2 sig)
fileNamePath to file containing solar flux predictions data

Referenced by AtmJ70ToGround::Initialize().

◆ Update()

void AtmJ70::Update ( double  jD,
ml_matrix  rECI 
)

Update the model.

Update the density model using a new ECI location and Julian date.

Parameters
jDJulian date
rECIECI position in km

References jd_to_day_number(), RADIANS_TO_DEGREES, RADIUS_EARTH, and sun_vector().

Referenced by AtmJ70ToGround::Update().