#include <SolarRadiationPressure.hpp>
Inheritance diagram for SolarRadiationPressure:


Definition at line 48 of file SolarRadiationPressure.hpp.
Public Types | |
| enum | ShadowModel { SM_CYLINDRICAL, SM_CONICAL } |
Public Member Functions | |
| SolarRadiationPressure () | |
| Default constructor. | |
| virtual | ~SolarRadiationPressure () |
| Default destructor. | |
| double | getShadowFunction (Vector< double > r, Vector< double > r_Sun, Vector< double > r_Moon, SolarRadiationPressure::ShadowModel sm=SM_CONICAL) |
| Determines if the satellite is in sunlight or shadow. | |
| virtual void | doCompute (UTCTime t, EarthBody &bRef, Spacecraft &sc) |
| this is the real one to do computation | |
| virtual std::string | modelName () const |
| Return force model name. | |
| virtual int | forceIndex () const |
| return the force model index | |
| Vector< double > | accelSRP (Vector< double > r, Vector< double > r_Sun) |
| Compute the acceleration due to a solar radiation pressure. | |
| double | partial_illumination (Vector< double > r, Vector< double > r_Sun) |
| Determines if the satellite is in sunlight or shadow based on simple cylindrical shadow model. | |
Protected Attributes | |
| double | crossArea |
| Cross sectional (reflective) area [m^2]. | |
| double | srpArea |
| double | dryMass |
| Mass [kg] of the satellite. | |
| double | reflectCoeff |
| Satellite coefficient of reflectivity. | |
| Vector< double > | dadcr |
| Object hold da/dCr. | |
|
|
Definition at line 51 of file SolarRadiationPressure.hpp. |
|
|
Default constructor.
Definition at line 59 of file SolarRadiationPressure.hpp. |
|
|
Default destructor.
Definition at line 62 of file SolarRadiationPressure.hpp. |
|
||||||||||||
|
Compute the acceleration due to a solar radiation pressure.
Definition at line 190 of file SolarRadiationPressure.cpp. References SolarRadiationPressure::crossArea, gpstk::norm(), and SolarRadiationPressure::reflectCoeff. Referenced by SolarRadiationPressure::doCompute(). |
|
||||||||||||||||
|
this is the real one to do computation
Reimplemented from ForceModel. Definition at line 253 of file SolarRadiationPressure.cpp. References SolarRadiationPressure::accelSRP(), UTCTime::asTDB(), SolarRadiationPressure::crossArea, ForceModel::da_dcr, ForceModel::da_dr, SolarRadiationPressure::dadcr, SolarRadiationPressure::dryMass, Spacecraft::getDragArea(), Spacecraft::getDryMass(), Spacecraft::getReflectCoeff(), SolarRadiationPressure::getShadowFunction(), gpstk::norm(), Spacecraft::R(), SolarRadiationPressure::reflectCoeff, Vector::resize(), and Matrix::resize(). |
|
|
return the force model index
Reimplemented from ForceModel. Definition at line 85 of file SolarRadiationPressure.hpp. |
|
||||||||||||||||||||
|
Determines if the satellite is in sunlight or shadow. Taken from Montenbruck and Gill p. 80-83
Definition at line 46 of file SolarRadiationPressure.cpp. References gpstk::acos(), gpstk::asin(), gpstk::dot(), GPSTK_THROW, gpstk::norm(), and gpstk::sqrt(). Referenced by SolarRadiationPressure::doCompute(). |
|
|
Return force model name.
Reimplemented from ForceModel. Definition at line 81 of file SolarRadiationPressure.hpp. |
|
||||||||||||
|
Determines if the satellite is in sunlight or shadow based on simple cylindrical shadow model. Taken from Montenbruck and Gill p. 80-83
Definition at line 219 of file SolarRadiationPressure.cpp. References gpstk::acos(), gpstk::asin(), gpstk::dot(), gpstk::norm(), and gpstk::sqrt(). |
|
|
Cross sectional (reflective) area [m^2].
Definition at line 110 of file SolarRadiationPressure.hpp. Referenced by SolarRadiationPressure::accelSRP(), and SolarRadiationPressure::doCompute(). |
|
|
Object hold da/dCr.
Definition at line 120 of file SolarRadiationPressure.hpp. Referenced by SolarRadiationPressure::doCompute(). |
|
|
Mass [kg] of the satellite.
Definition at line 114 of file SolarRadiationPressure.hpp. Referenced by SolarRadiationPressure::doCompute(). |
|
|
Satellite coefficient of reflectivity.
Definition at line 117 of file SolarRadiationPressure.hpp. Referenced by SolarRadiationPressure::accelSRP(), and SolarRadiationPressure::doCompute(). |
|
|
Definition at line 111 of file SolarRadiationPressure.hpp. |
1.3.9.1