No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
LICENSE
README.md
bags.py
gasdata.csv

README.md

BAGS - btrettel’s air gun simulation

BAGS is a simulator script written by btrettel and is being maintained by yours truly.

Right now, the simulation is configred simply be editing the script with values:


gas = 'air'
F   = 2.5     # flow coefficient (typically called C_v)
d   = 13.4e-3 # barrel diameter, m
L   = 0.3048  # barrel length, m
m   = 1.3e-3  # mass of projectile, kg
dP  = 5.e5    # gauge pressure, Pa
P_f = 14.e3   # minimum pressure to move projectile, Pa
t_o = 5.e-3   # valve opening time, s
V_c = 3.3e-5  # gas chamber volume, m^3
V_d = 8.2e-6  # dead volume, m^3

# configuration

P_ref = 101325.0 # reference/standard atmospheric pressure in Pa
R_bar = 8314.472 # universal gas constant in J/kmol*K
g     = 9.80665  # gravitational acceleration in m/s^2
T_ref = 293.15   # reference temperature in K
dt    = 1.e-6    # time interval in seconds

# atmospheric conditions (pressure and temperature) available from
# http://weather.gov in the USA and a barometer there and elsewhere; see
# http://en.wikipedia.org/wiki/Inch_of_mercury to convert barometer measurements
# use T_atm = T_ref for the reference temperature (293.15 K / 20.15 C / 68 F)
# use P_atm = P_ref for the standard atmospheric pressure
# use T_c = T_atm and T_b = T_atm unless gas in gun is hot or cold

T_atm = 293.0 # atmospheric temperature in K
T_c   = T_atm # initial gas chamber temperature, K
T_b   = T_atm # initial barrel gas temperature, K
P_atm = P_ref # atmospheric temperature in Pa

After doing this, running the script gives the following output:

mon@expedit ~/bags $ python3 bags.py 
V_m = 102.0 m/s (muzzle velocity)
eta = 34.2% (energy efficiency)
t_m = 6.6 ms (dwell time)
T_b = -41.8 C (final barrel gas temperature)
a   = 304.9 m/s (speed of sound)
Ma  = 0.335 (Mach number)

That's it for now. Thanks to Ben for the cool work. We discussed some ideas of how to expand the script in the future, which I plan to implement.