Esempio n. 1
0
//------------------------------------------------------------------------------
// void ShowDerivative(const wxString &header, Real *state, Integer satCount)
//------------------------------------------------------------------------------
void  PointMassForce::ShowDerivative(const wxString &header, Real *state,
                                     Integer satCount)
{
   #if DEBUG_PMF_DERV
      static int debugCount2 = 0;
      static bool showDeriv = true;
      
      if (showDeriv)
      {
         MessageInterface::ShowMessage(wxT("%s\n"), header.c_str());
         MessageInterface::ShowMessage(
            wxT(">>>>>=======================================\n"));
         Integer i6;
         Rvector6 stateVec = Rvector6(state);
      
         for (Integer i = 0; i < satCount; i++) 
         {
            i6 = cartIndex + i * 6;
            MessageInterface::ShowMessage
               (wxT("sc#=%d  state=%s\n"), i, stateVec.ToString().c_str());
         
            MessageInterface::ShowMessage
               (wxT("deriv=%f %f %f %f %f %f\n"), deriv[i6], deriv[i6+1], 
                deriv[i6+2], deriv[i6+3], deriv[i6+4], deriv[i6+5]);
         }
         MessageInterface::ShowMessage(
            wxT("=======================================<<<<<\n"));
         
         debugCount2++;
         if (debugCount2 > 10)
            showDeriv = false;
      }
   #endif
}
Esempio n. 2
0
//---------------------------------------------------------------------------
const Rvector6 Barycenter::GetMJ2000State(const A1Mjd &atTime)
{
   // if it's built-in, get the state from the SpacePoint
   if (isBuiltIn)
   {
      #ifdef DEBUG_BARYCENTER_STATE
         MessageInterface::ShowMessage("Computing state for Barycenter %s, whose builtInSP is %s\n",
               instanceName.c_str(), (builtInSP->GetName()).c_str());
      #endif
      return builtInSP->GetMJ2000State(atTime);
   }
   // otherwise, sum the masses and states
   CheckBodies();
   #ifdef DEBUG_BARYCENTER
      MessageInterface::ShowMessage("Entering BaryCenter::GetMJ2000EqState at time %12.10f\n",
            atTime.Get());
   #endif
   Real     bodyMass = 0.0;
   Rvector3 bodyPos(0.0,0.0,0.0);
   Rvector3 bodyVel(0.0,0.0,0.0);

   Real     weight   = 0.0;
   Rvector3 sumMassPos(0.0,0.0,0.0);
   Rvector3 sumMassVel(0.0,0.0,0.0);
   Rvector6 bodyState;
   Real     sumMass  = GetMass();

   for (unsigned int i = 0; i < bodyList.size() ; i++)
   {
      bodyMass    = ((CelestialBody*) (bodyList.at(i)))->GetMass();
      bodyState   = (bodyList.at(i))->GetMJ2000State(atTime);
      bodyPos     = bodyState.GetR();
      bodyVel     = bodyState.GetV();
      weight      = bodyMass/sumMass;
      #ifdef DEBUG_BARYCENTER
         MessageInterface::ShowMessage("Mass (and weight) of body %s = %12.10f (%12.10f)\n",
               ((bodyList.at(i))->GetName()).c_str(), bodyMass, weight);
         MessageInterface::ShowMessage("    pos = %s\n", (bodyPos.ToString()).c_str());
         MessageInterface::ShowMessage("    vel = %s\n", (bodyVel.ToString()).c_str());
      #endif
      sumMassPos += (weight * bodyPos);
      sumMassVel += (weight * bodyVel);
   }
   #ifdef DEBUG_BARYCENTER
      MessageInterface::ShowMessage("sumMassPos = %s\n",
            (sumMassPos.ToString()).c_str());
   #endif
   return Rvector6(sumMassPos(0), sumMassPos(1), sumMassPos(2),
                   sumMassVel(0), sumMassVel(1), sumMassVel(2));
}
Esempio n. 3
0
namespace GmatSolarSystemDefaults
{
   /// Default planet data ---------------------------- planets ---------------
   enum DefaultPlanets
   {
      MERCURY = 0,
      VENUS,
      EARTH,
      MARS,
      JUPITER,
      SATURN,
      URANUS,
      NEPTUNE,
      PLUTO,
      NumberOfDefaultPlanets
   };

