Skip to content

Latest commit

 

History

History
129 lines (94 loc) · 5.92 KB

Spec_ThirdBodyGravity.md

File metadata and controls

129 lines (94 loc) · 5.92 KB

Specification of Third Body Gravity Disturbance Calculation

1. Overview

1. Functions

  • The ThirdBodyGravity class calculates the gravity acceleration generated by the third body, such as Sun, Moon, or planets.

2. Related files

  • src/disturbance/third_body_gravity.cpp
  • src/disturbance/third_body_gravity.hpp

3. How to use

  • Make an instance of the ThirdBodyGravity class in InitializeInstances function in disturbances.cpp
    • Create an instance by using the initialization function InitThirdBodyGravity
  • Chose a orbit propagator mode that considers disturbances.
  • Edit the disturbance.ini file
    • Select ENABLE for calculation and logging
    • Select number_of_third_body and third_body_name you need.
    • NOTE: All of the third_body_name objects must be included in the selected_body_name of the [CELESTIAL_INFORMATION] section in the simulation_base.ini.
  • NOTE: When the class ThirdBodyGravity is instantiated, the class reports an error in the following cases.
    1. The target specified by center_object of the [CELESTIAL_INFORMATION] section in the simulation_base.ini. is included in the list of third_body.
    2. The list of third_body_name includes objects which are not in the list of selected_body_name in the [CELESTIAL_INFORMATION] section in the simulation_base.ini.
  • NOTE: If the same body is specified more than once in the list of third_body_name in disturbance.ini, the second and subsequent entries of the body are ignored.

2.Explanation of Algorithm

1. CalcAcceleration_i_m_s2 function

1. overview

  • This function calculates the acceleration in the inertial frame generated by the third body.

2. inputs and outputs

  • Input

    • position of the third body seen from the center object in the inertial coordinate system
    • position of the third body seen from the spacecraft in the inertial coordinate system
    • gravity constant (GM) of the third body
    • NOTE: These inputs are derived from CelestialInformation.
  • Output

    • acceleration generated by the third body in the inertial coordinate system

3. algorithm

  • Definition of the variables
    • $\boldsymbol{r}$: the position of the spacecraft (written as sc_position_i_m in the code)
    • $\boldsymbol{s}$: the position of the third body (written as third_body_pos_i_m in the code)
    • $\boldsymbol{s}-\boldsymbol{r}$: the position of the third body seen from the spacecraft (written as third_body_position_from_sc_i_m in the code)

ThirdBodyGravity_general

  • The acceleration disturbance effect by the third body is written as follows:
$$\ddot{\boldsymbol{r}}=GM\left(\frac{\boldsymbol{s}-\boldsymbol{r}}{|\boldsymbol{s}-\boldsymbol{r}|^3}-\frac{\boldsymbol{s}}{|\boldsymbol{s}|^3}\right)$$

3. Results of verifications

1. overview

  • The deformation of the orbit caused by the acceleration of the third body gravity is compared between S2E and STK.

2. conditions for the verification

  • input files

    • Default initialize files
  • initial values

    simulation_start_time_utc = 2020/01/01 11:00:00.0
    simulation_duration_s = 86400
    simulation_step_s = 10
    orbit_update_period_s = 10
    log_output_period_s = 5
    simulation_speed_setting = 0
    
    • Since the effect of third body gravity increases as one moves away from the central object, it is verified for GEO.

      initial_position_i_m(0) = 42241095.67425744
      initial_position_i_m(1) = 0
      initial_position_i_m(2) = 0
      
      initial_velocity_i_m_s(0) = 0
      initial_velocity_i_m_s(1) = 2.978E+4
      initial_velocity_i_m_s(1) = 3071.859163190527
      
      • All the disturbance calculations, except for the third-object gravity, are set to DISABLE.

      • The following cases are tested.

        1. Only the gravity of the Sun is taken into account
        2. Only the gravity of the Moon is taken into account
        3. Both the gravity of the Sun and the Moon are taken into account
        4. Only the gravity of Mars is taken into account (TBW)
  1. results
  • Without the third body, S2E and STK show the same result.

ThirdBodyGravity_result1

  1. Only the gravity of the Sun is taken into account
  • The deformation of the orbit compared to GEO is shown in the following figure.

ThirdBodyGravity_s2e_stk_sun

  • The acceleration disturbance caused by the Sun's gravity is shown in the following figure.

ThirdBodyGravity_acc_sun

  1. Only the gravity of the Moon is taken into account
  • The deformation of the orbit compared to GEO is shown in the following figure.

ThirdBodyGravity_s2e_stk_moon

  • The acceleration disturbance caused by the Moon's gravity is shown in the following figure.

ThirdBodyGravity_acc_moon

  1. Both the gravity of the Sun and the Moon are taken into account
  • The deformation of the orbit compared to GEO is shown in the following figure.

ThirdBodyGravity_s2e_stk_sun_moon

  • The gravitational disturbance of both the Sun and the Moon is shown in the following figure.

ThirdBodyGravity_acc_sun

  • In all of the above cases, the S2E and STK results are consistent.

4. References

  1. Satellite Orbits chapter 3.3.