MEASUR-Tools-Suite v1.0.11
The MEASUR Tools Suite is a collection of industrial efficiency calculations written in C++ and with bindings for compilation to WebAssembly.
Loading...
Searching...
No Matches
Classes | Functions
pneumatic_air_requirement Namespace Reference

Pneumatic cylinder air consumption calculations for single-acting and double-acting pistons. More...

Classes

struct  AirRequirementResult
 Result of a pneumatic cylinder air requirement calculation. More...
 
struct  DoubleActingInput
 Input parameters for the double-acting piston air requirement calculation. More...
 
struct  SingleActingInput
 Input parameters for the single-acting piston air requirement calculation. More...
 

Functions

AirRequirementResult calculateSingleActing (const SingleActingInput &input)
 Calculates the air requirement for a single-acting pneumatic cylinder.
 
AirRequirementResult calculateDoubleActing (const DoubleActingInput &input)
 Calculates the air requirement for a double-acting pneumatic cylinder.
 

Detailed Description

This namespace provides two calculation modes for sizing the compressed air supply to a pneumatic cylinder:

Both calculations determine the cylinder's volumetric air intake per minute (at the cylinder inlet conditions), then multiply by the compression ratio to express the result in standard cubic feet per minute — the free-air equivalent that the compressor must supply.

See also
Pneumatic Air Requirement Calculator

Function Documentation

◆ calculateDoubleActing()

AirRequirementResult pneumatic_air_requirement::calculateDoubleActing ( const DoubleActingInput input)

A double-acting cylinder consumes compressed air on both the forward and return strokes. The forward stroke acts on the full bore area; the return stroke acts on the annular area between the bore and the piston rod. The net air intake is the sum of both swept volumes expressed in cubic feet per minute, and the compression ratio converts this to the free-air equivalent.

Combined Cylinder Air Intake Volume (forward + return strokes):

\begin{equation}\label{eq:pneumatic-air-requirement-double-acting-volume} Q_{cyl} = \frac{2 \cdot k_{in^3} \cdot Q_{sa} - \frac{\pi}{4} \cdot d_r^2 \cdot L \cdot n}{k_{in^3}} \end{equation}

where \(Q_{sa}\) is the single-acting intake volume computed with the same bore, stroke, and cycle rate. Equivalently:

\begin{equation}\label{eq:pneumatic-air-requirement-double-acting-expanded} Q_{cyl} = \frac{\frac{\pi}{4} \cdot (2 D^2 - d_r^2) \cdot L \cdot n}{k_{in^3}} \end{equation}

Compression Ratio and Free-Air Requirement are the same as for the single-acting case (see above).

where:

\(Q_{cyl}\)Combined cylinder air intake volume per minute \([\unit{ \cubicFoot\per\minute}]\)
\(Q_{sa}\)Single-acting intake volume (bore stroke, no rod) \([\unit{ \cubicFoot\per\minute}]\)
\(D\)Inner bore diameter of the cylinder \([\unit{ \inch}]\)
\(d_r\)Piston rod diameter \([\unit{ \inch}]\)
\(L\)Piston stroke length \([\unit{ \inch}]\)
\(n\)Number of complete cycles per minute \([\unit{ \per\minute}]\)
\(k_{in^3}\)Cubic inches per cubic foot (1728) \([\unit{ \inch\cubed\per\cubicFoot}]\)
\(r_c\)Compression ratio \([\unit{ \unitless}]\)
\(P_{gauge}\)Operating gauge pressure \([\unit{ \psi}]\)
\(P_{atm}\)Atmospheric pressure (14.7 psia) \([\unit{ \psi}]\)
Note
The factor \(2 k_{in^3} \cdot Q_{sa}\) recovers the bore swept volume in cubic inches before subtracting the rod cross-section contribution. The result is then divided by \(k_{in^3}\) to return to cubic feet per minute.
Parameters
[in]inputDoubleActingInput
Returns
AirRequirementResult containing the cylinder intake volume (cfm), compression ratio, and free-air requirement (scfm).

◆ calculateSingleActing()

AirRequirementResult pneumatic_air_requirement::calculateSingleActing ( const SingleActingInput input)

A single-acting cylinder consumes compressed air on the power stroke only. The piston cross-sectional area is computed from the bore diameter using \(\pi/4 \cdot D^2\), and the swept volume per cycle is converted from cubic inches to cubic feet. The compression ratio scales the cylinder-inlet volume to the free-air equivalent that the compressor must deliver.

Cylinder Air Intake Volume:

\begin{equation}\label{eq:pneumatic-air-requirement-single-acting-volume} Q_{cyl} = \frac{\frac{\pi}{4} \cdot D^2 \cdot L \cdot n}{k_{in^3}} \end{equation}

Compression Ratio:

\begin{equation}\label{eq:pneumatic-air-requirement-compression-ratio} r_c = \frac{P_{gauge} + P_{atm}}{P_{atm}} \end{equation}

Free-Air Requirement:

\begin{equation}\label{eq:pneumatic-air-requirement-single-acting-scfm} Q_{free} = Q_{cyl} \cdot r_c \end{equation}

where:

\(Q_{cyl}\)Cylinder air intake volume per minute at cylinder conditions \([\unit{ \cubicFoot\per\minute}]\)
\(Q_{free}\)Free-air equivalent consumption (scfm) \([\unit{ \standardCubicFeetPerMinute}]\)
\(D\)Inner bore diameter of the cylinder \([\unit{ \inch}]\)
\(L\)Piston stroke length \([\unit{ \inch}]\)
\(n\)Number of complete cycles per minute \([\unit{ \per\minute}]\)
\(k_{in^3}\)Cubic inches per cubic foot (1728) \([\unit{ \inch\cubed\per\cubicFoot}]\)
\(r_c\)Compression ratio (absolute working pressure / atmospheric pressure) \([\unit{ \unitless}]\)
\(P_{gauge}\)Operating gauge pressure at the cylinder inlet \([\unit{ \psi}]\)
\(P_{atm}\)Atmospheric pressure (14.7 psia) \([\unit{ \psi}]\)
Note
\(P_{atm}\) is 14.7 psia at sea level (see physics::us::kAtmosphericPressurePsi). \(k_{in^3} = 1728\) is the exact number of cubic inches in one cubic foot (see physics::conversions::kFt3ToIn3). The factor \(\pi/4 \approx 0.7854\) gives the circular cross-sectional area of the bore in square inches when the diameter is in inches.
Parameters
[in]inputSingleActingInput
Returns
AirRequirementResult containing the cylinder intake volume (cfm), compression ratio, and free-air requirement (scfm).