   /// default names for each of the possible celestial bodies in the solar system
   const std::string SOLAR_SYSTEM_BARYCENTER_NAME = "SolarSystemBarycenter";

   const std::string SUN_NAME        = "Sun";

   const std::string MERCURY_NAME    = "Mercury";

   const std::string VENUS_NAME      = "Venus";

   const std::string EARTH_NAME      = "Earth";
   const std::string MOON_NAME       = "Luna";

   const std::string MARS_NAME       = "Mars";
   const std::string PHOBOS_NAME     = "Phobos";
   const std::string DEIMOS_NAME     = "Deimos";

   const std::string JUPITER_NAME    = "Jupiter";
   const std::string METIS_NAME      = "Metis";
   const std::string ADRASTEA_NAME   = "Adrastea";
   const std::string AMALTHEA_NAME   = "Amalthea";
   const std::string THEBE_NAME      = "Thebe";
   const std::string IO_NAME         = "Io";
   const std::string EUROPA_NAME     = "Europa";
   const std::string GANYMEDE_NAME   = "Ganymede";
   const std::string CALLISTO_NAME   = "Callisto";

   const std::string SATURN_NAME     = "Saturn";
   const std::string PAN_NAME        = "Pan";
   const std::string ATLAS_NAME      = "Atlas";
   const std::string PROMETHEUS_NAME = "Promethus";
   const std::string PANDORA_NAME    = "Pandora";
   const std::string EPIMETHEUS_NAME = "Epimetheus";
   const std::string JANUS_NAME      = "Janus";
   const std::string MIMAS_NAME      = "Mimas";
   const std::string ENCELADUS_NAME  = "Enceladus";
   const std::string TETHYS_NAME     = "Tethys";
   const std::string TELESTO_NAME    = "Telesto";
   const std::string CALYPSO_NAME    = "Calypso";
   const std::string DIONE_NAME      = "Dione";
   const std::string HELENE_NAME     = "Helene";
   const std::string RHEA_NAME       = "Rhea";
   const std::string TITAN_NAME      = "Titan";
   const std::string IAPETUS_NAME    = "Iapetus";
   const std::string PHOEBE_NAME     = "Phoebe";

   const std::string URANUS_NAME     = "Uranus";
   const std::string CORDELIA_NAME   = "Cordelia";
   const std::string OPHELIA_NAME    = "Ophelia";
   const std::string BIANCA_NAME     = "Bianca";
   const std::string CRESSIDA_NAME   = "Cressida";
   const std::string DESDEMONA_NAME  = "Desdemona";
   const std::string JULIET_NAME     = "Juliet";
   const std::string PORTIA_NAME     = "Portia";
   const std::string ROSALIND_NAME   = "Rosalind";
   const std::string BELINDA_NAME    = "Belinda";
   const std::string PUCK_NAME       = "Puck";
   const std::string MIRANDA_NAME    = "Miranda";
   const std::string ARIEL_NAME      = "Ariel";
   const std::string UMBRIEL_NAME    = "Umbriel";
   const std::string TITANIA_NAME    = "Titania";
   const std::string OBERON_NAME     = "Oberon";

   const std::string NEPTUNE_NAME    = "Neptune";
   const std::string NAIAD_NAME      = "Naiad";
   const std::string THALASSA_NAME   = "Thalassa";
   const std::string DESPINA_NAME    = "Despina";
   const std::string GALATEA_NAME    = "Galatea";
   const std::string LARISSA_NAME    = "Larissa";
   const std::string PROTEUS_NAME    = "Proteus";
   const std::string TRITON_NAME     = "Triton";

   const std::string PLUTO_NAME      = "Pluto";
   const std::string CHARON_NAME     = "Charon";

   /// Default barycenter data

   // default values for CelestialBody data

   const Integer               SSB_NAIF_ID          = 0;
   const Real                  SSB_MU               = 0.0; // Not Necessary

   /// Default planet data

