Skip to main content

JSteam Toolbox Engineering Units

The toolbox comes with flexibility to support multiple unit sets to suit the user. Examples below cover their use, based on Examples/JSteam_Units.m.

Viewing All Units

To view all unit sets, and the available units, use the following function:

>> JSteamMEX('PrintUnits')

Pressure Units: bar, barg, psi, psig, kPa, MPa, atm [Set via JSteamMEX('SetUnit','Pressure',unit)]
Temperature Units: C, F, K, R [Set via JSteamMEX('SetUnit','Temperature',unit)]
Mass Flow Units: tonne/hr, kg/hr, kg/s, lbm/hr, lbm/s, ton(UK)/hr, ton(US)/hr [Set via JSteamMEX('SetUnit','MassFlow',unit)]
Mole Flow Units: kmol/hr, kmol/s, mol/hr, mol/s [Set via JSteamMEX('SetUnit','MoleFlow',unit)]
Power Units: kW, MW, W, Btu/hr, MMBtu/hr, kcal/hr, kcal/s, ft.lbf/hr, ft.lbf/s, hp(Mech), hp(Metric), hp(Elec), hp(Blr) [Set via JSteamMEX('SetUnit','Power',unit)]
Energy Units: kJ, J, cal, kcal, cal(th), kcal(th), Btu, MMBtu [Set via JSteamMEX('SetUnit','Energy',unit)]
Volume Units: m3, cm3, in3, ft3, gal(UK), gal(US) [Set via JSteamMEX('SetUnit','Volume',unit)]
Mass Units: kg, g, lbm [Set via JSteamMEX('SetUnit','Mass',unit)]
Mole Units: kmol, mol, lbmol [Set via JSteamMEX('SetUnit','Mole',unit)]
Viscosity Units: uPa.s, mPa.s, Pa.s, uP, mP, cP, P, lb/(ft.hr), lb/(ft.s), lbf.s/ft2, lbf.s/in2 [Set via JSteamMEX('SetUnit','Viscosity',unit)]
Thermal Conductivity Units: mW/(m.K), W/(m.K), W/(cm.K), cal/(s.cm.K), kcal/(hr.m.K), Btu.in/(hr.ft2.F), Btu.in/(s.ft2.F), Btu.ft/(hr.ft2.F) [Set via JSteamMEX('SetUnit','ThermalConductivity',unit)]
Basis Units: mass, mole [Set via JSteamMEX('SetUnit','Basis',unit)]

As viewable above, every engineering unit within JSteam is customizable to a wide range of metric and imperial options. At any point you can check the current unit set via:

>> JSteamMEX('GetCurrentUnits')

ans =

12×1 cell array

{'bar' }
{'C' }
{'tonne/hr'}
{'kmol/hr' }
{'kW' }
{'kJ' }
{'kg' }
{'kmol' }
{'m3' }
{'uPa.s' }
{'mW/(m.K)'}
{'mass' }

Or check a specific unit:

JSteamMEX('GetUnit','Pressure')

ans =

'bar'

Changing Units

To change units, simply use the SetUnit functionality:

JSteamMEX('SetUnit','Pressure','MPa')
JSteamMEX('SetUnit','Temperature','K')

%Get Current Units [to check]
>> JSteamMEX('GetCurrentUnits')

ans =

12×1 cell array

{'MPa' }
{'K' }
{'tonne/hr'}
{'kmol/hr' }
{'kW' }
{'kJ' }
{'kg' }
{'kmol' }
{'m3' }
{'uPa.s' }
{'mW/(m.K)'}
{'mass' }

Computations done with the new unit set will expect inputs in MPa and K, as below:

%Example thermo call
H = JSteamMEX('HPT',0.1,373.15)

H =

2675.76736720583

At any point you can revert to the default unit set:

%Revert to default
JSteamMEX('SetDefaultUnits')

%Example thermo call
H = JSteamMEX('HPT',1,100)

H =

2675.76736720583

You may also save the current unit set and return to it later, as below:

myUnits = JSteamMEX('GetCurrentUnits');

% Example computation in different units
JSteamMEX('SetUnit','Pressure','MPa');
H = JSteamMEX('HPT',0.1,100)

% Return to original unit set
JSteamMEX('SetCurrentUnits',myUnits);

Unit Conversion

The toolbox also provides Unit Conversion functionality between any of the available units:

% Same Basis
JSteamMEX('ConvUnit',10,'kg/s','kg/hr')

% New Basis requires Molecular Weight
JSteamMEX('ConvUnit',350,'kJ/kg','cal(th)/lbmol',18)

Note if converting between mass vs mole you will need the molecular weight of the fluid/mixture.