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, andAirDrag
andSolarRadiationPressureDisturbance
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
andSolarRadiationPressureDisturbance
, please refer Air Drag and Solar Radiation Pressure.
2. Related files
surface_force.cpp
,surface_force.hpp
: The base classSurfaceForce
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].
- 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 vector
in 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
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)
- $\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
- NA