   // default values for CelestialBody data
   const std::string           PLANET_NAMES[NumberOfDefaultPlanets] =
   {
      MERCURY_NAME,
      VENUS_NAME,
      EARTH_NAME,
      MARS_NAME,
      JUPITER_NAME,
      SATURN_NAME,
      URANUS_NAME,
      NEPTUNE_NAME,
      PLUTO_NAME,
   };

   // Units for Equatorial radius are km
   const Real                  PLANET_EQUATORIAL_RADIUS[NumberOfDefaultPlanets] =
   {
      2.43970000000000e+003, // to match STK 2006.01.31 - was 2439.7,
      6.05190000000000e+003, // match to STK 2006.01.31 - was 6051.8,
      6.3781363E3, // to match STK 2006.01.31 - was 6378.1363,
      3.39700000000000e+003, // to match STK 2006.01.31 - was 3396.200,
      7.14920000000000e+004, // to match STK 2006.01.31 - was 71492.00,
      6.02680000000000e+004, // to match STK 2006.01.31 - was 60368.0,
      2.55590000000000e+004, // to match STK 2006.01.31 - was 25559.0,
      2.52690000000000e+004, // to match STK 2006.01.31 - was 24764.0,
      1162.0 // changed to match with STK. old:1195.0
   };

   const Real                  PLANET_FLATTENING[NumberOfDefaultPlanets] =
   {
      0.0,
      0.0,
      0.00335270, // match to STK 2006.01.31 - was 0.0033528, // or 0.0033528106647474807198455?
      0.00647630, // match to STK 2006.01.31 - was 0.0064763,
      0.06487439, // match to STK 2006.01.31 - was 0.0648744,
      0.09796243, // match to STK 2006.01.31 - was 0.0979624,
      0.02292734, // match to STK 2006.01.31 - was 0.0229273,
      0.01856029, // match to STK 2006.01.31 - was 0.0171,
      0.0
   };

   // Units for Mu are km^3/s^2
   const Real                  PLANET_MU[NumberOfDefaultPlanets] =
   {
      22032.080486418,
      324858.59882646,
      398600.4415,
      42828.314258067,
      126712767.85780,
      37940626.061137,
      5794549.0070719,
      6836534.0638793,
      981.60088770700
   };


   const Rmatrix               PLANET_SIJ[NumberOfDefaultPlanets] =
   {
      Rmatrix(5,5,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0),
      Rmatrix(5,5,
              0.0,                  0.0,                  0.0,
              0.0,                  0.0,
              0.0,                  0.0,                  0.0,
              0.0,                  0.0,
              0.0, 1.47467423600000E-08,-9.53141845209000E-08,
              0.0,                  0.0,
              0.0, 5.40176936891000E-07, 8.11618282044000E-07,
              2.11451354723000E-07, 0.0,
              0.0, 4.91465604098000E-07, 4.83653955909000E-07,
             -1.18564194898000E-07,      1.37586364127000E-06),
      Rmatrix(5,5,
              0.0,                  0.0,                  0.0,
              0.0,                  0.0,
              0.0,                  0.0,                  0.0,
              0.0,                  0.0,
              0.0, 1.19528010000000E-09,-1.40026639758800E-06,
              0.0,                  0.0,
              0.0, 2.48130798255610E-07,-6.18922846478490E-07,
              1.41420398473540E-06, 0.0,
              0.0,-4.73772370615970E-07, 6.62571345942680E-07,
             -2.00987354847310E-07,      3.08848036903550E-07),
      Rmatrix(5,5,
              0.0,                  0.0,                  0.0,
              0.0,                  0.0,
              0.0,                  0.0,                  0.0,
              0.0,                  0.0,
              0.0, 6.54655690000000E-09, 4.90611750000000E-05,
              0.0,                  0.0,
              0.0, 2.52926620000000E-05, 8.31603630000000E-06,
              2.55554990000000E-05, 0.0,
              0.0, 3.70906170000000E-06,-8.97764090000000E-06,
             -1.72832060000000E-07,     -1.28554120000000E-05),
      Rmatrix(5,5,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0),
      Rmatrix(5,5,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0),
      Rmatrix(5,5,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0),
      Rmatrix(5,5,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0),
      Rmatrix(5,5,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0),
   };

