- 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.
surface_force.cpp
,surface_force.hpp
: The base classSurfaceForce
is defined.
- Make a subclass that inherits the
SurfaceForce
class. - Define the
CalcCoefficients
function in the subclass. - Execute
CalcTorqueForce
in the update function of the subclass.
- Initialize structure parameters
- 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
- 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.
- This is the main function to calculate the force and torque generated by the surface force disturbances.
- 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
- 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.
- 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
-
- Detail of the
$C_{n}$ and$C_{t}$ are defined by subclasses by usingCalcCoefficients
function
- NA
- Verifications will be done by the subclasses.
- NA