The VLEO Aerodynamic Tool calculates aerodynamic forces and torques acting on a satellite in Very Low Earth Orbit (VLEO). It imports 3D body models, simulates their rotation and interaction with the atmospheric environment, and visualizes the results. The tool supports satellites consisting of several body parts, where each part is a rotatable geometry.
After making sure Git is installed, follow these steps:
- Clone the repository
git clone https://github.com/ifrunistuttgart/vleo-aerodynamics-tool.git --recurse-submodules
- Navigate into the cloned directory
cd vleo-aerodynamics-tool
- Finally, make sure the repository and the external dependencies are on the Matlab path.
Once the setup is complete, you should be able to run the example code and utilize the main functions provided by the submodules.
After creating your satellite configuration in your preferred CAD-Tool, you can export each part individually as an .obj
-file.
These files include information on the geometry's surfaces that is used by the vleo-aerodynamics-tool to compute the aerodynamic forces and torques.
The function importMultipleBodies
prepares the .obj-files for the VLEO aerodynamics simulation.
The function returns a cell array of structures containing the vertices, surface centroids, surface normals, rotation direction, rotation hinge points, surface temperatures, surface energy accommodation coefficients, and surface areas of the bodies.
object_files
: 1xN array of strings of the paths to the .obj filesrotation_hinge_points_CAD
: 3xN array of the rotation hinge points of the bodies in the CAD framerotation_directions_CAD
: 3xN array of the rotation directions of the bodies in the CAD frametemperatures__K
: 1xN cell array of the surface temperatures of the bodiesenergy_accommodation_coefficients
: 1xN cell array of the surface energy accommodation coefficients of the bodiesDCM_B_from_CAD
: 3x3 array of the direction cosine matrix from the CAD frame to the body frameCoM_CAD
: 3x1 array of the center of mass of the bodies in the CAD frame
bodies
: 1xN cell array of structures containing the vertices, surface centroids, surface normals, rotation direction, rotation hinge point, surface temperatures, surface energy accommodation coefficients, and surface areas of the bodies
The showBodies
-function plots the bodies and their surface normals rotated by the given angles.
The bodies are plotted in a 3D figure with the surface centroids and normals.
In addition, scalar and vectorial values can be given to be plotted on the surfaces.
Scalar values are plotted as surface colors and vectorial values are plotted as arrows.
bodies
: 1xN cell array of structures containing the vertices, surface centroids, surface normals, rotation direction, rotation hinge point (required)bodies_rotation_angles__rad
: 1xN array of the rotation angles of the bodies (required)face_alpha
: scalar, the transparency of the faces (optional)scale_normals
: scalar, the scale factor for the normals (optional)scalar_values
: 1xN cell array of scalar values to be plotted on the surfaces (optional)vectorial_values
: 1xN cell array of vectorial values to be plotted on the surfaces (optional)scale_vectorial_values
: scalar, the scale factor for the vectorial values (optional)
The vleoAerodynamics
-function calculates the aerodynamic forces and torques acting on a satellite in VLEO.
This function ecpects the space_math_utilities namespace to be available on the MATLAB path.
-
attitude_quaternion_BI
: 4x1 array of the attitude quaternion of the body frame with respect to the intertial frame -
rotational_velocity_BI_B__rad_per_s
: 3x1 array of the rotational velocity of the satellite with respect to the inertial frame expressed in the body frame -
velocity_I_I__m_per_s
: 3x1 array of the velocity of the satellite with respect to the inertial frame expressed in the inertial frame -
wind_velocity_I_I__m_per_s
: 3x1 array of the velocity of the wind with respect to the inertial frame expressed in the inertial frame -
density__kg_per_m3
: Scalar value of the density of the gas -
temperature__K
: Scalar value of the temperature of the gas -
particles_mass__kg
: Scalar value of the mass of the particles -
bodies
: 1xN cell array of structures containing the vertices, surface centroids, surface normals, rotation direction, rotation hinge point, surface temperatures, surface energy accommodation coefficients, and surface areas of the bodies -
bodies_rotation_angles__rad
: 1xN array of the rotation angles of the bodies -
temperature_ratio_method
: Scalar value of the method to calculate the temperature ratio- 1: Exact term
- 2: Hyperthermal approximation 1
- 3: Hyperthermal approximation 2
For further explanation, see: https://arxiv.org/abs/2411.11597
aerodynamic_force_B__N
: 3x1 array of the aerodynamic force acting on the satellite expressed in the body frameaerodynamic_torque_B_B__Nm
: 3x1 array of the aerodynamic torque acting on the satellite with respect to the center of mass (origin of body frame) expressed in the body frame