   const Rmatrix               PLANET_CIJ[NumberOfDefaultPlanets] =
   {
      Rmatrix(5,5,
                                1.0, 0.0,             0.0,             0.0,
                                0.0,
                                0.0, 0.0,             0.0,             0.0,
                                0.0,
              -2.68328157300000E-05, 0.0,             0.0,             0.0,
                                0.0,
                                0.0, 0.0,             0.0,             0.0,
                                0.0,
                                0.0, 0.0,             0.0,             0.0,
                                0.0),
      Rmatrix(5,5,
                                1.0,                  0.0,                  0.0,
                                0.0,                  0.0,
                                0.0,                  0.0,                  0.0,
                                0.0,                  0.0,
              -1.95847963769000E-06, 2.87322988834000E-08, 8.52182522007000E-07,
                                0.0,                  0.0,
               7.98507258430000E-07, 2.34759127059000E-06,-9.45132723095000E-09,
              -1.84756674598000E-07,                  0.0,
               7.15385582249000E-07,-4.58736811774000E-07, 1.26875441402000E-07,
              -1.74034531883000E-07, 1.78438307106000E-07),
      Rmatrix(5,5,
                                1.0,                  0.0,                  0.0,
                                0.0,                   0.0,
                                0.0,                  0.0,                  0.0,
                                0.0,                   0.0,
              -4.84165374886470E-04,-1.86987640000000E-10, 2.43926074865630E-06,
                                0.0,                   0.0,
               9.57170590888000E-07, 2.03013720555300E-06, 9.04706341272910E-07,
               7.21144939823090E-07,                   0.0,
               5.39777068357300E-07,-5.36243554298510E-07, 3.50670156459380E-07,
               9.90868905774410E-07,-1.88481367425270E-07),
      Rmatrix(5,5,
                                1.0,                  0.0,                  0.0,
                                0.0,                   0.0,
                                0.0,                  0.0,                  0.0,
                                0.0,                   0.0,
              -8.75977040000000E-04, 3.69395770000000E-09,-8.46829230000000E-05,
                                0.0,                   0.0,
              -1.19062310000000E-05, 3.74737410000000E-06,-1.59844090000000E-05,
               3.51325710000000E-05,                   0.0,
               5.14919500000000E-06, 4.26122630000000E-06,-1.05467200000000E-06,
               6.47421510000000E-06, 2.97350070000000E-07),
      Rmatrix(5,5,
                                1.0, 0.0,             0.0,             0.0,
                                0.0,
                                0.0, 0.0,             0.0,             0.0,
                                0.0,
              -6.59640053360000E-03, 0.0,             0.0,             0.0,
                                0.0,
               2.19219394350000E-04, 0.0,             0.0,             0.0,
                                0.0,
                                0.0, 0.0,             0.0,             0.0,
                                0.0),
      Rmatrix(5,5,
                                1.0, 0.0,             0.0,             0.0,
                                0.0,
                                0.0, 0.0,             0.0,             0.0,
                                0.0,
              -7.35666364600000E-03, 0.0,             0.0,             0.0,
                                0.0,
              -3.77964473010000E-04, 0.0,             0.0,             0.0,
                                0.0,
                                0.0, 0.0,             0.0,             0.0,
                                0.0),
      Rmatrix(5,5,
                                1.0, 0.0,             0.0,             0.0,
                                0.0,
                                0.0, 0.0,             0.0,             0.0,
                                0.0,
              -5.36656314600000E-03, 0.0,             0.0,             0.0,
                                0.0,
                                0.0, 0.0,             0.0,             0.0,
                                0.0,
                                0.0, 0.0,             0.0,             0.0,
                                0.0),
      Rmatrix(5,5,
                                1.0, 0.0,             0.0,             0.0,
                                0.0,
                                0.0, 0.0,             0.0,             0.0,
                                0.0,
              -1.78885438200000E-03, 0.0,             0.0,             0.0,
                                0.0,
                                0.0, 0.0,             0.0,             0.0,
                                0.0,
                                0.0, 0.0,             0.0,             0.0,
                                0.0),
      Rmatrix(5,5,
              1.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0,
              0.0, 0.0,             0.0,             0.0,             0.0),
   };


