Skip to content

Latest commit

 

History

History
82 lines (63 loc) · 3.63 KB

Spec_SurfaceForce.md

File metadata and controls

82 lines (63 loc) · 3.63 KB

Surface Force

1. Overview

1. Functions

  • S2E handles air drag and Solar Radiation Pressure(SRP) as surface force disturbances since both disturbances affect spacecraft surfaces. The structure of both equations is identical, but they have different coefficients.
  • Thus, the SurfaceForce base class provides the structure of the equation, and AirDrag and SolarRadiationPressureDisturbance subclasses provide specific calculations with appropriate coefficients.
  • Currently, the SurfaceForce class supports multi-surface spacecraft without a self-shadowing effect. Users can select the number of surfaces.
  • For the detailed description of AirDrag and SolarRadiationPressureDisturbance, please refer Air Drag and Solar Radiation Pressure.

2. Related files

  • surface_force.cpp, surface_force.hpp : The base class SurfaceForce is defined.

3. How to use

  • Make a subclass that inherits the SurfaceForce class.
  • Define the CalcCoefficients function in the subclass.
  • Execute CalcTorqueForce in the update function of the subclass.

2. Explanation of Algorithm

1. Constructor

1. overview

  • Initialize structure parameters

2. inputs and outputs

  • input
    • List of Surface class which manages surface area, position, and normal direction.
    • Position vector of the center of gravity in the body fixed frame [m].
  • output
    • The instance of the class

3. algorithm: NA

4. note

  • The origin of all vectors defined here is the body-fixed frame. Users can define the origin of the body-fixed frame by themselves. If users want to define the origin as the center of gravity, they need to set center_of_gravity_b_m = zero vector in the Structure.ini. If users want to define the origin as a specific point, they need to carefully set all vectors to suit their definition.

2. CalcTorqueForce function

1. overview

  • This is the main function to calculate the force and torque generated by the surface force disturbances.

2. inputs and outputs

  • input
    • input_direction_b: direction of disturbance source at the body frame
    • item: parameter which decides the magnitude of the disturbances (Solar flux, air density)
    • Surface information defined in the constructor
  • output
    • force_b_N_: Force at the body frame (unit: N)
    • torque_b_Nm_ : Torque at the body frame (unit: Nm)
    • Both variables are defined in the SimpleDisturbance base class

3. algorithm

  • Let us consider the following coordinate on a surface for surface force calculation
    • $\boldsymbol{n}$ is the normal vector of the surface
    • $\boldsymbol{v}$ is the direction vector of the disturbance source (e.g., sun direction vector or velocity vector)

SummaryCalculationTime

  • $\boldsymbol{t}$ is the direction of in-plane force.
$$\boldsymbol{t}=\frac{\boldsymbol{v}\times\boldsymbol{n}}{|\boldsymbol{v}\times\boldsymbol{n}|}\times\boldsymbol{n}$$
  • Surface force and torque acting on the surface is expressed as following equation
    • $\boldsymbol{r}_{s}$ is the position vector of the surface
    • $\boldsymbol{r}_{cg}$ is the position vector of the center of mass
$$\begin{align} \boldsymbol{F} &= -C_{n}\boldsymbol{n}+C_{t}\boldsymbol{t}\\\ \boldsymbol{T} &= (\boldsymbol{r}_{s}-\boldsymbol{r}_{cg})\times\boldsymbol{F} \end{align}$$
  • Detail of the $C_{n}$ and $C_{t}$ are defined by subclasses by using CalcCoefficients function

4. note

  • NA

3. Results of verifications

  • Verifications will be done by the subclasses.

4. References

  1. NA