Compressibility Factor Calculator
Approximates compressibility factor (commonly denoted Z) of gas at a given temperature and absolute pressure. Calculated by Van der Waals equation of state.
Z = PV/(RT)
Solves compressibility factor for the following gases:
air
ammonia
argon
butane
carbon dioxide
carbon monoxide
methane
ethane
helium
hydrogen
neon
nitrogen
oxygen
propane
sulfur dioxide
sulfur hexafluoride
Note: The Van der Waals equation is an improvement of the ideal gas law, above the critical temperature, and is also qualitatively reasonable below the critical temperature, but it is almost never appropriate for rigorous quantitative calculations. (Paraphrased from T.L. Hill, Statistical Thermodynamics, Addison-Wesley, Reading (1960))
**********************************************************
Example 1: Find the compressibility factor of methane at 280 K and 20 bar:
Z = compressibility('methane',280,20)
Z = 0.951
The above example shows that methane at 280 K and 20 bar deviates from the ideal gas law by approximately 4.9%.
**********************************************************
Example 2: Calculate Z for a range of pressures with constant temperature:
T = 195; % [°K]
P = 1:100; % [bar]
Z = compressibility('sf6',T,P);
plot(P,Z)
box off
xlabel('hydrostatic pressure (bar)')
ylabel('compressibility factor {\it Z}')
title(['SF_6 at ',num2str(T),' K'])
**********************************************************
Example 3: Calculate Z for an array ofCalculate Z for arrays of simultaneously-varying pressure and temperature values.
compressibility('methane',[280 300 350],[1 10 20])
ans =
0.9976
0.9802
0.9755
**********************************************************
This function can be modified to solve for any gas you wish if you know its critical temperature Tc and critical pressure Pc. Do this by adding a case in the following form
case 'your gas'
Tc = YourGasTc; % [K] critical temperature
Pc = YourGasPc; % [bar] critical pressure
Above you must enter the name of 'your gas' and the correct values for YourGasTc and YourGasPc.
**********************************************************
I am not a thermodynamicist, so I can not fully attest to the accuracy of this function, or the appropriateness of using it for any given gas (including the gases listed above).
Use of this function may benefit from use of unit conversion functions such as the bundle listed below.
引用格式
Chad Greene (2024). Compressibility Factor Calculator (https://www.mathworks.com/matlabcentral/fileexchange/35874-compressibility-factor-calculator), MATLAB Central File Exchange. 检索时间: .
MATLAB 版本兼容性
平台兼容性
Windows macOS Linux类别
- Sciences > Material Sciences > Thermal Analysis >
- Sciences > Chemistry > Chemical Thermodynamics >
- Engineering > Mechanical Engineering > Thermodynamics and Heat Transfer >
标签
致谢
参考作品: Unit Converters
启发作品: Compressibility Factor Calculator (exact), Water sound speed calculator, Sulfur Hexafluoride Property Lookup, Minnaert bubble models
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!