   const Real                  PLANET_TWO_BODY_EPOCH[NumberOfDefaultPlanets] =
   {
      21544.500370768266, 21544.500370768266, 21544.500370768266,
      21544.500370768266, 21544.500370768266, 21544.500370768266,
      21544.500370768266, 21544.500370768266, 21544.500370768266
   };

   const Rvector6              PLANET_TWO_BODY_ELEMENTS[NumberOfDefaultPlanets] =
   {
      Rvector6(57909212.938567216, 0.20562729774965544, 28.551674963293556,
               10.99100758149257, 67.548689584103984,  175.10396761800456),
      Rvector6(108208423.76486244, 0.0067572911404369688, 24.433051334216176,
               8.007373221205856, 124.55871063212626,     49.889845117140576),
      Rvector6(149653978.9783766,        0.01704556707314489, 23.439034090426388,
               0.00018646554487906264, 101.7416388084352,    358.12708491129),
      Rvector6(227939100.16983532,   0.093314935483163344, 24.677089965042784,
               3.3736838414054472, 333.01849018562076,     23.020633424007744),
      Rvector6(779362950.5867208, 0.049715759324379896, 23.235170252934984,
               3.253166212922,   12.959463238924978,    20.296667207322848),
      Rvector6(1433895241.1645338,  0.055944006117351672, 22.551333377462712,
               5.9451029086964872, 83.977808941927856,   316.23400767222348),
      Rvector6(2876804054.239868,   0.044369079419761096, 23.663364175915172,
               1.850441916938424, 168.86875273062818,    145.8502865552013),
      Rvector6(4503691751.2342816, 0.011211871260687014, 22.29780590076114,
               3.47555654789392,  33.957145210261132,   266.76236610390636),
      Rvector6(5909627293.567856,    0.24928777871911536, 23.4740184346088,
               43.998303104440304, 183.03164997859696,    25.513664216653164)
   };



   //         SpinAxisRA  Rate        SpinAxisDEC  Rate        Rotation    Rate
   const Rvector6              PLANET_ORIENTATION_PARAMETERS[NumberOfDefaultPlanets] =
   {
      Rvector6(281.01,    -0.033,      61.45,    -0.005,        329.548,    6.1385025),
      Rvector6(272.76,     0.0   ,     67.16,     0.0,          160.20,    -1.4813688),
      Rvector6(  0.0,     -0.641,      90.00,    -0.557,        190.147,  360.9856235),
      Rvector6(317.68143, -0.1061,     52.88650, -0.0609,       176.630,  350.89198226),
      Rvector6(268.05,    -0.009,      64.49,     0.003,        284.95,   870.5366420),
      Rvector6( 40.589,   -0.036,      83.537,   -0.004,         38.90,   810.7939024),

      Rvector6(257.311,    0.0,       -15.175,    0.0,          203.81,  -501.1600928),
      Rvector6(299.36,     0.70,       43.46,    -0.51,         253.18,   536.3128492), // Neptune needs more, though
      Rvector6(313.02,     0.0,         9.09,     0.0,          236.77,   -56.3623195)
   };

   const Integer               PLANET_NAIF_IDS[NumberOfDefaultPlanets] =
   {
         199,
         299,
         399,
         499,
         599,
         699,
         799,
         899,
         999,
   };

   const std::string           PLANET_SPICE_FRAME_ID[NumberOfDefaultPlanets] =
   {
         "IAU_MERCURY",
         "IAU_VENUS",
         "ITRF93",     // "IAU_EARTH" is low fidelity, should be "ITRF93"
         "IAU_MARS",
         "IAU_JUPITER",
         "IAU_SATURN",
         "IAU_URANUS",
         "IAU_NEPTUNE",
         "IAU_PLUTO",
   };


   /// Default planet data ----------------------------  moons  ---------------
   enum DefaultMoons
   {
      LUNA = 0,
   //      PHOBOS, // wcs 2009.02.17 - add these later?
   //      DEIMOS,
      // @todo - add other solar system moons here
      NumberOfDefaultMoons
   };

