trick/trick_sims/SIM_balloon
jmpenn ee2f824550
Disable unneeded SimObjects from default_trick_sys.sm in Trick exampl… (#1719)
* Disable unneeded SimObjects from default_trick_sys.sm in Trick example sims.

* Take out unit test disable. Add some S_defines I forgot.
2024-05-23 10:12:27 -05:00
..
Images Update SIM_balloon free body diagram. #1213 2022-01-13 10:21:22 -06:00
models Stop ignoring makefile inside SIM_balloon/models/graphics directory. 2022-06-23 16:48:10 -05:00
Modified_data Disambiguate python use #1250 (#1251) 2022-03-22 15:15:40 -05:00
RUN_test fix BalloonDisplay pom file, and SIM_balloon input file. 2022-06-23 15:45:36 -05:00
README.md Update SIM_balloon with Wind. #1213 2022-01-12 13:41:04 -06:00
S_define Disable unneeded SimObjects from default_trick_sys.sm in Trick exampl… (#1719) 2024-05-23 10:12:27 -05:00
S_overrides.mk Hot-air balloon simulation. #1210 2021-12-17 16:03:43 -06:00

Hot-Air Balloon Simulation

A hot-air balloon is a lighter than air aircraft consisting of

  1. an envelope (the big air-bag),
  2. a burner system to heat the air in the envelope, and
  3. a basket to carry fuel and passengers.

The motion of the balloon is controlled by changing the temperature of the air within the envelope. As the temperature of the air within the envelope increases, its density, and therefore its mass decreases. When the total mass of the balloon becomes less the mass of the cooler outside air that it displaces, the balloon ascends.

Balloon Parts

Building the Simulation

In the SIM_balloon directory, type trick-CP to build the simulation executable. When it's complete, you should see:

=== Simulation make complete ===

Now cd into models/graphics/ and type make. This builds the graphics client for the simulation.

Running the Simulation

In the SIM_balloon directory:

% S_main_*.exe RUN_test/input.py

The Sim Control Panel, and a graphics client called "Balloon Range" should appear.

Click the Start on the Trick Sim Control Panel.

U.S. Standard Atmosphere Model

The US Standard Atmosphere is a static model of pressure, temperature, density, gravitational acceleration, and viscosity as functions of altitude.

In the models/atmosphere directory of SIM_balloon we've implemented the following four C-language functions using data found at www.engineeringtoolbox.com. The functions are valid for altitudes between -1000 meters and 80,000 meters.

double US_STD_density( double alt_m);

Returns atmospheric density (kg/m3) at the given altitude (m).

double US_STD_gravity( double alt_m);

Returns acceleration of gravity (m/s2) at the given altitude (m).

double US_STD_temperature( double alt_m);

Returns atmospheric temperature (℃) at the given altitude (m).

double US_STD_pressure( double alt_m);

Returns atmospheric pressure (pascals) at the given altitude (m).

Dynamics Model

The forces acting on our balloon will be those of gravity, buoyancy and aerodynamic drag.

Balloon Forces

To determine the balloons motion, we first need to know its acceleration. We can determine this by calculating and summing the forces acting on the balloon, and then dividing that sum by the balloons total mass.

Equation 1

To help us calculate these forces we use the US Standard Atmosphere model described above.

To find the state of the balloon, we integrate acceleration and velocity, over time, to get velocity and position.


Force of Gravity

Applying the acceleration of gravity to Newtons 2nd Law:

Equation 2

At sea-level, g is around 9.81 m/s2. But as altitude increases g decreases. To determine g for a given altitude we use the US_STD_gravity(altitude) function from the atmosphere model library.

Balloon Mass

The total balloon mass is the sum of the fixed mass and the mass of the heated air inside the balloon envelope.

Equation 3

Balloon Fixed Mass

The fixed mass is simply the sum of the balloon component masses:

Balloon Component mass (m)
Envelope 113.4 kg
Basket 63.5 kg
Burner System 206.4 kg
Payload (passengers) 300.0 kg
-------------------- -------------
mfixed 683.3 kg

Mass of Air in the Balloon

The mass of the air in the balloon envelope is the product of the volume of the balloon envelope and the density of the heated air within the envelope.

Equation 4

Balloon Volume

To calculate the volume the the balloon, we separate the balloon into two parts:

  1. a spherical dome and
  2. a cone.

Balloon Volume R represents the radius of the spherical dome. θ represents angle at which the spherical dome transitions to the cone. The height (h) for each of the spherical and conical parts is given shown in the diagram. They are each used in their respective volume calculations below.

The volume of the spherical dome is:

Equation 5

The volume of the cone is:

Equation 6

The total volume of the envelope is the sum of the two component volumes.

Equation 7

Air Density

To calculate air density (𝝆) we use the following form of the Ideal Gas Law.

Equation 8

  • p is just the standard pressure (in pascals) at the balloon's current altitude. Use US_STD_pressure(altitude).
  • Rair is the specific gas constant for dry air. Rair = 287.055 J/kg K.
  • T is the temperature of the gas in kelvin. The conversion from celsius to kelvin is Tkelvin = Tcelsius + 273.15.

Force of Buoyancy

Buoyancy is a force on an object, that opposes gravity, by a fluid within which its immersed. This force is equal to the mass of the displaced fluid times the acceleration of gravity.

Equation 9

Here, we can do that same calculation for air mass as before, using Equation #4, but this time with 𝝆 = US_STD_density(altitude), which assumes U.S Standard temperature at the given altitude.


Force of Drag Due to Motion and Wind

As a balloon moves through the air, it encounters an atmospheric drag force. This force is a function of:

  • the density of the surrounding air (𝝆),
  • the balloons velocity with respect to the surrounding air (vTAS),
  • the balloons coefficient of drag (Cd) perpendicular to vTAS, and
  • the cross-sectional area (A) perpendicular to vTAS,

Equation 10

Since the balloon will be moving through our “standard atmosphere” 𝝆 = US_STD_density(altitude).

The velocity of the balloon through the surrounding air (vTAS) is equal to its velocity with respect to the ground (vballoon) minus the wind velocity (vwind). TAS stands for True air speed.

Equation 10

The default value of Cd = 0.5 (the coefficient of drag for a sphere) for both the horizontal and vertical axes of motion.

We can calculate the cross-sectional area (A) from the radius of the spherical portion of our balloon.

For vertical motion: Equation 12 For horizontal motion: Equation 13

Graphics

Before running the simulation, the graphics client needs to be compiled. cd into models/graphics, and run make.

When the simulation is run, the client will automatically be launched.

References