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
SurfaceForcebase class provides the structure of the equation, andAirDragandSolarRadiationPressureDisturbancesubclasses provide specific calculations with appropriate coefficients. - Currently, the
SurfaceForceclass supports multi-surface spacecraft without a self-shadowing effect. Users can select the number of surfaces. - For the detailed description of
AirDragandSolarRadiationPressureDisturbance, please refer Air Drag and Solar Radiation Pressure.
2. Related files
surface_force.cpp,surface_force.hpp: The base classSurfaceForceis defined.
3. How to use
- Make a subclass that inherits the
SurfaceForceclass. - Define the
CalcCoefficientsfunction in the subclass. - Execute
CalcTorqueForcein the update function of the subclass.
2. Explanation of Algorithm
1. Constructor
1. overview
- Initialize structure parameters
2. inputs and outputs
- input
- List of
Surfaceclass which manages surface area, position, and normal direction. - Position vector of the center of gravity in the body fixed frame [m].
- List of
- 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 vectorin theStructure.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 frameitem: 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
SimpleDisturbancebase 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)
- $\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
CalcCoefficientsfunction
4. note
- NA
3. Results of verifications
- Verifications will be done by the subclasses.
4. References
- NA