   // default values for CelestialBody data
   const std::string           MOON_NAMES[NumberOfDefaultMoons] =
   {
      MOON_NAME,
   //   PHOBOS_NAME,
   //   DEIMOS_NAME,
   };

   const std::string           MOON_CENTRAL_BODIES[NumberOfDefaultMoons] =
   {
      EARTH_NAME,
   //   MARS_NAME,
   //   MARS_NAME,
   };


   // Units for Equatorial radius are km
   const Real                  MOON_EQUATORIAL_RADIUS[NumberOfDefaultMoons] =
   {
      1738.2000,
   //   11.1,       // *** TEMPORARY ***
   //   11.1,       // *** TEMPORARY ***
   };

   const Real                  MOON_FLATTENING[NumberOfDefaultMoons] =
   {
      0.0,
   //   0.0,
   //   0.0,
   };

   // Units for Mu are km^3/s^2
   const Real                  MOON_MU[NumberOfDefaultMoons] =
   {
      4902.8005821478,
   //   7.22e-4,        // *** TEMPORARY ***
   //   7.22e-4,        // *** TEMPORARY ***
   };


   const Rmatrix               MOON_SIJ[NumberOfDefaultMoons] =
   {
      Rmatrix(5,5,
            0.0,                  0.0,                  0.0,                  0.0,
            0.0,
            0.0,                  0.0,                  0.0,                  0.0,
            0.0,
            0.0, 4.78976286742000E-09, 1.19043314469000E-08,                  0.0,
            0.0,
            0.0, 5.46564929895000E-06, 4.88875341590000E-06,-1.76416063010000E-06,
            0.0,
            0.0, 1.63304293851000E-06,-6.76012176494000E-06,-1.34287028168000E-05,
            3.94334642990000E-06),
   //   Rmatrix(5,5,
   //         0.0,                  0.0,                  0.0,                  0.0,
   //         0.0,
   //         0.0,                  0.0,                  0.0,                  0.0,
   //         0.0,
   //         0.0,                  0.0,                  0.0,                  0.0,
   //         0.0,
   //         0.0,                  0.0,                  0.0,                  0.0,
   //         0.0,
   //         0.0,                  0.0,                  0.0,                  0.0,
   //         0.0),
   //   Rmatrix(5,5,
   //         0.0,                  0.0,                  0.0,                  0.0,
   //         0.0,
   //         0.0,                  0.0,                  0.0,                  0.0,
   //         0.0,
   //         0.0,                  0.0,                  0.0,                  0.0,
   //         0.0,
   //         0.0,                  0.0,                  0.0,                  0.0,
   //         0.0,
   //         0.0,                  0.0,                  0.0,                  0.0,
   //         0.0),
   };

   const Rmatrix               MOON_CIJ[NumberOfDefaultMoons] =
   {
      Rmatrix(5,5,
            1.0,                 0.0,                  0.0,
            0.0,                 0.0,
            0.0,                 0.0,                  0.0,
            0.0,                 0.0,
   -9.09314486280000E-05, 9.88441569067000E-09, 3.47139237760000E-05,
            0.0,                 0.0,
   -3.17765981183000E-06, 2.63497832935000E-05, 1.42005317544000E-05,
   1.22860504604000E-05,                 0.0,
   3.21502582986000E-06,-6.01154071094000E-06,-7.10667037450000E-06,
   -1.37041711834000E-06,-6.03652719918000E-06),
   //   Rmatrix(5,5,
   //         0.0,                  0.0,                  0.0,                  0.0,
   //         0.0,
   //         0.0,                  0.0,                  0.0,                  0.0,
   //         0.0,
   //         0.0,                  0.0,                  0.0,                  0.0,
   //         0.0,
   //         0.0,                  0.0,                  0.0,                  0.0,
   //         0.0,
   //         0.0,                  0.0,                  0.0,                  0.0,
   //         0.0),
   //   Rmatrix(5,5,
   //         0.0,                  0.0,                  0.0,                  0.0,
   //         0.0,
   //         0.0,                  0.0,                  0.0,                  0.0,
   //         0.0,
   //         0.0,                  0.0,                  0.0,                  0.0,
   //         0.0,
   //         0.0,                  0.0,                  0.0,                  0.0,
   //         0.0,
   //         0.0,                  0.0,                  0.0,                  0.0,
   //         0.0),
   };


