# Simulation of Compressed Air Driven Piston

1. Jun 13, 2014

### mmcc

I am writing a MATLAB script that generates a dynamic simulation of a piston being driven by compressed air. My starting values for pressure and volume are as follows:

P0 = 14000000; %nm-2 or 140 Bar
V0 = 0.005; %m3 or 500cc

The simulation needs to be quite detailed and must take into account the following factors:

1. Force required to open the valve (assume hammer type)
2. Duration valve will remain open
3. Flow rate from valve and change over time
4. Expansion into transfer port over time
5. Force imparted to piston
6. Account for inertia and friction to move piston
7. Expansion into cylinder over time
8. Velocity, mass and force of air over time

I am looking for the necessary formulas to achieve the above goals.

2. Jun 14, 2014

### mmcc

I suppose this is a lot to ask in one post, but I have made a start on this. I will run through the sequence of events and describe the formulas I have, or have identified so far.

The process begins with a hammer striking a valve to open the seal. This can be modeled as a collision over time and a series of forces (force of hammer, force of spring sealing valve and force of air pressure inside valve):

Force (change with time) = mass * acceleration (change with time)

Then simply conserve momentum over time:

Valve --- Kg m/s (change with time) ---> <--- Kg m/s (change with time)--- Hammer
Net force <--- Kg m/s (change with time) --->

Determining how long the valve will stay open is basic speed = distance /time. We can calculate the velocity using the conservation of momentum:

Force (Valve - change with time) + Force (Hammer - change with time) = Mass (Valve) + Mass (Hammer)
Mass / Force (change with time) = velocity (change with time)

We can then calculate the distance the valve seal will move and compare that with size/volume of the valve opening.

This then leads to air rushing into the valve and where the equation begin to become complex. I think I can model this as a flow through an orifice. As such, I have identified the following formulas (MATLAB comments):

Code (Text):

% Density of air
%
% Assumed to be:
% 1. Sea level
% 2. 15 °C
%
% d = p /Rs T
% where:
% d = air density (kg/m3)
% p = absolute pressure (nm-2) - 101325
% T = absolute temperature (K) - 288.15
% Rs = specific gas constant for dry air is 287.058 J/(kg·K)
%
% d = 101325 / (287.058 * 288.15)
% d = 1.2249781262066510570904764201612 kg/m3
%
% Air Velocity
%
% v = 278.27 * (Math.sqrt(static pressure / Atmospheric density)
% v = 278.27261838130327370844581361742 * (Math.sqrt(13999999 / 1.225)
% v = 940,724.26425592028024204853937945 m/s
%
%v = 278.27 * (Math.sqrt(13999999 / 1.225)
%
%
% Flow through Orifice
%
% Q = Cd A [2 #p /Ad] ^ 0.5
% where:
% q = Flow rate (m3/s)
% Cd = Discharge coefficient
% A = surface area of opening (m2)
% #p = Pressure difference (change with time)