   const Real                  MOON_TWO_BODY_EPOCH[NumberOfDefaultMoons] =
   {
         21544.500370768266,
   //      21544.500370768266,   // *** TEMPORARY ***
   //      21544.500370768266,   // *** TEMPORARY ***
   };

   const Rvector6              MOON_TWO_BODY_ELEMENTS[NumberOfDefaultMoons] =
   {
         Rvector6(      385494.90434829952,  0.055908943292024992,   20.940245433093748,
               12.233244412716252, 68.004298803147648,     137.94325682926458),
   //      Rvector6(      385494.90434829952,  0.055908943292024992,   20.940245433093748,
   //            12.233244412716252, 68.004298803147648,     137.94325682926458),           // *** TEMPORARY ***
   //      Rvector6(      385494.90434829952,  0.055908943292024992,   20.940245433093748,
   //            12.233244412716252, 68.004298803147648,     137.94325682926458),           // *** TEMPORARY ***
   };



   //         SpinAxisRA  Rate        SpinAxisDEC  Rate        Rotation    Rate
   const Rvector6              MOON_ORIENTATION_PARAMETERS[NumberOfDefaultMoons] =
   {
      Rvector6(0.0, 0.0, 0.0, 0.0, 0.0, 0.0),  // for now, for default moons, calculations are done in the Moon class
   //   Rvector6(0.0, 0.0, 0.0, 0.0, 0.0, 0.0),  // for now, for default moons, calculations are done in the Moon class
   //   Rvector6(0.0, 0.0, 0.0, 0.0, 0.0, 0.0),  // for now, for default moons, calculations are done in the Moon class
   };

   const Integer               MOON_NAIF_IDS[NumberOfDefaultMoons] =
   {
         301,    // Luna
   //      401,    // Phobos
   //      402,    // Deimos
   };

   const std::string           MOON_SPICE_FRAME_ID[NumberOfDefaultMoons] =
   {
         "MOON_PA",
//         "IAU_PHOBOS",
//         "IAU_DEIMOS",
   };


   /// Default star data ----------------------------  the Sun  ---------------

   // default values for CelestialBody data

   const Real                  STAR_EQUATORIAL_RADIUS  = 695990.0000;  // km
   const Real                  STAR_FLATTENING         = 0.0;
   // Units for MU are km^3/s^2
   const Real                  STAR_MU                 = 132712440017.99;
   const Rmatrix               STAR_SIJ                = Rmatrix(5,5); // zeroes
   const Rmatrix               STAR_CIJ                = Rmatrix(5,5,
         1.0, 0.0,             0.0,             0.0,             0.0,
         0.0, 0.0,             0.0,             0.0,             0.0,
         0.0, 0.0,             0.0,             0.0,             0.0,
         0.0, 0.0,             0.0,             0.0,             0.0,
         0.0, 0.0,             0.0,             0.0,             0.0);

   // NOTE - these must change when Earth's default values change!!!!!!!!!!!!
   const Real                  STAR_TWO_BODY_EPOCH           = 21544.500370768266;
   const Rvector6              STAR_TWO_BODY_ELEMENTS        = Rvector6(
         149653978.9783766,        0.01704556707314489,  23.439034090426388,
         0.00018646554487906264, 281.7416388084352,     358.12708491129);

   const Rvector6              STAR_ORIENTATION_PARAMETERS   = Rvector6(
         286.13, 0.0, 63.87, 0.0, 84.10, 14.1844000);
   const Integer               STAR_NAIF_IDS                 = 10;
   const std::string           STAR_SPICE_FRAME_ID           = "IAU_SUN";

   const Real                  STAR_RADIANT_POWER            = 1358.0;       // W / m^2
   // Units for reference distance are km (1 AU)
   const Real                  STAR_REFERENCE_DISTANCE       = GmatPhysicalConstants::ASTRONOMICAL_UNIT;;  // km
   // Units for radius are meters
   const Real                  STAR_PHOTOSPHERE_RADIUS       = 695990000.0;;  // m



} // GmatSolarSystemDefaults