Fluids
Fluids
Release 0.1
Caleb Bell
1 fluids tutorial 3
1.1 Importing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Design philosophy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Dimensionless numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Miscellaneous utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Friction factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.6 Pipe schedules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.7 Wire gauges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.8 Tank geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.9 Miscellaneous geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.10 Atmospheric properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.11 Compressor sizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.12 Gas pipeline sizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.13 Gas pipeline sizing: Empirical equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.14 Drag and terminal velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.15 Pressure drop through packed beds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.16 Pressure drop through piping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.17 Control valve sizing: Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.18 Control valve sizing: Liquid flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.19 Control valve sizing: Gas flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.20 Electric motor sizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.21 Particle Size Distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2 API Reference 29
2.1 Atmospheric properties (fluids.atmosphere) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2 Compressible flow and compressor sizing (fluids.compressible) . . . . . . . . . . . . . . . . . . . . 42
2.3 Control valve sizing and rating (fluids.control_valve) . . . . . . . . . . . . . . . . . . . . . . . . . . 63
2.4 Dimensionless numbers (fluids.core) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
2.5 Drag and terminal velocity (fluids.drag) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
2.6 Filter pressure drop (fluids.filters) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
2.7 Fittings pressure drop (fluids.fittings) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
2.8 Orifice plates, flow nozzles, Venturi tubes, cone and wedge meters (fluids.flow_meter) . . . . . . . . 179
2.9 Friction factor and pipe roughness (fluids.friction) . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
2.10 Tank and helical coil sizing (fluids.geometry) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
2.11 Jet Pump (ejector/eductor) Sizing and Rating (fluids.jet_pump) . . . . . . . . . . . . . . . . . . . . 279
2.12 Mixing (fluids.mixing) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
i
2.13 Hydrology, weirs and open flow (fluids.open_flow) . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
2.14 Packed bed pressure drop (fluids.packed_bed) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
2.15 Packing & demister pressure drop (fluids.packed_tower) . . . . . . . . . . . . . . . . . . . . . . . . 308
2.16 Particle Size Distributions (fluids.particle_size_distribution) . . . . . . . . . . . . . . . . . . . . . . 317
2.17 Pipe schedules (fluids.piping) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
2.18 Pump and motor sizing (fluids.pump) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
2.19 Safety/relief valve sizing (fluids.safety_valve) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
2.20 Liquid-Vapor Separators (fluids.separator) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
2.21 Pneumatic conveying (fluids.saltation) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
2.22 Two phase flow (fluids.two_phase) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
2.23 Two-phase flow voidage (fluids.two_phase_voidage) . . . . . . . . . . . . . . . . . . . . . . . . . . 396
2.24 Support for pint Quantities (fluids.units) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
2.25 Support for numpy arrays (fluids.vectorized) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
4 Installation 437
8 Citation 445
Bibliography 449
ii
Fluids Documentation, Release 0.1
Fluids is open-source software for engineers and technicians working in the fields of chemical, mechanical, or civil
engineering. It includes modules for piping, fittings, pumps, tanks, compressible flow, open-channel flow, and more.
Module Contents:
Contents 1
Fluids Documentation, Release 0.1
2 Contents
CHAPTER 1
fluids tutorial
1.1 Importing
Fluids can be imported as a standalone library, or all of its functions and classes may be imported with star imports:
All functions are available from either the main fluids module or the submodule; i.e. both fluids.friction_factor and
fluids.friction.friction_factor are valid ways of accessing a function.
Like all libraries, this was developed to scratch my own itches. Since its public release it has been found useful by
many others, from students across the world to practicing engineers at some of the world’s largest companies.
The bulk of this library’s API is considered stable; enhancements to functions and classes will still happen, and default
methods when using a generic correlation interface may change to newer and more accurate correlations as they are
published and reviewed.
To the extent possible, correlations are implemented depending on the highest level parameters. The friction_factor
correlation does not accept pipe diameter, velocity, viscosity, density, and roughness - it accepts Reynolds number and
relative roughness. This makes the API cleaner and encourages modular design.
All functions are designed to accept inputs in base SI units. However, any set of consistent units given to a function
will return a consistent result; for instance, a function calculating volume doesn’t care if given an input in inches or
meters; the output units will be the cube of those given to it. The user is directed to unit conversion libraries such as
pint to perform unit conversions if they prefer not to work in SI units.
The standard math library is used in all functions except where special functions from numpy or scipy are necessary.
SciPy is used for root finding, interpolation, scientific constants, ode integration, and its many special mathematical
functions not present in the standard math library. No other libraries will become required dependencies; anything
else is optional.
3
Fluids Documentation, Release 0.1
To allow use of numpy arrays with fluids, a vectorized module is implemented, which wraps all of the fluids functions
with np.vectorize. Instead of importing from fluids, the user can import from fluids.vectorized:
It is possible to switch back and forth between the namespaces with a subsequent import:
Where different parameters may be used with a dimensionless number, either a separate function is created for each or
both sets of parameters are can be specified. For example, instead of specifying viscosity and density for the Reynolds
number calculation, kinematic viscosity could have been used instead:
In the case of groups like the Fourier number, used in both heat and mass transfer, two separate functions are avail-
able, Fourier_heat and Fourier_mass. The heat transfer version supports specifying either the density, heat
capacity, and thermal conductivity - or just the thermal diffusivity. There is no equivalent set of three parameters for
the mass transfer version; it always requires mass diffusivity.
Among the coded dimensionless numbers are Archimedes, Bejan_L, Bejan_p, Biot, Boiling,
Bond, Capillary, Cavitation, Confinement, Dean, Drag, Eckert, Euler, Fourier_heat,
Fourier_mass, Froude_densimetric, Froude, Graetz_heat, Grashof, Hagen, Jakob, Knudsen,
Lewis, Mach, Nusselt, Ohnesorge, Peclet_heat, Peclet_mass, Power_number, Prandtl,
Rayleigh, Reynolds, Schmidt, Sherwood, Stanton, Stokes_number, Strouhal, Suratman,
Weber, Morton.
Converters between loss coefficient, L/D equivalent, length of pipe, and pressure drop are available. It is recommended
to convert length/diameter equivalents and lengths of pipe at specified friction factors to loss coefficients using the
K_from_L_equiv and K_from_f functions respectively. They can all be summed easily afterwards.
Either head loss or pressure drop can be calculated once the total loss coefficient K is known using head_from_K
or dP_from_K respectively. Head loss does not require knowledge of the fluid’s density, but pressure drop does.
If a K value is known and desired to be converted to a L/D ratio or to an equivalent length of pipe, that calculation is
available as well with L_from_K or L_equiv_from_K respectively:
Pressure and head are also convertible with the head_from_P and P_from_head functions:
Speed of sound in an ideal gas c_ideal_gas: (requires temperature, isentropic exponent Cp/Cv):
Calculation of gravity on earth as a function of height and latitude (input in degrees and height in meters):
The transition to laminar flow is implemented abruptly at Re=2040, one of the latest experimental results which is
accurate to +/- 10. If the Reynolds number is in the laminar regime, the transition to a different correlation happens
automatically and the well-known solution fd = 64/Re is given.
>>> fluids.friction.friction_factor(Re=150)
0.4266666666666667
Friction factor in curved pipes in available as friction_factor_curved. The curved friction factor is applicable
for helices and coils, and to a lesser extent curved bends.
>>> friction_factor_curved(Re=15000, Di=.01, Dc=2.5, roughness=1.5E-6)
0.02984622907277626
The critical Reynolds number for curved pipes is increased compared to straight pipe flow, and is a function of the
curvature of the pipe. The preferred method to calculate the transition (used by default for the automatic regime
transition) is the method of Schmidt (1967) helical_transition_Re_Schmidt.
>>> helical_transition_Re_Schmidt(Di=.01, Dc=2.5)
3948.7442097768603
Although roughness is a hard value to know without measuring it for a pipe, several hundred pipe conditions have
had their roughness values measured in the literature, and they can be searched through using fuzzy matching and the
functions nearest_material_roughness and material_roughness.
>>> nearest_material_roughness('Used water piping', clean=False)
'Seamless steel tubes, Used water piping'
>>> material_roughness('Seamless steel tubes, Used water piping')
0.0015
The material_roughness function can also be used directly, but in that case there is no feedback about the material
which was found.
>>> material_roughness('glass')
1e-05
As fuzzy string matching is a pretty terrible solution, it is encouraged to find the desired string in the actual source
code of fluids.
There is one more way of obtaining the roughness of a clean pipe, developed by Farshad and Rieke (2006)
roughness_Farshad. It has been established that in commercial pipe, the larger the diameter, the larger the
roughness.
>>> roughness_Farshad('Carbon steel, bare', D=0.05)
3.529128126365038e-05
Only the following types of clean, new pipe have data available:
• ‘Plastic coated’
• ‘Carbon steel, honed bare’
ASME/ANSI pipe tables from B36.10M-2004 and B36-19M-2004 are implemented in fluids.piping.
Piping can be looked up based on nominal pipe size, outer diameter, or inner diameter with the nearest_pipe
function.
>>> nearest_pipe(NPS=2) # returns NPS, inside diameter, outer diameter, wall thickness
(2, 0.05248, 0.0603, 0.00391)
When looking up by actual diameter, the nearest pipe as large or larger then requested is returned:
By default, the pipe schedule used for the lookup is schedule 40. Other schedules that are available are: ‘5’, ‘10’, ‘20’,
‘30’, ‘40’, ‘60’, ‘80’, ‘100’, ‘120’, ‘140’, ‘160’, ‘STD’, ‘XS’, ‘XXS’, ‘5S’, ‘10S’, ‘40S’, ‘80S’.
If a diameter which is larger than any pipe in the schedule is input, an exception is raised:
>>> nearest_pipe(Do=1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "fluids/piping.py", line 276, in nearest_pipe
raise ValueError('Pipe input is larger than max of selected schedule')
ValueError: Pipe input is larger than max of selected schedule
The construction of mechanical systems often uses the “gauge” systems, a variety of old imperial conversions be-
tween plate or wire thickness and a dimensionless number. Conversion from and to the gauge system is done by the
gauge_from_t and t_from_gauge functions.
Looking up the gauge from a wire of known diameter approximately 1.2 mm:
>>> gauge_from_t(.0012)
18
>>> t_from_gauge(18)
0.001245
Sizing of vessels and storage tanks is implemented in an object-oriented way as TANK in fluids.geometry. All
results use the exact equations; all are documented in the many functions in fluids.geometry.
By default, tanks are cylinders without heads. Tank heads can be specified to be conical, ellipsoidal, torispherical,
guppy, or spherical. The heads can be specified independently. The diameter and length are not required; the total
volume desired can be specified along with the length to diameter ratio.
Conical, ellipsoidal, guppy and spherical heads are all governed only by one parameter, a, the distance the head extends
out from the main tank body. Torispherical heads are governed by two parameters k and f. If these parameters are not
provided, the distance the head extends out will be 25% of the size of the tank’s diameter. For torispherical heads, the
distance is similar but more complicated.
Each TANK has __repr__ implemented, to describe the tank when printed.
Torispherical tanks default to the ratios specified as ASME F&D. Other standard ratios can also be used; the docu-
mentation for <TANK> lists their values. Here we implement DIN 28011’s ratios.
>>> print(DIN)
<Vertical tank, V=90.299352 m^3, D=5.000000 m, L=3.000000 m, torispherical heads, a=0.
˓→968871 m.>
Partial volume lookups are also useful. This is useful when the height of fluid in the tank is known, but not the volume.
The reverse calculation is also implemented, and useful when doing dynamic simulation and to calculate the new
height after a specified volume of liquid is removed.
>>> DIN.h_max
4.937742251701451
>>> DIN.h_from_V(40)
2.3760173045849315
>>> DIN.V_from_h(4.1)
73.83841540117238
Surface areas of the heads and the main body are available as well as the total surface area of the tank.
In addition to sizing all sorts of tanks, helical coils are supported and so are a number of other simple calculations.
Sphericity is implemented as sphericity, requiring a calculated surface area and volume. For a cube of side length
3, the surface area is 6*a^2=54 and volume a^3=27. Its sphericity is then:
>>> aspect_ratio(.2, 2)
0.1
Circularity, a parameter used to characterize 2d images of particles, is implemented as circularity. For a rectan-
gle, one side length = 1, second side length = 100:
>>> D1 = 1
>>> D2 = 100
>>> A = D1*D2
>>> P = 2*D1 + 2*D2
>>> circularity(A, P)
0.030796908671598795
Various main classes are available to model the atmosphere, of varying accuracy. They are the US Standard Atmo-
sphere 1976 (ATMOSPHERE_1976), a basic but very quick model; the NRLMSISE 00 model, substantially more
powerful and accurate and still the standard to this day (ATMOSPHERE_NRLMSISE00); and two models for wind
speed only, Horizontal Wind Model 1993 (hwm93) and Horizontal Wind Model 2014 (hwm14). The two horizon-
tal wind models are actually fortran codes, and are not compiled automatically on installation. Solar models are
earthsun_distance, solar_position, sunrise_sunset and solar_irradiation.
ATMOSPHERE_1976 is the simplest model, and very suitable for basic engineering purposes. It supports atmospheric
temperature, density, and pressure as a function of elevation. Optionally, a local temperature difference from earth’s
average can be specified to correct the model to local conditions but this is only a crude approximation.
Conditions 5 km into the air:
The standard also specifies simplistic formulas for calculating the thermal conductivity, viscosity, speed of sound, and
gravity at a given elevation:
Those property routines are static methods, and can be used without instantiating an atmosphere object:
>>> ATMOSPHERE_1976.gravity(Z=1E5)
9.505238763515356
>>> ATMOSPHERE_1976.sonic_velocity(T=300)
347.22080908230015
>>> ATMOSPHERE_1976.viscosity(T=400)
2.285266457680251e-05
>>> ATMOSPHERE_1976.thermal_conductivity(T=400)
0.033657148617592114
ATMOSPHERE_NRLMSISE00 is the recommended model, and calculates atmospheric density, temperature, and pres-
sure as a function of height, latitude/longitude, day of year, and seconds since start of day. The model can also take into
account solar and geomagnetic disturbances which effect the atmosphere at very high elevations if more parameters
are provided. It is valid up to 1000 km. This model is somewhat slow; it is a Python port of the Fortran version, created
by Joshua Milas. It does not support gravity profiles or transport properties, but does calculate the composition of the
atmosphere (He, O, N2, O2, Ar, H2, N2 as constituents).
1000 m elevation, 45 degrees latitude and longitude, 150th day of year, 0 seconds in:
This model uses the ideal gas law to convert particle counts to mass density. Mole fractions of each species are
available as well.
>>> atm.components
['N2', 'O2', 'Ar', 'He', 'O', 'H', 'N']
>>> atm.zs
[0.7811046347676225, 0.2095469403691101, 0.009343183088772914, 5.241774494627779e-06,
˓→0.0, 0.0, 0.0]
The horizontal wind models have almost the same API, and calculate wind speed and direction as a function of
elevation, latitude, longitude, day of year and time of day. hwm93 can also take as an argument local geomagnetic
conditions and solar activity, but this effect was found to be so negligible it was removed from future versions of the
model such as hwm14.
Calculation of wind velocity, meridional (m/sec Northward) and zonal (m/sec Eastward) for 1000 m elevation, 45
degrees latitude and longitude, 150th day of year, 0 seconds in, with both models:
These wind velocities are only historical normals; conditions may vary year to year.
The solar radiation model is based around the Sun Position Algorithm (SPA) developed by NREL; it can calculate
the position of the sun in the sky at any time for any place on Earth, and can calculate how far away the sun is from
Earth. The python implementation used is a slightly modified version of the Python implementation written by Tony
Lorenzo and released under the BSD 3-clause license. The algorithm is published with the excellent pvlib library for
solar energy modelling applications.
To determine the distance of earth and the sun, use the earthsun_distance function which accepts a single
datetime object and returns the distance in meters.
To determine when the sun rises, sets, and is at solar noon, use the sunrise_sunset function, which accepts a
datetime instance, a latitude, and a longitude in degrees. Note the datetime for all solar calculations should be in the
local time zone - but never in daylight savings time.
To determine where in the sky the sun appears at any location and time, use the solar_position function, which
requires a datetime instance, a latitude, and a longitude.
The function returns several other properties which may be of interest. Its first return value, apparent_zenith, is the
zenith which an observer on the ground would see the sun at after accounting for atmospheric refraction. To more
accurately calculate the solar position, the temperature and pressure at ground level are required as well - as they
impact the refraction as well; these arguments are accepted as well by solar_position for more accuracy. When
specifying pressure, be sure to use the real pressure of the site - not an adjusted to standard conditions one as reported
by weather stations!
>>> solar_position(datetime(2003, 10, 17, 13, 30, 30), 51.0486, -114.07, T=290, P=8.
˓→9E4)[0]
60.3701556038549
The primary application of sun position is for calculating the amount of sunlight received by an object, via the
solar_irradiation function. Unlike the previous functions, it requires an installation of pvlib to work.
In addition to the arguments previously discussed, the surface_tilt and surface_azimuth of the object are required.
The object is assumed to be a plane only - other objects need to be discretized into planes through finite-element
calculations. The elevation is required, as well as the average albedo of the ground surrounding the object (not
immediately; within several kilometers). The calculation is then straightforward:
The first return value is the solar radiation which hits the object, in W/m^2. The next two are the components of
the radiation that comes 1) directly from the sun and 2) diffusely, after being reflected from some other object. The
final two return values break up the diffuse light into 3) a component reflected only in the sky and clouds and 4) a
component caused by earth’s albedo, bounding off the surface, then the sky, before hitting the object.
Note that if not provided, the temperature and pressure of the ground are obtained via the
ATMOSPHERE_NRLMSISE00 class, but this quadruples the time required for the calculation.
Work is calculated on a J/mol basis. If the second pressure is lower than the first, a negative work will result and you
are modeling an expander instead of a compressor. Gas compressibility factor can also be specified. The lower the
gas’s compressibility factor, the less power required to compress it.
There is only one function implemented to model both isentropic and polytropic compressors, as the only difference
is that a polytropic exponent n is used instead of the gas’s isentropic exponent Cp/Cv k and the type of efficiency is
changed. The model requires initial temperature, inlet and outlet pressure, isentropic exponent or polytropic exponent,
and optionally an efficiency.
Compressing air from 1 bar to 10 bar, with inlet temperature of 300 K and efficiency of 78% with the
isentropic_work_compression function:
>>> isentropic_work_compression(P1=1E5, P2=1E6, T1=300, k=1.4, eta=0.78) # work, J/mol
10416.873455626454
The model allows for the inlet or outlet pressure or efficiency to be calculated instead of the work:
>>> isentropic_work_compression(T1=300, P1=1E5, P2=1E6, k=1.4, W=10416) # Calculate
˓→efficiency
0.7800654085434559
>>> isentropic_work_compression(T1=300, P1=1E5, k=1.4, W=10416, eta=0.78) # Calculate
˓→P2
999858.5366533266
>>> isentropic_work_compression(T1=300, P2=1E6, k=1.4, W=10416, eta=0.78) # Calculate
˓→P1
100014.14833613831
The approximate temperature rise can also be calculated with the function isentropic_T_rise_compression.
>>> T2 = isentropic_T_rise_compression(P1=1E5, P2=1E6, T1=300, k=1.4, eta=0.78)
>>> T2, T2-300 # outlet temperature and temperature rise, K
(657.960664955096, 357.96066495509604)
With those results, we can prove the calculation worked by calculating the work required using these polytropic inputs:
>>> isentropic_work_compression(P1=1E5, P2=1E6, T1=300, k=n, eta=eta_p)
10416.873455626452
The work is the same as calculated with the original inputs. Note that the conversion is specific to three inputs: Inlet
pressure; outlet pressure; and isentropic exponent k. If any of those change, then the calculated polytropic exponent
and efficiency will be different as well.
To go in the reverse direction, we take the case of isentropic exponent k =Cp/Cv=1.4, eta_p=0.83 The power is
calculated to be:
We first need to calculate the polytropic exponent from the polytropic efficiency:
The standard isothermal compressible gas flow is fully implemented as isothermal_gas, and through a variety of
numerical and analytical expressions, can solve for any of the following parameters:
• Mass flow rate
• Upstream pressure (numerical)
• Downstream pressure (analytical or numerical if an overflow occurs)
• Diameter of pipe (numerical)
• Length of pipe
Solve for the mass flow rate of gas (kg/s) flowing through a 1 km long 0.5 m inner diameter pipeline, initially at 10
bar with a density of 11.3 kg/m^3 going downstream to a pressure of 9 bar.
>>> isothermal_gas(rho=11.3, fd=0.00185, P1=1E6, P2=9E5, L=1000, D=0.5)
145.4847572636031
The same case, but sizing the pipe to take 100 kg/s of gas:
>>> isothermal_gas(rho=11.3, fd=0.00185, P1=1E6, P2=9E5, L=1000, m=100)
0.42971708911060613
The same case, but determining what the outlet pressure will be if 200 kg/s flow in the 0.5 m diameter pipe:
>>> isothermal_gas(rho=11.3, fd=0.00185, P1=1E6, D=0.5, L=1000, m=200)
784701.0681827427
Determining pipe length from known diameter, pressure drop, and mass flow (possible but not necessarily useful):
>>> isothermal_gas(rho=11.3, fd=0.00185, P1=1E6, P2=9E5, D=0.5, m=150)
937.3258027759333
Not all specified mass flow rates are possible. At a certain downstream pressure, chocked flow will develop - that
downstream pressure is that at which the mass flow rate reaches a maximum. An exception will be raised if such an
input is specified:
Exception: Given outlet pressure is not physically possible due to the formation of
˓→choked flow at P2=389699.731765, specified outlet pressure was 300000.000000
The downstream pressure at which chocked flow occurs can be calculated directly as well:
In the above example, the friction factor was calculated using the density and velocity of the gas when it enters the
stream. However, the average values, at the middle pressure, and more representative. We can iterate to observe the
effect of using the average values:
As can be seen, the system converges very quickly. The difference in calculated pressure drop is approximately 1%.
In addition to the actual model, many common simplifications used in industry are implemented as well. These are
equally capable of solving for any of the following inputs:
• Mass flow rate
• Upstream pressure
• Downstream pressure
• Diameter of pipe
• Length of pipe
None of these models include an acceleration term. In addition to reducing their accuracy, it allows all solutions for
the above variables to be analytical. These models cannot predict the occurrence of chocked flow, and model only
turbulent, not laminar, flow. Most of these models do not depend on the gas’s viscosity.
Rather than using mass flow rate, they use specific gravity and volumetric flow rate. The volumetric flow rate is
specified with respect to a reference temperature and pressure. The defaults are 288.7 K and 101325 Pa, dating to the
old imperial standard of 60° F. The specific gravity is with respect to air at the reference conditions. As the ideal gas
law is used in each of these models, in addition to pressure and specific gravity the average temperature in the pipeline
is required. Average compressibility factor is an accepted input to all models and corrects the ideal gas law’s ideality.
The full list of approximate models is as follows:
• Panhandle_A
• Panhandle_B
• Weymouth
• Oliphant
• Fritzsche
• Muller
• IGT
• Spitzglass_high
• Spitzglass_low
As an example, calculating flow for a pipe with diameter 0.34 m, upstream pressure 90 bar and downstream pressure
20 bar, 160 km long, 0.693 specific gravity and with an average temperature in the pipeline of 277.15 K:
Each model also includes a pipeline efficiency term, ranging from 0 to 1. These are just empirical correction factors,
Some of the models were developed with theory and a correction factor applied always; others are more empirical,
and have a default correction factor. 0.92 is the default for the Panhandle A/B, Weymouth, and Oliphant models; the
rest default to a correction of 1 i.e. no correction at all.
The Muller and IGT models are the most accurate and recent approximations. They both depend on viscosity.
These empirical models are included because they are mandated in many industrial applications regardless of their
accuracy, and correction factors have already been determined.
A great deal of effort was spent converting these models to base SI units and checking the coefficients used in each
model with multiple sources. In many cases multiple sets of coefficients are available for a model; the most authorita-
tive or common ones were used in those cases.
The drag coefficient Cd can be calculated with no other parameters from drag_sphere:
>>> drag_sphere(Re)
0.3914804681941151
The terminal velocity of the particle is easily calculated with the v_terminal function.
Very often, we are not interested in just what the velocity of the particle will be at terminal conditions, but on the
distance it will travel and the particle will never have time to reach terminal conditions. An integrating function is
available to do that. Consider that same particle being shot directly down from a helicopter 100 m high.
The integrating function, integrate_drag_sphere, performs the integral with respect to time. At one second,
we can see the (velocity, distance travelled):
(10.561878111165333, 15.607904177715518)
After integrating to 10 seconds, we can see the particle has travelled 97 meters and is almost on the ground.
(8.97122398706632, 97.13276290361276)
For this example simply using the terminal velocity would have given an accurate estimation of distance travelled:
>>> 8.971223953182939*10
89.7122395318294
Many engineering applications such as direct contact condensers do operate far from terminal velocity however, and
this function is useful there.
Twelve different packed bed pressure drop correlations are available. A meta function which allows any of them to be
selected and automatically selects the most accurate correlation for the given parameters.
Pressure drop through a packed bed depends on the density, viscosity and velocity of the fluid, as well as the diameter
of the particles, the amount of free space in the bed (voidage), and to a lesser amount the ratio of particle to tube
diameter and the shape of the particles.
Consider 0.8 mm pebbles with 40% empty space with water flowing through a 2 m column creeping flow at a superfi-
cial velocity of 1 mm/s. We can calculate the pressure drop in Pascals using the dP_packed_bed function:
The method can be specified manually as well, for example the commonly used Ergun equation:
2677.734374999999
Incorporation of the tube diameter will add wall effects to the model.
Models can be used directly as well. The length of the column is an optional input; if not provided, the result will be
in terms of Pa/m.
1440.409277034248
If the column diameter was 0.5 m, the flow rate in m^3/s would be:
The holdup (total volume of the column holding fluid not particles) would be:
Not all particles are spherical. There have been correlations published for specific shapes, but what is often performed
is simply an adjustment of particle diameter by its sphericity in the correlation, with the effective dp used as the product
of the actual dp and the sphericity of the particle. The less spherical the particles, the higher the pressure drop. This is
supported in all of the correlations.
3050.419598116882
While it is easy to measure the volume of particles added to a given column and determine the voidage
experimentally, this does not help in the design process. Several authors have methodically filled columns
with particles of different sizes and created correlations in terms of sphericity and particle to tube diam-
eter ratios. Three such correlations are implemented in fluids, one generally using sphericity, one for
spheres, and one for cylinders (voidage_Benyahia_Oneil, voidage_Benyahia_Oneil_spherical and
voidage_Benyahia_Oneil_cylindrical respectively).
1 mm spheres in a 5 cm diameter tube:
Same calculation, but using the general correlation for all shapes:
It is straightforward to calculate the pressure drop of fluid flowing in a pipeline with any number of fittings using the
fluids library’s fluids.fittings submodule.
15 m of piping, with a sharp entrance and sharp exit, two 30 degree miter bends, one rounded bend 45 degrees, 1
sharp contraction to half the pipe diameter and 1 sharp expansion back to the normal pipe diameter (water, V=3 m/s,
Di=0.05, roughness 0.01 mm):
If the diameter of the piping varies, not all of the loss coefficients will be with respect to the same diameter. Each loss
coefficient must be converted to one standard diameter before the total pressure drop can be calculated. The following
example is solved with the optional pint unit compatibility module.
40 m piping, beveled entrance (10 mm length, 30 degrees, into 5 cm ID pipe) , then a 30 degree miter bend, a sharp
contraction to half the pipe diameter (5 m long), a 30 degree miter bend, a rounded 45 degree bend, a sharp expansion
to 4 cm ID pipe (15 more meters), and a sharp exit:
>>> V2 = Q/(pi/4*D2**2)
>>> Re2 = Reynolds(V=V2, D=D2, rho=rho, mu=mu)
>>> fd2 = friction_factor(Re2, eD=epsilon/D2)
>>> V3 = Q/(pi/4*D3**2)
>>> Re3 = Reynolds(V=V3, D=D3, rho=rho, mu=mu)
>>> fd3 = friction_factor(Re3, eD=epsilon/D3)
The now internationally-standardized methods (IEC 60534) for sizing liquid and gas valves have been implemented.
Conversion factors among the different types of valve coefficients are implemented as well.
There are two forms of loss coefficient used for vales, an imperial and a metric variable called “valve flow coefficient”.
Both can be converted to the standard dimensionless loss coefficient.
If one knows the actual loss coefficient of a valve, the valve flow coefficient can be calculated in either metric or
imperial forms as follows. The flow coefficients are specific to the diameter of the valve. Kv, Cv, and K values can be
converted easily with the functions K_to_Kv, K_to_Cv, Cv_to_K, Kv_to_K, Cv_to_Kv, and Kv_to_Cv.
If Kv or Cv are known, they can be converted to each other with the proportionality constant 1.156, which is derived
from a unit conversion only. This conversion does not require valve diameter.
>>> Cv_to_Kv(12)
10.379731865307619
>>> Kv_to_Cv(10.37)
11.988748998027418
If a Cv or Kv is obtained from a valve datasheet, it can be converted into a standard loss coefficient as follows.
For a valve with a specified Kv and pressure drop, the flow rate can be calculated easily for the case of non-choked
non-compressible flow (neglecting other friction losses), as illustrated in the example below for a 5 cm valve with a
pressure drop 370 kPa and density of 870 kg/m^3:
>>> Kv = 72.5
>>> D = 0.05
>>> dP = 370E3
>>> K = Kv_to_K(D=D, Kv=Kv)
>>> rho = 870
>>> V = (dP/(.5*rho*K))**0.5 # dP = K*0.5*rho*V^2
>>> A = pi/4*D**2
>>> Q = V*A
>>> Q
0.04151682468778643
Alternatively, the required Kv can be calculated from an assumed diameter and allowable pressure drop:
>>> Q = .05
>>> D = 0.05
>>> dP = 370E3
>>> rho = 870
>>> A = pi/4*D**2
>>> V = Q/A
>>> K = dP/(.5*rho*V**2)
(continues on next page)
The approach documented above is not an adequate procedure for sizing valves however because chocked flow, com-
pressible flow, the effect of inlet and outlet reducers, the effect of viscosity and the effect of laminar/turbulent flow all
have large influences on the performance of control valves.
Historically, valve manufacturers had their own standards for sizing valves, but these have been standardized today
into the IEC 60534 methods.
To rigorously size a control valve for liquid flow, the inlet pressure, allowable pressure drop, and desired flow rate must
first be known. These need to be determined taking into account the entire pipe network and the various operating
conditions it needs to support; sizing the valves can be performed afterward and only if no valve with the desired
performance is available does the network need to be redesigned.
To illustrate sizing a valve, we borrow an example from Emerson’s Control Valve Handbook, 4th edition (2005). It
involves a flow of 800 gpm of liquid propane. The inlet and outlet pipe size is 8 inches, but the size of the valve itself
is unknown. The desired pressure drop is 25 psi.
Converting this problem to SI units and using the thermo library to calculate the necessary properties of the fluid, we
calculate the necessary Kv of the valve based on an assumed valve size of 3 inches:
>>> Kv = size_control_valve_l(rho, Psat, Pc, mu, P1, P2, Q, D1, D2, d, FL=1, Fd=1)
>>> Kv
109.27127420992377
>>> Kv_to_Cv(Kv=Kv)
126.3284357953137
The example in the book calculated Cv = 125.7, but doesn’t actually use the full calculation method. Either way, the
valve will not carry the desired flow rate; we need to try a larger valve size. The 4 inch size is tried next in the example,
which has a known Cv of 203.
>>> d = 4*inch # to m
>>> Kv = size_control_valve_l(rho, Psat, Pc, mu, P1, P2, Q, D1, D2, d, FL=1, Fd=1)
>>> Kv_to_Cv(Kv=Kv)
116.0624409988861
The calculated Cv is well under the valve’s maximum Cv; we can select it.
This model requires a vapor pressure and a critical pressure of the fluid as inputs. There is no clarification in the
standard about how to handle mixtures, which do not have these values. It is reasonable to calculate vapor pressure as
the bubble pressure, and the mixture’s critical pressure through a mole-weighted average.
For actual values of Cv, Fl, Fd, and available diameters, an excellent resource is the Fisher Catalog 12.
To rigorously size a control valve for gas flow, the inlet pressure, allowable pressure drop, and desired flow rate must
first be known. These need to be determined taking into account the entire pipe network and the various operating
conditions it needs to support; sizing the valves can be performed afterward and only if no valve with the desired
performance is available does the network need to be redesigned.
To illustrate sizing a valve, we borrow an example from Emerson’s Control Valve Handbook, 4th edition (2005). It
involves a flow of 6 million ft^3/hour of natural gas. The inlet and outlet pipe size is 8 inches, but the size of the valve
itself is unknown. The desired pressure drop is 150 psi.
Converting this problem to SI units and using the thermo library to calculate the necessary properties of the fluid, we
calculate the necessary Kv of the valve based on an assumed valve size of 8 inches.
valve and are normally tabulated next to the values of Cv or Kv for a valve. Now using size_control_valve_g
to solve for the flow coefficient:
>>> Kv = size_control_valve_g(T, MW, mu, gamma, Z, P1, P2, Q, D1, D2, d, FL=1, Fd=1,
˓→xT=.137)
>>> Kv_to_Cv(Kv)
1560.9362792230884
The 8-inch valve is rated with Cv = 2190. The valve is adequate to provide the desired flow because the rated Cv is
higher. The calculated value in their example is 1515, differing slightly due to the properties used.
The example next goes on to determine the actual opening position the valve should be set at to provide the required
flow. Their conclusion is approximately 75% open; we can do better using a numerical solver. The values of opening
at different positions are obtained in this example from the valve’s datasheet.
Loading the data and creating interpolation functions so FL, Fd, and xT are all smooth functions:
We see the valve should indeed be set to almost exactly 75% open to provide the desired flow.
Motors are available in standard sizes, mostly as designated by the National Electrical Manufacturers Association
(NEMA). To easily determine what the power of a motor will actually be once purchased, motor_round_size
implements rounding up of a motor power to the nearest size. NEMA standard motors are specified in terms of
horsepower.
Motors are designed to generate a certain amount of power, but they themselves are not 100% efficient at doing this
and require more power due to efficiency losses. Many minimum values for motor efficiency are standardized. The
Canadian standard for this is implemented in fluids as CSA_motor_efficiency.
>>> CSA_motor_efficiency(P=5*hp)
0.855
Most motors are not enclosed (the default assumption), but those that are closed are more efficient.
There is also a schedule of higher efficiency values standardized as well, normally available at somewhat higher cost:
A motor will spin at more or less its design frequency, depending on its type. However, if it does not meet sufficient
resistance, it will not be using its design power. This is good and bad - less power is used, but as a motor drops under
50% of its design power, its efficiency becomes terrible. The function motor_efficiency_underloaded has
been written based on generic performance curves to estimate the underloaded efficiency of a motor. Just how bad
efficiency drops off depends on the design power of a motor - higher power motors do better operating at low loads
than small motors.
This needs to be applied on top of the normal motor efficiency; for example, that 1 kW motor at 20% load would have
a net efficiency of:
Many motors have Variable Frequency Drives (VFDs) which allow them to vary the speed of their rotation. The VFD
is another source of inefficiency, but by allowing the pump or other piece of equipment to vary its speed, a system
may be designed to be less energy intensive. For example, rather than running a pump at a certain high frequency and
controlling the flow with a large control valve, the flow rate can be controlled with the VFD directly.
The efficiency of a VFD depends on the maximum power it needs to be able to generate, and the power it is
actually generating at an instant (load). A table of typical modern VFD efficiencies is implemented in fluids as
VFD_efficiency.
Fluids has means for calculating, fitting, and manipulating particle size distributions through the fluids.
particle_size_distribution module. In addition to discrete and continuous distributions, there are also
means to create interpolating distributions from discrete distributions, and to use any of SciPy’s statistical distribu-
tions or a custom distribution for calculations.
The following example particle size distribution shows some calculations. Note there is one more diameter point than
number point - this is how the input should be given when the analysis provides classes and each bin has a range of
sizes representing it. Also supported is providing as many diameter values as fraction values.
>>> ds = [240, 360, 450, 562.5, 703, 878, 1097, 1371, 1713, 2141, 2676, 3345, 4181,
˓→5226, 6532]
>>> numbers = [65, 119, 232, 410, 629, 849, 990, 981, 825, 579, 297, 111, 21, 1]
>>> psd = ParticleSizeDistribution(ds=ds, fractions=numbers, order=0)
>>> psd
<Particle Size Distribution, points=14, D[3, 3]=2450.886241 m>
In the above example, the analysis available was the number of particles counted in each bin. This is equivalent
to having normalized the numbers into fractions; they are normalized inside the ParticleSizeDistribution
class.
If masses in each of the different bins had been known instead, then the same constructor would be given except with
order=3, representing a mass or volume distribution (they are the same thing for distributions with the same density
for all particles).
If the data is available as a cumulative distribution, simple add the flag cdf=True and it will be interpreted correctly.
The probability distribution and cumulative distribution can be plotted with plot_pdf and plot_cdf respectively.
Important statistical parameters describing the distribution can be calculated with the methods fluids.
particle_size_distribution.ParticleSizeDistribution.mean_size or fluids.
particle_size_distribution.ParticleSizeDistribution.mean_size_ISO. The following
example shows calculation of the size-weighted mean diameter; arithmetic mean diameter; Sauter mean diameter;
and De Brouckere diameter.
>>> psd.mean_size(2, 1)
1857.788857205553
>>> psd.mean_size(1, 0)
1459.3725650679328
>>> psd.mean_size(1, 2)
1857.7888572055529
>>> psd.mean_size(1, 3)
2053.2703977309357
An interpolated distribution exists underneath the discrete data to allow useful properties to be calculated, such as the
D10 or D90:
>>> psd.pdf(1000)
0.00010632384327525043
>>> psd.cdf(5000)
0.9897400734854198
>>> psd.vssa
1359778.1436801916
>>> psd.dn(0.75)/psd.dn(0.25)
1.9630310841582574
>>> psd.dn(0.9)/psd.dn(0.1)
3.602224479279158
API Reference
This module contains models of earth’s atmosphere. Models are empirical and based on extensive research, primarily
by NASA.
For reporting bugs, adding feature requests, or submitting pull requests, please use the GitHub issue tracker or contact
the author at [email protected].
• Atmospheres
• Solar Radiation and Position
• Wind Models (requires Fortran compiler!)
2.1.1 Atmospheres
29
Fluids Documentation, Release 0.1
Notes
Up to 32 km, the International Standard Atmosphere (ISA) and World Meteorological Organization (WMO)
standard atmosphere are identical.
This is a revision of the US 1962 atmosphere.
References
Examples
Attributes
T [float] Temperature of atmosphere at specified conditions, [K]
P [float] Pressure of atmosphere at specified conditions, [Pa]
rho [float] Mass density of atmosphere at specified conditions [kg/m^3]
H [float] Geopotential height, [m]
g [float] Acceleration due to gravity, [m/s^2]
mu [float] Viscosity of atmosphere at specified conditions, [Pa*s]
k [float] Thermal conductivity of atmosphere at specified conditions, [W/m/K]
v_sonic [float] Speed of sound of atmosphere at specified conditions, [m/s]
Methods
R = 8314.32
static density(T, P)
Method defined in the US Standard Atmosphere 1976 for calculating density of air as a function of T and
P. MW is defined as 28.9644 g/mol, and R as 8314.32 J/kmol/K
𝑃 · 𝑀𝑊
𝜌𝑔 =
𝑇 · 𝑅 · 1000
Parameters
T [float] Temperature, [K]
P [float] Pressure, [Pa]
Returns
rho [float] Mass density, [kg/m^3]
static gravity(Z)
Method defined in the US Standard Atmosphere 1976 for calculating the gravitational acceleration above
earth as a function of elevation only.
(︂ )︂2
𝑟0
𝑔 = 𝑔0
𝑟0 + 𝑍
Parameters
Z [float] Elevation above sea level, [m]
Returns
g [float] Acceleration due to gravity, [m/s^2]
static pressure_integral(T1, P1, dH)
Method to compute an integral of the pressure differential of an elevation difference with a base elevation
defined by temperature T1 and pressure P1. This is similar to subtracting the pressures at two different
elevations, except it allows for local conditions (temperature and pressure) to be taken into account. This
is useful for e.x. evaluating the pressure difference between the top and bottom of a natural draft cooling
tower.
Parameters
T1 [float] Temperature at the lower elevation condition, [K]
P1 [float] Pressure at the lower elevation condition, [Pa]
dH [float] Elevation difference for which to evaluate the pressure difference, [m]
Returns
delta_P [float] Pressure difference between the elevations, [Pa]
static sonic_velocity(T)
Method defined in the US Standard Atmosphere 1976 for calculating the speed of sound in air as a function
of T only.
(︂ )︂0.5
𝛾𝑅𝑇
𝑐=
𝑀𝑊
Parameters
T [float] Temperature, [K]
Returns
c [float] Speed of sound, [m/s]
static thermal_conductivity(T)
Method defined in the US Standard Atmosphere 1976 for calculating thermal conductivity of air as a
function of T only.
f107_avg [float, optional] 81-day sfu average; centered on specified day if possible, otherwise
use the previous days [10^-22 W/m^2/Hz]
geomagnetic_disturbance_indices [list of float, optional] List of the 7 following Ap indexes
also known as planetary magnetic indexes. Has a negligible effect on the calculation. 4 is
the default value often used for each of these values.
• Average daily Ap.
• 3-hour average Ap centered on the current time.
• 3-hour average Ap before the current time.
• 6-hour average Ap before the current time.
• 9-hour average Ap before the current time.
• Average Ap from 12 to 33 hours before the current time, based on eight 3-hour average
Ap values.
• Average Ap from 36 to 57 hours before the current time, based on eight 3-hour average
Ap values.
Notes
No full description has been published of this model; it has been defined by its implementation only. It was
written in FORTRAN, and is accessible at ftp://hanna.ccmc.gsfc.nasa.gov/pub/modelweb/atmospheric/msis/
nrlmsise00/
A C port of the model by Dominik Brodowskihas become popular, and is available on his website: http://www.
brodo.de/space/nrlmsise/.
In 2013 Joshua Milas ported the C port to Python. This is an interface to his excellent port. It is a 1000-
sloc model, and has been rigorously tested against the C version, and the online calculation tool available at
[R4bc72d62ed0b-3] for parametric inputs of latitude, longitude, altitude, time of day and day of year.
This model is based on measurements other than gravity; it does not provide a calculation method for g. It does
not provide transport properties.
This model takes on the order of ~2 ms.
References
Examples
Attributes
rho [float] Mass density [kg/m^3]
T [float] Temperature, [K]
P [float] Pressure, calculated with ideal gas law [Pa]
Parameters
func [float] Function which returns the density of the atmosphere as a function of elevation
angle [float] Degrees above the horizon (90 = straight up), [degrees]
H_max [float, optional] Maximum height to compute the integration up to before the contribu-
tion of density becomes negligible, [m]
R_planet [float, optional] The radius of the planet for which the integration is being performed,
[m]
RI [float, optional] The refractive index of the atmosphere (air on earth at 0.7 um as default)
assumed a constant, [-]
Returns
m [float] Mass of air per square meter in the atmosphere, [kg/m^2]
Notes
References
[1]
Examples
Notes
If you were standing at the same longitude of the sun such that it was no further east or west than you were, the
amount of angle it was south or north of you is the zenith. If it were directly overhead it would be 0°; a little
north or south and it would be a little positive; near sunset or sunrise, near 90°; and at night, between 90° and
180°.
The solar altitude angle is defined as 90° -zenith. Note the elevation angle is just another name for the altitude
angle.
The azimuth the angle in degrees that the sun is East of the North angle. It is positive North eastwards 0° to
360°. Other conventions may be used.
Note that due to differences in atmospheric refractivity, estimation of sunset and sunrise are accuract to no more
than one minute. Refraction conditions truly vary across the atmosphere; so characterizing it by an average
value is limiting as well.
References
[1], [2]
Examples
Sunrise also occurs when the zenith is 90 degrees (13.5 hours later):
solar_constant [float, optional] The amount of solar radiation which reaches earth’s disk (at
a standardized distance of 1 AU); this constant is independent of activity or conditions on
earth, but will vary throughout the sun’s lifetime and may increase or decrease slightly due
to solar activity, [W/m^2]
atmos_refract [float, optional] Atmospheric refractivity at sunrise/sunset (0.5667 deg is an of-
ten used value; this varies substantially and has an impact of a few minutes on when sunrise
and sunset is), [degrees]
albedo [float, optional] The average amount of reflection of the terrain surrounding the object
at quite a distance; this impacts how much sunlight reflected off the ground, gest reflected
back off clouds, [-]
linke_turbidity [float, optional] The amount of pollution/water in the sky versus a perfect clear
sky; If not specified, this will be retrieved from a historical grid; typical values are 3 for
cloudy, and 7 for severe pollution around a city, [-]
extraradiation_method [str, optional] The specified method to calculate the effect of earth’s
position on the amount of radiation which reaches earth according to the methods available
in the pvlib library, [-]
airmass_model [str, optional] The specified method to calculate the amount of air the sunlight
needs to travel through to reach the earth according to the methods available in the pvlib
library, [-]
cache [dict, optional] Dictionary to to check for values to use to skip some calculations; appar-
ent_zenith, zenith, azimuth supported, [-]
Returns
poa_global [float] The total irradiance in the plane of the surface, [W/m^2]
poa_direct [float] The total beam irradiance in the plane of the surface, [W/m^2]
poa_diffuse [float] The total diffuse irradiance in the plane of the surface, [W/m^2]
poa_sky_diffuse [float] The sky component of the diffuse irradiance, excluding the impact from
the ground, [W/m^2]
poa_ground_diffuse [float] The ground-sky diffuse irradiance component, [W/m^2]
Notes
The retrieval of linke_turbidity requires the pytables library (and Pandas); if it is not installed, specify a value of
linke_turbidity to avoid the dependency.
There is some redundancy of the calculated results, according to the following relations. The total irradiance is
normally that desired for engineering calculations.
poa_diffuse = poa_ground_diffuse + poa_sky_diffuse
poa_global = poa_direct + poa_diffuse
FOr a surface such as a pipe or vessel, an approach would be to split it into a number of rectangles and sum up
the radiation absorbed by each.
This calculation is fairly slow.
References
[1]
Examples
Notes
References
[1]
Examples
fluids.atmosphere.earthsun_distance(moment)
Calculates the distance between the earth and the sun as a function of date and time. Uses the Reda and Andreas
(2004) model described in [1], originally incorporated into the excellent pvlib library
Parameters
moment [datetime] Time and date for the calculation, in UTC time (or GMT, which is almost
the same thing); not local time, [-]
Returns
distance [float] Distance between the center of the earth and the center of the sun, [m]
Notes
This function is quite accurate. The difference comes from the impact of the moon.
Note this function is not continuous; the sun-earth distance is not sufficiently accurately modeled for the change
to be continuous throughout each day.
References
[1]
Examples
The distance at perihelion, which occurs at 4:21 according to this algorithm. The real value is 04:38 (January
2nd).
The distance at aphelion, which occurs at 14:44 according to this algorithm. The real value is dead on - 14:44
(July 5).
Notes
No full description has been published of this model; it has been defined by its implementation only. It was
written in FORTRAN, and is accessible at ftp://hanna.ccmc.gsfc.nasa.gov/pub/modelweb/atmospheric/hwm93/.
F2PY auto-compilation support is not yet currently supported. To compile this file, run the following command
in a shell after navigating to $FLUIDSPATH/fluids/optional/. This should generate the file hwm93.so in that
directory.
f2py -c hwm93.pyf hwm93.for –f77flags=”-std=legacy”
If the module is not compiled, an import error will be raised.
References
Examples
Notes
No full description has been published of this model; it has been defined by its implementation only. It was
written in FORTRAN, and is accessible at http://onlinelibrary.wiley.com/store/10.1002/2014EA000089/asset/
supinfo/ess224-sup-0002-supinfo.tgz?v=1&s=2a957ba70b7cf9dd0612d9430076297c3634ea75.
F2PY auto-compilation support is not yet currently supported. To compile this file, run the following command
in a shell after navigating to $FLUIDSPATH/fluids/optional/. This should generate the file hwm14.so in that
directory.
f2py -c hwm14.pyf hwm14.f90
The fortran .pyf signature file is included with this project, but it can also be re-created with the command:
f2py -m hwm14 -h hwm14.pyf hwm14.f90
If the module is not compiled, an import error will be raised.
No patches were necessary to either the generated pyf or hwm14.f90 file, as the authors of [1] have made it
F2PY compatible.
Developed using 73 million data points taken by 44 instruments over 60 years.
References
[1]
Examples
Parameters
SG [float] Specific gravity of fluid with respect to air at the reference temperature and pressure
Ts and Ps, [-]
Tavg [float] Average temperature of the fluid in the pipeline, [K]
L [float, optional] Length of pipe, [m]
D [float, optional] Diameter of pipe, [m]
P1 [float, optional] Inlet pressure to pipe, [Pa]
P2 [float, optional] Outlet pressure from pipe, [Pa]
Q [float, optional] Flow rate of gas through pipe, [m^3/s]
Ts [float, optional] Reference temperature for the specific gravity of the gas, [K]
Ps [float, optional] Reference pressure for the specific gravity of the gas, [Pa]
Zavg [float, optional] Average compressibility factor for gas, [-]
E [float, optional] Pipeline efficiency, a correction factor between 0 and 1
Returns
Q, P1, P2, D, or L [float] The missing input which was solved for [base SI]
Notes
[1]’s original constant was 4.5965E-3, and it has units of km (length), kPa, mm (diameter), and flowrate in
m^3/day.
The form in [2] has the same exponents as used here, units of mm (diameter), kPa, km (length), and flow in
m^3/hour; its leading constant is 1.9152E-4.
The GPSA [3] has a leading constant of 0.191, a bracketed power of 0.5392, a specific gravity power of 0.853,
and otherwise the same constants. It is in units of mm (diameter) and kPa and m^3/day; length is stated to be in
km, but according to the errata is in m.
[4] has a leading constant of 1.198E7, a specific gravity of power of 0.8541, and a power of diameter which is
under the root of 4.854 and is otherwise the same. It has units of kPa and m^3/day, but is otherwise in base SI
units.
[5] has a leading constant of 99.5211, but its reference correction has no exponent; other exponents are the same
as here. It is entirely in base SI units.
[6] has pressures in psi, diameter in inches, length in miles, Q in ft^3/day, T in degrees Rankine, and a constant
of 435.87. Its reference condition power is 1.07881, and it has a specific gravity correction outside any other
term with a power of 0.4604.
References
Examples
Parameters
SG [float] Specific gravity of fluid with respect to air at the reference temperature and pressure
Ts and Ps, [-]
Tavg [float] Average temperature of the fluid in the pipeline, [K]
L [float, optional] Length of pipe, [m]
D [float, optional] Diameter of pipe, [m]
P1 [float, optional] Inlet pressure to pipe, [Pa]
P2 [float, optional] Outlet pressure from pipe, [Pa]
Q [float, optional] Flow rate of gas through pipe, [m^3/s]
Ts [float, optional] Reference temperature for the specific gravity of the gas, [K]
Ps [float, optional] Reference pressure for the specific gravity of the gas, [Pa]
Notes
[1]’s original constant was 1.002E-2, and it has units of km (length), kPa, mm (diameter), and flowrate in
m^3/day.
The form in [2] has the same exponents as used here, units of mm (diameter), kPa, km (length), and flow in
m^3/hour; its leading constant is 4.1749E-4.
The GPSA [3] has a leading constant of 0.339, and otherwise the same constants. It is in units of mm (diameter)
and kPa and m^3/day; length is stated to be in km, but according to the errata is in m.
[4] has a leading constant of 1.264E7, a diameter power of 4.961 which is also under the 0.51 power, and is
otherwise the same. It has units of kPa and m^3/day, but is otherwise in base SI units.
[5] has a leading constant of 135.8699, but its reference correction has no exponent and its specific gravity has
a power of 0.9608; the other exponents are the same as here. It is entirely in base SI units.
[6] has pressures in psi, diameter in inches, length in miles, Q in ft^3/day, T in degrees Rankine, and a constant
of 737 with the exponents the same as here.
References
Examples
Parameters
SG [float] Specific gravity of fluid with respect to air at the reference temperature and pressure
Ts and Ps, [-]
Tavg [float] Average temperature of the fluid in the pipeline, [K]
L [float, optional] Length of pipe, [m]
D [float, optional] Diameter of pipe, [m]
P1 [float, optional] Inlet pressure to pipe, [Pa]
P2 [float, optional] Outlet pressure from pipe, [Pa]
Q [float, optional] Flow rate of gas through pipe, [m^3/s]
Ts [float, optional] Reference temperature for the specific gravity of the gas, [K]
Ps [float, optional] Reference pressure for the specific gravity of the gas, [Pa]
Zavg [float, optional] Average compressibility factor for gas, [-]
E [float, optional] Pipeline efficiency, a correction factor between 0 and 1
Returns
Q, P1, P2, D, or L [float] The missing input which was solved for [base SI]
Notes
[1]’s original constant was 3.7435E-3, and it has units of km (length), kPa, mm (diameter), and flowrate in
m^3/day.
The form in [2] has the same exponents as used here, units of mm (diameter), kPa, km (length), and flow in
m^3/hour; its leading constant is 1.5598E-4.
The GPSA [3] has a leading constant of 0.1182, and otherwise the same constants. It is in units of mm (diameter)
and kPa and m^3/day; length is stated to be in km, but according to the errata is in m.
[4] has a leading constant of 1.162E7, a diameter power of 5.333 which is also under the 0.50 power, and is
otherwise the same. It has units of kPa and m^3/day, but is otherwise in base SI units.
[5] has a leading constant of 137.2364; the other exponents are the same as here. It is entirely in base SI units.
[6] has pressures in psi, diameter in inches, length in miles, Q in ft^3/hour, T in degrees Rankine, and a constant
of 18.062 with the exponents the same as here.
References
Examples
• Upstream pressure
• Downstream pressure
• Diameter of pipe (numerical solution)
• Length of pipe
A variety of different constants and expressions have been presented for the Spitzglass (high pressure drop)
formula. Here, the form as in [1] is used but with a more precise metric conversion from inches to m.
]︂0.5
𝑃12 − 𝑃22
(︂ )︂ [︂
𝑇𝑠
𝑄 = 125.1060𝐸 150 𝐷2.5
𝑃𝑠 𝐿 · 𝑆𝐺𝑇𝑎𝑣𝑔 𝑍𝑎𝑣𝑔 (1 + 0.09144/𝐷 + 127 𝐷)
Parameters
SG [float] Specific gravity of fluid with respect to air at the reference temperature and pressure
Ts and Ps, [-]
Tavg [float] Average temperature of the fluid in the pipeline, [K]
L [float, optional] Length of pipe, [m]
D [float, optional] Diameter of pipe, [m]
P1 [float, optional] Inlet pressure to pipe, [Pa]
P2 [float, optional] Outlet pressure from pipe, [Pa]
Q [float, optional] Flow rate of gas through pipe, [m^3/s]
Ts [float, optional] Reference temperature for the specific gravity of the gas, [K]
Ps [float, optional] Reference pressure for the specific gravity of the gas, [Pa]
Zavg [float, optional] Average compressibility factor for gas, [-]
E [float, optional] Pipeline efficiency, a correction factor between 0 and 1
Returns
Q, P1, P2, D, or L [float] The missing input which was solved for [base SI]
Notes
This equation is often presented without any correction for reference conditions for specific gravity.
This model is also presented in [2] with a leading constant of 1.0815E-2, the same exponents as used here, units
of mm (diameter), kPa, km (length), and flow in m^3/hour.
References
[1], [2]
Examples
Notes
This equation is often presented without any correction for reference conditions for specific gravity.
This model is also presented in [2] with a leading constant of 5.69E-2, the same exponents as used here, units
of mm (diameter), kPa, km (length), and flow in m^3/hour. However, it is believed to contain a typo, and gives
results <1/3 of the correct values. It is also present in [2] in imperial form; this is believed correct, but makes a
slight assumption not done in [1].
This model is present in [3] without reference corrections. The 1210 constant in [1] is an approximation neces-
sary for the reference correction to function without a square of the pressure difference. The GPSA version is
as follows, and matches this formulation very closely:
]︂0.5
(𝑃1 − 𝑃2 )𝐷5
[︂
𝑄 = 0.821
𝐿 · 𝑆𝐺(1 + 91.44/𝐷 + 0.0018𝐷)
The model is also shown in [4], with diameter in inches, length in feet, flow in MMSCFD, pressure drop in
inH2O, and a rounded leading constant of 0.09; this makes its predictions several percent higher than the model
here.
References
Examples
Parameters
SG [float] Specific gravity of fluid with respect to air at the reference temperature and pressure
Ts and Ps, [-]
Tavg [float] Average temperature of the fluid in the pipeline, [K]
L [float, optional] Length of pipe, [m]
D [float, optional] Diameter of pipe, [m]
P1 [float, optional] Inlet pressure to pipe, [Pa]
P2 [float, optional] Outlet pressure from pipe, [Pa]
Q [float, optional] Flow rate of gas through pipe, [m^3/s]
Ts [float, optional] Reference temperature for the specific gravity of the gas, [K]
Ps [float, optional] Reference pressure for the specific gravity of the gas, [Pa]
Zavg [float, optional] Average compressibility factor for gas, [-]
E [float, optional] Pipeline efficiency, a correction factor between 0 and 1
Returns
Q, P1, P2, D, or L [float] The missing input which was solved for [base SI]
Notes
References
[1], [2]
Examples
Parameters
SG [float] Specific gravity of fluid with respect to air at the reference temperature and pressure
Ts and Ps, [-]
Tavg [float] Average temperature of the fluid in the pipeline, [K]
L [float, optional] Length of pipe, [m]
D [float, optional] Diameter of pipe, [m]
P1 [float, optional] Inlet pressure to pipe, [Pa]
P2 [float, optional] Outlet pressure from pipe, [Pa]
Q [float, optional] Flow rate of gas through pipe, [m^3/s]
Ts [float, optional] Reference temperature for the specific gravity of the gas, [K]
Ps [float, optional] Reference pressure for the specific gravity of the gas, [Pa]
Notes
This model is also presented in [1] with a leading constant of 2.827, the same exponents as used here, units of
mm (diameter), kPa, km (length), and flow in m^3/hour.
This model is shown in base SI units in [2], and with a leading constant of 94.2565, a diameter power of 2.6911,
main group power of 0.5382 and a specific gravity power of 0.858. The difference is very small.
References
[1], [2]
Examples
Parameters
SG [float] Specific gravity of fluid with respect to air at the reference temperature and pressure
Ts and Ps, [-]
Tavg [float] Average temperature of the fluid in the pipeline, [K]
mu [float] Average viscosity of the fluid in the pipeline, [Pa*s]
L [float, optional] Length of pipe, [m]
D [float, optional] Diameter of pipe, [m]
P1 [float, optional] Inlet pressure to pipe, [Pa]
Notes
This model is presented in [1] with a leading constant of 0.4937, the same exponents as used here, units of
inches (diameter), psi, feet (length), Rankine, pound/(foot*second) for viscosity, and 1000 ft^3/hour.
This model is also presented in [2] in both SI and imperial form. The SI form was incorrectly converted and
yields much higher flow rates. The imperial version has a leading constant of 85.7368, the same powers as used
here except with rounded values of powers of viscosity (0.2609) and specific gravity (0.7391) rearranged to be
inside the bracketed group; its units are inches (diameter), psi, miles (length), Rankine, pound/(foot*second) for
viscosity, and ft^3/day.
This model is shown in base SI units in [3], and with a leading constant of 15.7650, a diameter power of 2.724,
main group power of 0.5747, a specific gravity power of 0.74, and a viscosity power of 0.1494.
References
Examples
Parameters
SG [float] Specific gravity of fluid with respect to air at the reference temperature and pressure
Ts and Ps, [-]
Tavg [float] Average temperature of the fluid in the pipeline, [K]
mu [float] Average viscosity of the fluid in the pipeline, [Pa*s]
L [float, optional] Length of pipe, [m]
D [float, optional] Diameter of pipe, [m]
P1 [float, optional] Inlet pressure to pipe, [Pa]
P2 [float, optional] Outlet pressure from pipe, [Pa]
Q [float, optional] Flow rate of gas through pipe, [m^3/s]
Ts [float, optional] Reference temperature for the specific gravity of the gas, [K]
Ps [float, optional] Reference pressure for the specific gravity of the gas, [Pa]
Zavg [float, optional] Average compressibility factor for gas, [-]
E [float, optional] Pipeline efficiency, a correction factor between 0 and 1
Returns
Q, P1, P2, D, or L [float] The missing input which was solved for [base SI]
Notes
This model is presented in [1] with a leading constant of 0.6643, the same exponents as used here, units of
inches (diameter), psi, feet (length), Rankine, pound/(foot*second) for viscosity, and 1000 ft^3/hour.
This model is also presented in [2] in both SI and imperial form. Both forms are correct. The imperial version
has a leading constant of 136.9, the same powers as used here except with rounded values of powers of viscosity
(0.2) and specific gravity (0.8) rearranged to be inside the bracketed group; its units are inches (diameter), psi,
miles (length), Rankine, pound/(foot*second) for viscosity, and ft^3/day.
This model is shown in base SI units in [3], and with a leading constant of 24.6145, and the same powers as
used here.
References
Examples
Parameters
rho [float] Average density of gas in pipe, [kg/m^3]
fd [float] Darcy friction factor for flow in pipe [-]
P1 [float, optional] Inlet pressure to pipe, [Pa]
P2 [float, optional] Outlet pressure from pipe, [Pa]
L [float, optional] Length of pipe, [m]
D [float, optional] Diameter of pipe, [m]
m [float, optional] Mass flow rate of gas through pipe, [kg/s]
Returns
m, P1, P2, D, or L [float] The missing input which was solved for [base SI]
Notes
The solution for P2 has the following closed form, derived using Maple:
⎛ )︃ ⎞−1
−𝐶𝑚2 +𝐵𝑃1
(︃ (︃ )︃
𝐵𝑃1 −
0.5· 𝑚12 −𝐶𝑚2 + lambertW − 𝑚2
𝑒 𝑚2 𝑚2 +𝐵𝑃1
𝑃2 = 𝑃1 ⎝𝑒
⎜ ⎟
⎠
𝜋2 𝐷4
𝐵=𝜌𝑎𝑣𝑔
42
𝐿
𝐶 = 𝑓𝑑
𝐷
A wide range of conditions are impossible due to choked flow. See P_isothermal_critical_flow for details. An
exception is raised when they occur.
The 2 multiplied by the logarithm is often shown as a power of the pressure ratio; this is only the case when the
pressure ratio is raised to the power of 2 before its logarithm is taken.
A number of limitations exist for this model:
• Density dependence is that of an ideal gas.
• If calculating the pressure drop, the average gas density cannot be known immediately; iteration must be
used to correct this.
• The friction factor depends on both the gas density and velocity, so it should be solved for iteratively as
well. It changes throughout the pipe as the gas expands and velocity increases.
• The model is not easily adapted to include elevation effects due to the acceleration term included in it.
• As the gas expands, it will change temperature slightly, further altering the density and friction factor.
There are many commercial packages which perform the actual direct integration of the flow, such as OLGA
Dynamic Multiphase Flow Simulator, or ASPEN Hydraulics.
This expression has also been presented with the ideal gas assumption directly incorporated into it [4] (note R
is the specific gas constant, in units of J/kg/K):
(︁ )︁2 (︀
𝜋𝐷 2
)︀
4 𝑃12 − 𝑃22
2
𝑚
˙ = (︁ )︁
𝐿
𝑅𝑇 𝑓𝑑 𝐷 + 2 ln 𝑃1
𝑃2
References
Examples
Parameters
P1 [float] Inlet pressure, [Pa]
P2 [float] Outlet pressure, [Pa]
T [float] Temperature of the gas going through an isothermal process, [K]
Z [float] Constant compressibility factor of the gas, [-]
Returns
W [float] Work performed per mole of gas compressed/expanded [J/mol]
Notes
This is the best possible case for compression; all actual compresssors require more work to do the compression.
By making the compression take a large number of stages and cooling the gas between stages, this can be
approached reasonable closely. Integrally geared compressors are often used for this purpose.
References
[1]
Examples
Parameters
k [float] Isentropic exponent of the gas (Cp/Cv) [-]
n [float, optional] Polytropic exponent of the process [-]
eta_p [float, optional] Polytropic efficiency of the process, [-]
Returns
n or eta_p [float] Polytropic exponent or polytropic efficiency, depending on input, [-]
References
[1]
Examples
Notes
For the same compression ratio, this is always of larger magnitude than the isothermal case.
The full derivation is as follows:
For constant-heat capacity “isentropic” fluid,
1/𝑘
𝑃1 𝑉1
𝑉 =
𝑃 1/𝑘
∫︁ 𝑃2 ∫︁ 𝑃2 1/𝑘
𝑃1 𝑉1
𝑊 = 𝑉 𝑑𝑃 = 𝑑𝑃
𝑃1 𝑃1 𝑃 1/𝑘
1/𝑘
𝑃1 𝑉1 [︁ 1−1/𝑘 1−1/𝑘
]︁
𝑊 = 1 𝑃2 − 𝑃1
1− 𝑘
After performing the integration and substantial mathematical manipulation we can obtain:
[︃(︂ )︂ ]︃
(︂ )︂ (𝑘−1)/𝑘
𝑘 𝑃2
𝑊 = 𝑃1 𝑉1 −1
𝑘−1 𝑃1
Using PV = ZRT:
(︂ )︂ [︃(︂ )︂(𝑘−1)/𝑘 ]︃
𝑘 𝑃2
𝑊 = 𝑍𝑅𝑇1 −1
𝑘−1 𝑃1
The work of compression/expansion is the change in enthalpy of the gas. Returns negative values for expansion
and positive values for compression.
An average compressibility factor should be used as Z changes. For further accuracy, this expression can be
used repeatedly with small changes in pressure and new values of isentropic exponent, and the work from each
step summed.
For the polytropic case this is not necessary, as eta corrects for the simplification.
References
[1]
Examples
Parameters
P1 [float] Initial pressure of gas [Pa]
P2 [float] Final pressure of gas [Pa]
k [float] Isentropic exponent of the gas (Cp/Cv) [-]
eta_s [float, optional] Isentropic (adiabatic) efficiency of the process, [-]
eta_p [float, optional] Polytropic efficiency of the process, [-]
Returns
eta_s or eta_p [float] Isentropic or polytropic efficiency, depending on input, [-]
Notes
The form for obtained eta_p from eta_s was derived with SymPy.
References
[1]
Examples
Parameters
T1 [float] Initial temperature of gas [K]
P1 [float] Initial pressure of gas [Pa]
P2 [float] Final pressure of gas [Pa]
k [float] Isentropic exponent of the gas (Cp/Cv) or polytropic exponent n to use this as a poly-
tropic model instead [-]
eta [float] Isentropic efficiency of the process or polytropic efficiency of the process to use this
as a polytropic model instead [-]
Returns
T2 [float] Final temperature of gas [K]
Notes
References
[1], [2]
Examples
fluids.compressible.T_critical_flow(T, k)
Calculates critical flow temperature Tcf for a fluid with the given isentropic coefficient. Tcf is in a flow (with
Ma=1) whose stagnation conditions are known. Normally used with converging/diverging nozzles.
𝑇* 2
=
𝑇0 𝑘+1
Parameters
Notes
References
[1]
Examples
fluids.compressible.P_critical_flow(P, k)
Calculates critical flow pressure Pcf for a fluid with the given isentropic coefficient. Pcf is in a flow (with
Ma=1) whose stagnation conditions are known. Normally used with converging/diverging nozzles.
)︂𝑘/(𝑘−1)
𝑃*
(︂
2
=
𝑃0 𝑘+1
Parameters
P [float] Stagnation pressure of a fluid with Ma=1 [Pa]
k [float] Isentropic coefficient []
Returns
Pcf [float] Critical flow pressure at Ma=1 [Pa]
Notes
References
[1]
Examples
fluids.compressible.P_isothermal_critical_flow(P, fd, D, L)
Calculates critical flow pressure Pcf for a fluid flowing isothermally and suffering pressure drop caused by a
pipe’s friction factor.
(︁ (︁ (︁ 1 )︁ )︁ )︁
1
𝐷 LambertW −𝑒 𝐷 (−𝐷−𝐿𝑓𝑑 ) +1 +𝐿𝑓𝑑
𝑃2 = 𝑃1 𝑒 2𝐷
Parameters
P [float] Inlet pressure [Pa]
fd [float] Darcy friction factor for flow in pipe [-]
D [float] Diameter of pipe, [m]
L [float] Length of pipe, [m]
Returns
Pcf [float] Critical flow pressure of a compressible gas flowing from P1 to Pcf in a tube of
length L and friction factor fd [Pa]
Notes
Assumes isothermal flow. Developed based on the isothermal_gas model, using SymPy.
The isothermal gas model is solved for maximum mass flow rate; any pressure drop under it is impossible due
to the formation of a shock wave.
References
[1]
Examples
fluids.compressible.is_critical_flow(P1, P2, k)
Determines if a flow of a fluid driven by pressure gradient P1 - P2 is critical, for a fluid with the given isentropic
coefficient. This function calculates critical flow pressure, and checks if this is larger than P2. If so, the flow is
critical and choked.
Parameters
P1 [float] Higher, source pressure [Pa]
P2 [float] Lower, downstream pressure [Pa]
k [float] Isentropic coefficient []
Returns
flowtype [bool] True if the flow is choked; otherwise False
Notes
References
[1]
Examples
fluids.compressible.stagnation_energy(V)
Calculates the increase in enthalpy dH which is provided by a fluid’s velocity V.
𝑉2
∆𝐻 =
2
Parameters
V [float] Velocity [m/s]
Returns
dH [float] Incease in enthalpy [J/kg]
Notes
The units work out. This term is pretty small, but not trivial.
References
[1]
Examples
>>> stagnation_energy(125)
7812.5
fluids.compressible.P_stagnation(P, T, Tst, k)
Calculates stagnation flow pressure Pst for a fluid with the given isentropic coefficient and specified stagnation
temperature and normal temperature. Normally used with converging/diverging nozzles.
(︂ 𝑘
)︂ 𝑘−1
𝑃0 𝑇0
=
𝑃 𝑇
Parameters
P [float] Normal pressure of a fluid [Pa]
T [float] Normal temperature of a fluid [K]
Tst [float] Stagnation temperature of a fluid moving at a certain velocity [K]
k [float] Isentropic coefficient []
Returns
Pst [float] Stagnation pressure of a fluid moving at a certain velocity [Pa]
Notes
References
[1]
Examples
fluids.compressible.T_stagnation(T, P, Pst, k)
Calculates stagnation flow temperature Tst for a fluid with the given isentropic coefficient and specified stagna-
tion pressure and normal pressure. Normally used with converging/diverging nozzles.
(︂ )︂ 𝑘−1
𝑃 𝑘
𝑇 = 𝑇0
𝑃0
Parameters
T [float] Normal temperature of a fluid [K]
P [float] Normal pressure of a fluid [Pa]
Pst [float] Stagnation pressure of a fluid moving at a certain velocity [Pa]
k [float] Isentropic coefficient []
Returns
Tst [float] Stagnation temperature of a fluid moving at a certain velocity [K]
Notes
References
[1]
Examples
fluids.compressible.T_stagnation_ideal(T, V, Cp)
Calculates the ideal stagnation temperature Tst calculated assuming the fluid has a constant heat capacity Cp
and with a specified velocity V and temperature T.
𝑉2
𝑇* = 𝑇 +
2𝐶𝑝
Parameters
T [float] Tempearture [K]
V [float] Velocity [m/s]
Cp [float] Ideal heat capacity [J/kg/K]
Returns
Tst [float] Stagnation temperature [J/kg]
References
[1]
Examples
Notes
It is possible to use this model without any diameters specified; in that case, turbulent flow is assumed. Choked
flow can still be modeled. This is not recommended. All three diameters need to be None for this to work. FL
and Fd are not used by the models when the diameters are not specified.
References
[1]
Examples
From [1], matching example 1 for a globe, parabolic plug, flow-to-open valve.
From [1], matching example 2 for a ball, segmented ball, flow-to-open valve.
inputs in SI units. Note the return value is not standard SI. All parameters are required. For details of the
calculations, consult [1]. Note the inlet gas flow conditions.
Parameters
T [float] Temperature of the gas at the inlet [K]
MW [float] Molecular weight of the gas [g/mol]
mu [float] Viscosity of the fluid at inlet conditions [Pa*s]
gamma [float] Specific heat capacity ratio [-]
Z [float] Compressibility factor at inlet conditions, [-]
P1 [float] Inlet pressure of the gas before valves and reducers [Pa]
P2 [float] Outlet pressure of the gas after valves and reducers [Pa]
Q [float] Volumetric flow rate of the gas at 273.15 K and 1 atm specifically [m^3/s]
D1 [float, optional] Diameter of the pipe before the valve [m]
D2 [float, optional] Diameter of the pipe after the valve [m]
d [float, optional] Diameter of the valve [m]
FL [float, optional] Liquid pressure recovery factor of a control valve without attached fittings
(normally 0.8-0.9 at full open and decreasing as opened further to below 0.5; use default
very cautiously!) []
Fd [float, optional] Valve style modifier (0.1 to 1; varies tremendously depending on the type
of valve and position; do not use the default at all!) []
xT [float, optional] Pressure difference ratio factor of a valve without fittings at choked flow
(increasing to 0.9 or higher as the valve is closed further and decreasing to 0.1 or lower as
the valve is opened further; use default very cautiously!) [-]
allow_choked [bool, optional] Overrides the automatic transition into the choked regime if this
is False and returns as if choked flow does not exist
allow_laminar [bool, optional] Overrides the automatic transition into the laminar regime if
this is False and returns as if laminar flow does not exist
full_output [bool, optional] If True, returns intermediate calculation values as well as Kv in the
form of a dictionary containing ‘Kv’, ‘Rev’, ‘choked’, ‘Y’, ‘FR’, ‘FP’, ‘xTP’, and ‘laminar’.
Some may be None if they are not used in the calculation.
Returns
Kv [float] Metric Kv valve flow coefficient (flow rate of water at a pressure drop of 1 bar)
[m^3/hr]
Notes
It is possible to use this model without any diameters specified; in that case, turbulent flow is assumed. Choked
flow can still be modeled. This is not recommended. All three diameters need to be None for this to work. FL
and Fd are not used by the models when the diameters are not specified, but xT definitely is used by the model.
References
[1]
Examples
From [1], matching example 3 for non-choked gas flow with attached fittings and a rotary, eccentric plug, flow-
to-open control valve:
From [1], roughly matching example 4 for a small flow trim sized tapered needle plug valve. Difference is 3%
and explained by the difference in algorithms used.
Notes
Larger values are safer. Models for adjusting cavitation indexes provided by the manufacturer to the user’s
conditions are available, making use of scaling the pressure differences and size differences.
Values can be calculated for incipient cavitation, constant cavitation, maximum vibration cavitation, incipient
damage, and choking cavitation.
Has also been defined as:
𝑃2 − 𝑃𝑠𝑎𝑡
𝜎=
𝑃1 − 𝑃2
Another definition and notation series is:
1 𝑃1 − 𝑃2
𝐾 = 𝑥𝐹 = =
𝜎 𝑃1 − 𝑃𝑠𝑎𝑡
References
[1]
Examples
fluids.control_valve.FF_critical_pressure_ratio_l(Psat, Pc)
Calculates FF, the liquid critical pressure ratio factor, for use in IEC 60534 liquid valve sizing calculations.
√︂
𝑃𝑠𝑎𝑡
𝐹𝐹 = 0.96 − 0.28
𝑃𝑐
Parameters
Psat [float] Saturation pressure of the liquid at inlet temperature [Pa]
Pc [float] Critical pressure of the liquid [Pa]
Returns
FF [float] Liquid critical pressure ratio factor [-]
References
[1]
Examples
Returns
choked [bool] Whether or not the flow is choked [-]
References
[1]
Examples
𝑥 ≥ 𝐹𝛾 𝑥𝑇
𝑥 ≥ 𝐹𝛾 𝑥 𝑇 𝑃
Parameters
x [float] Differential pressure over inlet pressure, [-]
Fgamma [float] Specific heat ratio factor [-]
xT [float, optional] Pressure difference ratio factor of a valve without fittings at choked flow [-]
xTP [float] Pressure difference ratio factor of a valve with fittings at choked flow [-]
Returns
choked [bool] Whether or not the flow is choked [-]
References
[1]
Examples
Parameters
nu [float] Kinematic viscosity, [m^2/s]
Q [float] Volumetric flow rate of the fluid [m^3/s]
D1 [float] Diameter of the pipe before the valve [m]
FL [float, optional] Liquid pressure recovery factor of a control valve without attached fittings
[]
Fd [float] Valve style modifier [-]
C [float] Metric Kv valve flow coefficient (flow rate of water at a pressure drop of 1 bar)
[m^3/hr]
Returns
Rev [float] Valve reynolds number [-]
References
[1]
Examples
Σ𝜉 = 𝜉1 + 𝜉2 + 𝜉𝐵1 − 𝜉𝐵2
[︃ (︂ )︂2 ]︃2
𝑑
𝜉1 = 0.5 1 −
𝐷1
[︃ (︂ )︂2 ]︃2
𝑑
𝜉2 = 1.0 1 −
𝐷2
(︂ )︂4
𝑑
𝜉𝐵1 = 1 −
𝐷1
(︂ )︂4
𝑑
𝜉𝐵2 = 1 −
𝐷2
Parameters
d [float] Diameter of the valve [m]
D1 [float] Diameter of the pipe before the valve [m]
D2 [float] Diameter of the pipe after the valve [m]
Returns
loss [float] Sum of the four loss coefficients [-]
References
[1]
Examples
References
[1]
Examples
In Example 4, compressible flow with small flow trim sized for gas flow (Cv in the problem was converted to
Kv here to make FR match with N32, N2):
fluids.control_valve.Cv_char_quick_opening(opening)
fluids.control_valve.Cv_char_linear(opening)
fluids.control_valve.Cv_char_equal_percentage(opening)
fluids.control_valve.convert_flow_coefficient(flow_coefficient, old_scale, new_scale)
Convert from one flow coefficient scale to another; supports the Kv Cv, and Av scales.
Other scales are Qn and Cg, but clear definitions have yet to be found.
Parameters
flow_coefficient [float] Value of the flow coefficient to be converted, expressed in the original
scale.
old_scale [str] String specifying the original scale; one of ‘Av’, ‘Cv’, or ‘Kv’, [-]
new_scale [str] String specifying the new scale; one of ‘Av’, ‘Cv’, or ‘Kv’, [-]
Returns
converted_flow_coefficient [float] Flow coefficient converted to the specified scale.
Notes
Qn is a scale based on a flow of air in units of L/minute as air travels through a valve and loses one bar of
pressure (initially 7 bar absolute, to 6 bar absolute). No consistent conversion factors have been found and those
from theory do not match what have been found. Some uses of Qn use its flow rate as in normal (STP reference
conditions) flow rate of air; others use something like the 7 bar absolute condition.
Examples
Notes
Examples
680000.0
Notes
Examples
Notes
For formulas see [1]. This takes on the order of 100 us to compute. This model can also tell if noise is being
produced in a valve just due to turbulent flow, or cavitation. For values of An, see [1]; it is normally -4.6 for
globel valves, -4.3 for butterfly valves, and -4.0 for expanders.
This model was checked against three examples in [1]; they match to all given decimals.
A formula is given in [1] for multihole trim valves to estimate xFz as well; this is not implemented here and xFz
must be calculated by the user separately. The formula is
)︂−1/2
𝑁0 𝑑2𝐻
(︂
𝑥𝐹 𝑧 = 4.5 + 1650
𝐹𝐿
Where N0 is the number of open channels and dH is the multihole trim hole diameter.
References
[1]
Examples
t_pipe [float] Wall thickness of the pipe after the valve, [m]
Fd [float] Valve style modifier (0.1 to 1; varies tremendously depending on the type of valve
and position; do not use the default at all!) [-]
FL [float] Liquid pressure recovery factor of a control valve without attached fittings (normally
0.8-0.9 at full open and decreasing as opened further to below 0.5; use default very cau-
tiously!) [-]
FLP [float, optional] Combined liquid pressure recovery factor with piping geometry factor, for
a control valve with attached fittings [-]
FP [float, optional] Piping geometry factor [-]
rho_pipe [float, optional] Density of the pipe wall material at flowing conditions, [kg/m^3]
c_pipe [float, optional] Speed of sound of the pipe wall material at flowing conditions, [m/s]
P_air [float, optional] Pressure of the air surrounding the valve and pipe wall, [Pa]
rho_air [float, optional] Density of the air surrounding the valve and pipe wall, [kg/m^3]
c_air [float, optional] Speed of sound of the air surrounding the valve and pipe wall, [m/s]
An [float, optional] Valve correction factor for acoustic efficiency
Stp [float, optional] Strouhal number at the peak fp; between 0.1 and 0.3 typically, [-]
T2 [float, optional] Outlet gas temperature; assumed T1 if not provided (a PH flash should be
used to obtain this if possible), [K]
beta [float, optional] Valve outlet / expander inlet contraction coefficient, [-]
Returns
LpAe1m [float] A weighted sound pressure level 1 m from the pipe wall, 1 m distance dow-
stream of the valve (at reference sound pressure level 2E-5), [dBA]
Notes
For formulas see [1]. This takes on the order of 100 us to compute. For values of An, see [1].
This model was checked against six examples in [1]; they match to all given decimals.
Several additional formulas are given for multihole trim valves, control valves with two or more fixed area
stages, and multipath, multistage trim valves.
References
[1]
Examples
Parameters
V [float] Velocity [m/s]
D [float] Diameter [m]
rho [float, optional] Density, [kg/m^3]
mu [float, optional] Dynamic viscosity, [Pa*s]
nu [float, optional] Kinematic viscosity, [m^2/s]
Returns
Re [float] Reynolds number []
Notes
Momentum
𝑅𝑒 =
Viscosity
An error is raised if none of the required input sets are provided.
References
[1], [2]
Examples
Parameters
Cp [float] Heat capacity, [J/kg/K]
k [float] Thermal conductivity, [W/m/K]
mu [float, optional] Dynamic viscosity, [Pa*s]
nu [float, optional] Kinematic viscosity, [m^2/s]
rho [float] Density, [kg/m^3]
alpha [float] Thermal diffusivity, [m^2/s]
Returns
Pr [float] Prandtl number []
Notes
References
Examples
Parameters
L [float] Characteristic length [m]
beta [float] Volumetric thermal expansion coefficient [1/K]
T1 [float] Temperature 1, usually a film temperature [K]
T2 [float, optional] Temperature 2, usually a bulk temperature (or 0 if only a difference is pro-
vided to the function) [K]
rho [float, optional] Density, [kg/m^3]
mu [float, optional] Dynamic viscosity, [Pa*s]
nu [float, optional] Kinematic viscosity, [m^2/s]
g [float, optional] Acceleration due to gravity, [m/s^2]
Returns
Gr [float] Grashof number []
Notes
Buoyancy forces
𝐺𝑟 =
Viscous forces
An error is raised if none of the required input sets are provided. Used in free convection problems only.
References
[1], [2]
Examples
fluids.core.Nusselt(h, L, k)
Calculates Nusselt number Nu for a heat transfer coefficient h, characteristic length L, and thermal conductivity
k.
ℎ𝐿
𝑁𝑢 =
𝑘
Parameters
h [float] Heat transfer coefficient, [W/m^2/K]
L [float] Characteristic length, no typical definition [m]
k [float] Thermal conductivity of fluid [W/m/K]
Returns
Nu [float] Nusselt number, [-]
Notes
Do not confuse k, the thermal conductivity of the fluid, with that of within a solid object associated with!
Convective heat transfer
𝑁𝑢 =
Conductive heat transfer
References
[1], [2]
Examples
fluids.core.Sherwood(K, L, D)
Calculates Sherwood number Sh for a mass transfer coefficient K, characteristic length L, and diffusivity D.
𝐾𝐿
𝑆ℎ =
𝐷
Parameters
K [float] Mass transfer coefficient, [m/s]
L [float] Characteristic length, no typical definition [m]
D [float] Diffusivity of a species [m/s^2]
Returns
Sh [float] Sherwood number, [-]
Notes
References
[1]
Examples
fluids.core.Rayleigh(Pr, Gr)
Calculates Rayleigh number or Ra using Prandtl number Pr and Grashof number Gr for a fluid with the given
properties, temperature difference, and characteristic length used to calculate Gr and Pr.
𝑅𝑎 = 𝑃 𝑟𝐺𝑟
Parameters
Pr [float] Prandtl number []
Gr [float] Grashof number []
Returns
Ra [float] Rayleigh number []
Notes
References
[1], [2]
Examples
Parameters
D [float] Diffusivity of a species, [m^2/s]
mu [float, optional] Dynamic viscosity, [Pa*s]
nu [float, optional] Kinematic viscosity, [m^2/s]
rho [float, optional] Density, [kg/m^3]
Returns
Sc [float] Schmidt number []
Notes
References
[1], [2]
Examples
Parameters
V [float] Velocity [m/s]
L [float] Characteristic length [m]
rho [float, optional] Density, [kg/m^3]
Cp [float, optional] Heat capacity, [J/kg/K]
k [float, optional] Thermal conductivity, [W/m/K]
alpha [float, optional] Thermal diffusivity, [m^2/s]
Returns
Pe [float] Peclet number (heat) []
Notes
References
[1], [2]
Examples
fluids.core.Peclet_mass(V, L, D)
Calculates mass transfer Peclet number or Pe for a specified velocity V, characteristic length L, and diffusion
coefficient D.
𝐿𝑉
𝑃𝑒 =
𝐷
Parameters
V [float] Velocity [m/s]
L [float] Characteristic length [m]
D [float] Diffusivity of a species, [m^2/s]
Returns
Pe [float] Peclet number (mass) []
Notes
References
[1]
Examples
𝑘𝑡 𝛼𝑡
𝐹𝑜 = 2
= 2
𝐶𝑝 𝜌𝐿 𝐿
Parameters
t [float] time [s]
L [float] Characteristic length [m]
rho [float, optional] Density, [kg/m^3]
Cp [float, optional] Heat capacity, [J/kg/K]
k [float, optional] Thermal conductivity, [W/m/K]
alpha [float, optional] Thermal diffusivity, [m^2/s]
Returns
Fo [float] Fourier number (heat) []
Notes
References
[1], [2]
Examples
fluids.core.Fourier_mass(t, L, D)
Calculates mass transfer Fourier number or Fo for a specified time t, characteristic length L, and diffusion
coefficient D.
𝐷𝑡
𝐹𝑜 =
𝐿2
Parameters
t [float] time [s]
L [float] Characteristic length [m]
D [float] Diffusivity of a species, [m^2/s]
Returns
Fo [float] Fourier number (mass) []
Notes
References
[1]
Examples
𝑉 𝐷 2 · 𝐶𝑝 𝜌 𝑉 𝐷2
𝐺𝑧 = =
𝑥·𝑘 𝑥𝛼
Inputs either of any of the following sets:
• V, D, x, density rho, heat capacity Cp, and thermal conductivity k
• V, D, x, and thermal diffusivity alpha
Parameters
V [float] Velocity, [m/s]
D [float] Diameter [m]
x [float] Axial distance [m]
rho [float, optional] Density, [kg/m^3]
Cp [float, optional] Heat capacity, [J/kg/K]
k [float, optional] Thermal conductivity, [W/m/K]
alpha [float, optional] Thermal diffusivity, [m^2/s]
Returns
Gz [float] Graetz number []
Notes
References
[1]
Examples
Parameters
D [float] Diffusivity of a species, [m^2/s]
alpha [float, optional] Thermal diffusivity, [m^2/s]
Cp [float, optional] Heat capacity, [J/kg/K]
k [float, optional] Thermal conductivity, [W/m/K]
rho [float, optional] Density, [kg/m^3]
Returns
Le [float] Lewis number []
Notes
Thermal diffusivity 𝑆𝑐
𝐿𝑒 = =
Mass diffusivity 𝑃𝑟
An error is raised if none of the required input sets are provided.
References
Examples
𝑉 2 𝐿𝜌
𝑊𝑒 =
𝜎
Parameters
V [float] Velocity of fluid, [m/s]
L [float] Characteristic length, typically bubble diameter [m]
rho [float] Density of fluid, [kg/m^3]
Notes
References
Examples
fluids.core.Mach(V, c)
Calculates Mach number or Ma for a fluid of velocity V with speed of sound c.
𝑉
𝑀𝑎 =
𝑐
Parameters
V [float] Velocity of fluid, [m/s]
c [float] Speed of sound in fluid, [m/s]
Returns
Ma [float] Mach number []
Notes
References
[1], [2]
Examples
fluids.core.Knudsen(path, L)
Calculates Knudsen number or Kn for a fluid with mean free path path and for a characteristic length L.
𝜆
𝐾𝑛 =
𝐿
Parameters
path [float] Mean free path between molecular collisions, [m]
L [float] Characteristic length, [m]
Returns
Kn [float] Knudsen number []
Notes
References
[1], [2]
Examples
𝑔(𝜌𝑙 − 𝜌𝑔 )𝐿2
𝐵𝑜 =
𝜎
Parameters
rhol [float] Density of liquid, [kg/m^3]
rhog [float] Density of gas, [kg/m^3]
sigma [float] Surface tension, [N/m]
L [float] Characteristic length, [m]
Returns
Bo [float] Bond number []
References
[1]
Examples
fluids.core.Dean(Re, Di, D)
Calculates Dean number, De, for a fluid with the Reynolds number Re, inner diameter Di, and a secondary
diameter D. D may be the diameter of curvature, the diameter of a spiral, or some other dimension.
√︂ √︂
𝐷𝑖 𝐷𝑖 𝜌𝑣𝐷
De = Re =
𝐷 𝐷 𝜇
Parameters
Re [float] Reynolds number []
Di [float] Inner diameter []
D [float] Diameter of curvature or outer spiral or other dimension []
Returns
De [float] Dean number [-]
Notes
References
[1]
Examples
𝑔𝜇4𝑙 (𝜌𝑙 − 𝜌𝑔 )
𝑀𝑜 =
𝜌2𝑙 𝜎 3
Parameters
rhol [float] Density of liquid phase, [kg/m^3]
rhog [float] Density of gas phase, [kg/m^3]
Notes
References
[1], [2]
Examples
Notes
References
[1], [2]
Examples
Parameters
V [float] Velocity of the specified phase, [m/s]
L [float] Characteristic length, no typical definition [m]
rho1 [float] Density of the heavier phase, [kg/m^3]
rho2 [float] Density of the lighter phase, [kg/m^3]
heavy [bool, optional] Whether or not the density used in the numerator is the heavy phase or
the light phase, [-]
g [float, optional] Acceleration due to gravity, [m/s^2]
Returns
Fr_den [float] Densimetric Froude number, [-]
Notes
References
[1]
Examples
fluids.core.Strouhal(f, L, V)
Calculates Strouhal number St for a characteristic frequency f, characteristic length L, and velocity V.
𝑓𝐿
𝑆𝑡 =
𝑉
Parameters
f [float] Characteristic frequency, usually that of vortex shedding, [Hz]
L [float] Characteristic length, [m]
V [float] Velocity of the fluid, [m/s]
Returns
St [float] Strouhal number, [-]
Notes
References
[1], [2]
Examples
fluids.core.Biot(h, L, k)
Calculates Biot number Br for heat transfer coefficient h, geometric length L, and thermal conductivity k.
ℎ𝐿
𝐵𝑖 =
𝑘
Parameters
h [float] Heat transfer coefficient, [W/m^2/K]
L [float] Characteristic length, no typical definition [m]
k [float] Thermal conductivity, within the object [W/m/K]
Returns
Bi [float] Biot number, [-]
Notes
Do not confuse k, the thermal conductivity within the object, with that of the medium h is calculated with!
Surface thermal resistance
𝐵𝑖 =
Internal thermal resistance
References
[1], [2]
Examples
ℎ
𝑆𝑡 =
𝑉 𝜌𝐶𝑝
Parameters
h [float] Heat transfer coefficient, [W/m^2/K]
V [float] Velocity, [m/s]
rho [float] Density, [kg/m^3]
Cp [float] Heat capacity, [J/kg/K]
Returns
St [float] Stanton number []
Notes
References
[1], [1]
Examples
fluids.core.Euler(dP, rho, V)
Calculates Euler number or Eu for a fluid of velocity V and density rho experiencing a pressure drop dP.
∆𝑃
𝐸𝑢 =
𝜌𝑉 2
Parameters
dP [float] Pressure drop experience by the fluid, [Pa]
Notes
Used in pressure drop calculations. Rarely, this number is divided by two. Named after Leonhard Euler applied
calculus to fluid dynamics.
Pressure drop
𝐸𝑢 =
2 · velocity head
References
[1], [2]
Examples
Parameters
P [float] Internal pressure of the fluid, [Pa]
Psat [float] Vapor pressure of the fluid, [Pa]
rho [float] Density of the fluid, [kg/m^3]
V [float] Velocity of fluid, [m/s]
Returns
Ca [float] Cavitation number []
Notes
Used in determining if a flow through a restriction will cavitate. Sometimes, the multiplication by 2 will be
omitted;
Pressure - Vapor pressure
𝐶𝑎 =
Inertial pressure
References
[1], [2]
Examples
Parameters
V [float] Velocity of fluid, [m/s]
Cp [float] Heat capacity of the fluid, [J/kg/K]
dT [float] Temperature difference, [K]
Returns
Ec [float] Eckert number []
Notes
References
[1]
Examples
Parameters
Cp [float] Heat capacity of the fluid, [J/kg/K]
Hvap [float] Enthalpy of vaporization of the fluid at its saturation temperature [J/kg]
Te [float] Temperature difference above the fluid’s saturation boiling temperature, [K]
Returns
Ja [float] Jakob number []
Notes
References
[1], [2]
Examples
fluids.core.Power_number(P, L, N, rho)
Calculates power number, Po, for an agitator applying a specified power P with a characteristic length L, rota-
tional speed N, to a fluid with a specified density rho.
𝑃
𝑃𝑜 =
𝜌𝑁 3 𝐷5
Parameters
P [float] Power applied, [W]
L [float] Characteristic length, typically agitator diameter [m]
N [float] Speed [revolutions/second]
rho [float] Density of fluid, [kg/m^3]
Returns
Po [float] Power number []
Notes
References
[1], [2]
Examples
𝜌𝑝 𝑉 𝐷𝑝2
Stk =
18𝜇𝑓 𝐷
Parameters
V [float] Characteristic velocity (often superficial), [m/s]
Dp [float] Particle diameter, [m]
D [float] Characteristic diameter (ex demister wire diameter or cyclone diameter), [m]
rhop [float] Particle density, [kg/m^3]
mu [float] Fluid viscosity, [Pa*s]
Returns
Stk [float] Stokes numer, [-]
Notes
References
[1], [2]
Examples
fluids.core.Drag(F, A, V, rho)
Calculates drag coefficient Cd for a given drag force F, projected area A, characteristic velocity V, and density
rho.
𝐹𝑑
𝐶𝐷 =
𝐴 · 12 𝜌𝑉 2
Parameters
F [float] Drag force, [N]
A [float] Projected area, [m^2]
V [float] Characteristic velocity, [m/s]
rho [float] Density, [kg/m^3]
Returns
Cd [float] Drag coefficient, [-]
Notes
References
[1], [2]
Examples
Notes
Used in porous media calculations and film flow calculations. Surface tension may gas-liquid, or liquid-liquid.
Viscous forces
𝐶𝑎 =
Surface forces
References
[1], [2]
Examples
Parameters
dP [float] Pressure drop, [Pa]
L [float] Characteristic length, [m]
mu [float, optional] Dynamic viscosity, [Pa*s]
alpha [float] Thermal diffusivity, [m^2/s]
Returns
Be_L [float] Bejan number with respect to length []
Notes
References
[1], [2]
Examples
Notes
References
[1], [2]
Examples
fluids.core.Boiling(G, q, Hvap)
Calculates Boiling number or Bg using heat flux, two-phase mass flux, and heat of vaporization of the fluid
flowing. Used in two-phase heat transfer calculations.
𝑞
Bg =
𝐺𝑡𝑝 ∆𝐻𝑣𝑎𝑝
Parameters
G [float] Two-phase mass flux in a channel (combined liquid and vapor) [kg/m^2/s]
q [float] Heat flux [W/m^2]
Hvap [float] Heat of vaporization of the fluid [J/kg]
Returns
Bg [float] Boiling number [-]
Notes
Most often uses the symbol Bo instead of Bg, but this conflicts with Bond number.
mass liquid evaporated / area heat transfer surface
Bg =
mass flow rate fluid / flow cross sectional area
First defined in [4], though not named.
References
Examples
Notes
Used in two-phase pressure drop and heat transfer correlations. First used in [1] according to [3].
surface tension force
buoyancy force
Co =
Channel area
References
Examples
𝐿3 𝜌𝑓 (𝜌𝑝 − 𝜌𝑓 )𝑔
𝐴𝑟 =
𝜇2
Parameters
L [float] Characteristic length, typically particle diameter [m]
rhof [float] Density of fluid, [kg/m^3]
rhop [float] Density of particle, [kg/m^3]
mu [float] Viscosity of fluid, [N/m]
g [float, optional] Acceleration due to gravity, [m/s^2]
Returns
Ar [float] Archimedes number []
Notes
References
[1], [2]
Examples
Notes
References
[1]
Examples
Returns
Su [float] Suratman number []
Notes
Also known as Laplace number. Used in two-phase flow, especially the bubbly-slug regime. No confusion
regarding the definition of this group has been observed.
References
[1], [2]
Examples
fluids.core.Hagen(Re, fd)
Calculates Hagen number, Hg, for a fluid with the given Reynolds number and friction factor.
𝑓𝑑 2 1 ∆𝑃 𝐷3 𝜌∆𝑃 𝐷3
Hg = 𝑅𝑒 = =
2 𝜌 ∆𝑧 𝜈 2 𝜇2 ∆𝑧
Parameters
Re [float] Reynolds number [-]
fd [float, optional] Darcy friction factor, [-]
Returns
Hg [float] Hagen number, [-]
Notes
References
Examples
𝑘
𝛼=
𝜌𝐶𝑝
Parameters
k [float] Thermal conductivity, [W/m/K]
rho [float] Density, [kg/m^3]
Cp [float] Heat capacity, [J/kg/K]
Returns
alpha [float] Thermal diffusivity, [m^2/s]
References
[1]
Examples
fluids.core.c_ideal_gas(T, k, MW)
Calculates speed of sound c in an ideal gas at temperature T.
√︀
𝑐= 𝑘𝑅𝑠𝑝𝑒𝑐𝑖𝑓 𝑖𝑐 𝑇
Parameters
T [float] Temperature of fluid, [K]
k [float] Isentropic exponent of fluid, [-]
MW [float] Molecular weight of fluid, [g/mol]
Returns
c [float] Speed of sound in fluid, [m/s]
Notes
Used in compressible flow calculations. Note that the gas constant used is the specific gas constant:
1000
𝑅𝑠𝑝𝑒𝑐𝑖𝑓 𝑖𝑐 = 𝑅
𝑀𝑊
References
[1], [2]
Examples
fluids.core.relative_roughness(D, roughness=1.52e-06)
Calculates relative roughness eD using a diameter and the roughness of the material of the wall. Default rough-
ness is that of steel.
𝜖
𝑒𝐷 =
𝐷
Parameters
D [float] Diameter of pipe, [m]
roughness [float, optional] Roughness of pipe wall [m]
Returns
eD [float] Relative Roughness, [-]
References
[1], [2]
Examples
𝜇 = 𝜈𝜌
Parameters
rho [float] Density, [kg/m^3]
mu [float, optional] Dynamic viscosity, [Pa*s]
nu [float, optional] Kinematic viscosity, [m^2/s]
Returns
mu or nu [float] Dynamic viscosity, Pa*s or Kinematic viscosity, m^2/s
References
[1]
Examples
fluids.core.gravity(latitude, H)
Calculates local acceleration due to gravity g according to [1]. Uses latitude and height to calculate g.
Parameters
latitude [float] Degrees, [degrees]
H [float] Height above earth’s surface [m]
Returns
g [float] Acceleration due to gravity, [m/s^2]
Notes
References
[1]
Examples
fluids.core.K_from_f(fd, L, D)
Calculates loss coefficient, K, for a given section of pipe at a specified friction factor.
𝐾 = 𝑓𝑑 𝐿/𝐷
Parameters
fd [float] friction factor of pipe, []
L [float] Length of pipe, [m]
D [float] Inner diameter of pipe, [m]
Returns
K [float] Loss coefficient, []
Notes
For fittings with a specified L/D ratio, use D = 1 and set L to specified L/D ratio.
Examples
fluids.core.K_from_L_equiv(L_D, fd=0.015)
Calculates loss coefficient, for a given equivalent length (L/D).
𝐿
𝐾 = 𝑓𝑑
𝐷
Parameters
L_D [float] Length over diameter, []
fd [float, optional] Darcy friction factor, [-]
Returns
K [float] Loss coefficient, []
Notes
Almost identical to K_from_f, but with a default friction factor for fully turbulent flow in steel pipes.
Examples
>>> K_from_L_equiv(240)
3.5999999999999996
fluids.core.L_equiv_from_K(K, fd=0.015)
Calculates equivalent length of pipe (L/D), for a given loss coefficient.
𝐿 𝐾
=
𝐷 𝑓𝑑
Parameters
K [float] Loss coefficient, [-]
fd [float, optional] Darcy friction factor, [-]
Returns
L_D [float] Length over diameter, [-]
Notes
Assumes a default friction factor for fully turbulent flow in steel pipes.
Examples
>>> L_equiv_from_K(3.6)
240.00000000000003
fluids.core.L_from_K(K, D, fd=0.015)
Calculates the length of straight pipe at a specified friction factor required to produce a given loss coefficient K.
𝐾𝐷
𝐿=
𝑓𝑑
Parameters
K [float] Loss coefficient, []
D [float] Inner diameter of pipe, [m]
fd [float] friction factor of pipe, []
Returns
L [float] Length of pipe, [m]
Examples
fluids.core.dP_from_K(K, rho, V)
Calculates pressure drop, for a given loss coefficient, at a specified density and velocity.
𝑑𝑃 = 0.5𝐾𝜌𝑉 2
Parameters
K [float] Loss coefficient, []
rho [float] Density of fluid, [kg/m^3]
V [float] Velocity of fluid in pipe, [m/s]
Returns
dP [float] Pressure drop, [Pa]
Notes
Loss coefficient K is usually the sum of several factors, including the friction factor.
Examples
fluids.core.head_from_K(K, V, g=9.80665)
Calculates head loss, for a given loss coefficient, at a specified velocity.
𝐾𝑉 2
head =
2𝑔
Parameters
K [float] Loss coefficient, []
V [float] Velocity of fluid in pipe, [m/s]
g [float, optional] Acceleration due to gravity, [m/s^2]
Returns
head [float] Head loss, [m]
Notes
Loss coefficient K is usually the sum of several factors, including the friction factor.
Examples
Notes
By definition. Head varies with location, inversely proportional to the increase in gravitational constant.
Examples
𝑃 = 𝜌𝑔 · head
Parameters
head [float] Head, [m]
rho [float] Density of fluid, [kg/m^3]
Examples
𝑔(𝜌𝑙 − 𝜌𝑔 )𝐿2
𝐵𝑜 =
𝜎
Parameters
rhol [float] Density of liquid, [kg/m^3]
rhog [float] Density of gas, [kg/m^3]
sigma [float] Surface tension, [N/m]
L [float] Characteristic length, [m]
Returns
Bo [float] Bond number []
References
[1]
Examples
Parameters
Re [float] Particle Reynolds number of the sphere using the surrounding fluid density and vis-
cosity, [-]
Returns
Cd [float] Drag coefficient [-]
methods [list, only returned if AvailableMethods == True] List of methods which can be used
to calculate Cd with the given Re
Other Parameters
Method [string, optional] A string of the function name to use, as in the dictionary
drag_sphere_correlations
AvailableMethods [bool, optional] If True, function will consider which methods which can be
used to calculate Cd with the given Re
Examples
>>> drag_sphere(200)
0.7682237950389874
Parameters
D [float] Diameter of the sphere, [m]
rhop [float] Particle density, [kg/m^3]
rho [float] Density of the surrounding fluid, [kg/m^3]
mu [float] Viscosity of the surrounding fluid [Pa*s]
Method [string, optional] A string of the function name to use, as in the dictionary
drag_sphere_correlations
Returns
v_t [float] Terminal velocity of falling sphere [m/s]
Notes
As there are no correlations implemented for Re > 1E6, an error will be raised if the numerical solver seeks a
solution above that limit.
𝑔𝑑2𝑝 (𝜌𝑝 − 𝜌𝑓 )
𝑣𝑡 =
18𝜇𝑓
References
[1], [2]
Examples
0.4491992020345101
𝑔(𝜌𝑝 − 𝜌𝑓 ) 3𝐶𝐷 𝜌𝑓 𝑢2
𝑎= −
𝜌𝑝 4𝐷𝜌𝑝
Parameters
D [float] Diameter of the sphere, [m]
rhop [float] Particle density, [kg/m^3]
rho [float] Density of the surrounding fluid, [kg/m^3]
mu [float] Viscosity of the surrounding fluid [Pa*s]
t [float] Time to integrate the particle to, [s]
V [float] Initial velocity of the particle, [m/s]
Method [string, optional] A string of the function name to use, as in the dictionary
drag_sphere_correlations
distance [bool, optional] Whether or not to calculate the distance traveled and return it as well
Returns
v [float] Velocity of falling sphere after time t [m/s]
x [float, returned only if distance == True] Distance traveled by the falling sphere in time t, [m]
Notes
References
[1]
Examples
Notes
Examples
fluids.drag.Stokes(Re)
Calculates drag coefficient of a smooth sphere using Stoke’s law.
𝐶𝐷 = 24/𝑅𝑒
Parameters
Re [float] Particle Reynolds number of the sphere using the surrounding fluid density and vis-
cosity, [-]
Returns
Cd [float] Drag coefficient [-]
Notes
References
[1]
Examples
>>> Stokes(0.1)
240.0
fluids.drag.Barati(Re)
Calculates drag coefficient of a smooth sphere using the method in [1].
𝐶𝐷 = 5.4856 × 109 tanh(4.3774 × 10−9 /𝑅𝑒) + 0.0709 tanh(700.6574/𝑅𝑒) + 0.3894 tanh(74.1539/𝑅𝑒) − 0.1198 tanh(7429
Parameters
Re [float] Particle Reynolds number of the sphere using the surrounding fluid density and vis-
cosity, [-]
Returns
Cd [float] Drag coefficient [-]
Notes
References
[1]
Examples
fluids.drag.Barati_high(Re)
Calculates drag coefficient of a smooth sphere using the method in [1].
𝐶𝐷 = 8 × 10−6 (𝑅𝑒/6530)2 + tanh(𝑅𝑒) − 8 ln(𝑅𝑒)/ ln(10) − 0.4119 exp(−2.08 × 1043 /[𝑅𝑒 + 𝑅𝑒2 ]4 ) − 2.1344 exp(−{[ln
[︀ ]︀
Parameters
Re [float] Particle Reynolds number of the sphere using the surrounding fluid density and vis-
cosity, [-]
Returns
Cd [float] Drag coefficient [-]
Notes
Range is Re <= 1E6 This model is the wider-range model the authors developed. At sufficiently low diameters
or Re values, drag is no longer a phenomena.
References
[1]
Examples
fluids.drag.Rouse(Re)
Calculates drag coefficient of a smooth sphere using the method in [1] as described in [2].
24 3
𝐶𝐷 = + + 0.34
𝑅𝑒 𝑅𝑒0.5
Parameters
Re [float] Particle Reynolds number of the sphere using the surrounding fluid density and vis-
cosity, [-]
Returns
Cd [float] Drag coefficient [-]
Notes
References
[1], [2]
Examples
>>> Rouse(200.)
0.6721320343559642
fluids.drag.Engelund_Hansen(Re)
Calculates drag coefficient of a smooth sphere using the method in [1] as described in [2].
24
𝐶𝐷 = + 1.5
𝑅𝑒
Parameters
Re [float] Particle Reynolds number of the sphere using the surrounding fluid density and vis-
cosity, [-]
Returns
Cd [float] Drag coefficient [-]
Notes
References
[1], [2]
Examples
>>> Engelund_Hansen(200.)
1.62
fluids.drag.Clift_Gauvin(Re)
Calculates drag coefficient of a smooth sphere using the method in [1] as described in [2].
24 0.417
𝐶𝐷 = (1 + 0.152𝑅𝑒0.677 ) +
𝑅𝑒 1 + 5070𝑅𝑒−0.94
Parameters
Re [float] Particle Reynolds number of the sphere using the surrounding fluid density and vis-
cosity, [-]
Returns
Cd [float] Drag coefficient [-]
Notes
References
[1], [2]
Examples
>>> Clift_Gauvin(200.)
0.7905400398000133
fluids.drag.Morsi_Alexander(Re)
Calculates drag coefficient of a smooth sphere using the method in [1] as described in [2].
⎧ 24
if 𝑅𝑒 < 0.1
⎪ 𝑅𝑒
⎪
⎪ 22.73 0.0903
⎪
⎪
⎪ 𝑅𝑒 + 𝑅𝑒 2 + 3.69 if 0.1 < 𝑅𝑒 < 1
⎪ 29.1667 3.8889
⎪
⎪
⎪ 𝑅𝑒 − 𝑅𝑒 2 + 1.2220 if 1 < 𝑅𝑒 < 10
⎪ 46.5 116.67
⎨
𝑅𝑒 − 𝑅𝑒 2 + 0.6167 if 10 < 𝑅𝑒 < 100
𝐶𝐷 = 98.33
− 2778
2 + 0.3644 if 100 < 𝑅𝑒 < 1000
⎪ 𝑅𝑒 𝑅𝑒
148.62 4.75×104
⎪
⎪
⎪
⎪ 𝑅𝑒 − 𝑅𝑒2 + 0.3570 if 1000 < 𝑅𝑒 < 5000
57.87×104
⎪
−490.5460
+ 𝑅𝑒2 + 0.46 if 5000 < 𝑅𝑒 < 10000
⎪
⎪
𝑅𝑒
⎪
⎪
⎩ −1662.5 5.4167×106
⎪
𝑅𝑒 + 𝑅𝑒2 + 0.5191 if 10000 < 𝑅𝑒 < 50000
Parameters
Re [float] Particle Reynolds number of the sphere using the surrounding fluid density and vis-
cosity, [-]
Returns
Cd [float] Drag coefficient [-]
Notes
Range is Re <= 2E5. Original was reviewed, and confirmed to contain the cited equations.
References
[1], [2]
Examples
>>> Morsi_Alexander(200)
0.7866
fluids.drag.Graf(Re)
Calculates drag coefficient of a smooth sphere using the method in [1] as described in [2].
24 7.3
𝐶𝐷 = + + 0.25
𝑅𝑒 1 + 𝑅𝑒0.5
Parameters
Re [float] Particle Reynolds number of the sphere using the surrounding fluid density and vis-
cosity, [-]
Returns
Cd [float] Drag coefficient [-]
Notes
References
[1], [2]
Examples
>>> Graf(200.)
0.8520984424785725
fluids.drag.Flemmer_Banks(Re)
Calculates drag coefficient of a smooth sphere using the method in [1] as described in [2].
24 𝐸
𝐶𝐷 = 10
𝑅𝑒
0.143
𝐸 = 0.383𝑅𝑒0.356 − 0.207𝑅𝑒0.396 −
1 + (log10 𝑅𝑒)2
Parameters
Re [float] Particle Reynolds number of the sphere using the surrounding fluid density and vis-
cosity, [-]
Returns
Cd [float] Drag coefficient [-]
Notes
References
[1], [2]
Examples
>>> Flemmer_Banks(200.)
0.7849169609270039
fluids.drag.Khan_Richardson(Re)
Calculates drag coefficient of a smooth sphere using the method in [1] as described in [2].
Parameters
Re [float] Particle Reynolds number of the sphere using the surrounding fluid density and vis-
cosity, [-]
Returns
Cd [float] Drag coefficient [-]
Notes
References
[1], [2]
Examples
>>> Khan_Richardson(200.)
0.7747572379211097
fluids.drag.Swamee_Ojha(Re)
Calculates drag coefficient of a smooth sphere using the method in [1] as described in [2].
⎧
]︂2.5 [︃(︂ )︂2 ]︃−0.25 ⎫0.25
⎨ [︂ 24 130 0.72 40000 ⎬
𝐶𝐷 = 0.5 16 ( )1.6 + ( ) + +1
⎩ 𝑅𝑒 𝑅𝑒 𝑅𝑒 ⎭
Parameters
Re [float] Particle Reynolds number of the sphere using the surrounding fluid density and vis-
cosity, [-]
Returns
Cd [float] Drag coefficient [-]
Notes
References
[1], [2]
Examples
>>> Swamee_Ojha(200.)
0.8490012397545713
fluids.drag.Yen(Re)
Calculates drag coefficient of a smooth sphere using the method in [1] as described in [2].
24 (︁ √ )︁ 0.208
𝐶𝐷 = 1 + 0.15 𝑅𝑒 + 0.017𝑅𝑒 −
𝑅𝑒 1 + 104 𝑅𝑒−0.5
Parameters
Re [float] Particle Reynolds number of the sphere using the surrounding fluid density and vis-
cosity, [-]
Returns
Cd [float] Drag coefficient [-]
Notes
References
[1], [2]
Examples
>>> Yen(200.)
0.7822647002187014
fluids.drag.Haider_Levenspiel(Re)
Calculates drag coefficient of a smooth sphere using the method in [1] as described in [2].
(︂ )︂
24 0.4251
𝐶𝐷 = (1 + 0.1806𝑅𝑒0.6459 ) +
𝑅𝑒 1 + 6880.95
𝑅𝑒
Parameters
Re [float] Particle Reynolds number of the sphere using the surrounding fluid density and vis-
cosity, [-]
Returns
Cd [float] Drag coefficient [-]
Notes
Range is Re <= 2E5 An improved version of this correlation is in Brown and Lawler.
References
[1], [2]
Examples
>>> Haider_Levenspiel(200.)
0.7959551680251666
fluids.drag.Cheng(Re)
Calculates drag coefficient of a smooth sphere using the method in [1] as described in [2].
24
𝐶𝐷 = (1 + 0.27𝑅𝑒)0.43 + 0.47[1 − exp(−0.04𝑅𝑒0.38 )]
𝑅𝑒
Parameters
Re [float] Particle Reynolds number of the sphere using the surrounding fluid density and vis-
cosity, [-]
Returns
Cd [float] Drag coefficient [-]
Notes
References
[1], [2]
Examples
>>> Cheng(200.)
0.7939143028294227
fluids.drag.Terfous(Re)
Calculates drag coefficient of a smooth sphere using the method in [1] as described in [2].
21.683 0.131 10.616 12.216
𝐶𝐷 = 2.689 + + − +
𝑅𝑒 𝑅𝑒2 𝑅𝑒0.1 𝑅𝑒0.2
Parameters
Re [float] Particle Reynolds number of the sphere using the surrounding fluid density and vis-
cosity, [-]
Returns
Cd [float] Drag coefficient [-]
Notes
References
[1], [2]
Examples
>>> Terfous(200.)
0.7814651149769638
fluids.drag.Mikhailov_Freire(Re)
Calculates drag coefficient of a smooth sphere using the method in [1] as described in [2].
Parameters
Re [float] Particle Reynolds number of the sphere using the surrounding fluid density and vis-
cosity, [-]
Returns
Cd [float] Drag coefficient [-]
Notes
References
[1], [2]
Examples
>>> Mikhailov_Freire(200.)
0.7514111388018659
fluids.drag.Clift(Re)
Calculates drag coefficient of a smooth sphere using the method in [1] as described in [2].
⎧ 24 3
⎪
⎪ 𝑅𝑒 + 16 if 𝑅𝑒 < 0.01
24 0.82−0.05 log 𝑅𝑒
(1 + 0.1315𝑅𝑒 ) if 0.01 < 𝑅𝑒 < 20
⎪
⎪
⎪
⎪ 𝑅𝑒
24 0.6305
(1 + 0.1935𝑅𝑒 ) if 20 < 𝑅𝑒 < 260
⎪
⎪
⎪
⎪ 𝑅𝑒
⎪ [1.6435−1.1242 log 𝑅𝑒+0.1558[log 𝑅𝑒]2
⎪
⎪
⎨ 10 if 260 < 𝑅𝑒 < 1500
2 3
𝐶𝐷 = 10[−2.4571+2.5558 log 𝑅𝑒−0.9295[log 𝑅𝑒] +0.1049[log 𝑅𝑒] if 1500 < 𝑅𝑒 < 12000
2
⎪ 10[−1.9181+0.6370 log 𝑅𝑒−0.0636[log 𝑅𝑒]
⎪
⎪
⎪ if 12000 < 𝑅𝑒 < 44000
⎪ 2
[−4.3390+1.5809 log 𝑅𝑒−0.1546[log 𝑅𝑒]
10 if 44000 < 𝑅𝑒 < 338000
⎪
⎪
⎪
⎪
9.78 − 5.3 log 𝑅𝑒 if 338000 < 𝑅𝑒 < 400000
⎪
⎪
⎪
⎪
0.19 log 𝑅𝑒 − 0.49 if 400000 < 𝑅𝑒 < 1000000
⎩
Parameters
Re [float] Particle Reynolds number of the sphere using the surrounding fluid density and vis-
cosity, [-]
Returns
Cd [float] Drag coefficient [-]
Notes
References
[1], [2]
Examples
>>> Clift(200)
0.7756342422322543
fluids.drag.Ceylan(Re)
Calculates drag coefficient of a smooth sphere using the method in [1] as described in [2].
Parameters
Re [float] Particle Reynolds number of the sphere using the surrounding fluid density and vis-
cosity, [-]
Returns
Cd [float] Drag coefficient [-]
Notes
References
[1], [2]
Examples
>>> Ceylan(200.)
0.7816735980280175
fluids.drag.Almedeij(Re)
Calculates drag coefficient of a smooth sphere using the method in [1] as described in [2].
[︂ ]︂0.1
1
𝐶𝐷 = + 𝜑4
(𝜑1 + 𝜑2 )−1 + (𝜑3 )−1
Parameters
Re [float] Particle Reynolds number of the sphere using the surrounding fluid density and vis-
cosity, [-]
Returns
Cd [float] Drag coefficient [-]
Notes
References
[1], [2]
Examples
>>> Almedeij(200.)
0.7114768646813396
fluids.drag.Morrison(Re)
Calculates drag coefficient of a smooth sphere using the method in [1] as described in [2].
(︀ 𝑅𝑒 )︀−7.94
24 2.6𝑅𝑒/5 0.411 263000 𝑅𝑒0.8
𝐶𝐷 = + (︀ 𝑅𝑒 )︀1.52 + (︀ 𝑅𝑒 )︀−8 +
𝑅𝑒 1 + 1 + 263000 461000
5
Parameters
Re [float] Particle Reynolds number of the sphere using the surrounding fluid density and vis-
cosity, [-]
Returns
Cd [float] Drag coefficient [-]
Notes
References
[1], [2]
Examples
>>> Morrison(200.)
0.767731559965325
Notes
Notable as its experimental data and analysis is included in their supporting material.
References
[1]
Examples
>>> Song_Xu(30.)
2.3431335190092444
Notes
Linear interpolation between a table of values. Re table extends from 20 to 400, with constant values outside of
the table. This behavior should be adequate. alpha should be between 0.05 and 0.8. If angle is over 85 degrees,
the value at 85 degrees is used.
References
[1]
Examples
‘knotted net’:
‘knotless net’:
Parameters
alpha [float] Fraction of net/screen open to flow [-]
subtype [str] One of ‘round bar screen’, ‘diamond pattern wire’, ‘knotted net’ or ‘knotless net’.
angle [float, optional] Angle of inclination, with 0 being straight and 90 being parallel to flow
[degrees]
Returns
K [float] Loss coefficient [-]
Notes
alpha should be between 0.85 and 1 for these correlations. Flow should be turbulent, with Re > 500.
References
[1]
Examples
fluids.filters.square_edge_screen(alpha)
Returns the loss coefficient for a square wire screen or square bar screen or perforated plate with squared edges,
as shown in [1].
Parameters
alpha [float] Fraction of screen open to flow [-]
Returns
K [float] Loss coefficient [-]
Notes
References
[1]
Examples
>>> square_edge_screen(0.99)
0.008000000000000007
Returns
K [float] Loss coefficient [-]
Notes
If l, Dh, or fd is not provided, the first expression is used instead. The alteration of the expression to include
friction factor is there if the grill is long enough to have considerable friction along the surface of the grill.
References
[1]
Examples
>>> square_edge_grill(.45)
5.296296296296296
>>> square_edge_grill(.45, l=.15, Dh=.002, fd=.0185)
12.148148148148147
𝐾 = 𝑙𝑜𝑜𝑘𝑢𝑝(𝑎𝑙𝑝ℎ𝑎)
else:
𝑓𝑙
𝐾 = 𝑙𝑜𝑜𝑘𝑢𝑝(𝑎𝑙𝑝ℎ𝑎) +
𝛼2 𝐷
Parameters
alpha [float] Fraction of grill open to flow [-]
l [float, optional] Thickness of the grill or plate [m]
Dh [float, optional] Hydraulic diameter of gap in grill, [m]
fd [float, optional] Darcy friction factor [-]
Returns
K [float] Loss coefficient [-]
Notes
If l, Dh, or fd is not provided, the first expression is used instead. The alteration of the expression to include
friction factor is there if the grill is long enough to have considerable friction along the surface of the grill. alpha
must be between 0.3 and 0.7.
References
[1]
Examples
>>> round_edge_grill(.4)
1.0
>>> round_edge_grill(.4, l=.15, Dh=.002, fd=.0185)
2.3874999999999997
fluids.fittings.contraction_sharp(Di1, Di2)
Returns loss coefficient for any sharp edged pipe contraction as shown in [1].
𝛽 = 𝑑2 /𝑑1
Parameters
Di1 [float] Inside diameter of original pipe, [m]
Di2 [float] Inside diameter of following pipe, [m]
Returns
K [float] Loss coefficient in terms of the following pipe [-]
Notes
References
[1]
Examples
Parameters
Di1 [float] Inside diameter of original pipe, [m]
Di2 [float] Inside diameter of following pipe, [m]
rc [float] Radius of curvature of the contraction, [m]
method [str] The calculation method to use; one of ‘Rennels’, ‘Miller’, or ‘Idelchik’, [-]
Returns
K [float] Loss coefficient in terms of the following pipe [-]
Notes
Rounding radius larger than 0.14Di2 prevents flow separation from the wall. Further increase in rounding radius
continues to reduce loss coefficient.
References
0.0
0.0 0.2 0.4 0.6 0.8 1.0
Area ratio
Examples
Notes
This method normally gives lower losses than the Rennels formulation.
References
[1]
Examples
𝐾2 = 𝐾𝑓 𝑟,2 + 𝐾𝑐𝑜𝑛𝑣,2
𝑓𝑑
𝐾𝑓 𝑟,2 = 8 sin(𝜃/2)
1 − 𝛽4
𝐾𝑐𝑜𝑛𝑣,2 = 0.0696[1 + 𝐶𝐵 (sin(𝛼/2) − 1)](1 − 𝛽 5 )𝜆2 + (𝜆 − 1)2
𝜆 = 1 + 0.622(𝛼/180)0.8 (1 − 0.215𝛽 2 − 0.785𝛽 5 )
𝛽 = 𝑑2 /𝑑1
The ‘Swamee’ [5] formula is:
𝐾 = 0.315𝜃1/3
Parameters
Di1 [float] Inside pipe diameter of the larger, upstream, pipe, [m]
Di2 [float] Inside pipe diameter of the smaller, downstream, pipe, [m]
fd [float, optional] Darcy friction factor; used only in the Rennels method and will be calculated
if not given, [-]
l [float, optional] Length of the contraction, optional [m]
angle [float, optional] Angle of contraction (180 = sharp, 0 = infinitely long contraction), op-
tional [degrees]
Re [float, optional] Reynolds number of the pipe (used in Rennels method only if no friction
factor given), [m]
roughness [float, optional] Roughness of bend wall (used in Rennel method if no friction factor
given), [m]
method [str, optional] The method to use for the calculation; one of ‘Rennels’, ‘Idelchik’,
‘Crane’, ‘Swamee’ or ‘Blevins’, [-]
Returns
K [float] Loss coefficient in terms of the following pipe [-]
Notes
References
Examples
𝛽 = 𝑑2 /𝑑1
Parameters
Di1 [float] Inside pipe diameter of the larger, upstream, pipe, [m]
Di2 [float] Inside pipe diameter of the smaller, downstream, pipe, [m]
l [float] Length of the contraction, optional [m]
angle [float] Angle of contraction, optional [degrees]
Returns
K [float] Loss coefficient in terms of the following (smaller) pipe [-]
Notes
Cheap and has substantial impact on pressure drop. Note that the nomenclature in [1] is somewhat different -
the smaller pipe is called 1, and the larger pipe is called 2; and so the beta ratio is reversed, and the fourth power
of beta used in their equation is not necessary.
References
[1]
Examples
𝑙 2𝛽 tan(𝛼/2)
𝐶𝐵 =
𝑑2 1−𝛽
𝛽 = 𝑑2 /𝑑1
Parameters
Di1 [float] Inside diameter of original pipe, [m]
Di2 [float] Inside diameter of following pipe, [m]
l [float] Length of the bevel along the pipe axis ,[m]
angle [float] Angle of bevel, [degrees]
Returns
K [float] Loss coefficient in terms of the following pipe [-]
References
[1]
Examples
fluids.fittings.diffuser_sharp(Di1, Di2)
Returns loss coefficient for any sudden pipe diameter expansion as shown in [1] and in other sources.
𝐾1 = (1 − 𝛽 2 )2
Parameters
Di1 [float] Inside diameter of original pipe (smaller), [m]
Di2 [float] Inside diameter of following pipe (larger), [m]
Returns
K [float] Loss coefficient [-]
Notes
Highly accurate.
References
[1]
Examples
𝑓 (1 − 𝛽 4 )
𝐾1 = 8.30[tan(𝛼/2)]1.75 (1 − 𝛽 2 )2 +
8 sin(𝛼/2)
For 20 to 60 degrees, beta < 0.5:
{︃ ]︂0.5 √︂ }︃
2𝜋(𝛼 − 15∘ ) 𝛼 − 20∘ 𝑓 (1 − 𝛽 4 )
[︂
4
𝐾1 = 1.366 sin − 0.170 − 3.28(0.0625 − 𝛽 ) ∘
(1 − 𝛽 2 )2 +
180 40 8 sin(𝛼/2)
Parameters
Di1 [float] Inside diameter of original pipe (smaller), [m]
Di2 [float] Inside diameter of following pipe (larger), [m]
l [float, optional] Length of the contraction along the pipe axis, optional, [m]
angle [float, optional] Angle of contraction, [degrees]
fd [float, optional] Darcy friction factor [-]
Re [float, optional] Reynolds number of the pipe (used in Rennels method only if no friction
factor given), [m]
roughness [float, optional] Roughness of bend wall (used in Rennel method if no friction factor
given), [m]
method [str] The method to use for the calculation; one of ‘Rennels’, ‘Crane’, ‘Miller’,
‘Swamee’, or ‘Idelchik’ [-]
Returns
K [float] Loss coefficient with respect to smaller, upstream diameter [-]
Notes
References
Examples
0 0 0 0
0 135 Angle 1 0 150 Angle 1 0 165 Angle 1 0 180 Angle 1
1 1 1 1
0 0 0 0
0 1 0 1 0 1 0 1
Notes
Only lengths of sections currently allowed. This could be changed to understand angles also.
Formula doesn’t make much sense, as observed by the example comparing a series of conical sections. Use only
for small numbers of segments of highly differing angles.
References
[1]
Examples
fluids.fittings.diffuser_curved(Di1, Di2, l)
Returns loss coefficient for any curved wall pipe expansion as shown in [1].
Parameters
Di1 [float] Inside diameter of original pipe (smaller), [m]
Di2 [float] Inside diameter of following pipe (larger), [m]
l [float] Length of the curve along the pipe axis, [m]
Returns
K [float] Loss coefficient [-]
Notes
Beta^2 should be between 0.1 and 0.9. A small mismatch between tabulated values of this function in table 11.3
is observed with the equation presented.
References
[1]
Examples
0.20𝑙 𝑓1 (1 − 𝛽) 0.20𝑙 4
𝐾𝑓 = 𝑓1 + + 𝑓2 𝛽
𝑑1 8 sin(𝛼/2) 𝑑2
(︂ )︂
𝑑1 − 𝑑2
𝛼 = 2 tan−1
1.20𝑙
Parameters
Di1 [float] Inside diameter of original pipe (smaller), [m]
Di2 [float] Inside diameter of following pipe (larger), [m]
l [float] Length of the pipe reducer along the pipe axis, [m]
fd1 [float] Darcy friction factor at inlet diameter [-]
fd2 [float] Darcy friction factor at outlet diameter, optional [-]
Returns
K [float] Loss coefficient [-]
Notes
Industry lack of standardization prevents better formulas from being developed. Add 15% if the reducer is
eccentric. Friction factor at outlet will be assumed the same as at inlet if not specified.
Doubt about the validity of this equation is raised.
References
[1]
Examples
fluids.fittings.entrance_sharp(method=’Rennels’)
Returns loss coefficient for a sharp entrance to a pipe. Six sources are available; four of them recommending
K = 0.5, the most recent ‘Rennels’, method recommending K = 0.57, and the ‘Miller’ method recommending
~0.51 as read from a graph.
Parameters
method [str, optional] The method to use; one of ‘Rennels’, ‘Swamee’, ‘Blevins’, ‘Idelchik’,
‘Crane’, or ‘Miller, [-]
Returns
K [float] Loss coefficient [-]
Notes
0.5 is the result for ‘Swamee’, ‘Blevins’, ‘Idelchik’, and ‘Crane’; ‘Miller’ returns 0.5093, and ‘Rennels’ returns
0.57.
References
Examples
>>> entrance_sharp()
0.57
Parameters
Di [float] Inside diameter of pipe, [m]
t [float, optional] Thickness of pipe wall, used in all but ‘Crane’ method, [m]
l [float, optional] The distance the pipe extends into the reservoir; used only in the ‘Idelchik’
method, defaults to Di, [m]
method [str, optional] One of ‘Rennels’, ‘Miller’, ‘Idelchik’, ‘Harris’, ‘Crane’, [-]
Returns
K [float] Loss coefficient [-]
Notes
This type of inlet is also known as a Borda’s mouthpiece. It is not of practical interest according to [1].
The ‘Idelchik’ [3] data is recommended in [5]; it also provides rounded values for the ‘Harris. method.
0.8
K
0.7
0.6
0.5
0.4
0.00 0.05 0.10 0.15 0.20 0.25 0.30
t/Di
References
Examples
fluids.fittings.entrance_angled(angle, method=’Idelchik’)
Returns loss coefficient for a sharp, angled entrance to a pipe flush with the wall of a reservoir. First published
in [2], it has been recommended in [3] as well as in [1].
Parameters
angle [float] Angle of inclination (90° = straight, 0° = parallel to pipe wall), [degrees]
method [str, optional] The method to use; only ‘Idelchik’ is supported
Returns
K [float] Loss coefficient [-]
Notes
Not reliable for angles under 20 degrees. Loss coefficient is the same for an upward or downward angled inlet.
References
Examples
>>> entrance_angled(30)
0.9798076211353315
The most conservative formulation is that of Rennels; with the Swammee correlation being 0.02-0.07 lower.
They were published in 2012 and 2008 respectively, and for this reason could be regarded as more reliable.
The Idel’chik correlation appears based on the Hamilton data; and the Miller correlation as well, except a little
more conservative. The Crane model trends similarly but only has a few points. The Harris data set is the lowest.
The Rennels [1] formulas are:
(︁ 𝑟 )︁ 2
𝐾 = 0.0696 1 − 0.569 𝜆 + (𝜆 − 1)2
𝑑
(︂ √︂ )︂4
𝑟 𝑟
𝜆 = 1 + 0.622 1 − 0.30 − 0.70
𝑑 𝑑
The Swamee [5] formula is:
[︂ (︁ 𝑟 )︁1.2 ]︂−1
𝐾 = 0.5 1 + 36
𝐷
Parameters
Di [float] Inside diameter of pipe, [m]
rc [float] Radius of curvature of the entrance, [m]
method [str, optional] One of ‘Rennels’, ‘Crane’, ‘Miller’, ‘Idelchik’, ‘Harris’, or ‘Swamee’.
Returns
K [float] Loss coefficient [-]
Notes
For generously rounded entrance (rc/Di >= 1), the loss coefficient converges to 0.03 in the Rennels method.
The Rennels formulation was derived primarily from data and theoretical analysis from different flow scenarios
than a rounded pipe entrance; the only available data in [2] is quite old and [1] casts doubt on it.
The Hamilton data set is available in [1] and [6].
References
Examples
Point from Diagram 9.2 in [1], which was used to confirm the Rennels model implementation:
0.3
K
0.2
0.1
0.0
0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40
rc/Di
Parameters
Di [float] Inside diameter of pipe, [m]
l [float] Length of bevel measured parallel to the pipe length, [m]
angle [float] Angle of bevel with respect to the pipe length, [degrees]
method [str, optional] One of ‘Rennels’, or ‘Idelchik’, [-]
Returns
K [float] Loss coefficient [-]
Notes
A cheap way of getting a lower pressure drop. Little credible data is available.
The table of data in [2] uses the angle for both bevels, so it runs from 0 to 180 degrees; this function follows the
convention in [1] which uses only one angle, with the angle varying from 0 to 90 degrees.
References
[1], [2]
Idelchik, l/Di=0.5
0.3 Rennels, l/Di=0.75
Idelchik, l/Di=0.75
Rennels, l/Di=1
0.2 Idelchik, l/Di=1
0.1
0 20 40 60 80
angle
Examples
)︂ 1−(𝑙/𝑑2𝑜 )0.25
⎡ ⎤
(︂
𝑙
𝜆 = 1 + 0.622 ⎣1 − 𝐶𝑏 ⎦
𝑑𝑜
(︂ )︂ (︂ 1
)︂ 1+𝑙/𝑑
Ψ Ψ 𝑜
𝐶𝑏 = 1−
90 90
Parameters
Di [float] Inside diameter of pipe, [m]
do [float] Inside diameter of orifice, [m]
l [float] Length of bevel measured parallel to the pipe length, [m]
angle [float] Angle of bevel with respect to the pipe length, [degrees]
Returns
K [float] Loss coefficient [-]
References
[1]
Examples
fluids.fittings.entrance_distance_45_Miller(Di, Di0)
Returns loss coefficient for a sharp entrance to a pipe at a distance from the wall of a reservoir with an initial 45
degree slope conical section of diameter Di0 added to reduce the overall loss coefficient.
This method is as shown in Miller’s Internal Flow Systems [1]. This method is a curve fit to a graph in [1] which
was digitized.
Parameters
Di [float] Inside diameter of pipe, [m]
Di0 [float] Initial inner diameter of the welded conical section of the entrance of the distant
(re-entrant) pipe, [m]
Returns
K [float] Loss coefficient with respect to the main pipe diameter Di, [-]
Notes
The graph predicts an almost constant loss coefficient once the thickness of pipe wall to pipe diameter ratio
becomes ~0.02.
References
[1]
Examples
fluids.fittings.exit_normal()
Returns loss coefficient for any exit to a pipe as shown in [1] and in other sources.
𝐾=1
Returns
K [float] Loss coefficient [-]
Notes
It has been found on occasion that K = 2.0 for laminar flow, and ranges from about 1.04 to 1.10 for turbulent
flow.
References
[1]
Examples
>>> exit_normal()
1.0
Parameters
Di [float] Inside diameter of pipe, [m]
angle [float] Angle of bend, [degrees]
fd [float, optional] Darcy friction factor; used only in Rennels method; calculated if not pro-
vided from Reynolds number, diameter, and roughness [-]
rc [float, optional] Radius of curvature of the entrance, optional [m]
bend_diameters [float, optional (used if rc not provided)] Number of diameters of pipe making
up the bend radius [-]
Re [float, optional] Reynolds number of the pipe (used in Miller, Ito methods primarily, and
Rennels method if no friction factor given), [m]
roughness [float, optional] Roughness of bend wall (used in Miller, Ito methods primarily, and
Rennels method if no friction factor given), [m]
L_unimpeded [float, optional] The length of unimpeded pipe without any fittings, instrumen-
tation, or flow disturbances downstream (assumed 20 diameters if not specified); used only
in Miller method, [m]
method [str, optional] One of ‘Rennels’, ‘Miller’, ‘Crane’, ‘Ito’, or ‘Swamee’, [-]
Returns
K [float] Loss coefficient [-]
Notes
When inputting bend diameters, note that manufacturers often specify this as a multiplier of nominal diameter,
which is different than actual diameter. Those require that rc be specified.
In the ‘Rennels’ method, rc is limited to 0.5 or above; which represents a sharp, square, inner edge - and an outer
bend radius of 1.0. Losses are at a minimum when this value is large. Its first term represents surface friction
loss; the second, secondary flows; and the third, flow separation. It encompasses the entire range of elbow and
pipe bend configurations. It was developed for bend angles between 0 and 180 degrees; and r/D ratios above
0.5. Only smooth pipe data was used in its development. Note the loss coefficient includes the surface friction
of the pipe as if it was straight.
References
Examples
Re [float] Reynolds number of the pipe (no specification if inlet or outlet properties should be
used), [m]
rc [float, optional] Radius of curvature of the entrance, [m]
bend_diameters [float, optional] Number of diameters of pipe making up the bend radius (used
if rc not provided; defaults to 5), [-]
roughness [float, optional] Roughness of bend wall, [m]
L_unimpeded [float, optional] The length of unimpeded pipe without any fittings, instrumen-
tation, or flow disturbances downstream (assumed 20 diameters if not specified), [m]
Returns
K [float] Loss coefficient [-]
Notes
When inputting bend diameters, note that manufacturers often specify this as a multiplier of nominal diameter,
which is different than actual diameter. Those require that rc be specified.
rc is limited to 0.5 or above; which represents a sharp, square, inner edge - and an outer bend radius of 1.0.
Losses are at a minimum when this value is large.
This was developed for bend angles between 10 and 180 degrees; and r/D ratios between 0.5 and 10. Both
smooth and rough data was used in its development from several sources.
Note the loss coefficient includes the surface friction of the pipe as if it was straight.
References
[1]
Examples
Parameters
Notes
The Crane method does match the trend of increased pressure drop as roughness increases.
The points in [1] are extrapolated to other angles via a well-fitting Chebyshev approximation, whose accuracy
can be seen in the below plot.
40
Friction factor multiplier
35
30
25
20
15
10
2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0
Bend radius/pipe diameter ratio
References
[1]
Examples
The ‘Crane’, ‘Miller’, and ‘Blevins’ methods are all in part graph or tabular based and do not have straightfor-
ward formulas.
Parameters
angle [float] Angle of bend, [degrees]
Di [float, optional] Inside diameter of pipe, [m]
Re [float, optional] Reynolds number of the pipe (no specification if inlet or outlet properties
should be used), [m]
roughness [float, optional] Roughness of bend wall, [m]
L_unimpeded [float, optional] The length of unimpeded pipe without any fittings, instrumen-
tation, or flow disturbances downstream (assumed 20 diameters if not specified), [m]
method [str, optional] The specified method to use; one of ‘Rennels’, ‘Miller’, ‘Crane’, or
‘Blevins’, [-]
Returns
K [float] Loss coefficient with respect to either upstream or downstream diameter, [-]
Notes
This method is designed only for single-jointed miter bends. It is common for miter bends to have two or three
sections, to further reduce the loss coefficient. Some methods exist in [2] for taking this into account. Because
the additional configurations reduce the pressure loss, it is “common practice” to simply ignore their effect and
accept the slight overdesign.
The following figure illustrates the different methods.
0 0 0
0 100 0 100 0 100
Re = 200000 Re = 500000 Re = 1e+06
2
2 Rennels
2
Miller
1 1 1
Crane
Blevins
0 0 0
0 100 0 100 0 100
Re = 5e+06 Re = 1e+07 Re = 1e+08
2 2 2
1 1 1
0 0 0
0 100 0 100 0 100
References
Examples
>>> bend_miter(150)
2.7128147734758103
>>> bend_miter(Di=.6, angle=45, Re=1e6, roughness=1e-5, L_unimpeded=20,
... method='Miller')
0.2944060416245167
Notes
Note the loss coefficient includes the surface friction of the pipe as if it was straight.
References
[1]
Examples
Parameters
Di [float] Inside diameter of pipe, [m]
rs [float] Radius of spiral, [m]
pitch [float] Distance between two subsequent coil centers, [m]
N [float] Number of coils in the helix [-]
fd [float] Darcy friction factor [-]
Returns
K [float] Loss coefficient [-]
Notes
Formulation based on peak secondary flow as in two 180 degree bends per coil. Flow separation ignored. No f,
Re, geometry limitations. Source not compared against others.
References
[1]
Examples
Parameters
Di [float] Inside diameter of pipe, [m]
rmax [float] Radius of spiral at extremity, [m]
rmin [float] Radius of spiral at end near center, [m]
pitch [float] Distance between two subsequent coil centers, [m]
fd [float] Darcy friction factor [-]
Returns
K [float] Loss coefficient [-]
Notes
References
[1]
Examples
Notes
Also described in Albright’s Handbook and Ludwig’s Applied Process Design. Relatively uncommon to see it
used.
The possibility of combining these methods with those above are attractive.
References
[1], [2]
Examples
>>> Darby3K(NPS=2., Re=10000., name='Valve, Angle valve, 45°, full line size, 𝛽 =
˓→1')
1.1572523963562353
>>> Darby3K(NPS=12., Re=10000., K1=950, Ki=0.25, Kd=4)
0.819510280626355
Notes
Also described in Ludwig’s Applied Process Design. Relatively uncommon to see it used. No actual example
found.
References
Examples
fluids.fittings.Kv_to_Cv(Kv)
Convert valve flow coefficient from imperial to common metric units.
𝐶𝑣 = 1.156𝐾𝑣
Parameters
Kv [float] Metric Kv valve flow coefficient (flow rate of water at a pressure drop of 1 bar)
[m^3/hr]
Returns
Cv [float] Imperial Cv valve flow coefficient (flow rate of water at a pressure drop of 1 psi)
[gallons/minute]
Notes
Kv = 0.865 Cv is in the IEC standard 60534-2-1. It has also been said that Cv = 1.17Kv; this is wrong by current
standards.
The conversion factor does not depend on the density of the fluid or the diameter of the valve. It is calculated
with the definition of a US gallon as 231 cubic inches, and a psi as a pound-force per square inch.
The exact conversion coefficient between Kv to Cv is 1.1560992283536566; it is rounded in the formula above.
References
[1]
Examples
>>> Kv_to_Cv(2)
2.3121984567073133
fluids.fittings.Cv_to_Kv(Cv)
Convert valve flow coefficient from imperial to common metric units.
𝐾𝑣 = 𝐶𝑣 /1.156
Parameters
Cv [float] Imperial Cv valve flow coefficient (flow rate of water at a pressure drop of 1 psi)
[gallons/minute]
Returns
Kv [float] Metric Kv valve flow coefficient (flow rate of water at a pressure drop of 1 bar)
[m^3/hr]
Notes
Kv = 0.865 Cv is in the IEC standard 60534-2-1. It has also been said that Cv = 1.17Kv; this is wrong by current
standards.
The conversion factor does not depend on the density of the fluid or the diameter of the valve. It is calculated
with the definition of a US gallon as 231 cubic inches, and a psi as a pound-force per square inch.
The exact conversion coefficient between Kv to Cv is 1.1560992283536566; it is rounded in the formula above.
References
[1]
Examples
>>> Cv_to_Kv(2.312)
1.9998283393826013
fluids.fittings.Kv_to_K(Kv, D)
Convert valve flow coefficient from common metric units to regular loss coefficients.
𝐷4
𝐾 = 1.6 × 109
𝐾𝑣2
Parameters
Kv [float] Metric Kv valve flow coefficient (flow rate of water at a pressure drop of 1 bar)
[m^3/hr]
D [float] Inside diameter of the valve [m]
Returns
K [float] Loss coefficient, [-]
Notes
Crane TP 410 M (2009) gives the coefficient of 0.04 (with diameter in mm).
It also suggests the density of water should be found between 5-40°C. Older versions specify the density should
be found at 60 °F, which is used here, and the pessure for the appropriate density is back calculated.
1 2
∆𝑃 = 1 bar = 𝜌𝑉 · 𝐾
2
𝐾𝑣 · hour
3600 second
𝑉 = 𝜋 2
4𝐷
𝜌 = 999.29744568 𝑘𝑔/𝑚3 at 𝑇 = 60𝐹, 𝑃 = 703572𝑃 𝑎
The value of density is calculated with IAPWS-95; it is chosen as it makes the coefficient a very convenient
round number. Others constants that have been used are 1.604E9, and 1.60045E9.
References
[1]
Examples
fluids.fittings.K_to_Kv(K, D)
Convert regular loss coefficient to valve flow coefficient.
√︂
4 𝐷4
𝐾𝑣 = 4 × 10
𝐾
Parameters
K [float] Loss coefficient, [-]
D [float] Inside diameter of the valve [m]
Returns
Kv [float] Metric Kv valve flow coefficient (flow rate of water at a pressure drop of 1 bar)
[m^3/hr]
Notes
Crane TP 410 M (2009) gives the coefficient of 0.04 (with diameter in mm).
It also suggests the density of water should be found between 5-40°C. Older versions specify the density should
be found at 60 °F, which is used here, and the pessure for the appropriate density is back calculated.
1 2
∆𝑃 = 1 bar = 𝜌𝑉 · 𝐾
2
𝐾𝑣 · hour
3600 second
𝑉 = 𝜋 2
4𝐷
𝜌 = 999.29744568 𝑘𝑔/𝑚3 at 𝑇 = 60𝐹, 𝑃 = 703572𝑃 𝑎
The value of density is calculated with IAPWS-95; it is chosen as it makes the coefficient a very convenient
round number. Others constants that have been used are 1.604E9, and 1.60045E9.
References
[1]
Examples
fluids.fittings.Cv_to_K(Cv, D)
Convert imperial valve flow coefficient from imperial units to regular loss coefficients.
𝐷4
𝐾 = 1.6 × 109 (︀
𝐶𝑣 2
)︀
1.56
Parameters
Cv [float] Imperial Cv valve flow coefficient (flow rate of water at a pressure drop of 1 psi)
[gallons/minute]
D [float] Inside diameter of the valve [m]
Returns
K [float] Loss coefficient, [-]
Notes
The exact conversion coefficient between Kv to Cv is 1.1560992283536566; it is rounded in the formula above.
References
[1]
Examples
fluids.fittings.K_to_Cv(K, D)
Convert regular loss coefficient to imperial valve flow coefficient.
√︂
𝐷4
𝐾𝑣 = 1.156 · 4 × 104
𝐾
Parameters
K [float] Loss coefficient, [-]
D [float] Inside diameter of the valve [m]
Returns
Cv [float] Imperial Cv valve flow coefficient (flow rate of water at a pressure drop of 1 psi)
[gallons/minute]
Notes
The conversion factor does not depend on the density of the fluid or the diameter of the valve. It is calculated
with the definition of a US gallon as 231 cubic inches, and a psi as a pound-force per square inch.
The exact conversion coefficient between Kv to Cv is 1.1560992283536566; it is rounded in the formula above.
References
[1]
Examples
𝐷24 𝐴22
𝐾2 = 𝐾1 = 𝐾1
𝐷14 𝐴21
Parameters
K1 [float] Loss coefficient with respect to diameter D, [-]
D1 [float] Diameter of pipe for which K1 has been calculated, [m]
D2 [float] Diameter of pipe for which K2 will be calculated, [m]
Returns
K2 [float] Loss coefficient with respect to the second diameter, [-]
Notes
𝜌𝑉12 𝜌𝑉 2
· 𝐾1 = 2 · 𝐾2
2 2
Substitute velocities for flow rate divided by area:
8𝐾1 𝑄2 𝜌 8𝐾2 𝑄2 𝜌
4 =
2
𝜋 𝐷1 𝜋 2 𝐷24
References
[1]
Examples
𝐾 = 𝐾1 = 𝐾2 = 8𝑓𝑑
Notes
This method is not valid in the laminar regime and the pressure drop will be underestimated in those conditions
[2].
References
[1], [2]
Examples
Example 7-4 in [1]; a 150 by 100 mm class 600 steel gate valve, conically tapered ports, length 550 mm, back
of sear ring ~150 mm. The valve is connected to 146 mm schedule 80 pipe. The angle can be calculated to be
13 degrees. The valve is specified to be operating in turbulent conditions.
The calculated result is lower than their value of 1.22; the difference is due to Crane’s generous intermediate
rounding. A later, Imperial edition of Crane rounds differently - and comes up with K=1.06.
fluids.fittings.K_angle_valve_Crane(D1, D2, fd=None, style=0)
Returns the loss coefficient for all types of angle valve, (reduced seat or throttled) as shown in [1].
If 𝛽 = 1:
𝐾 = 𝐾1 = 𝐾2 = 𝑁 · 𝑓𝑑
Otherwise:
[︀ ]︀
𝐾 + 0.5(1 − 𝛽 2 ) + (1 − 𝛽 2 )2
𝐾2 =
𝛽4
For style 0 and 2, N = 55; for style 1, N=150.
Parameters
D1 [float] Diameter of the valve seat bore (must be smaller or equal to D2), [m]
D2 [float] Diameter of the pipe attached to the valve, [m]
fd [float, optional] Darcy friction factor calculated for the actual pipe flow in clean steel (rough-
ness = 0.0018 inch) in the fully developed turbulent region; do not specify this to use the
original Crane friction factor!, [-]
style [int, optional] One of 0, 1, or 2; refers to three different types of angle valves as shown in
[1] [-]
Returns
K [float] Loss coefficient with respect to the pipe inside diameter [-]
Notes
This method is not valid in the laminar regime and the pressure drop will be underestimated in those conditions.
References
[1]
Examples
𝐾 = 𝐾1 = 𝐾2 = 340𝑓𝑑
Otherwise:
[︀ ]︀
𝐾 + 0.5(1 − 𝛽 2 ) + (1 − 𝛽 2 )2
𝐾2 =
𝛽4
Parameters
D1 [float] Diameter of the valve seat bore (must be smaller or equal to D2), [m]
D2 [float] Diameter of the pipe attached to the valve, [m]
fd [float, optional] Darcy friction factor calculated for the actual pipe flow in clean steel (rough-
ness = 0.0018 inch) in the fully developed turbulent region; do not specify this to use the
original Crane friction factor!, [-]
Returns
K [float] Loss coefficient with respect to the pipe inside diameter [-]
Notes
This method is not valid in the laminar regime and the pressure drop will be underestimated in those conditions.
References
[1]
Examples
𝐾2 = 𝑁 · 𝑓𝑑
For angled swing check valves N = 100; for straight valves, N = 50.
Parameters
D [float, optional] Diameter of the pipe attached to the valve, [m]
fd [float, optional] Darcy friction factor calculated for the actual pipe flow in clean steel (rough-
ness = 0.0018 inch) in the fully developed turbulent region; do not specify this to use the
original Crane friction factor!, [-]
angled [bool, optional] If True, returns a value 2x the unangled value; the style of the valve [-]
Returns
K [float] Loss coefficient with respect to the pipe inside diameter [-]
Notes
This method is not valid in the laminar regime and the pressure drop will be underestimated in those conditions.
References
[1]
Examples
>>> K_swing_check_valve_Crane(D=.02)
2.3974274785373257
𝐾 = 𝐾1 = 𝐾2 = 𝑁 · 𝑓𝑑
Otherwise:
[︀ ]︀
𝐾 + 0.5(1 − 𝛽 2 ) + (1 − 𝛽 2 )2
𝐾2 =
𝛽4
For angled lift check valves N = 55; for straight valves, N = 600.
Parameters
D1 [float] Diameter of the valve seat bore (must be smaller or equal to D2), [m]
D2 [float] Diameter of the pipe attached to the valve, [m]
fd [float, optional] Darcy friction factor calculated for the actual pipe flow in clean steel (rough-
ness = 0.0018 inch) in the fully developed turbulent region; do not specify this to use the
original Crane friction factor!, [-]
angled [bool, optional] If True, returns a value 2x the unangled value; the style of the valve [-]
Returns
K [float] Loss coefficient with respect to the pipe inside diameter [-]
Notes
This method is not valid in the laminar regime and the pressure drop will be underestimated in those conditions.
References
[1]
Examples
𝐾 = 𝑁 · 𝑓𝑑
Notes
This method is not valid in the laminar regime and the pressure drop will be underestimated in those conditions.
References
[1]
Examples
>>> K_tilting_disk_check_valve_Crane(.01, 5)
1.1626516551826345
𝐾 = 𝐾1 = 𝐾2 = 𝑁 · 𝑓𝑑
Otherwise:
[︀ ]︀
𝐾 + 0.5(1 − 𝛽 2 ) + (1 − 𝛽 2 )2
𝐾2 =
𝛽4
Style 0 is the standard form; style 1 is angled, with a restrition to force the flow up through the valve; style 2 is
also angled but with a smaller restriction forcing the flow up. N is 400, 300, and 55 for those cases respectively.
Parameters
D1 [float] Diameter of the valve seat bore (must be smaller or equal to D2), [m]
D2 [float] Diameter of the pipe attached to the valve, [m]
fd [float, optional] Darcy friction factor calculated for the actual pipe flow in clean steel (rough-
ness = 0.0018 inch) in the fully developed turbulent region; do not specify this to use the
original Crane friction factor!, [-]
style [int, optional] One of 0, 1, or 2; refers to three different types of angle valves as shown in
[1] [-]
Returns
K [float] Loss coefficient with respect to the pipe inside diameter [-]
Notes
This method is not valid in the laminar regime and the pressure drop will be underestimated in those conditions.
References
[1]
Examples
𝐾 = 𝐾1 = 𝐾2 = 𝑁 · 𝑓𝑑
Otherwise:
[︀ ]︀
𝐾 + 0.5(1 − 𝛽 2 ) + (1 − 𝛽 2 )2
𝐾2 =
𝛽4
Style 0 is the standard form; style 1 has a restrition to force the flow up through the valve; style 2 is has the
clearest flow area with no guides for the angle valve. N is 200, 350, and 55 for those cases respectively.
Parameters
D1 [float] Diameter of the valve seat bore (must be smaller or equal to D2), [m]
D2 [float] Diameter of the pipe attached to the valve, [m]
fd [float, optional] Darcy friction factor calculated for the actual pipe flow in clean steel (rough-
ness = 0.0018 inch) in the fully developed turbulent region; do not specify this to use the
original Crane friction factor!, [-]
style [int, optional] One of 0, 1, or 2; refers to three different types of angle valves as shown in
[1] [-]
Returns
K [float] Loss coefficient with respect to the pipe inside diameter [-]
Notes
This method is not valid in the laminar regime and the pressure drop will be underestimated in those conditions.
References
[1]
Examples
𝐾 = 𝐾1 = 𝐾2 = 3𝑓𝑑
Notes
This method is not valid in the laminar regime and the pressure drop will be underestimated in those conditions.
References
[1]
Examples
𝐾 = 𝐾1 = 𝐾2 = 𝑁 · 𝑓𝑑
Notes
This method is not valid in the laminar regime and the pressure drop will be underestimated in those conditions.
References
[1]
Examples
𝐾 = 𝐾1 = 𝐾2 = 𝑁 · 𝑓𝑑
For style 0 (poppet disk), N = 420; for style 1 (hinged disk), N = 75.
Parameters
D [float, optional] Diameter of the pipe section the valve in mounted in; the same as the line
size [m]
fd [float, optional] Darcy friction factor calculated for the actual pipe flow in clean steel (rough-
ness = 0.0018 inch) in the fully developed turbulent region; do not specify this to use the
original Crane friction factor!, [-]
style [int, optional] Either 0 (poppet disk foot valve) or 1 (hinged disk foot valve) [-]
Returns
K [float] Loss coefficient with respect to the pipe inside diameter [-]
Notes
This method is not valid in the laminar regime and the pressure drop will be underestimated in those conditions.
References
[1]
Examples
𝐾 = 𝑁 · 𝑓𝑑
Parameters
D [float] Diameter of the pipe section the valve in mounted in; the same as the line size [m]
fd [float, optional] Darcy friction factor calculated for the actual pipe flow in clean steel (rough-
ness = 0.0018 inch) in the fully developed turbulent region; do not specify this to use the
original Crane friction factor!, [-]
style [int, optional] Either 0 (centric), 1 (double offset), or 2 (triple offset) [-]
Returns
K [float] Loss coefficient with respect to the pipe inside diameter [-]
Notes
This method is not valid in the laminar regime and the pressure drop will be underestimated in those conditions.
References
[1]
Examples
𝐾 = 𝐾1 = 𝐾2 = 𝑁 𝑓𝑑
Otherwise:
√︁
𝐾 + 0.5 sin 𝜃2 (1 − 𝛽 2 ) + (1 − 𝛽 2 )2
𝐾2 =
𝛽4
Three types of plug valves are supported. For straight-through plug valves (style = 0), N = 18. For 3-way, flow
straight through (style = 1) plug valves, N = 30. For 3-way, flow 90° valves (style = 2) N = 90.
Parameters
D1 [float] Diameter of the valve plug bore (must be equal to or smaller than D2), [m]
D2 [float] Diameter of the pipe attached to the valve, [m]
angle [float] Angle formed by the reducer in the valve, [degrees]
fd [float, optional] Darcy friction factor calculated for the actual pipe flow in clean steel (rough-
ness = 0.0018 inch) in the fully developed turbulent region; do not specify this to use the
original Crane friction factor!, [-]
style [int, optional] Either 0 (straight-through), 1 (3-way, flow straight-through), or 2 (3-way,
flow 90°) [-]
Returns
K [float] Loss coefficient with respect to the pipe inside diameter [-]
Notes
This method is not valid in the laminar regime and the pressure drop will be underestimated in those conditions.
References
[1]
Examples
𝐷𝑏𝑟𝑎𝑛𝑐ℎ
𝛽𝑏𝑟𝑎𝑛𝑐ℎ =
𝐷𝑐𝑜𝑚𝑏
In the above equation, D = 1, E = 2. See the notes for definitions of F and C.
Parameters
D_run [float] Diameter of the straight-through inlet portion of the tee or wye [m]
D_branch [float] Diameter of the pipe attached at an angle to the straight-through, [m]
Q_run [float] Volumetric flow rate in the straight-through inlet of the tee or wye, [m^3/s]
Q_branch [float] Volumetric flow rate in the pipe attached at an angle to the straight- through,
[m^3/s]
angle [float, optional] Angle the branch makes with the straight-through (tee=90, wye<90) [de-
grees]
Returns
K [float] Loss coefficient of branch with respect to the velocity and inside diameter of the com-
bined flow outlet [-]
Notes
F is linearly interpolated from the table of angles below. There is no cutoff to prevent angles from being larger
or smaller than 30 or 90 degrees.
Angle [°]
30 1.74
45 1.41
60 1
90 0
2
If 𝛽𝑏𝑟𝑎𝑛𝑐ℎ ≤ 0.35, C = 1
2
If 𝛽𝑏𝑟𝑎𝑛𝑐ℎ > 0.35 and 𝑄𝑏𝑟𝑎𝑛𝑐ℎ /𝑄𝑐𝑜𝑚𝑏 > 0.4, C = 0.55.
If neither of the above conditions are met:
(︂ )︂
𝑄𝑏𝑟𝑎𝑛𝑐ℎ
𝐶 = 0.9 1 −
𝑄𝑐𝑜𝑚𝑏
Note that there is an error in the text of [1]; the errata can be obtained here: http://www.flowoffluids.com/
publications/tp-410-errata.aspx
References
[1]
Examples
Example 7-35 of [1]. A DN100 schedule 40 tee has 1135 liters/minute of water passing through the straight
leg, and 380 liters/minute of water converging with it through a 90° branch. Calculate the loss coefficient in the
branch. The calculated value there is -0.04026.
𝐷𝑏𝑟𝑎𝑛𝑐ℎ
𝛽𝑏𝑟𝑎𝑛𝑐ℎ =
𝐷𝑐𝑜𝑚𝑏
In the above equation, C=1, D=0, E=1. See the notes for definitions of F and also the special case of 90°.
Parameters
D_run [float] Diameter of the straight-through inlet portion of the tee or wye [m]
D_branch [float] Diameter of the pipe attached at an angle to the straight-through, [m]
Q_run [float] Volumetric flow rate in the straight-through inlet of the tee or wye, [m^3/s]
Q_branch [float] Volumetric flow rate in the pipe attached at an angle to the straight- through,
[m^3/s]
angle [float, optional] Angle the branch makes with the straight-through (tee=90, wye<90) [de-
grees]
Returns
K [float] Loss coefficient of run with respect to the velocity and inside diameter of the combined
flow outlet [-]
Notes
F is linearly interpolated from the table of angles below. There is no cutoff to prevent angles from being larger
or smaller than 30 or 60 degrees. The switch to the special 90° happens at 75°.
Angle [°]
30 1.74
45 1.41
60 1
References
[1]
Examples
Example 7-35 of [1]. A DN100 schedule 40 tee has 1135 liters/minute of water passing through the straight leg,
and 380 liters/minute of water converging with it through a 90° branch. Calculate the loss coefficient in the run.
The calculated value there is 0.03258.
𝐷𝑏𝑟𝑎𝑛𝑐ℎ
𝛽𝑏𝑟𝑎𝑛𝑐ℎ =
𝐷𝑐𝑜𝑚𝑏
See the notes for definitions of H, J, and G.
Parameters
D_run [float] Diameter of the straight-through inlet portion of the tee or wye [m]
D_branch [float] Diameter of the pipe attached at an angle to the straight-through, [m]
Q_run [float] Volumetric flow rate in the straight-through outlet of the tee or wye, [m^3/s]
Q_branch [float] Volumetric flow rate in the pipe attached at an angle to the straight- through,
[m^3/s]
angle [float, optional] Angle the branch makes with the straight-through (tee=90, wye<90) [de-
grees]
Returns
K [float] Loss coefficient of branch with respect to the velocity and inside diameter of the com-
bined flow inlet [-]
Notes
Note that there are several errors in the text of [1]; the errata can be obtained here: http://www.flowoffluids.com/
publications/tp-410-errata.aspx
References
[1]
Examples
Example 7-36 of [1]. A DN150 schedule 80 wye has 1515 liters/minute of water exiting the straight leg, and
950 liters/minute of water exiting it through a 45° branch. Calculate the loss coefficient in the branch. The
calculated value there is 0.4640.
𝐷𝑏𝑟𝑎𝑛𝑐ℎ
𝛽𝑏𝑟𝑎𝑛𝑐ℎ =
𝐷𝑐𝑜𝑚𝑏
See the notes for the definition of M.
Parameters
D_run [float] Diameter of the straight-through inlet portion of the tee or wye [m]
D_branch [float] Diameter of the pipe attached at an angle to the straight-through, [m]
Q_run [float] Volumetric flow rate in the straight-through outlet of the tee or wye, [m^3/s]
Q_branch [float] Volumetric flow rate in the pipe attached at an angle to the straight- through,
[m^3/s]
angle [float, optional] Angle the branch makes with the straight-through (tee=90, wye<90) [de-
grees]
Returns
K [float] Loss coefficient of run with respect to the velocity and inside diameter of the combined
flow inlet [-]
Notes
References
[1]
Examples
Example 7-36 of [1]. A DN150 schedule 80 wye has 1515 liters/minute of water exiting the straight leg, and
950 liters/minute of water exiting it through a 45° branch. Calculate the loss coefficient in the branch. The
calculated value there is -0.06809.
style [str] The type of valve; one of [‘swing check angled’, ‘swing check straight’, ‘swing
check UL’, ‘lift check straight’, ‘lift check angled’, ‘tilting check 5°’, ‘tilting check 15°’,
‘stop check globe 1’, ‘stop check angle 1’, ‘stop check globe 2’, ‘stop check angle 2’, ‘stop
check globe 3’, ‘stop check angle 3’, ‘foot valve poppet disc’, ‘foot valve hinged disc’], [-]
Returns
v_min [float] Approximate minimum velocity required to keep the disc fully lifted, preventing
chattering and wear [m/s]
Notes
Name/string N Full
‘swing check angled’ 45 No
‘swing check straight’ 75 No
‘swing check UL’ 120 No
‘lift check straight’ 50 Yes
‘lift check angled’ 170 Yes
‘tilting check 5°’ 100 No
‘tilting check 15°’ 40 No
‘stop check globe 1’ 70 Yes
‘stop check angle 1’ 95 Yes
‘stop check globe 2’ 75 Yes
‘stop check angle 2’ 75 Yes
‘stop check globe 3’ 170 Yes
‘stop check angle 3’ 170 Yes
‘foot valve poppet disc’ 20 No
‘foot valve hinged disc’ 45 No
References
[1]
Examples
1.0252301935349286
2.8 Orifice plates, flow nozzles, Venturi tubes, cone and wedge me-
ters (fluids.flow_meter)
2.8. Orifice plates, flow nozzles, Venturi tubes, cone and wedge meters (fluids.flow_meter) 179
Fluids Documentation, Release 0.1
the orifice, mass flow rate through the orifice, and the density and viscosity of the fluid.
)︂0.7
106 𝛽
(︂
𝐶 = 0.5961 + 0.0261𝛽 2 − 0.216𝛽 8 + 0.000521
𝑅𝑒𝐷
)︂0.3
106
(︂
+(0.0188 + 0.0063𝐴)𝛽 3.5
𝑅𝑒𝐷
𝛽4
+(0.043 + 0.080 exp(−10𝐿1 ) − 0.123 exp(−7𝐿1 ))(1 − 0.11𝐴)
1 − 𝛽4
′ ′1.1
−0.031(𝑀2 − 0.8𝑀2 )𝛽 1.3
2𝐿′2
𝑀2′ =
1−𝛽
(︂ )︂0.8
19000𝛽
𝐴=
𝑅𝑒𝐷
𝜌𝑣𝐷
𝑅𝑒𝐷 =
𝜇
If D < 71.12 mm (2.8 in.) (Note this is a continuous addition; there is no discontinuity):
(︂ )︂
𝐷
𝐶+ = 0.11(0.75 − 𝛽) 2.8 −
0.0254
𝐿1 = 𝐿′2 = 0
𝐿1 = 1
𝐿′2 = 0.47
If the orifice has Flange taps:
0.0254
𝐿1 = 𝐿′2 =
𝐷
Parameters
D [float] Upstream internal pipe diameter, [m]
Do [float] Diameter of orifice at flow conditions, [m]
rho [float] Density of fluid at P1, [kg/m^3]
mu [float] Viscosity of fluid at P1, [Pa*s]
m [float] Mass flow rate of fluid through the orifice, [kg/s]
taps [str] The orientation of the taps; one of ‘corner’, ‘flange’, ‘D’, or ‘D/2’, [-]
Returns
C [float] Coefficient of discharge of the orifice, [-]
Notes
References
Examples
2.8. Orifice plates, flow nozzles, Venturi tubes, cone and wedge meters (fluids.flow_meter) 181
Fluids Documentation, Release 0.1
D2 [float, optional] Diameter of orifice, or venturi meter orifice, or flow tube orifice, or cone
meter end diameter, or wedge meter fluid flow height, [m]
P1 [float, optional] Static pressure of fluid upstream of differential pressure meter at the cross-
section of the pressure tap, [Pa]
P2 [float, optional] Static pressure of fluid downstream of differential pressure meter or at the
prescribed location (varies by type of meter) [Pa]
m [float, optional] Mass flow rate of fluid through the flow meter, [kg/s]
meter_type [str, optional] One of (‘ISO 5167 orifice’, ‘long radius nozzle’, ‘ISA 1932 noz-
zle’, ‘venuri nozzle’, ‘as cast convergent venturi tube’, ‘machined convergent venturi tube’,
‘rough welded convergent venturi tube’, ‘cone meter’, ‘wedge meter’), [-]
taps [str, optional] The orientation of the taps; one of ‘corner’, ‘flange’, ‘D’, or ‘D/2’; applies
for orifice meters only, [-]
Returns
ans [float] One of m, the mass flow rate of the fluid; P1, the pressure upstream of the flow meter;
P2, the second pressure tap’s value; and D2, the diameter of the measuring device; units of
respectively, kg/s, Pa, Pa, or m
Notes
See the appropriate functions for the documentation for the formulas and references used in each method.
The solvers make some assumptions about the range of values answers may be in.
Note that the solver for the upstream pressure uses the provided values of density, viscosity and isentropic
exponent; whereas these values all depend on pressure (albeit to a small extent). An outer loop should be added
with pressure-dependent values calculated in it for maximum accuracy.
It would be possible to solve for the upstream pipe diameter, but there is no use for that functionality.
Examples
P1 [float] Static pressure of fluid upstream of differential pressure meter at the cross-section of
the pressure tap, [Pa]
P2 [float] Static pressure of fluid downstream of differential pressure meter or at the prescribed
location (varies by type of meter) [Pa]
C [float, optional] Coefficient of discharge (used only in orifice plates, and venturi nozzles), [-]
meter_type [str, optional] One of (‘ISO 5167 orifice’, ‘long radius nozzle’, ‘ISA 1932 noz-
zle’, ‘as cast convergent venturi tube’, ‘machined convergent venturi tube’, ‘rough welded
convergent venturi tube’, ‘cone meter’, ‘cone meter’), [-]
Returns
dP [float] Non-recoverable pressure drop of the differential pressure flow meter, [Pa]
Notes
See the appropriate functions for the documentation for the formulas and references used in each method.
Wedge meters, and venturi nozzles do not have standard formulas available for pressure drop computation.
Examples
Parameters
D [float] Upstream internal pipe diameter, [m]
Do [float] Diameter of orifice at flow conditions, [m]
P1 [float] Static pressure of fluid upstream of orifice at the cross-section of the pressure tap,
[Pa]
P2 [float] Static pressure of fluid downstream of orifice at the cross-section of the pressure tap,
[Pa]
rho [float] Density of fluid at P1, [kg/m^3]
C [float] Coefficient of discharge of the orifice, [-]
expansibility [float, optional] Expansibility factor (1 for incompressible fluids, less than 1 for
real fluids), [-]
Returns
m [float] Mass flow rate of fluid, [kg/s]
2.8. Orifice plates, flow nozzles, Venturi tubes, cone and wedge meters (fluids.flow_meter) 183
Fluids Documentation, Release 0.1
Notes
References
[1], [2]
Examples
Parameters
D [float] Upstream internal pipe diameter, [m]
Do [float] Diameter of orifice at flow conditions, [m]
P1 [float] Static pressure of fluid upstream of orifice at the cross-section of the pressure tap,
[Pa]
P2 [float] Static pressure of fluid downstream of orifice at the cross-section of the pressure tap,
[Pa]
k [float] Isentropic exponent of fluid, [-]
Returns
expansibility [float, optional] Expansibility factor (1 for incompressible fluids, less than 1 for
real fluids), [-]
Notes
This formula was determined for the range of P2/P1 >= 0.80, and for fluids of air, steam, and natural gas.
However, there is no objection to using it for other fluids.
References
[1], [2]
Examples
fluids.flow_meter.discharge_coefficient_to_K(D, Do, C)
Converts a discharge coefficient to a standard loss coefficient, for use in computation of the actual pressure drop
of an orifice or other device.
[︃ √︀ ]︃2
1 − 𝛽 4 (1 − 𝐶 2 )
𝐾= −1
𝐶𝛽 2
Parameters
D [float] Upstream internal pipe diameter, [m]
Do [float] Diameter of orifice at flow conditions, [m]
C [float] Coefficient of discharge of the orifice, [-]
Returns
K [float] Loss coefficient with respect to the velocity and density of the fluid just upstream of
the orifice, [-]
Notes
If expansibility is used in the orifice calculation, the result will not match with the specified pressure drop
formula in [1]; it can almost be matched by dividing the calculated mass flow by the expansibility factor and
using that mass flow with the loss coefficient.
References
[1], [2]
Examples
fluids.flow_meter.K_to_discharge_coefficient(D, Do, K)
Converts a standard loss coefficient to a discharge coefficient.
√︃
1 𝛽4
𝐶= √ − √
4
2 𝐾𝛽 + 𝐾𝛽 4 2 𝐾𝛽 4 + 𝐾𝛽 4
Parameters
D [float] Upstream internal pipe diameter, [m]
Do [float] Diameter of orifice at flow conditions, [m]
K [float] Loss coefficient with respect to the velocity and density of the fluid just upstream of
the orifice, [-]
Returns
C [float] Coefficient of discharge of the orifice, [-]
2.8. Orifice plates, flow nozzles, Venturi tubes, cone and wedge meters (fluids.flow_meter) 185
Fluids Documentation, Release 0.1
Notes
If expansibility is used in the orifice calculation, the result will not match with the specified pressure drop
formula in [1]; it can almost be matched by dividing the calculated mass flow by the expansibility factor and
using that mass flow with the loss coefficient.
This expression was derived with SymPy, and checked numerically. There were three other, incorrect roots.
References
[1], [2]
Examples
Parameters
D [float] Upstream internal pipe diameter, [m]
Do [float] Diameter of orifice at flow conditions, [m]
P1 [float] Static pressure of fluid upstream of orifice at the cross-section of the pressure tap,
[Pa]
P2 [float] Static pressure of fluid downstream of orifice at the cross-section of the pressure tap,
[Pa]
C [float] Coefficient of discharge of the orifice, [-]
Returns
dP [float] Non-recoverable pressure drop of the orifice plate, [Pa]
Notes
¯ = 1 − 𝛽 1.9 (𝑃1 − 𝑃2 )
(︀ )︀
∆𝑤
The recoverable pressure drop should be recovered by 6 pipe diameters downstream of the orifice plate.
References
[1], [2]
Examples
fluids.flow_meter.velocity_of_approach_factor(D, Do)
Calculates a factor for orifice plate design called the velocity of approach.
1
Velocity of approach = √︀
1 − 𝛽4
Parameters
D [float] Upstream internal pipe diameter, [m]
Do [float] Diameter of orifice at flow conditions, [m]
Returns
velocity_of_approach [float] Coefficient of discharge of the orifice, [-]
References
[1]
Examples
fluids.flow_meter.flow_coefficient(D, Do, C)
Calculates a factor for differential pressure flow meter design called the flow coefficient. This should not be
confused with the flow coefficient often used when discussing valves.
𝐶
Flow coefficient = √︀
1 − 𝛽4
Parameters
D [float] Upstream internal pipe diameter, [m]
Do [float] Diameter of flow meter characteristic dimension at flow conditions, [m]
C [float] Coefficient of discharge of the flow meter, [-]
Returns
flow_coefficient [float] Differential pressure flow meter flow coefficient, [-]
Notes
This measure is used not just for orifices but for other differential pressure flow meters [2].
It is sometimes given the symbol K. It is also equal to the product of the diacharge coefficient and the velocity
of approach factor [2].
2.8. Orifice plates, flow nozzles, Venturi tubes, cone and wedge meters (fluids.flow_meter) 187
Fluids Documentation, Release 0.1
References
[1], [2]
Examples
Notes
This formula was determined for the range of P2/P1 >= 0.75.
References
[1], [2]
Examples
Parameters
D [float] Upstream internal pipe diameter, [m]
Do [float] Diameter of long radius nozzle orifice at flow conditions, [m]
rho [float] Density of fluid at P1, [kg/m^3]
mu [float] Viscosity of fluid at P1, [Pa*s]
m [float] Mass flow rate of fluid through the nozzle, [kg/s]
Returns
C [float] Coefficient of discharge of the long radius nozzle orifice, [-]
References
[1], [2]
Examples
Parameters
D [float] Upstream internal pipe diameter, [m]
Do [float] Diameter of nozzle orifice at flow conditions, [m]
rho [float] Density of fluid at P1, [kg/m^3]
mu [float] Viscosity of fluid at P1, [Pa*s]
m [float] Mass flow rate of fluid through the nozzle, [kg/s]
Returns
C [float] Coefficient of discharge of the nozzle orifice, [-]
References
[1], [2]
Examples
2.8. Orifice plates, flow nozzles, Venturi tubes, cone and wedge meters (fluids.flow_meter) 189
Fluids Documentation, Release 0.1
fluids.flow_meter.C_venturi_nozzle(D, Do)
Calculates the coefficient of discharge of an Venturi style nozzle used for measuring flow rate of fluid, based on
the geometry of the nozzle.
Parameters
D [float] Upstream internal pipe diameter, [m]
Do [float] Diameter of nozzle orifice at flow conditions, [m]
Returns
C [float] Coefficient of discharge of the nozzle orifice, [-]
References
[1], [2]
Examples
Parameters
D [float] Upstream internal pipe diameter, [m]
Do [float] Diameter of orifice at flow conditions, [m]
P1 [float] Static pressure of fluid upstream of orifice at the cross-section of the pressure tap,
[Pa]
P2 [float] Static pressure of fluid downstream of orifice at the cross-section of the pressure tap,
[Pa]
k [float] Isentropic exponent of fluid, [-]
Returns
expansibility [float] Expansibility factor (1 for incompressible fluids, less than 1 for real fluids),
[-]
Notes
This formula was determined for the range of P2/P1 >= 0.75, and for fluids of air, steam, and natural gas.
However, there is no objection to using it for other fluids.
This is an older formula used to calculate expansibility factors for orifice plates.
In this standard, an expansibility factor formula transformation in terms of the pressure after the orifice is
presented as well. This is the more standard formulation in terms of the upstream conditions. The other formula
is below for reference only:
√︂
∆𝑃 ∆𝑃
𝜖2 = 1 + − (0.41 + 0.35𝛽 4 ) √︁
𝑃2 𝜅𝑃2 1 + Δ𝑃 𝑃2
References
[1], [2]
Examples
Notes
The recoverable pressure drop should be recovered by 6 pipe diameters downstream of the venturi tube.
Note there is some information on the effect of Reynolds number as well in [1] and [2], with a curve showing
an increased pressure drop from 1E5-6E5 to with a decreasing multiplier from 1.75 to 1; the multiplier is 1 for
higher Reynolds numbers. This is not currently included in this implementation.
References
[1], [2]
2.8. Orifice plates, flow nozzles, Venturi tubes, cone and wedge meters (fluids.flow_meter) 191
Fluids Documentation, Release 0.1
Examples
fluids.flow_meter.diameter_ratio_cone_meter(D, Dc)
Calculates the diameter ratio beta used to characterize a cone flow meter.
√︂
𝑑2
𝛽 = 1 − 𝑐2
𝐷
Parameters
D [float] Upstream internal pipe diameter, [m]
Dc [float] Diameter of the largest end of the cone meter, [m]
Returns
beta [float] Cone meter diameter ratio, [-]
References
[1]
Examples
fluids.flow_meter.diameter_ratio_wedge_meter(D, H)
Calculates the diameter ratio beta used to characterize a wedge flow meter as given in [1] and [2].
Parameters
D [float] Upstream internal pipe diameter, [m]
H [float] Portion of the diameter of the clear segment of the pipe up to the wedge blocking flow;
the height of the pipe up to the wedge, [m]
Returns
beta [float] Wedge meter diameter ratio, [-]
References
[1], [2]
Examples
Notes
This formula was determined for the range of P2/P1 >= 0.75; the only gas used to determine the formula is air.
References
[1], [2]
Examples
𝜔 = (1.09 − 0.813𝛽)∆𝑃
∆¯
Parameters
D [float] Upstream internal pipe diameter, [m]
Dc [float] Diameter of the largest end of the cone meter, [m]
P1 [float] Static pressure of fluid upstream of cone meter at the cross-section of the pressure
tap, [Pa]
P2 [float] Static pressure of fluid at the end of the center of the cone pressure tap, [Pa]
2.8. Orifice plates, flow nozzles, Venturi tubes, cone and wedge meters (fluids.flow_meter) 193
Fluids Documentation, Release 0.1
Returns
dP [float] Non-recoverable pressure drop of the orifice plate, [Pa]
Notes
The recoverable pressure drop should be recovered by 6 pipe diameters downstream of the cone meter.
References
[1]
Examples
fluids.flow_meter.C_wedge_meter_Miller(D, H)
Calculates the coefficient of discharge of an wedge flow meter used for measuring flow rate of fluid, based on
the geometry of the differential pressure flow meter.
For half-inch lines:
𝐶 = 0.7883 + 0.107(1 − 𝛽 2 )
𝐶 = 0.6143 + 0.718(1 − 𝛽 2 )
𝐶 = 0.5433 + 0.2453(1 − 𝛽 2 )
Parameters
D [float] Upstream internal pipe diameter, [m]
H [float] Portion of the diameter of the clear segment of the pipe up to the wedge blocking flow;
the height of the pipe up to the wedge, [m]
Returns
C [float] Coefficient of discharge of the wedge flow meter, [-]
Notes
References
[1], [2]
Examples
fluids.flow_meter.C_wedge_meter_ISO_5167_6_2017(D, H)
Calculates the coefficient of discharge of an wedge flow meter used for measuring flow rate of fluid, based on
the geometry of the differential pressure flow meter according to the ISO 5167-6 standard (draft 2017).
𝐶 = 0.77 − 0.09𝛽
Parameters
D [float] Upstream internal pipe diameter, [m]
H [float] Portion of the diameter of the clear segment of the pipe up to the wedge blocking flow;
the height of the pipe up to the wedge, [m]
Returns
C [float] Coefficient of discharge of the wedge flow meter, [-]
Notes
This standard applies for wedge meters in line sizes between 50 and 600 mm; and height ratios between 0.2
and 0.6. The range of allowable Reynolds numbers is large; between 1E4 and 9E6. The uncertainty of the flow
coefficient is approximately 4%. Usually a 10:1 span of flow can be measured accurately. The discharge and
entry length of the meters must be at least half a pipe diameter. The wedge angle must be 90 degrees, plus or
minus two degrees.
The orientation of the wedge meter does not change the accuracy of this model.
There should be a straight run of 10 pipe diameters before the wedge meter inlet, and two of the same pipe
diameters after it.
References
[1]
Examples
𝜔 = (1.09 − 0.79𝛽)∆𝑃
∆¯
Parameters
D [float] Upstream internal pipe diameter, [m]
H [float] Portion of the diameter of the clear segment of the pipe up to the wedge blocking flow;
the height of the pipe up to the wedge, [m]
2.8. Orifice plates, flow nozzles, Venturi tubes, cone and wedge meters (fluids.flow_meter) 195
Fluids Documentation, Release 0.1
P1 [float] Static pressure of fluid upstream of wedge meter at the cross-section of the pressure
tap, [Pa]
P2 [float] Static pressure of fluid at the end of the wedge meter pressure tap, [ Pa]
Returns
dP [float] Non-recoverable pressure drop of the wedge meter, [Pa]
Notes
The recoverable pressure drop should be recovered by 5 pipe diameters downstream of the wedge meter.
References
[1]
Examples
𝐹 𝑟gas, densionetric
𝐹 𝑟𝑔𝑎𝑠,𝑡ℎ =
𝛽 2.5
√︀
𝜑= 1 + 𝐶𝐶ℎ 𝑋 + 𝑋 2
(︂ )︂𝑛 (︂ )︂𝑛
𝜌𝑙 𝜌1,𝑔
𝐶𝐶ℎ = +
𝜌1,𝑔 𝜌𝑙
[︂ (︂ )︂ ]︂
2 −0.8𝐹 𝑟gas, densiometric 2
𝑛 = max 0.583 − 0.18𝛽 − 0.578 exp , 0.392 − 0.18𝛽
𝐻
(︂ )︂ √︂
𝑚𝑙 𝜌1,𝑔
𝑋=
𝑚𝑔 𝜌𝑙
𝑣𝑔𝑎𝑠 𝜌1,𝑔 4𝑚𝑔 𝜌1,𝑔
√︂ √︂
𝐹 𝑟gas, densiometric = √ = √
𝑔𝐷 𝜌𝑙 − 𝜌1,𝑔 𝜌1,𝑔 𝜋𝐷 𝑔𝐷 𝜌𝑙 − 𝜌1,𝑔
2
Parameters
mg [float] Mass flow rate of gas through the venturi tube, [kg/s]
ml [float] Mass flow rate of liquid through the venturi tube, [kg/s]
rhog [float] Density of gas at P1, [kg/m^3]
rhol [float] Density of liquid at P1, [kg/m^3]
D [float] Upstream internal pipe diameter, [m]
Notes
This model has more error than single phase differential pressure meters. The model was first published in [1],
and became ISO 11583 later.
The limits of this correlation according to [2] are as follows:
0.4 ≤ 𝛽 ≤ 0.75
0 < 𝑋 ≤ 0.3
𝐹 𝑟𝑔𝑎𝑠,𝑡ℎ > 3
𝜌𝑔
> 0.02
𝜌𝑙
𝐷 ≥ 50 mm
References
[1], [2]
Examples
2.8. Orifice plates, flow nozzles, Venturi tubes, cone and wedge meters (fluids.flow_meter) 197
Fluids Documentation, Release 0.1
Parameters
D [float] Upstream internal pipe diameter, [m]
Do [float] Diameter of venturi tube at flow conditions, [m]
P1 [float] Static pressure of fluid upstream of venturi tube at the cross-section of the pressure
tap, [Pa]
P2 [float] Static pressure of fluid downstream of venturi tube at the cross- section of the pressure
tap, [Pa]
ml [float] Mass flow rate of liquid through the venturi tube, [kg/s]
mg [float] Mass flow rate of gas through the venturi tube, [kg/s]
rhol [float] Density of liquid at P1, [kg/m^3]
rhog [float] Density of gas at P1, [kg/m^3]
H [float, optional] A surface-tension effect coefficient used to adjust for different fluids, (1 for
a hydrocarbon liquid, 1.35 for water, 0.79 for water in steam) [-]
Returns
C [float] Coefficient of discharge of the wet gas venturi tube flow meter (includes flow rate of
gas ONLY), [-]
Notes
The model was first published in [1], and became ISO 11583 later.
References
[1], [2]
Examples
P2 [float] Static pressure of fluid downstream of differential pressure meter or at the prescribed
location (varies by type of meter) [Pa]
rho [float] Density of fluid at P1, [kg/m^3]
mu [float] Viscosity of fluid at P1, [Pa*s]
k [float] Isentropic exponent of fluid, [-]
meter_type [str] One of (‘ISO 5167 orifice’, ‘long radius nozzle’, ‘ISA 1932 nozzle’, ‘venuri
nozzle’, ‘as cast convergent venturi tube’, ‘machined convergent venturi tube’, ‘rough
welded convergent venturi tube’, ‘cone meter’, ‘wedge meter’), [-]
taps [str, optional] The orientation of the taps; one of ‘corner’, ‘flange’, ‘D’, or ‘D/2’; applies
for orifice meters only, [-]
Returns
C [float] Coefficient of discharge of the specified flow meter type at the specified conditions, [-]
expansibility [float] Expansibility factor (1 for incompressible fluids, less than 1 for real fluids),
[-]
Notes
This function should be called by an outer loop when solving for a variable.
Examples
Examples
2.8. Orifice plates, flow nozzles, Venturi tubes, cone and wedge meters (fluids.flow_meter) 199
Fluids Documentation, Release 0.1
Colebrook
Clamond
Notes
Nice name Re min Re max Re Default 𝜖/𝐷 Min 𝜖/𝐷 Max 𝜖/𝐷 Default
Clamond 0 None None 0 None None
Rao Kumar 2007 None None None None None None
Eck 1973 None None None None None None
Jain 1976 5000 1.0E+7 None 4.0E-5 0.05 None
Avci Karagoz 2009 None None None None None None
Swamee Jain 1976 5000 1.0E+8 None 1.0E-6 0.05 None
Churchill 1977 None None None None None None
Brkic 2011 1 None None None None None None
Chen 1979 4000 4.0E+8 None 1.0E-7 0.05 None
Round 1980 4000 4.0E+8 None 0 0.05 None
Papaevangelo 2010 10000 1.0E+7 None 1.0E-5 0.001 None
Fang 2011 3000 1.0E+8 None 0 0.05 None
Shacham 1980 4000 4.0E+8 None None None None
Barr 1981 None None None None None None
Churchill 1973 None None None None None None
Moody 4000 1.0E+8 None 0 1 None
Zigrang Sylvester 1 4000 1.0E+8 None 4.0E-5 0.05 None
Zigrang Sylvester 2 4000 1.0E+8 None 4.0E-5 0.05 None
Buzzelli 2008 None None None None None None
Haaland 4000 1.0E+8 None 1.0E-6 0.05 None
Serghides 1 None None None None None None
Serghides 2 None None None None None None
Tsal 1989 4000 1.0E+8 None 0 0.05 None
Alshul 1952 None None None None None None
Wood 1966 4000 5.0E+7 None 1.0E-5 0.04 None
Manadilli 1997 5245 1.0E+8 None 0 0.05 None
Brkic 2011 2 None None None None None None
Romeo 2002 3000 1.5E+8 None 0 0.05 None
Sonnad Goudar 2006 4000 1.0E+8 None 1.0E-6 0.05 None
References
[1]
Examples
Parameters
Re [float] Reynolds number with D=Di, [-]
Di [float] Inner diameter of the tube making up the coil, [m]
Dc [float] Diameter of the helix/coil measured from the center of the tube on one side to the
center of the tube on the other side, [m]
roughness [float, optional] Roughness of pipe wall [m]
Returns
f [float] Friction factor, [-]
methods [list, only returned if AvailableMethods == True] List of methods in the regime the
specified Re is in at the given Di and Dc.
Other Parameters
Method [string, optional] A string of the function name to use, overriding the default turbulent/
laminar selection.
Rec_method [str, optional] Critical Reynolds number transition criteria; one of [‘Seth Stahel’,
‘Ito’, ‘Kubair Kuloor’, ‘Kutateladze Borishanskii’, ‘Schmidt’, ‘Srinivasan’]; the default is
‘Schmidt’.
laminar_method [str, optional] Friction factor correlation for the laminar regime; one of
[‘White’, ‘Mori Nakayama laminar’, ‘Schmidt laminar’]; the default is ‘Schmidt laminar’.
turbulent_method [str, optional] Friction factor correlation for the turbulent regime; one of
[‘Guo’, ‘Ju’, ‘Schmidt turbulent’, ‘Prasad’, ‘Mandel Nigam’, ‘Mori Nakayama turbulent’,
‘Czop’]; the default is ‘Schmidt turbulent’.
Darcy [bool, optional] If False, will return fanning friction factor, 1/4 of the Darcy value
AvailableMethods [bool, optional] If True, function will consider which methods claim to be
valid for the range of Re and eD given
See also:
fluids.geometry.HelicalCoil
helical_turbulent_fd_Schmidt
helical_turbulent_fd_Srinivasan
helical_turbulent_fd_Mandal_Nigam
helical_turbulent_fd_Ju
helical_turbulent_fd_Guo
helical_turbulent_fd_Czop
helical_turbulent_fd_Prasad
helical_turbulent_fd_Mori_Nakayama
helical_laminar_fd_Schmidt
helical_laminar_fd_Mori_Nakayama
helical_laminar_fd_White
helical_transition_Re_Schmidt
helical_transition_Re_Srinivasan
helical_transition_Re_Kutateladze_Borishanskii
helical_transition_Re_Kubair_Kuloor
helical_transition_Re_Ito
helical_transition_Re_Seth_Stahel
Notes
The range of acccuracy of these correlations is much than that in a straight pipe.
References
[1]
Examples
Notes
Some effort to optimize this function has been made. The lambertw function from scipy is used, and is defined
to solve the specific function:
𝑦 = 𝑥 exp(𝑥)
lambertW(𝑦) = 𝑥
This is relatively slow despite its explicit form as it uses the mathematical function lambertw which is expensive
to compute.
For high relative roughness and Reynolds numbers, an OverflowError can be encountered in the solution of this
equation. The numerical solution is then used.
The numerical solution provides values which are generally within an rtol of 1E-12 to the analytical solution;
however, due to the different rounding order, it is possible for them to be as different as rtol 1E-5 or higher. The
1E-5 accuracy regime has been tested and confirmed numerically for hundreds of thousand of points within the
region 1E-12 < Re < 1E12 and 0 < eD < 0.1.
The numerical solution attempts the secant method using scipy’s newton solver, and in the event of nonconver-
gence, attempts the fsolve solver as well. An initial guess is provided via the Clamond function.
The numerical and analytical solution take similar amounts of time; the mpmath solution used when tol=0 is
approximately 45 times slower. This function takes approximately 8 us normally.
References
[1]
Examples
Notes
This is a highly optimized function, 4 times faster than the solution using the LambertW function, and faster
than many other approximations which are much less accurate.
The code used here is only slightly modified than that in [1], for further performance improvements.
For 10 < Re < 1E12, and 0 < eD < 0.01, this equation has been confirmed numerically to provide a solution
to the Colebrook equation accurate to an rtol of 1E-9 or better - the same level of accuracy as the analytical
solution to the Colebrook equation due to floating point precision.
Comparing this to the numerical solution of the Colebrook equation, identical values are given accurate to an
rtol of 1E-9 for 10 < Re < 1E100, and 0 < eD < 1 and beyond.
However, for values of Re under 10, different answers from the Colebrook equation appear and then quickly a
ValueError is raised.
References
[1]
Examples
fluids.friction.friction_laminar(Re)
Calculates Darcy friction factor for laminar flow, as shown in [1] or anywhere else.
64
𝑓𝑑 =
𝑅𝑒
Parameters
Re [float] Reynolds number, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
>>> friction_laminar(128)
0.5
Returns
dP [float] Pressure drop of the single-phase flow, [Pa]
References
[1]
Examples
Examples
𝐺2 1 𝜕𝐴
(︂ )︂ [︂ ]︂
𝜕𝑃 2 𝜕𝑃 𝜕(1/𝜌)
− =𝐺 −
𝜕𝐿 𝐴 𝜕𝐿 𝜕𝑃 𝜌 𝐴 𝜕𝐿
Parameters
m [float] Mass flow rate of fluid, [kg/s]
D [float] Diameter of pipe, [m]
Notes
The value returned here is positive for pressure loss and negative for pressure increase.
As dP_dL is not known, this equation is normally used in a more complicated way than this function provides;
this method can be used to check the consistency of that routine.
References
[1]
Examples
Parameters
m [float] Mass flow rate of fluid, [kg/s]
D [float] Diameter of pipe, [m]
rho_o [float] Fluid density out, [kg/m^3]
rho_i [float] Fluid density int, [kg/m^3]
Returns
dP [float] Acceleration component of pressure drop for one-phase flow, [Pa]
Examples
fluids.friction.transmission_factor(fd=None, F=None)
Calculates either transmission factor from Darcy friction factor, or Darcy friction factor from the transmission
factor. Raises an exception if neither input is given.
Transmission factor is a term used in compressible gas flow in pipelines.
2
𝐹 =√
𝑓𝑑
4
𝑓𝑑 =
𝐹2
Parameters
fd [float, optional] Darcy friction factor, [-]
F [float, optional] Transmission factor, [-]
Returns
fd or F [float] Darcy friction factor or transmission factor [-]
References
[1]
Examples
>>> transmission_factor(fd=0.0185)
14.704292441876154
>>> transmission_factor(F=20)
0.01
References
[1], [2]
Examples
fluids.friction.nearest_material_roughness(name, clean=None)
Searches through either a dict of clean pipe materials or used pipe materials and conditions and returns the ID
of the nearest material. Search is performed with either the standard library’s difflib or with the fuzzywuzzy
module if available.
Parameters
name [str] Search term for matching pipe materials
clean [bool, optional] If True, search only clean pipe database; if False, search only the dirty
database; if None, search both
Returns
ID [str] String for lookup of roughness of a pipe, in either roughness_clean_dict or
HHR_roughness depending on if clean is True, [-]
References
[1]
Examples
𝜖 = 𝐴 · 𝐷𝐵+1
Please not that A has units of inches, and B requires D to be in inches as well.
The list of supported materials is as follows:
• ‘Plastic coated’
• ‘Carbon steel, honed bare’
• ‘Cr13, electropolished bare’
• ‘Cement lining’
• ‘Carbon steel, bare’
• ‘Fiberglass lining’
• ‘Cr13, bare’
If coeffs and D are given, the custom coefficients for the equation as given by the user will be used and ID is not
required.
Parameters
ID [str, optional] Name of pipe material from above list
D [float, optional] Actual inner diameter of pipe, [m]
coeffs [tuple, optional] (A, B) Coefficients to use directly, instead of looking them up; they are
actually dimensional, in the forms (inch^-B, -) but only coefficients with those dimensions
are available [-]
Returns
epsilon [float] Roughness of pipe [m]
Notes
The diameter-dependent form provides lower roughness values for larger diameters.
The measurements were based on DIN 4768/1 (1987), using both a “Dektak ST Surface Profiler” and a “Hommel
Tester T1000”. Both instruments were found to be in agreement. A series of flow tests, in which pressure drop
directly measured, were performed as well, with nitrogen gas as an operating fluid. The accuracy of the data
from these tests is claimed to be within 1%.
Using those results, the authors back-calculated what relative roughness values would be necessary to produce
the observed pressure drops. The average difference between this back-calculated roughness and the measured
roughness was 6.75%.
For microchannels, this model will predict roughness much larger than the actual channel diameter.
References
[1]
Examples
fluids.friction.Moody(Re, eD)
Calculates Darcy friction factor using the method in Moody (1947) as shown in [1] and originally in [2].
[︃ )︂1/3 ]︃
106
(︂
−3 4 𝜖
𝑓𝑓 = 1.375 × 10 1 + 2 × 10 +
𝐷 𝑅𝑒
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Alshul_1952(Re, eD)
Calculates Darcy friction factor using the method in Alshul (1952) as shown in [1].
(︂ )︂0.25
68 𝜖
𝑓𝑑 = 0.11 +
𝑅𝑒 𝐷
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1]
Examples
fluids.friction.Wood_1966(Re, eD)
Calculates Darcy friction factor using the method in Wood (1966) [2] as shown in [1].
𝜖 0.225 𝜖 𝜖
𝑓𝑑 = 0.094( ) + 0.53( ) + 88( )0.4 𝑅𝑒−𝐴1
𝐷 𝐷 𝐷
𝜖 0.134
𝐴1 = 1.62( )
𝐷
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Churchill_1973(Re, eD)
Calculates Darcy friction factor using the method in Churchill (1973) [2] as shown in [1]
[︂ ]︂
1 𝜖 7 0.9
√ = −2 log +( )
𝑓𝑑 3.7𝐷 𝑅𝑒
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Eck_1973(Re, eD)
Calculates Darcy friction factor using the method in Eck (1973) [2] as shown in [1].
[︂ ]︂
1 𝜖 15
√ = −2 log +
𝑓𝑑 3.715𝐷 𝑅𝑒
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Jain_1976(Re, eD)
Calculates Darcy friction factor using the method in Jain (1976) [2] as shown in [1].
[︃ (︂ )︂0.9 ]︃
1 𝜖 29.843
√︀ = 2.28 − 4 log +
𝑓𝑓 𝐷 𝑅𝑒
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Swamee_Jain_1976(Re, eD)
Calculates Darcy friction factor using the method in Swamee and Jain (1976) [2] as shown in [1].
[︃(︂ )︂0.9 ]︃
1 6.97 𝜖
√︀ = −4 log +( )
𝑓𝑓 𝑅𝑒 3.7𝐷
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Churchill_1977(Re, eD)
Calculates Darcy friction factor using the method in Churchill and (1977) [2] as shown in [1].
[︂ ]︂1/12
8 12 −1.5
𝑓𝑓 = 2 ( ) + (𝐴2 + 𝐴3 )
𝑅𝑒
{︂ [︂ ]︂}︂16
7 0.9 𝜖
𝐴2 = 2.457 ln ( ) + 0.27
𝑅𝑒 𝐷
(︂ )︂16
37530
𝐴3 =
𝑅𝑒
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Chen_1979(Re, eD)
Calculates Darcy friction factor using the method in Chen (1979) [2] as shown in [1].
[︂ ]︂
1 𝜖 5.0452
√︀ = −4 log − log 𝐴4
𝑓𝑓 3.7065𝐷 𝑅𝑒
)︂0.8981
(𝜖/𝐷)1.1098
(︂
7.149
𝐴4 = +
2.8257 𝑅𝑒
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Round_1980(Re, eD)
Calculates Darcy friction factor using the method in Round (1980) [2] as shown in [1].
[︂ ]︂
1 𝑅𝑒
√︀ = −3.6 log
𝑓𝑓 0.135𝑅𝑒 𝐷𝜖 + 6.5
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Shacham_1980(Re, eD)
Calculates Darcy friction factor using the method in Shacham (1980) [2] as shown in [1].
[︂ (︂ )︂]︂
1 𝜖 5.02 𝜖 14.5
√︀ = −4 log − log +
𝑓𝑓 3.7𝐷 𝑅𝑒 3.7𝐷 𝑅𝑒
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Barr_1981(Re, eD)
Calculates Darcy friction factor using the method in Barr (1981) [2] as shown in [1].
⎧ ⎫
𝑅𝑒
1 ⎨ 𝜖 4.518 log( 7 ) ⎬
√ = −2 log + [︁ ]︁
𝑓𝑑 ⎩ 3.7𝐷 𝑅𝑒 1 + 𝑅𝑒0.52 𝜖 0.7 ⎭ (︀ )︀
29 𝐷
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Zigrang_Sylvester_1(Re, eD)
Calculates Darcy friction factor using the method in Zigrang and Sylvester (1982) [2] as shown in [1].
[︂ ]︂
1 𝜖 5.02
√︀ = −4 log − log 𝐴5
𝑓𝑓 3.7𝐷 𝑅𝑒
𝜖 13
𝐴5 = +
3.7𝐷 𝑅𝑒
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Zigrang_Sylvester_2(Re, eD)
Calculates Darcy friction factor using the second method in Zigrang and Sylvester (1982) [2] as shown in
[1].
[︂ ]︂
1 𝜖 5.02
√︀ = −4 log − log 𝐴6
𝑓𝑓 3.7𝐷 𝑅𝑒
𝜖 5.02
𝐴6 = − log 𝐴5
3.7𝐷 𝑅𝑒
𝜖 13
𝐴5 = +
3.7𝐷 𝑅𝑒
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Haaland(Re, eD)
Calculates Darcy friction factor using the method in Haaland (1983) [2] as shown in [1].
(︃ [︃(︂ )︂1.11 ]︃)︃−2
𝜖/𝐷 6.9
𝑓𝑓 = −1.8 log10 +
3.7 𝑅𝑒
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Serghides_1(Re, eD)
Calculates Darcy friction factor using the method in Serghides (1984) [2] as shown in [1].
]︂−2
(𝐵 − 𝐴)2
[︂
𝑓 = 𝐴−
𝐶 − 2𝐵 + 𝐴
[︂ ]︂
𝜖/𝐷 12
𝐴 = −2 log10 +
3.7 𝑅𝑒
[︂ ]︂
𝜖/𝐷 2.51𝐴
𝐵 = −2 log10 +
3.7 𝑅𝑒
[︂ ]︂
𝜖/𝐷 2.51𝐵
𝐶 = −2 log10 +
3.7 𝑅𝑒
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Serghides_2(Re, eD)
Calculates Darcy friction factor using the method in Serghides (1984) [2] as shown in [1].
]︂−2
(𝐴 − 4.781)2
[︂
𝑓𝑑 = 4.781 −
𝐵 − 2𝐴 + 4.781
[︂ ]︂
𝜖/𝐷 12
𝐴 = −2 log10 +
3.7 𝑅𝑒
[︂ ]︂
𝜖/𝐷 2.51𝐴
𝐵 = −2 log10 +
3.7 𝑅𝑒
Parameters
Notes
References
[1], [2]
Examples
fluids.friction.Tsal_1989(Re, eD)
Calculates Darcy friction factor using the method in Tsal (1989) [2] as shown in [1].
68 𝜖
𝐴 = 0.11( + )0.25
𝑅𝑒 𝐷
if 𝐴 >= 0.018 then fd = A;
if 𝐴 < 0.018 then 𝑓 𝑑 = 0.0028 + 0.85𝐴.
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Manadilli_1997(Re, eD)
Calculates Darcy friction factor using the method in Manadilli (1997) [2] as shown in [1].
[︂ ]︂
1 𝜖 95 96.82
√ = −2 log + −
𝑓𝑑 3.7𝐷 𝑅𝑒0.983 𝑅𝑒
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Romeo_2002(Re, eD)
Calculates Darcy friction factor using the method in Romeo (2002) [2] as shown in [1].
{︃ [︃ (︃ (︂ )︂0.9345 )︃]︃}︃
1 𝜖 5.0272 𝜖 4.567 𝜖 0.9924 5.3326
√ = −2 log × × log − × log +
𝑓𝑑 3.7065𝐷 𝑅𝑒 3.827𝐷 𝑅𝑒 7.7918𝐷 208.815 + 𝑅𝑒
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Sonnad_Goudar_2006(Re, eD)
Calculates Darcy friction factor using the method in Sonnad and Goudar (2006) [2] as shown in [1].
(︂ )︂
1 0.4587𝑅𝑒
√ = 0.8686 ln
𝑓𝑑 𝑆 𝑆/(𝑆+1)
𝜖
𝑆 = 0.1240 × × 𝑅𝑒 + ln(0.4587𝑅𝑒)
𝐷
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Rao_Kumar_2007(Re, eD)
Calculates Darcy friction factor using the method in Rao and Kumar (2007) [2] as shown in [1].
(︃ )︃
1 (2 𝐷𝜖 )−1
√ = 2 log (︀ 0.444+0.135𝑅𝑒 )︀
𝑓𝑑 𝑅𝑒 𝛽
[︂ ]︂2
𝑅𝑒
𝛽 = 1 − 0.55 exp(−0.33 ln )
6.5
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
No range of validity specified for this equation. This equation is fit to original experimental friction factor data.
Accordingly, this equation should not be used unless appropriate consideration is given.
References
[1], [2]
Examples
fluids.friction.Buzzelli_2008(Re, eD)
Calculates Darcy friction factor using the method in Buzzelli (2008) [2] as shown in [1].
[︃ ]︃
1 𝐵1 + 2 log( 𝐵
𝑅𝑒 )
2
√ = 𝐵1 −
𝑓𝑑 1 + 2.18
𝐵2
𝜖
𝐵2 = 𝑅𝑒 + 2.51 × 𝐵1
3.7𝐷
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Avci_Karagoz_2009(Re, eD)
Calculates Darcy friction factor using the method in Avci and Karagoz (2009) [2] as shown in [1].
6.4
𝑓𝐷 = {︀ )︀]︀}︀2.4
ln(𝑅𝑒) − ln 1 + 0.01𝑅𝑒 𝐷𝜖 1 + 10( 𝐷𝜖 )0.5
[︀ (︀
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Papaevangelo_2010(Re, eD)
Calculates Darcy friction factor using the method in Papaevangelo (2010) [2] as shown in [1].
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Brkic_2011_1(Re, eD)
Calculates Darcy friction factor using the method in Brkic (2011) [2] as shown in [1].
𝜖
𝑓𝑑 = [−2 log(10−0.4343𝛽 + )]−2
3.71𝐷
𝑅𝑒
𝛽 = ln (︁ )︁
1.1𝑅𝑒
1.816 ln ln(1+1.1𝑅𝑒)
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Brkic_2011_2(Re, eD)
Calculates Darcy friction factor using the method in Brkic (2011) [2] as shown in [1].
2.18𝛽 𝜖
𝑓𝑑 = [−2 log( + )]−2
𝑅𝑒 3.71𝐷
𝑅𝑒
𝛽 = ln (︁ )︁
1.1𝑅𝑒
1.816 ln ln(1+1.1𝑅𝑒)
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Fang_2011(Re, eD)
Calculates Darcy friction factor using the method in Fang (2011) [2] as shown in [1].
{︂ [︂ ]︂}︂−2
𝜖 1.1007 60.525 56.291
𝑓𝐷 = 1.613 ln 0.234 − +
𝐷 𝑅𝑒1.1105 𝑅𝑒1.0712
Parameters
Re [float] Reynolds number, [-]
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
fluids.friction.Blasius(Re)
Calculates Darcy friction factor according to the Blasius formulation, originally presented in [1] and described
more recently in [2].
0.3164
𝑓𝑑 =
𝑅𝑒0.25
Parameters
Re [float] Reynolds number, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
References
[1], [2]
Examples
>>> Blasius(10000)
0.03164
fluids.friction.von_Karman(eD)
Calculates Darcy friction factor for rough pipes at infinite Reynolds number from the von Karman equation (as
given in [1] and [2]:
(︂ )︂
1 𝜖/𝐷
√ = −2 log10
𝑓𝑑 3.7
Parameters
eD [float] Relative roughness, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
This case does not actually occur; Reynolds number is always finite. It is normally applied as a “limiting” value
when a pipe’s roughness is so high it has a friction factor curve effectively independent of Reynods number.
References
[1], [2]
Examples
>>> von_Karman(1E-4)
0.01197365149564789
fluids.friction.Prandtl_von_Karman_Nikuradse(Re)
Calculates Darcy friction factor for smooth pipes as a function of Reynolds number from the Prandtl-von Karman
Nikuradse equation as given in [1] and [2]:
(︂ )︂
1 2.51
√ = −2 log10 √
𝑓 𝑅𝑒 𝑓
Parameters
Re [float] Reynolds number, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
This equation is often stated as follows; the correct constant is not 0.8, but 2log10(2.51) or approximately
0.7993474:
1 √︀
√ ≈ 2 log10 (Re 𝑓 ) − 0.8
𝑓
This function is calculable for all Reynolds numbers between 1E151 and 1E-151. It is solved with the LambertW
function from SciPy. The solution is:
1
4 log210
𝑓𝑑 = (︁ (︁ )︁)︁2
log(10)𝑅𝑒
lambertW 2(2.51)
References
[1], [2]
Examples
>>> Prandtl_von_Karman_Nikuradse(1E7)
0.008102669430874914
fluids.friction.ft_Crane(D)
Calculates the Crane fully turbulent Darcy friction factor for flow in commercial pipe, as used in the Crane
formulas for loss coefficients in various fittings. Note that this is not generally applicable to loss due to
friction in pipes, as it does not take into account the roughness of various pipe materials. But for fittings in any
type of pipe, this is the friction factor to use in the Crane [1] method to get their loss coefficients.
Parameters
D [float] Pipe inner diameter, [m]
Returns
fd [float] Darcy Crane friction factor for fully turbulent flow, [-]
Notes
There is confusion and uncertainty regarding the friction factor table given in Crane TP 410M [1]. This function
does not help: it implements a new way to obtain Crane friction factors, so that it can better be based in theory
and give more precision (not accuracy) and trend better with diameters not tabulated in [1].
The data in [1] was digitized, and nominal pipe diameters were converted to actual pipe diameters. An objective
function was sought which would produce the exact same values as in [1] when rounded to the same decimal
place. One was found fairly easily by using the standard Colebrook friction factor formula, and using the
diameter-dependent roughness values calculated with the roughness_Farshad method for bare Carbon steel. A
diameter-dependent Reynolds number was required to match the values; the 𝜌𝑉 /𝜇 term is set to 7.5E6.
The formula given in [1] is:
0.25
𝑓𝑇 = [︁ (︁ )︁]︁2
𝜖/𝐷
log10 3.7
However, this function does not match the rounded values in [1] well and it is not very clear which rough-
ness to use. Using both the value for new commercial steel (.05 mm) or a diameter-dependent value (rough-
ness_Farshad), values were found to be too high and too low respectively. That function is based in theory - the
limit of the Colebrook equation when Re goes to infinity - but in the end real pipe flow is not infinity, and so a
large error occurs from that use.
The following plot shows all these options, and that the method implemented here matches perfectly the rounded
values in [1].
References
[1]
Examples
>>> ft_Crane(.1)
0.01628845962146481
Explicitly spelling out the function (note the exact same answer is not returned; it is accurate to 5-8 decimals
however, for increased speed):
>>> Di = 0.1
>>> Colebrook(7.5E6*Di, eD=roughness_Farshad(ID='Carbon steel, bare', D=Di)/Di)
0.01628842543122547
Parameters
Re [float] Reynolds number with D=Di, [-]
Di [float] Inner diameter of the coil, [m]
Dc [float] Diameter of the helix/coil measured from the center of the tube on one side to the
center of the tube on the other side, [m]
Returns
fd [float] Darcy friction factor for a curved pipe [-]
Notes
The range of validity of this equation is 11.6 < 𝐷𝑒 < 2000, 3.878 × 10−4 < 𝐷𝑖 /𝐷𝑐 < 0.066.
The form of the equation means it yields nonsense results for De < 11.6; at De < 11.6, the equation is modified
to return the straight pipe value.
This model is recommended in [3], with a slight modification for Dean numbers larger than 2000.
References
Examples
Parameters
Re [float] Reynolds number with D=Di, [-]
Di [float] Inner diameter of the coil, [m]
Dc [float] Diameter of the helix/coil measured from the center of the tube on one side to the
center of the tube on the other side, [m]
Returns
fd [float] Darcy friction factor for a curved pipe [-]
Notes
References
Examples
Parameters
Re [float] Reynolds number with D=Di, [-]
Di [float] Inner diameter of the coil, [m]
Dc [float] Diameter of the helix/coil measured from the center of the tube on one side to the
center of the tube on the other side, [m]
Returns
fd [float] Darcy friction factor for a curved pipe [-]
Notes
The range of validity of this equation is specified only for Re, 100 < 𝑅𝑒 < 𝑅𝑒𝑐𝑟𝑖𝑡𝑖𝑐𝑎𝑙 .
The form of the equation is such that as the curvature becomes negligible, straight tube result is obtained.
References
Examples
Parameters
Re [float] Reynolds number with D=Di, [-]
Di [float] Inner diameter of the coil, [m]
Dc [float] Diameter of the helix/coil measured from the center of the tube on one side to the
center of the tube on the other side, [m]
roughness [float, optional] Roughness of pipe wall [m]
Returns
fd [float] Darcy friction factor for a curved pipe [-]
Notes
Valid from the transition to turbulent flow up to 𝑅𝑒 = 1.5 × 105 . At very low curvatures, converges on the
straight pipe result.
References
[1], [2]
Examples
Parameters
Re [float] Reynolds number with D=Di, [-]
Di [float] Inner diameter of the coil, [m]
Dc [float] Diameter of the helix/coil measured from the center of the tube on one side to the
center of the tube on the other side, [m]
Returns
fd [float] Darcy friction factor for a curved pipe [-]
Notes
√︀
Valid from the transition to turbulent flow up to 𝑅𝑒 = 6.5 × 105 𝐷𝑖 /𝐷𝑐 . Does not use a straight pipe
correlation, and so will not converge on the straight pipe result at very low curvature.
References
Examples
Parameters
Re [float] Reynolds number with D=Di, [-]
Di [float] Inner diameter of the coil, [m]
Dc [float] Diameter of the helix/coil measured from the center of the tube on one side to the
center of the tube on the other side, [m]
roughness [float, optional] Roughness of pipe wall [m]
Returns
fd [float] Darcy friction factor for a curved pipe [-]
Notes
No range of validity was specified, but the experiments used were with coil/tube diameter ratios of 17.24 and
34.9, hot water in the tube, and 1780 < 𝑅𝑒 < 59500. At very low curvatures, converges on the straight pipe
result.
References
[1], [2]
Examples
𝑓𝑐𝑢𝑟𝑣 = 0.096𝐷𝑒−0.1517
Parameters
Re [float] Reynolds number with D=Di, [-]
Di [float] Inner diameter of the coil, [m]
Dc [float] Diameter of the helix/coil measured from the center of the tube on one side to the
center of the tube on the other side, [m]
Returns
fd [float] Darcy friction factor for a curved pipe [-]
Notes
Valid for 2 × 104 < 𝑅𝑒 < 1.5 × 105 . Does not use a straight pipe correlation, and so will not converge on the
straight pipe result at very low curvature.
References
[1], [2]
Examples
Parameters
Re [float] Reynolds number with D=Di, [-]
Di [float] Inner diameter of the coil, [m]
Dc [float] Diameter of the helix/coil measured from the center of the tube on one side to the
center of the tube on the other side, [m]
Returns
fd [float] Darcy friction factor for a curved pipe [-]
Notes
Valid for 2 × 104 < 𝑅𝑒 < 1.5 × 105 . Does not use a straight pipe correlation, and so will not converge on the
straight pipe result at very low curvature.
References
[1], [2]
Examples
Parameters
Re [float] Reynolds number with D=Di, [-]
Di [float] Inner diameter of the coil, [m]
Dc [float] Diameter of the helix/coil measured from the center of the tube on one side to the
center of the tube on the other side, [m]
roughness [float, optional] Roughness of pipe wall [m]
Returns
fd [float] Darcy friction factor for a curved pipe [-]
Notes
Claimed to be valid for all turbulent conditions with 𝐷𝑒 > 11.6. At very low curvatures, converges on the
straight pipe result.
References
[1], [2]
Examples
Parameters
Re [float] Reynolds number with D=Di, [-]
Di [float] Inner diameter of the coil, [m]
Dc [float] Diameter of the helix/coil measured from the center of the tube on one side to the
center of the tube on the other side, [m]
Returns
fd [float] Darcy friction factor for a curved pipe [-]
Notes
Valid for 0.01 < Di/Dc < 0.15, with no Reynolds number criteria given in [2] or [3].
[2] recommends this method, using the transition criteria of Srinivasan as well. [3] recommends using either
this method or the Ito method. This method did not make it into the popular review articles on curved flow.
References
Examples
Parameters
Re [float] Reynolds number with D=Di, [-]
Di [float] Inner diameter of the coil, [m]
Dc [float] Diameter of the helix/coil measured from the center of the tube on one side to the
center of the tube on the other side, [m]
roughness [float, optional] Roughness of pipe wall [m]
Returns
fd [float] Darcy friction factor for a curved pipe [-]
Notes
Claimed to be valid for all turbulent conditions with 2500 < 𝐷𝑒 < 15000. At very low curvatures, converges
on the straight pipe result.
References
[1], [2]
Examples
fluids.friction.helical_transition_Re_Seth_Stahel(Di, Dc)
Calculates the transition Reynolds number for flow inside a curved or helical coil between laminar and turbulent
flow, using the method of [1].
[︃ √︂ ]︃
𝐷𝑖
𝑅𝑒𝑐𝑟𝑖𝑡 = 1900 1 + 8
𝐷𝑐
Parameters
Di [float] Inner diameter of the coil, [m]
Dc [float] Diameter of the helix/coil measured from the center of the tube on one side to the
center of the tube on the other side, [m]
Returns
Re_crit [float] Transition Reynolds number between laminar and turbulent [-]
Notes
References
[1]
Examples
fluids.friction.helical_transition_Re_Ito(Di, Dc)
Calculates the transition Reynolds number for flow inside a curved or helical coil between laminar and turbulent
flow, using the method of [1], as shown in [2] and in [3].
(︂ )︂0.32
𝐷𝑖
𝑅𝑒𝑐𝑟𝑖𝑡 = 20000
𝐷𝑐
Parameters
Di [float] Inner diameter of the coil, [m]
Dc [float] Diameter of the helix/coil measured from the center of the tube on one side to the
center of the tube on the other side, [m]
Returns
Re_crit [float] Transition Reynolds number between laminar and turbulent [-]
Notes
At very low curvatures, converges to Re = 0. Recommended for 0.00116 < 𝑑𝑖 /𝐷𝑐 < 0.067
References
Examples
fluids.friction.helical_transition_Re_Kubair_Kuloor(Di, Dc)
Calculates the transition Reynolds number for flow inside a curved or helical coil between laminar and turbulent
flow, using the method of [1], as shown in [2].
(︂ )︂0.2
𝐷𝑖
𝑅𝑒𝑐𝑟𝑖𝑡 = 12730
𝐷𝑐
Parameters
Di [float] Inner diameter of the coil, [m]
Dc [float] Diameter of the helix/coil measured from the center of the tube on one side to the
center of the tube on the other side, [m]
Returns
Re_crit [float] Transition Reynolds number between laminar and turbulent [-]
Notes
At very low curvatures, converges to Re = 0. Recommended for 0.0005 < 𝑑𝑖 /𝐷𝑐 < 0.103
References
[1], [2]
Examples
fluids.friction.helical_transition_Re_Kutateladze_Borishanskii(Di, Dc)
Calculates the transition Reynolds number for flow inside a curved or helical coil between laminar and turbulent
flow, using the method of [1], also shown in [2].
(︂ )︂0.3
4 𝐷𝑖
𝑅𝑒𝑐𝑟𝑖𝑡 = 2300 + 1.05 × 10
𝐷𝑐
Parameters
Di [float] Inner diameter of the coil, [m]
Dc [float] Diameter of the helix/coil measured from the center of the tube on one side to the
center of the tube on the other side, [m]
Returns
Re_crit [float] Transition Reynolds number between laminar and turbulent [-]
Notes
At very low curvatures, converges to Re = 2300. Recommended for 0.0417 < 𝑑𝑖 /𝐷𝑐 < 0.1667
References
[1], [2]
Examples
fluids.friction.helical_transition_Re_Schmidt(Di, Dc)
Calculates the transition Reynolds number for flow inside a curved or helical coil between laminar and turbulent
flow, using the method of [1], also shown in [2] and [3]. Correlation recommended in [3].
[︃ (︂ )︂0.45 ]︃
𝐷𝑖
𝑅𝑒𝑐𝑟𝑖𝑡 = 2300 1 + 8.6
𝐷𝑐
Parameters
Di [float] Inner diameter of the coil, [m]
Dc [float] Diameter of the helix/coil measured from the center of the tube on one side to the
center of the tube on the other side, [m]
Returns
Re_crit [float] Transition Reynolds number between laminar and turbulent [-]
Notes
At very low curvatures, converges to Re = 2300. Recommended for 𝑑𝑖 /𝐷𝑐 < 0.14
References
Examples
fluids.friction.helical_transition_Re_Srinivasan(Di, Dc)
Calculates the transition Reynolds number for flow inside a curved or helical coil between laminar and turbulent
flow, using the method of [1], also shown in [2] and [3]. Correlation recommended in [3].
[︃ (︂ )︂0.5 ]︃
𝐷𝑖
𝑅𝑒𝑐𝑟𝑖𝑡 = 2100 1 + 12
𝐷𝑐
Parameters
Di [float] Inner diameter of the coil, [m]
Dc [float] Diameter of the helix/coil measured from the center of the tube on one side to the
center of the tube on the other side, [m]
Returns
Re_crit [float] Transition Reynolds number between laminar and turbulent [-]
Notes
At very low curvatures, converges to Re = 2100. Recommended for 0.004 < 𝑑𝑖 /𝐷𝑐 < 0.1.
References
Examples
fluids.friction.LAMINAR_TRANSITION_PIPE = 2040.0
Believed to be the most accurate result to date. Accurate to +/- 10. Avila, Kerstin, David Moxey, Alberto de
Lozar, Marc Avila, Dwight Barkley, and Björn Hof. “The Onset of Turbulence in Pipe Flow.” Science 333, no.
6039 (July 8, 2011): 192-196. doi:10.1126/science.1203223.
fluids.friction.friction_plate_Martin_1999(Re, plate_enlargement_factor)
Calculates Darcy friction factor for single-phase flow in a Chevron-style plate heat exchanger according to [1].
1 cos 𝜑 1 − cos 𝜑
√︀ = √︀ + √
𝑓𝑓 0.045 tan 𝜑 + 0.09 sin 𝜑 + 𝑓0 / cos(𝜑) 3.8𝑓1
Notes
Based on experimental data from Re from 200 - 10000 and enhancement factors calculated with chevron angles
of 0 to 80 degrees. See PlateExchanger for further clarification on the definitions.
The length the friction factor gets multiplied by is not the flow path length, but rather the straight path length
from port to port as if there were no chevrons.
Note there is a discontinuity at Re = 2000 for the transition from laminar to turbulent flow, although the literature
suggests the transition is actually smooth.
This was first developed in [2] and only minor modifications by the original author were made before its repub-
lication in [1]. This formula is also suggested in [3]
References
Examples
fluids.friction.friction_plate_Martin_VDI(Re, plate_enlargement_factor)
Calculates Darcy friction factor for single-phase flow in a Chevron-style plate heat exchanger according to [1].
1 cos 𝜑 1 − cos 𝜑
√ = √︀ + √
𝑓𝑑 0.28 tan 𝜑 + 0.36 sin 𝜑 + 𝑓0 / cos(𝜑) 3.8𝑓1
597
𝑓1 = + 3.85 for 𝑅𝑒 < 2000
𝑅𝑒
39
𝑓1 = for 𝑅𝑒 ≥ 2000
𝑅𝑒0.289
Parameters
Re [float] Reynolds number with respect to the hydraulic diameter of the channels, [-]
plate_enlargement_factor [float] The extra surface area multiplier as compared to a flat plate
caused the corrugations, [-]
Returns
fd [float] Darcy friction factor [-]
See also:
friction_plate_Martin_1999
Notes
Based on experimental data from Re from 200 - 10000 and enhancement factors calculated with chevron angles
of 0 to 80 degrees. See PlateExchanger for further clarification on the definitions.
The length the friction factor gets multiplied by is not the flow path length, but rather the straight path length
from port to port as if there were no chevrons.
Note there is a discontinuity at Re = 2000 for the transition from laminar to turbulent flow, although the literature
suggests the transition is actually smooth.
This is a revision of the Martin’s earlier model, adjusted to predidct higher friction factors.
There are three parameters in this model, a, b and c; it is posisble to adjust them to better fit a know exchanger’s
pressure drop.
References
[1]
Examples
fluids.friction.friction_plate_Kumar(Re, chevron_angle)
Calculates Darcy friction factor for single-phase flow in a well-designed Chevron-style plate heat exchanger
according to [1]. The data is believed to have been developed by APV International Limited, since acquired by
SPX Corporation. This uses a curve fit of that data published in [2].
𝐶2
𝑓𝑓 =
𝑅𝑒𝑝
C2 and p are coefficients looked up in a table, with varying ranges of Re validity and chevron angle validity. See
the source for their exact values.
Parameters
Re [float] Reynolds number with respect to the hydraulic diameter of the channels, [-]
chevron_angle [float] Angle of the plate corrugations with respect to the vertical axis (the di-
rection of flow if the plates were straight), between 0 and 90. Many plate exchangers use
two alternating patterns; use their average angle for that situation [degrees]
Returns
fd [float] Darcy friction factor [-]
Notes
Data on graph from Re=0.1 to Re=10000, with chevron angles 30 to 65 degrees. See PlateExchanger for further
clarification on the definitions.
It is believed the constants used in this correlation were curve-fit to the actual graph in [1] by the author of [2]
as there is no
The length the friction factor gets multiplied by is not the flow path length, but rather the straight path length
from port to port as if there were no chevrons.
As the coefficients change, there are numerous small discontinuities, although the data on the graphs is contin-
uous with sharp transitions of the slope.
The author of [1] states clearly this correlation is “applicable only to well designed Chevron PHEs”.
References
[1], [2]
Examples
fluids.friction.friction_plate_Muley_Manglik(Re, chevron_angle,
plate_enlargement_factor)
Calculates Darcy friction factor for single-phase flow in a Chevron-style plate heat exchanger according to [1],
also shown and recommended in [2].
𝑓𝑓 = [2.917 − 0.1277𝛽 + 2.016 × 10−3 𝛽 2 ] × [20.78 − 19.02𝜑 + 18.93𝜑2 − 5.341𝜑3 ] × 𝑅𝑒−[0.2+0.0577 sin[(𝜋𝛽/45)+2.1]]
Parameters
Re [float] Reynolds number with respect to the hydraulic diameter of the channels, [-]
chevron_angle [float] Angle of the plate corrugations with respect to the vertical axis (the di-
rection of flow if the plates were straight), between 0 and 90. Many plate exchangers use
two alternating patterns; use their average angle for that situation [degrees]
plate_enlargement_factor [float] The extra surface area multiplier as compared to a flat plate
caused the corrugations, [-]
Returns
fd [float] Darcy friction factor [-]
Notes
Based on experimental data of plate enacement factors up to 1.5, and valid for Re > 1000 and chevron angles
from 30 to 60 degrees with sinusoidal shape. See PlateExchanger for further clarification on the definitions.
The length the friction factor gets multiplied by is not the flow path length, but rather the straight path length
from port to port as if there were no chevrons.
This is a continuous model with no discontinuities.
References
[1], [2]
Examples
1.0880870804075413
L_over_D [float, optional] Ratio of length over diameter, used only when D and L are both
unspecified but V is, [-]
V [float, optional] Volume of the tank; solved for if specified, using
sideA_a_ratio/sideB_a_ratio, sideA, sideB, horizontal, and one of L_over_D, L, or
D, [m^3]
Notes
For torpsherical tank heads, the following f and k parameters are used in standards. The default is ASME F&D
.
f k
2:1 semi-elliptical 0.9 0.17
ASME F&D 1 0.06
ASME 80/6 0.8 0.06
ASME 80/10 F&D 0.8 0.1
DIN 28011 1 0.1
DIN 28013 0.8 0.154
Examples
9.999999999999407
>>> TANK(L_over_D=0.469953105701, horizontal=True, sideA='conical', sideB='conical
˓→', V=500).L
4.69953105700979
9.999999999999407
>>> TANK(L_over_D=0.469953105701, horizontal=False, sideA='conical', sideB=
˓→'conical', V=500).L
4.699531057009791
Attributes
table [bool] Whether or not a table of heights-volumes has been generated
h_max [float] Height of the tank, [m]
V_total [float] Total volume of the tank as calculated [m^3]
heights [ndarray] Array of heights between 0 and h_max, [m]
volumes [ndarray] Array of volumes calculated from the heights, [m^3]
A [float] Total surface area of the tank, [m^2]
A_sideA [float] Surface area of sideA, [m^2]
A_sideB [float] Surface area of sideB, [m^2]
A_lateral [float] Surface area of the lateral side, [m^2]
c_forward [ndarray] Coefficients for the Chebyshev approximations in calculating V from h,
[-]
c_backward [ndarray] Coefficients for the Chebyshev approximations in calculating h from V,
[-]
Methods
V_from_h(self, h, method=’full’)
Method to calculate the volume of liquid in a fully defined tank given a specified height h. h must be under
the maximum height. If the method is ‘chebyshev’, and the coefficients have not yet been calculated, they
are created by calling set_chebyshev_approximators.
Parameters
h [float] Height specified, [m]
method [str] One of ‘full’ (calculated rigorously) or ‘chebyshev’
Returns
V [float] Volume of liquid in the tank up to the specified height, [m^3]
add_thickness(self, thickness, sideA_thickness=None, sideB_thickness=None)
Method to create a new tank instance with the same parameters as itself, except with an added thickness to
it. This is useful to obtain ex. the inside of a tank and the outside; their different in volumes is the volume
of the shell, and could be used to determine weight.
Parameters
thickness [float] Thickness to add to the tank diameter, [m]
sideA_thickness [float, optional] The thickness to add to the sideA head; if not specified, it
will be thickness, [m]
sideB_thickness [float, optional] The thickness to add to the sideB head; if not specified, it
will be thickness, [m]
Returns
TANK [TANK] Tank object, [-]
Notes
Be careful not to specify a negative thickness larger than the heads’ lengths, or the head will become
concave! The same applies to adding a thickness to convex heads - they can become convex.
chebyshev = False
h_from_V(self, V, method=’spline’)
Method to calculate the height of liquid in a fully defined tank given a specified volume of liquid in it V.
V must be under the maximum volume. If the method is ‘spline’, and the interpolation table is not yet
defined, creates it by calling the method set_table. If the method is ‘chebyshev’, and the coefficients have
not yet been calculated, they are created by calling set_chebyshev_approximators.
Parameters
V [float] Volume of liquid in the tank up to the desired height, [m^3]
method [str] One of ‘spline’, ‘chebyshev’, or ‘brenth’
Returns
h [float] Height of liquid at which the volume is as desired, [m]
set_chebyshev_approximators(self, deg_forward=50, deg_backwards=200)
Method to derive and set coefficients for chebyshev polynomial function approximation of the height-
volume and volume-height relationship.
A single set of chebyshev coefficients is used for the entire height- volume and volume-height relationships
respectively.
The forward relationship, V_from_h, requires far fewer coefficients in its fit than the reverse to obtain the
same relative accuracy.
Optionally, deg_forward or deg_backwards can be set to None to try to automatically fit the series to
machine precision.
Parameters
deg_forward [int, optional] The degree of the chebyshev polynomial to be created for the
V_from_h curve, [-]
deg_backwards [int, optional] The degree of the chebyshev polynomial to be created for
the h_from_V curve, [-]
set_misc(self )
Set more parameters, after the tank is better defined than in the __init__ function.
Notes
Two of D, L, and L_over_D must be known when this function runs. The other one is set from the other
two first thing in this function. a_ratio parameters are used to calculate a values for the heads here, if
applicable. Radius is calculated here. Maximum tank height is calculated here. V_total is calculated here.
set_table(self, n=100, dx=None)
Method to set an interpolation table of liquids levels versus volumes in the tank, for a fully defined tank.
Normally run by the h_from_V method, this may be run prior to its use with a custom specification. Either
the number of points on the table, or the vertical distance between steps may be specified.
Parameters
n [float, optional] Number of points in the interpolation table, [-]
dx [float, optional] Vertical distance between steps in the interpolation table, [m]
solve_tank_for_V(self )
Method which is called to solve for tank geometry when a certain volume is specified. Will be called by
the __init__ method if V is set.
Notes
Raises an error if L and either of sideA_a or sideB_a are specified; these can only be set once D is known.
Raises an error if more than one of D, L, or L_over_D are specified. Raises an error if the head ratios are
not provided.
Calculates initial guesses assuming no heads are present, and then uses fsolve to determine the correct
dimensions for the tank.
Tested, but bugs and limitations are expected here.
table = False
class fluids.geometry.HelicalCoil(Dt, Do=None, pitch=None, H=None, N=None,
H_total=None, Do_total=None, Di=None)
Bases: object
Class representing a helical coiled tube, as are found in many heated tanks and some small nuclear reactors. All
parameters are also attributes.
One set of the following parameters is required; inner tube diameter is optional.
• Tube outer diameter, coil outer diameter, pitch, number of coil turns
• Tube outer diameter, coil outer diameter, pitch, height
• Tube outer diameter, coil outer diameter, number of coil turns, height
Parameters
Dt [float] Outer diameter of the tube wound to make up the helical spiral, [m]
Do [float, optional] Diameter of the spiral as measured from the center of the coil on one side
to the center of the coil on the other side, [m]
Do_total [float, optional] Diameter of the spiral as measured from one edge of the tube to the
other edge; equal to Do + Dt; either Do or Do_total may be specified and the other will be
calculated [m]
pitch [float, optional] Height change from one coil to the next as measured from the middles of
the tube, [m]
H [float, optional] Height of the spiral, as measured from the middle of the bottom of the tube
to the middle of the top of the tube, [m]
H_total [float, optional] Height of the spiral as measured from one edge of the tube to the other
edge; equal to H_total + Dt; either may be specified and the other will be calculated [m]
N [float, optional] Number of coil turns; may be specified along with pitch instead of specifying
H or H_total, [-]
Di [float, optional] Inner diameter of the tube; if specified, inside and annulus properties will be
calculated, [m]
Notes
References
[1]
Examples
Same coil, with the inputs one would physically measure from the coil, and a specified inlet diameter:
Attributes
tube_circumference [float] Circumference of the tube as measured though its center, not inner
or outer edges; 𝐶 = 𝜋𝐷𝑜 , [m]
√︀
tube_length [float] Length of tube used to make the helical coil; 𝐿 = (𝜋𝐷𝑜 · 𝑁 )2 + 𝐻 2 ,
[m]
surface_area [float] Surface area of the outer surface of the helical coil; 𝐴𝑡 = 𝜋𝐷𝑡 𝐿, [m^2]
inner_surface_area [float] Surface area of the inner surface of the helical coil; calculated if Di
is supplied; 𝐴𝑖𝑛𝑠𝑖𝑑𝑒 = 𝜋𝐷𝑖 𝐿, [m^2]
inlet_area [float] Area of the inlet to the helical coil; calculated if Di is supplied; 𝐴𝑖𝑛𝑙𝑒𝑡 =
𝜋 2
4 𝐷𝑖 , [m^2]
inner_volume [float] Volume of the tube as would be filled by a fluid, useful for weight calcu-
lations; calculated if Di is supplied; 𝑉𝑖𝑛𝑠𝑖𝑑𝑒 = 𝐴𝑖 𝐿, [m^3]
annulus_area [float] Area of the annulus (wall of the pipe); calculated if Di is supplied; 𝐴𝑎 =
𝜋 2 2
4 (𝐷𝑡 − 𝐷𝑖 ), [m^2]
annulus_volume [float] Volume of the annulus (wall of the pipe); calculated if Di is supplied,
useful for weight calculations; 𝑉𝑎 = 𝐴𝑎 𝐿, [m^3]
total_volume [float] Total volume occupied by the pipe and the fluid inside it; 𝑉 = 𝐷𝑡 𝐿, [m^3]
)︁ Angle between the pitch and coil diameter; used in some calculations; 𝛼 =
helix_angle(︁ [float]
𝑝𝑡
arctan 𝜋𝐷𝑜 , [radians]
𝐷𝑡
curvature [float] Coil curvature, useful in some calculations; 𝛿 = 𝐷𝑜 [1+4𝜋 2 tan2 (𝛼)] , [-]
Notes
References
[Ra5f43f3cdb76-1]
Examples
Attributes
chevron_angles [tuple(2)] The two specified angles (repeated value if only one specified), [de-
grees]
chevron_angle [float] The averaged angle of the chevrons, [degrees]
inclination_angle [float] 90 - chevron_angle, used in many publications instead of
chevron_angle, [degrees]
4𝑎
plate_corrugation_aspect_ratio [float] The aspect ratio of the corrugations 𝛾 = 𝜆 , [-]
plate_enlargement_factor [float] The extra surface area multiplier as compared to a flat plate
caused the corrugations, [-]
D_eq [float] Equivalent diameter of the channels, 𝐷𝑒𝑞 = 4𝑎 [m]
4𝑎
D_hydraulic [float] Hydraulic diameter of the channels, 𝐷ℎ𝑦𝑑 = 𝜑 [m]
length_port [float] Port center to port center along the direction of flow, [m]
A_plate_surface [float] The surface area of one plate in the heat exchanger, including the extra
due to corrugations (excluding the bit between the ports), 𝐴𝑝 = 𝐿 · 𝑊 · 𝜑 [m^2]
A_heat_transfer [float] The total surface area available for heat transfer in the exchanger, the
multiple of A_plate_surface by the number of plates after removing the two on the edges,
[m^2]
A_channel_flow [float] The area for the fluid to flow in one channel, 𝑊 · 𝑏 [m^2]
channels [int] The number of plates minus one, [-]
channels_per_fluid [int] Half the number of total channels, [-]
plate_exchanger_identifier [str] Method to create an identifying string in format ‘L’
+ wavelength + ‘A’ + amplitude + ‘B’ + chevron angle-chevron angle.
Methods
plate_enlargement_factor_analytical(. . .Calculates
) the enhancement factor of the sinusoidal
waves of the
following integral:
∫︀ 𝜆 √︁ (︀ 𝛾𝜋 )︀2 (︀ 2𝜋 )︀
Effective area 0
1+ 2 cos2 𝜆 𝑥 𝑑𝑥
𝜑= =
Projected area 𝜆
4𝑎
𝛾=
𝜆
𝑇 ℎ𝑒𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛𝑡𝑜𝑡ℎ𝑒𝑖𝑛𝑡𝑒𝑔𝑟𝑎𝑙𝑖𝑠 :
(︁ 2 2
)︁
2𝐸 −4𝑎 𝜆2
𝜋
..𝑚𝑎𝑡ℎ :: 𝜑 =
𝜋
𝑤ℎ𝑒𝑟𝑒𝐸𝑖𝑠𝑡ℎ𝑒𝑐𝑜𝑚𝑝𝑙𝑒𝑡𝑒𝑒𝑙𝑙𝑖𝑝𝑡𝑖𝑐𝑖𝑛𝑡𝑒𝑔𝑟𝑎𝑙𝑜𝑓 𝑡ℎ𝑒𝑠𝑒𝑐𝑜𝑛𝑑𝑘𝑖𝑛𝑑, 𝑐𝑎𝑙𝑐𝑢𝑙𝑎𝑡𝑒𝑑𝑤𝑖𝑡ℎ𝑆𝑐𝑖𝑃 𝑦.
Parameters
amplitude [float]
Half the height of the wave of the ridges, [m]
wavelength [float] Distance between the bottoms of two of the ridges (sometimes called
pitch), [m]
Returns
plate_enlargement_factor [float] The extra surface area multiplier as compared to a flat
plate caused the corrugations, [-]
Notes
This is the exact analytical integral, obtained via Mathematica, Maple, and quite a bit of trial and error. It
is confirmed via numerical integration. The expression normally given is an approximation as follows:
1 (︁ √︀ √︀ )︁
𝜑= 1 + 1 + 𝐴2 + 4 1 + 𝐴2 /2
6
2𝜋𝑎
𝐴=
𝜆
Most plate heat exchangers approximate a sinusoidal geometry only.
Examples
>>> PlateExchanger.plate_enlargement_factor_analytical(amplitude=5E-4,
˓→wavelength=3.7E-3)
1.1611862034509677
plate_exchanger_identifier
Method to create an identifying string in format ‘L’ + wavelength + ‘A’ + amplitude + ‘B’ + chevron
angle-chevron angle. Wavelength and amplitude are specified in units of mm and rounded to two decimal
places.
class fluids.geometry.RectangularFinExchanger(fin_height, fin_thickness, fin_spacing,
length=None, width=None, layers=None,
plate_thickness=None, flow=’crossflow’)
Bases: object
Class representing a plate-fin heat exchanger with straight rectangular fins. All parameters are also attributes.
Parameters
fin_height [float] The total distance between the two metal plates sandwiching the fins and
holding them together (abbreviated h), [m]
fin_thickness [float] The thickness of the material the fins were formed from (abbreviated t),
[m]
fin_spacing [float] The unit cell spacing from one fin to the next; the space between the sides
of two fins plus one thickness (abbreviated s), [m]
length [float, optional] The total length of the flow passage of the plate-fin exchanger (abbrevi-
ated L), [m]
width [float, optional] The total width of the space the fins are in; this is also 𝑁𝑓 𝑖𝑛𝑠 × 𝑠 (abbre-
viated W), [m]
layers [int, optional] The number of layers in the plate-fin exchanger; note these HX almost
always single-pass only, [-]
plate_thickness [float, optional] The thickness of the metal separator between layers, [m]
flow [str, optional] One of ‘counterflow’, ‘crossflow’, or ‘parallelflow’
Notes
The only required parameters are the fin geometry itself; fin_height, fin_thickness, and fin_spacing.
References
[R6a2fe8cbf2f6-1], [R6a2fe8cbf2f6-2]
Examples
Attributes
channel_height [float] The height of the channel the fluid flows in channel height =
fin height − fin thickness, [m]
channel_width [float] The width of the channel the fluid flows in channel width =
fin spacing − fin thickness, [m]
1
fin_count [int] The number of fins per unit length of the layer, fin count = fin spacing , [1/m]
blockage_ratio [float] The fraction of the layer which is blocked to flow by the fins,
blockage ratio = 𝑠·ℎ−𝑠·𝑡−𝑡(ℎ−𝑡)
𝑠·ℎ , [m]
A_channel [float] Flow area of a single channel in a single layer, channel area = (𝑠 − 𝑡)(ℎ − 𝑡),
[m]
P_channel [float] Wetted perimeter of a single channel in a single layer, channel perimeter =
2(𝑠 − 𝑡) + 2(ℎ − 𝑡), [m]
4𝐴𝑐ℎ𝑎𝑛𝑛𝑒𝑙
Dh [float] Hydraulic diameter of a single channel in a single layer, 𝐷ℎ𝑦𝑑𝑟𝑎𝑢𝑙𝑖𝑐 = 𝑃𝑐ℎ𝑎𝑛𝑛𝑒𝑙 , [m]
layer_thickness [float] The thickness of a single layer - the sum of a fin height and a plate
thickness, [m]
layer_fin_count [int] The number of fins in a layer; rounded to the nearest whole fin, [-]
A_HX_layer [float] The surface area including fins for heat transfer in one layer of the HX,
[m^2]
A_HX [float] The total surface area of the heat exchanger with all layers combined, [m^2]
height [float] The height of all the layers of the heat exchanger combined, plus one extra plate
thickness, [m]
volume [float] The product of the height, width, and length of the HX, [m^3]
A_specific_HX [float] The specific surface area of the heat exchanger - square meters per meter
cubed, [m^3]
Methods
set_overall_geometry
set_overall_geometry(self )
class fluids.geometry.RectangularOffsetStripFinExchanger(fin_length, fin_height,
fin_thickness,
fin_spacing,
length=None,
width=None,
layers=None,
plate_thickness=None,
flow=’crossflow’)
Bases: fluids.geometry.RectangularFinExchanger
Methods
set_overall_geometry
Parameters
H_inlet [float] Height of the inlet zone of the cooling tower (also called rain zone), [m]
D_outlet [float] The inside diameter of the cooling tower outlet (top of the tower; the elevation
the concrete section ends), [m]
H_outlet [float] The height of the cooling tower outlet (top of the tower;the elevation the con-
crete section ends), [m]
D_inlet [float, optional] The inside diameter of the cooling tower inlet at the elevation the con-
crete section begins, [m]
D_base [float, optional] The diameter of the cooling tower at the very base of the tower (the
bottom of the inlet zone, at the elevation of the ground), [m]
D_throat [float, optional] The diameter of the cooling tower at its minimum section, called its
throat; where the two hyperbolas meet, [m]
h_throat [float, optional] The elevation of the cooling tower’s throat (its minimum section;
where the two hyperbolas meet), [m]
inlet_rounding [float, optional] Radius of an optional rounded protrusion from the lip of the
cooling tower shell base, which curves upwards from the lip (used to reduce the dead zone
area rather than having a flat lip), [m]
H_support [float, optional] The height of each support column, [m]
D_support [float, optional] The diameter of each support column, [m]
n_support [int, optional] The number of support columns of the cooling tower, [m]
Notes
Note there are two hyperbolas in a hyperbolic cooling tower - one under the throat and one above it; they are
not necessarily the same.
A hyperbolic cooling tower is not the absolute optimal design, but is is close. The optimality is determined
by the amount of material required to build it while maintaining its rigidity. For thermal design purposes, a
hyperbolic model covers any minor variation quite well.
References
[R9da9598dd59d-1], [R9da9598dd59d-2]
Examples
>>> ct
<Hyperbolic cooling tower, inlet diameter=136.18 m, outlet diameter=89 m, inlet
˓→height=14.5 m, outlet height=200 m, throat diameter=85.7934 m, throat
>>> ct.diameter(5)
142.84514486126062
Attributes
b_lower [float] The b parameter in the hyperbolic equation for the lower section of the cooling
tower, [m]
b_upper [float] The b parameter in the hyperbolic equation for the upper section of the cooling
tower, [m]
Methods
plot
diameter(self, H)
Calculates cooling tower diameter at a specified height, using the formulas for either hyperbola, depending
on the height specified.
√
𝐻 2 + 𝑏2
𝐷 = 𝐷𝑡ℎ𝑟𝑜𝑎𝑡
𝑏
The value of H and b used in the above equation is as follows:
• H_throat - H and b_lower if under the throat
• H - H_throat and b_upper, if above the throat
Parameters
H [float] Height at which to calculate the cooling tower diameter, [m]
Returns
D [float] Diameter of the cooling tower at the specified height, [m]
plot(self, pts=100)
fin_interval [float, optional] Space between each fin, including the thickness of one fin at its
base, [m]
parallel_bays [int, optional] Number of bays in the unit, [-]
bundles_per_bay [int, optional] Number of tube bundles per bay, [-]
fans_per_bay [int, optional] Number of fans per bay, [-]
corbels [bool, optional] Whether or not the air cooler has corbels, which increase the air veloc-
ity by adding half a tube to the sides for the case of non-rectangular tube layouts, [-]
tube_thickness [float, optional] Thickness of the bare metal tubes, [m]
fan_diameter [float, optional] Diameter of air cooler fan, [m]
References
[1]
Examples
Attributes
bare_length [float] Length of bare tube between two fins bare length = fin interval − 𝑡𝑓 𝑖𝑛 , [m]
tubes_per_bundle [float] Total number of tubes per bundle 𝑁𝑡𝑢𝑏𝑒𝑠/𝑏𝑢𝑛𝑑𝑙𝑒 = 𝑁𝑡𝑢𝑏𝑒𝑠/𝑟𝑜𝑤 ·
𝑁𝑟𝑜𝑤𝑠 , [-]
tubes_per_bay [float] Total number of tubes per bay 𝑁𝑡𝑢𝑏𝑒𝑠/𝑏𝑎𝑦 = 𝑁𝑡𝑢𝑏𝑒𝑠/𝑏𝑢𝑛𝑑𝑙𝑒 ·
𝑁𝑏𝑢𝑛𝑑𝑙𝑒𝑠/𝑏𝑎𝑦 , [-]
tubes [float] Total number of tubes in all bundles in all bays combined 𝑁𝑡𝑢𝑏𝑒𝑠 = 𝑁𝑡𝑢𝑏𝑒𝑠/𝑏𝑎𝑦 ·
𝑁𝑏𝑎𝑦𝑠 , [-]
pitch_diagonal [float] Distance between tube centers in a diagonal line between one normal
[︁ (︀ )︀2 ]︁0.5
tube and one parallel tube; 𝑠𝐷 = 𝑠2𝐿 + 𝑠2𝑇 , [m]
A_bare_tube_per_tube [float] Area of the bare tube including the portion hidden by the fin
per tube 𝐴𝑏𝑎𝑟𝑒,𝑡𝑜𝑡𝑎𝑙/𝑡𝑢𝑏𝑒 = 𝜋𝐷𝑡𝑢𝑏𝑒 𝐿𝑡𝑢𝑏𝑒 , [m^2]
A_bare_tube_per_row [float] Area of the bare tube including the portion hidden by the fin per
tube row 𝐴𝑏𝑎𝑟𝑒,𝑡𝑜𝑡𝑎𝑙/𝑟𝑜𝑤 = 𝜋𝐷𝑡𝑢𝑏𝑒 𝐿𝑡𝑢𝑏𝑒 𝑁𝑡𝑢𝑏𝑒𝑠/𝑟𝑜𝑤 , [m^2]
A_bare_tube_per_bundle [float] Area of the bare tube including the portion hidden by the fin
per bundle 𝐴𝑏𝑎𝑟𝑒,𝑡𝑜𝑡𝑎𝑙/𝑏𝑢𝑛𝑑𝑙𝑒 = 𝜋𝐷𝑡𝑢𝑏𝑒 𝐿𝑡𝑢𝑏𝑒 𝑁𝑡𝑢𝑏𝑒𝑠/𝑏𝑢𝑛𝑑𝑙𝑒 , [m^2]
A_bare_tube_per_bay [float] Area of the bare tube including the portion hidden by the fin per
bay 𝐴𝑏𝑎𝑟𝑒,𝑡𝑜𝑡𝑎𝑙/𝑏𝑎𝑦 = 𝜋𝐷𝑡𝑢𝑏𝑒 𝐿𝑡𝑢𝑏𝑒 𝑁𝑡𝑢𝑏𝑒𝑠/𝑏𝑎𝑦 , [m^2]
A_bare_tube [float] Area of the bare tube including the portion hidden by the fin per in all
bundles and bays combined 𝐴𝑏𝑎𝑟𝑒,𝑡𝑜𝑡𝑎𝑙 = 𝜋𝐷𝑡𝑢𝑏𝑒 𝐿𝑡𝑢𝑏𝑒 𝑁𝑡𝑢𝑏𝑒𝑠 , [m^2]
A_tube_showing_per_tube [float] Area(︁ of the bare )︁ tube which is exposed per tube
𝑡𝑓 𝑖𝑛
𝐴𝑏𝑎𝑟𝑒,𝑠ℎ𝑜𝑤𝑖𝑛𝑔/𝑡𝑢𝑏𝑒 = 𝜋𝐷𝑡𝑢𝑏𝑒 𝐿𝑡𝑢𝑏𝑒 1 − fin interval , [m^2]
A_tube_showing_per_row [float] Area of the bare tube which is exposed per tube row, [m^2]
A_tube_showing_per_bundle [float] Area of the bare tube which is exposed per bundle, [m^2]
A_tube_showing_per_bay [float] Area of the bare tube which is exposed per bay, [m^2]
A_tube_showing [float] Area of the bare tube which is exposed in all bundles and bays com-
bined, [m^2]
A_per_fin [float] Surface area per fin 𝐴𝑓 𝑖𝑛 = 2 𝜋4 (𝐷𝑓2 𝑖𝑛 − 𝐷𝑡𝑢𝑏𝑒
2
) + 𝜋𝐷𝑓 𝑖𝑛 𝑡𝑓 𝑖𝑛 , [m^2]
A_fin_per_tube [float] Surface area of all fins per tube 𝐴𝑓 𝑖𝑛/𝑡𝑢𝑏𝑒 = 𝑁𝑓 𝑖𝑛𝑠/𝑚 𝐿𝑡𝑢𝑏𝑒 𝐴𝑓 𝑖𝑛 , [m^2]
A_fin_per_row [float] Surface area of all fins per row, [m^2]
A_fin_per_bundle [float] Surface area of all fins per bundle, [m^2]
A_fin_per_bay [float] Surface area of all fins per bay, [m^2]
A_fin [float] Surface area of all fins in all bundles and bays combined, [m^2]
A_per_tube [float] Surface area of combined finned and non-fined area exposed for heat trans-
fer per tube 𝐴𝑡𝑢𝑏𝑒 = 𝐴𝑏𝑎𝑟𝑒,𝑠ℎ𝑜𝑤𝑖𝑛𝑔/𝑡𝑢𝑏𝑒 + 𝐴𝑓 𝑖𝑛/𝑡𝑢𝑏𝑒 , [m^2]
A_per_row [float] Surface area of combined finned and non-finned area exposed for heat trans-
fer per tube row, [m^2]
A_per_bundle [float] Surface area of combined finned and non-finned area exposed for heat
transfer per tube bundle, [m^2]
A_per_bay [float] Surface area of combined finned and non-finned area exposed for heat trans-
fer per bay, [m^2]
A [float] Surface area of combined finned and non-finned area exposed for heat transfer in all
bundles and bays combined, [m^2]
A_increase [float] Ratio of actual surface area to bare tube surface area 𝐴𝑖𝑛𝑐𝑟𝑒𝑎𝑠𝑒 =
𝐴𝑡𝑢𝑏𝑒
𝐴𝑏𝑎𝑟𝑒,𝑡𝑜𝑡𝑎𝑙/𝑡𝑢𝑏𝑒 , [-]
A_tube_flow [float] The area for the fluid to flow in one tube, 𝜋/4 · 𝐷𝑖2 , [m^2]
channels [int] The number of tubes the fluid flows through at the inlet header, [-]
𝜋 2
tube_volume_per_tube [float] Fluid volume per tube inside 𝑉𝑡𝑢𝑏𝑒,𝑓 𝑙𝑜𝑤 = 4 𝐷𝑖 𝐿𝑡𝑢𝑏𝑒 , [m^3]
tube_volume_per_row [float] Fluid volume of tubes per row, [m^3]
tube_volume_per_bundle [float] Fluid volume of tubes per bundle, [m^3]
tube_volume_per_bay [float] Fluid volume of tubes per bay, [m^3]
tube_volume [float] Fluid volume of tubes in all bundles and bays combined, [m^3]
A_diagonal_per_bundle [float] Air flow area along the diagonal plane per bundle 𝐴𝑑 =
2𝑁𝑡𝑢𝑏𝑒𝑠/𝑟𝑜𝑤 𝐿𝑡𝑢𝑏𝑒 (𝑃𝑑 − 𝐷𝑡𝑢𝑏𝑒 − 2𝑁𝑓 𝑖𝑛𝑠/𝑚 ℎ𝑓 𝑖𝑛 𝑡𝑓 𝑖𝑛 ) + 𝐴extra,side , [m^2]
A_normal_per_bundle [float] Air flow area along the normal (transverse) plane; this is
normally the minimum flow area, except for some staggered configurations 𝐴𝑡 =
𝑁𝑡𝑢𝑏𝑒𝑠/𝑟𝑜𝑤 𝐿𝑡𝑢𝑏𝑒 (𝑃𝑡 − 𝐷𝑡𝑢𝑏𝑒 − 2𝑁𝑓 𝑖𝑛𝑠/𝑚 ℎ𝑓 𝑖𝑛 𝑡𝑓 𝑖𝑛 ) + 𝐴extra,side , [m^2]
A_min_per_bundle [float] Minimum air flow area per bundle; this is the characteristic area
for velocity calculation in most finned tube convection correlations 𝐴𝑚𝑖𝑛 = 𝑚𝑖𝑛(𝐴𝑑 , 𝐴𝑡 ),
[m^2]
fluids.geometry.SA_partial_sphere(D, h)
Calculates surface area of a partial sphere according to [1]. If h is half of D, the shape is half a sphere. No
bottom is considered in this function. Valid inputs are positive values of D and h, with h always smaller or equal
to D.
√︀
𝑎= ℎ(2𝑟 − ℎ)
𝐴 = 𝜋(𝑎2 + ℎ2 )
Parameters
D [float] Diameter of the sphere, [m]
h [float] Height, as measured from the cap to where the sphere is cut off [m]
Returns
SA [float] Surface area [m^2]
References
[1]
Examples
fluids.geometry.V_partial_sphere(D, h)
Calculates volume of a partial sphere according to [1]. If h is half of D, the shape is half a sphere. No bottom is
considered in this function. Valid inputs are positive values of D and h, with h always smaller or equal to D.
√︀
𝑎= ℎ(2𝑟 − ℎ)
𝑉 = 1/6𝜋ℎ(3𝑎2 + ℎ2 )
Parameters
D [float] Diameter of the sphere, [m]
h [float] Height, as measured up to where the sphere is cut off, [m]
Returns
V [float] Volume [m^3]
References
[1]
Examples
fluids.geometry.V_horiz_conical(D, L, a, h, headonly=False)
Calculates volume of a tank with conical ends, according to [1].
2𝑎𝑅2
𝑉𝑓 = 𝐴𝑓 𝐿 + 𝐾, 0 ≤ ℎ < 𝑅
3
2𝑎𝑅2
𝑉𝑓 = 𝐴𝑓 𝐿 + 𝜋/2, ℎ = 𝑅
3
2𝑎𝑅2
𝑉𝑓 = 𝐴𝑓 𝐿 + (𝜋 − 𝐾), 𝑅 < ℎ ≤ 2𝑅
3
1 √︀
𝐾 = cos−1 𝑀 + 𝑀 3 cosh−1 − 2𝑀 1 − 𝑀 2
𝑀
⃒ ⃒
⃒𝑅 − ℎ⃒
𝑀 =⃒ ⃒ ⃒
𝑅 ⃒
𝑅−ℎ √︀
𝐴𝑓 = 𝑅2 cos−1 − (𝑅 − ℎ) 2𝑅ℎ − ℎ2
𝑅
Parameters
D [float] Diameter of the main cylindrical section, [m]
L [float] Length of the main cylindrical section, [m]
a [float] Distance the cone head extends on one side, [m]
h [float] Height, as measured up to where the fluid ends, [m]
headonly [bool, optional] Function returns only the volume of a single head side if True
Returns
V [float] Volume [m^3]
References
[1]
Examples
Matching example from [1], with inputs in inches and volume in gallons.
fluids.geometry.V_horiz_ellipsoidal(D, L, a, h, headonly=False)
Calculates volume of a tank with ellipsoidal ends, according to [1].
(︂ )︂
2 ℎ
𝑉𝑓 = 𝐴𝑓 𝐿 + 𝜋𝑎ℎ 1 −
3𝑅
𝑅−ℎ √︀
𝐴𝑓 = 𝑅2 cos−1 − (𝑅 − ℎ) 2𝑅ℎ − ℎ2
𝑅
Parameters
D [float] Diameter of the main cylindrical section, [m]
L [float] Length of the main cylindrical section, [m]
a [float] Distance the ellipsoidal head extends on one side, [m]
h [float] Height, as measured up to where the fluid ends, [m]
headonly [bool, optional] Function returns only the volume of a single head side if True
Returns
V [float] Volume [m^3]
References
[1]
Examples
Matching example from [1], with inputs in inches and volume in gallons.
fluids.geometry.V_horiz_guppy(D, L, a, h, headonly=False)
Calculates volume of a tank with guppy heads, according to [1].
2𝑎𝑅2
(︂ )︂
−1 ℎ 2𝑎 √︀
𝑉𝑓 = 𝐴𝑓 𝐿 + cos 1− + 2𝑅ℎ − ℎ2 (2ℎ − 3𝑅)(ℎ + 𝑅)
3 𝑅 9𝑅
𝑅−ℎ √︀
𝐴𝑓 = 𝑅2 cos−1 − (𝑅 − ℎ) 2𝑅ℎ − ℎ2
𝑅
Parameters
D [float] Diameter of the main cylindrical section, [m]
L [float] Length of the main cylindrical section, [m]
a [float] Distance the guppy head extends on one side, [m]
h [float] Height, as measured up to where the fluid ends, [m]
headonly [bool, optional] Function returns only the volume of a single head side if True
Returns
V [float] Volume [m^3]
References
[1]
Examples
Matching example from [1], with inputs in inches and volume in gallons.
fluids.geometry.V_horiz_spherical(D, L, a, h, headonly=False)
Calculates volume of a tank with spherical heads, according to [1].
𝜋𝑎
𝑉 𝑓 = 𝐴𝑓 𝐿 + (3𝑅2 + 𝑎2 ), ℎ = 𝑅, |𝑎| ≤ 𝑅
6
𝜋𝑎
𝑉 𝑓 = 𝐴𝑓 𝐿 + (3𝑅2 + 𝑎2 ), ℎ = 𝐷, |𝑎| ≤ 𝑅
3
(︂ )︂
ℎ
𝑉𝑓 = 𝐴𝑓 𝐿 + 𝜋𝑎ℎ2 1 − , ℎ = 0, or |𝑎| = 0, 𝑅, −𝑅
3𝑅
{︃ [︃ (︃ (︂ )︂2 )︃ ]︃
𝑎 2𝑟3 2 2
𝑤3
(︂ )︂
−1 𝑅 − 𝑟𝑤 −1 𝑅 + 𝑟𝑤 𝑧 𝑅 −1 𝑤 𝑦 4𝑤
𝑉𝑓 = 𝐴𝑓 𝐿 + cos + cos − 2+ cos 2
− 2 𝑤𝑟 − tan−1 +
|𝑎| 3 𝑅(𝑤 − 𝑟) 𝑅(𝑤 + 𝑟) 𝑟 𝑟 𝑅 3 𝑧 3
[︃ ∫︁ √︂ ]︃
𝑅
𝑎 𝑅 2 − 𝑥2
𝑉 𝑓 = 𝐴𝑓 𝐿 + 2 (𝑟2 − 𝑥2 ) tan−1 𝑑𝑥 − 𝐴𝑓 𝑧 , ℎ ̸= 𝑅, 𝐷; 𝑎 ̸= 0, 𝑅, −𝑅, |𝑎| < 0.01𝐷
|𝑎| 𝑤 𝑟 2 − 𝑅2
𝑅−ℎ √︀
𝐴𝑓 = 𝑅2 cos−1 − (𝑅 − ℎ) 2𝑅ℎ − ℎ2
𝑅
𝑎2 + 𝑅2
𝑟=
2|𝑎|
𝑤 =𝑅−ℎ
√︀
𝑦 = 2𝑅ℎ − ℎ2
√︀
𝑧 = 𝑟 2 − 𝑅2
Parameters
D [float] Diameter of the main cylindrical section, [m]
L [float] Length of the main cylindrical section, [m]
a [float] Distance the spherical head extends on one side, [m]
h [float] Height, as measured up to where the fluid ends, [m]
headonly [bool, optional] Function returns only the volume of a single head side if True
Returns
V [float] Volume [m^3]
References
[1]
Examples
Matching example from [1], with inputs in inches and volume in gallons.
>>> V_horiz_spherical(D=108., L=156., a=42., h=36)/231.
2303.9615116986183
fluids.geometry.V_horiz_torispherical(D, L, f, k, h, headonly=False)
Calculates volume of a tank with torispherical heads, according to [1].
𝑉𝑓 = 𝐴𝑓 𝐿 + 2𝑉1 , 0 ≤ ℎ ≤ ℎ1
𝑉𝑓 = 𝐴𝑓 𝐿 + 2(𝑉1,𝑚𝑎𝑥 + 𝑉2 + 𝑉3 ), ℎ1 < ℎ < ℎ2
𝑉𝑓 = 𝐴𝑓 𝐿 + 2[2𝑉1,𝑚𝑎𝑥 − 𝑉1 (ℎ = 𝐷 − ℎ) + 𝑉2,𝑚𝑎𝑥 + 𝑉3,𝑚𝑎𝑥 ], ℎ2 ≤ ℎ ≤ 𝐷
∫︁ √2𝑘𝐷ℎ−ℎ2 [︃ √ ]︃
2 −1 𝑛2 − 𝑤 2 √︀
2 2
𝑉1 = 𝑛 sin − 𝑤 𝑛 − 𝑤 𝑑𝑥
0 𝑛
∫︁ 𝑘𝐷 cos 𝛼 [︁ (︁
𝑤 𝑔 )︁ √︀ √︀ ]︁
𝑉2 = 𝑛2 cos−1 − cos−1 − 𝑤 𝑛2 − 𝑤2 + 𝑔 𝑛2 − 𝑔 2 𝑑𝑥
0 𝑛 𝑛
∫︁ 𝑔 √︀
𝑔 2 − 𝑥2
(︂ )︂
2 2 −1 𝑧 2 −1 𝑤
√︀
2
𝑉3 = (𝑟 − 𝑥 ) tan 𝑑𝑥 − 𝑔 cos − 𝑤 2𝑔(ℎ − ℎ1 ) − (ℎ − ℎ1 )
𝑤 𝑧 2 𝑔
𝑉1,𝑚𝑎𝑥 = 𝑣1 (ℎ = ℎ1 )
𝑣2,𝑚𝑎𝑥 = 𝑣2 (ℎ = ℎ2 )
𝜋𝑎1
𝑣3,𝑚𝑎𝑥 = (3𝑔 2 + 𝑎21 )
6
𝑎1 = 𝑓 𝐷(1 − cos 𝛼)
1 − 2𝑘
𝛼 = sin−1
2(𝑓 − 𝑘)
√︀
𝑛 = 𝑅 − 𝑘𝐷 + 𝑘 2 𝐷2 − 𝑥2
𝑔 = 𝑟 sin 𝛼
𝑟 = 𝑓𝐷
ℎ2 = 𝐷 − ℎ1
𝑤 =𝑅−ℎ
√︀
𝑧 = 𝑟2 − 𝑔2
Parameters
D [float] Diameter of the main cylindrical section, [m]
L [float] Length of the main cylindrical section, [m]
f [float] Dish-radius parameter; fD = dish radius [1/m]
k [float] knuckle-radius parameter ; kD = knuckle radius [1/m]
h [float] Height, as measured up to where the fluid ends, [m]
headonly [bool, optional] Function returns only the volume of a single head side if True
Returns
V [float] Volume [m^3]
References
[1]
Examples
Matching example from [1], with inputs in inches and volume in gallons.
fluids.geometry.V_vertical_conical(D, a, h)
Calculates volume of a vertical tank with a convex conical bottom, according to [1]. No provision for the top of
the tank is made here.
(︂ )︂2 (︂ )︂
𝜋 𝐷ℎ ℎ
𝑉𝑓 = , ℎ<𝑎
4 𝑎 3
𝜋𝐷2
(︂ )︂
2𝑎
𝑉𝑓 = ℎ− , ℎ≥𝑎
4 3
Parameters
D [float] Diameter of the main cylindrical section, [m]
a [float] Distance the cone head extends under the main cylinder, [m]
h [float] Height, as measured up to where the fluid ends, [m]
Returns
V [float] Volume [m^3]
References
[1]
Examples
Matching example from [1], with inputs in inches and volume in gallons.
fluids.geometry.V_vertical_ellipsoidal(D, a, h)
Calculates volume of a vertical tank with a convex ellipsoidal bottom, according to [1]. No provision for the top
of the tank is made here.
(︂ )︂2 (︂ )︂
𝜋 𝐷ℎ ℎ
𝑉𝑓 = 𝑎− , ℎ<𝑎
4 𝑎 3
𝜋𝐷2 (︁ 𝑎 )︁
𝑉𝑓 = ℎ− , ℎ≥𝑎
4 3
Parameters
D [float] Diameter of the main cylindrical section, [m]
a [float] Distance the ellipsoid head extends under the main cylinder, [m]
h [float] Height, as measured up to where the fluid ends, [m]
Returns
V [float] Volume [m^3]
References
[1]
Examples
Matching example from [1], with inputs in inches and volume in gallons.
>>> V_vertical_ellipsoidal(132., 33., 24)/231.
783.3581681678445
fluids.geometry.V_vertical_spherical(D, a, h)
Calculates volume of a vertical tank with a convex spherical bottom, according to [1]. No provision for the top
of the tank is made here.
𝜋ℎ2 𝐷2
(︂ )︂
4ℎ
𝑉𝑓 = 2𝑎 + − , ℎ<𝑎
4 2𝑎 3
𝜋 2𝑎3 𝑎𝐷2
(︂ )︂
2
𝑉𝑓 = − + ℎ𝐷 , ℎ ≥ 𝑎
4 3 2
Parameters
D [float] Diameter of the main cylindrical section, [m]
a [float] Distance the spherical head extends under the main cylinder, [m]
h [float] Height, as measured up to where the fluid ends, [m]
Returns
V [float] Volume [m^3]
References
[1]
Examples
Matching example from [1], with inputs in inches and volume in gallons.
>>> V_vertical_spherical(132., 33., 24)/231.
583.6018352850442
fluids.geometry.V_vertical_torispherical(D, f, k, h)
Calculates volume of a vertical tank with a convex torispherical bottom, according to [1]. No provision for the
top of the tank is made here.
𝜋ℎ2 𝐷2
(︂ )︂
4ℎ
𝑉𝑓 = 2𝑎1 + 1 − , 0 ≤ ℎ ≤ 𝑎1
4 2𝑎1 3
[︃(︂ )︂2 ]︃ √
2𝑎31 𝑎1 𝐷12 𝜋𝑡𝑢2 𝜋𝑢3 𝑡 𝑠 𝑘2 𝐷2
(︂ )︂ [︂ (︂
𝜋 𝐷 2𝑢 − 𝑡 √︀
𝑉𝑓 = + + 𝜋𝑢 − 𝑘𝐷 +𝑠 + − + 𝜋𝐷(1 − 2𝑘) 𝑠 + 𝑡𝑢 − 𝑢2 + + c
4 3 2 2 2 3 4 4 2
[︃(︂ )︂2 ]︃ [︂ √
2𝑎31 𝑎1 𝐷12 𝜋𝑡3 𝑡 𝑠 𝑘2 𝐷2 𝜋𝐷2
(︂ )︂ ]︂
𝜋 𝜋𝑡 𝐷
𝑉𝑓 = + + − 𝑘𝐷 +𝑠 + + 𝜋𝐷(1 − 2𝑘) + sin−1 (cos 𝛼) + [ℎ − (𝑎1 + 𝑎2
4 3 2 2 2 12 4 2 4
1 − 2𝑘
𝛼 = sin−1
2(𝑓 − 𝑘)
𝑎1 = 𝑓 𝐷(1 − cos 𝛼)
𝑎2 = 𝑘𝐷 cos 𝛼
𝐷1 = 2𝑓 𝐷 sin 𝛼
𝑡 = 2𝑎2
𝑢 = ℎ − 𝑓 𝐷(1 − cos 𝛼)
Parameters
D [float] Diameter of the main cylindrical section, [m]
f [float] Dish-radius parameter; fD = dish radius [1/m]
k [float] knuckle-radius parameter ; kD = knuckle radius [1/m]
h [float] Height, as measured up to where the fluid ends, [m]
Returns
V [float] Volume [m^3]
References
[1]
Examples
Matching example from [1], with inputs in inches and volume in gallons.
fluids.geometry.V_vertical_conical_concave(D, a, h)
Calculates volume of a vertical tank with a concave conical bottom, according to [1]. No provision for the top
of the tank is made here.
𝜋𝐷2 (𝑎 + ℎ)3
(︂ )︂
𝑉 = 3ℎ + 𝑎 − , 0 ≤ ℎ < |𝑎|
12 𝑎2
𝜋𝐷2
𝑉 = (3ℎ + 𝑎), ℎ ≥ |𝑎|
12
Parameters
D [float] Diameter of the main cylindrical section, [m]
a [float] Negative distance the cone head extends inside the main cylinder, [m]
References
[1]
Examples
Matching example from [1], with inputs in inches and volume in gallons.
>>> V_vertical_conical_concave(D=113., a=-33, h=15)/231
251.15825565795188
fluids.geometry.V_vertical_ellipsoidal_concave(D, a, h)
Calculates volume of a vertical tank with a concave ellipsoidal bottom, according to [1]. No provision for the
top of the tank is made here.
𝜋𝐷2 (𝑎 + ℎ)2 (2𝑎 − ℎ)
(︂ )︂
𝑉 = 3ℎ + 2𝑎 − , 0 ≤ ℎ < |𝑎|
12 𝑎2
𝜋𝐷2
𝑉 = (3ℎ + 2𝑎), ℎ ≥ |𝑎|
12
Parameters
D [float] Diameter of the main cylindrical section, [m]
a [float] Negative distance the eppilsoid head extends inside the main cylinder, [m]
h [float] Height, as measured up to where the fluid ends, [m]
Returns
V [float] Volume [m^3]
References
[1]
Examples
Matching example from [1], with inputs in inches and volume in gallons.
>>> V_vertical_ellipsoidal_concave(D=113., a=-33, h=15)/231
44.84968851034856
fluids.geometry.V_vertical_spherical_concave(D, a, h)
Calculates volume of a vertical tank with a concave spherical bottom, according to [1]. No provision for the top
of the tank is made here.
3𝐷2 + 12𝑎2
[︂ (︂ )︂]︂
𝜋 2 𝑎 2 2 3
𝑉 = 3𝐷 ℎ + (3𝐷 + 4𝑎 ) + (𝑎 + ℎ) 4 − , 0 ≤ ℎ < |𝑎|
12 2 2𝑎(𝑎 + ℎ)
𝜋 [︁ 2 𝑎 ]︁
𝑉 = 3𝐷 ℎ + (3𝐷2 + 4𝑎2 ) , ℎ ≥ |𝑎|
12 2
Parameters
D [float] Diameter of the main cylindrical section, [m]
a [float] Negative distance the spherical head extends inside the main cylinder, [m]
h [float] Height, as measured up to where the fluid ends, [m]
Returns
V [float] Volume [m^3]
References
[1]
Examples
Matching example from [1], with inputs in inches and volume in gallons.
fluids.geometry.V_vertical_torispherical_concave(D, f, k, h)
Calculates volume of a vertical tank with a concave torispherical bottom, according to [1]. No provision for the
top of the tank is made here.
𝜋𝐷2 ℎ
𝑉 = − 𝑣1 (ℎ = 𝑎1 + 𝑎2 ) + 𝑣1 (ℎ = 𝑎1 + 𝑎2 − ℎ), 0 ≤ ℎ < 𝑎2
4
𝜋𝐷2 ℎ
𝑉 = − 𝑣1 (ℎ = 𝑎1 + 𝑎2 ) + 𝑣2 (ℎ = 𝑎1 + 𝑎2 − ℎ), 𝑎2 ≤ ℎ < 𝑎1 + 𝑎2
4
𝜋𝐷2 ℎ
𝑉 = − 𝑣1 (ℎ = 𝑎1 + 𝑎2 ) + 0, ℎ ≥ 𝑎1 + 𝑎2
4
[︃(︂ )︂2 ]︃ √
2𝑎31 𝑎1 𝐷12 𝜋𝑡𝑢2 𝜋𝑢3 𝑡 𝑠 𝑘2 𝐷2
(︂ )︂ [︂ (︂
𝜋 𝐷 2𝑢 − 𝑡 √︀ 2
𝑣1 = + + 𝜋𝑢 − 𝑘𝐷 + 𝑠 + − + 𝜋𝐷(1 − 2𝑘) 𝑠 + 𝑡𝑢 − 𝑢 + + c
4 3 2 2 2 3 4 4 2
𝜋ℎ2 𝐷2
(︂ )︂
4ℎ
𝑣2 = 2𝑎1 + 1 −
4 2𝑎1 3
1 − 2𝑘
𝛼 = sin−1
2(𝑓 − 𝑘)
𝑎1 = 𝑓 𝐷(1 − cos 𝛼)
𝑎2 = 𝑘𝐷 cos 𝛼
𝐷1 = 2𝑓 𝐷 sin 𝛼
𝑡 = 2𝑎2
𝑢 = ℎ − 𝑓 𝐷(1 − cos 𝛼)
Parameters
D [float] Diameter of the main cylindrical section, [m]
References
[1]
Examples
Matching example from [1], with inputs in inches and volume in gallons.
fluids.geometry.a_torispherical(D, f, k)
Calculates depth of a torispherical head according to [1].
𝑎 = 𝑎1 + 𝑎2
1 − 2𝑘
𝛼 = sin−1
2(𝑓 − 𝑘)
𝑎1 = 𝑓 𝐷(1 − cos 𝛼)
𝑎2 = 𝑘𝐷 cos 𝛼
Parameters
D [float] Diameter of the main cylindrical section, [m]
f [float] Dish-radius parameter; fD = dish radius [1/m]
k [float] knuckle-radius parameter ; kD = knuckle radius [1/m]
Returns
a [float] Depth of head [m]
References
[1]
Examples
fluids.geometry.SA_ellipsoidal_head(D, a)
Calculates the surface area of an ellipsoidal head according to [1]. Formula below is for the full shape, the result
of which is halved. The formula also does not support D being larger than a; this is ensured by simply swapping
the variables if necessary, as geometrically the result is the same. In the equations, a is the same and c is D.
𝜋𝑐2
(︂ )︂
2 1 + 𝑒1
𝑆𝐴 = 2𝜋𝑎 + ln
𝑒1 1 − 𝑒1
√︂
𝑐2
𝑒1 = 1 − 2
𝑎
Parameters
D [float] Diameter of the main cylindrical section, [m]
a [float] Distance the ellipsoidal head extends, [m]
Returns
SA [float] Surface area [m^2]
References
[1]
Examples
Spherical case
>>> SA_ellipsoidal_head(2, 1)
6.283185307179586
fluids.geometry.SA_conical_head(D, a)
Calculates the surface area of a conical head according to [1].
√︃ (︂ )︂2
𝜋𝐷 2
𝐷
𝑆𝐴 = 𝑎 +
2 2
Parameters
D [float] Diameter of the main cylindrical section, [m]
a [float] Distance the conical head extends, [m]
Returns
SA [float] Surface area [m^2]
References
[1]
Examples
>>> SA_conical_head(2, 1)
4.442882938158366
fluids.geometry.SA_guppy_head(D, a)
Calculates the surface area of a guppy head according to [1]. Some work was involved in combining formulas
for the ellipse of the head, and the conic section on the sides.
𝜋𝐷 √︀ 2 𝜋𝐷
𝑆𝐴 = 𝐷 + 𝑎2 + 𝑎
4 2
Parameters
D [float] Diameter of the main cylindrical section, [m]
a [float] Distance the conical head extends, [m]
Returns
SA [float] Surface area [m^2]
References
[1]
Examples
>>> SA_guppy_head(2, 1)
6.654000019110157
𝑆1 = 2𝜋𝐷2 𝑓𝑑 𝛼
(︂ (︂ (︂ )︂ (︂ )︂)︂)︂
𝛼 − 𝛼2 𝛼1 − 𝛼2
𝑆2 = 2𝜋𝐷2 𝑓𝑘 𝛼 − 𝛼1 + (0.5 − 𝑓𝑘 ) sin−1 − sin−1
𝑓𝑘 𝑓𝑘
⎛ √︃ ⎞
(︂ )︂2
0.5 − 𝑓𝑘 ⎠
𝛼1 = 𝑓𝑑 ⎝1 − 1 −
𝑓𝑑 − 𝑓𝑘
√︁
𝛼2 = 𝑓𝑑 − 𝑓𝑑2 − 2𝑓𝑑 𝑓𝑘 + 𝑓𝑘 − 0.25
𝑎
𝛼=
𝐷𝑖
Parameters
D [float] Diameter of the main cylindrical section, [m]
fd [float] Dish-radius parameter = f; fD = dish radius [1/m]
fk [float] knuckle-radius parameter = k; kD = knuckle radius [1/m]
Returns
SA [float] Surface area [m^2]
References
[1]
Examples
References
[1]
Examples
Examples
fluids.geometry.sphericity(A, V)
Returns the sphericity of a particle of surface area A and volume V. Sphericity is the ratio of the surface area of
a sphere with the same volume as the particle (equivalent diameter) to the actual surface area of the particle.
1 2
A of sphere with 𝑉𝑝 𝜋 3 (6𝑉𝑝 ) 3
Ψ= =
𝐴𝑝 𝐴𝑝
Parameters
A [float] Surface area of particle, [m^2]
V [float] Volume of particle, [m^3]
Returns
Psi [float] Sphericity [-]
Notes
All non-spherical particles have spericities less than 1 but greater than 0. Many common geometrical shapes
have their results calculated exactly in [2].
References
[1], [2]
Examples
For a cube of side length a=3, the surface area is 6*a^2=54 and volume a^3=27. Its sphericity is then:
>>> sphericity(A=54, V=27)
0.8059959770082346
fluids.geometry.aspect_ratio(Dmin, Dmax)
Returns the aspect ratio of a shape with minimum and maximum dimension, Dmin and Dmax.
𝐷𝑚𝑖𝑛
𝐴𝑅 =
𝐷𝑚𝑎𝑥
Parameters
Dmin [float] Minimum dimension, [m]
Dmax [float] Maximum dimension, [m]
Returns
a_r [float] Aspect ratio [-]
Examples
>>> aspect_ratio(.2, 2)
0.1
fluids.geometry.circularity(A, P)
Returns the circularity of a shape with area A and perimeter P.
4𝜋𝐴
𝑓𝑐𝑖𝑟𝑐 =
𝑃2
Defined to be 1 for a circle. Used to characterize particles. Any non-circular shape must have a circularity less
than one.
Parameters
A [float] Area of the shape, [m^2]
P [float] Perimeter of the shape, [m]
Returns
f_circ [float] Circularity of the shape [-]
Examples
fluids.geometry.A_cylinder(D, L)
Returns the surface area of a cylinder.
𝜋𝐷2
𝐴 = 𝜋𝐷𝐿 + 2 ·
4
Parameters
D [float] Diameter of the cylinder, [m]
L [float] Length of the cylinder, [m]
Returns
A [float] Surface area [m^2]
Examples
fluids.geometry.V_cylinder(D, L)
Returns the volume of a cylinder.
𝜋𝐷2
𝑉 = 𝐿
4
Parameters
D [float] Diameter of the cylinder, [m]
L [float] Length of the cylinder, [m]
Returns
V [float] Volume [m^3]
Examples
fluids.geometry.A_hollow_cylinder(Di, Do, L)
Returns the surface area of a hollow cylinder.
𝜋𝐷𝑜2 𝜋𝐷𝑖2
𝐴 = 𝜋𝐷𝑜 𝐿 + 𝜋𝐷𝑖 𝐿 + 2 · −2·
4 4
Parameters
Di [float] Diameter of the hollow in the cylinder, [m]
Do [float] Diameter of the exterior of the cylinder, [m]
L [float] Length of the cylinder, [m]
Returns
A [float] Surface area [m^2]
Examples
fluids.geometry.V_hollow_cylinder(Di, Do, L)
Returns the volume of a hollow cylinder.
𝜋𝐷𝑜2 𝜋𝐷𝑖2
𝑉 = 𝐿−𝐿
4 4
Parameters
Di [float] Diameter of the hollow in the cylinder, [m]
Do [float] Diameter of the exterior of the cylinder, [m]
L [float] Length of the cylinder, [m]
Returns
V [float] Volume [m^3]
Examples
fluids.geometry.A_multiple_hole_cylinder(Do, L, holes)
Returns the surface area of a cylinder with multiple holes. Calculation will naively return a negative value or
other impossible result if the number of cylinders added is physically impossible. Holes may be of different
shapes, but must be perpendicular to the axis of the cylinder.
𝑛 (︂
𝜋𝐷𝑜2 ∑︁ 𝜋𝐷𝑖2
)︂
𝐴 = 𝜋𝐷𝑜 𝐿 + 2 · + 𝜋𝐷𝑖 𝐿 − 2 ·
4 𝑖
4
Parameters
Do [float] Diameter of the exterior of the cylinder, [m]
L [float] Length of the cylinder, [m]
holes [list] List of tuples containing (diameter, count) pairs of descriptions for each of the holes
sizes.
Returns
A [float] Surface area [m^2]
Examples
fluids.geometry.V_multiple_hole_cylinder(Do, L, holes)
Returns the solid volume of a cylinder with multiple cylindrical holes. Calculation will naively return a negative
value or other impossible result if the number of cylinders added is physically impossible.
𝜋𝐷𝑜2 𝜋𝐷𝑖2
𝑉 = 𝐿−𝐿
4 4
Parameters
Do [float] Diameter of the exterior of the cylinder, [m]
L [float] Length of the cylinder, [m]
holes [list] List of tuples containing (diameter, count) pairs of descriptions for each of the holes
sizes.
Returns
V [float] Volume [m^3]
Examples
pitch_parallel [float, optional] The distance between tube center along a line parallel to the
flow; has been called longitudinal pitch, pp, s2, SL, and p2, [m]
pitch_normal [float, optional] The distance between tube centers in a line 90° to the line of
flow; has been called the transverse pitch, pn, s1, ST, and p1, [m]
Returns
angle [float] The angle of the tube layout, [degrees]
pitch [float] The shortest distance between tube centers; defined in relation to the flow direction
only, [m]
pitch_parallel [float] The distance between tube center along a line parallel to the flow; has
been called longitudinal pitch, pp, s2, SL, and p2, [m]
pitch_normal [float] The distance between tube centers in a line 90° to the line of flow; has
been called the transverse pitch, pn, s1, ST, and p1, [m]
Notes
For the 90 and 0 degree case, the normal or parallel pitches can be zero; given the angle and the zero value,
obviously is it not possible to calculate the pitch and a math error will be raised.
No exception will be raised if three or four inputs are provided; the other two will simply be calculated according
to the list of if statements used.
An exception will be raised if only one input is provided.
References
[1]
Examples
(︂ )︂2 [︃ (︂ )︂2 ]︃
1 𝑄𝑝 𝑀𝑅
𝑃1 − 𝑃2 = 𝜌𝑝 (1 + 𝐾𝑝 ) − 𝐶(1 + 𝐾𝑠 )
2 𝐴𝑛 1−𝑅
𝑃5 − 𝑃2
Pressure ratio = 𝑁 =
𝑃1 − 𝑃5
𝑄𝑠
Volume flow ratio = 𝑀 =
𝑄𝑝
𝑄𝑠 (𝑃5 − 𝑃2 )
Jet pump efficiency = 𝜂 = 𝑀 · 𝑁 =
𝑄𝑝 (𝑃1 − 𝑃5 )
𝐴𝑛
𝑅=
𝐴𝑚
𝜌𝑠
𝐶=
𝜌𝑝
There is no guarantee a solution will be found for the provided variable values, but every combination of two
missing variables are supported.
Parameters
rhop [float] The density of the primary (motive) fluid, [kg/m^3]
rhos [float] The density of the secondary fluid (drawn from the vacuum chamber), [kg/m^3]
Kp [float, optional] The primary nozzle loss coefficient, [-]
Ks [float, optional] The secondary inlet loss coefficient, [-]
Km [float, optional] The mixing chamber loss coefficient, [-]
Kd [float, optional] The diffuser loss coefficient, [-]
d_nozzle [float, optional] The inside diameter of the primary fluid’s nozle, [m]
d_mixing [float, optional] The diameter of the mixing chamber, [m]
d_diffuser [float, optional] The diameter of the diffuser at its exit, [m]
Qp [float, optional] The volumetric flow rate of the primary fluid, [m^3/s]
Qs [float, optional] The volumetric flow rate of the secondary fluid, [m^3/s]
P1 [float, optional] The pressure of the primary fluid entering its nozzle, [Pa]
P2 [float, optional] The pressure of the secondary fluid at the entry of the ejector, [Pa]
P5 [float, optional] The pressure at the exit of the diffuser, [Pa]
nozzle_retracted [bool, optional] Whether or not the primary nozzle’s exit is before the mixing
chamber, or somewhat inside it, [-]
max_variations [int, optional] When the initial guesses do not lead to a converged solution, try
this many more guesses at converging the problem, [-]
Returns
solution [dict] Dictionary of calculated parameters, [-]
Notes
• The primary nozzle is in a straight line with the middle of the mixing chamber.
• Both fluids are incompressible, and have no excess volume on mixing.
• Primary and secondary flows both enter the mixing throat with their own uniform velocity distribution; the
mixed stream leaves with a uniform velocity profile.
• If the secondary fluid is a gas, it undergoes isothermal compression in the throat and diffuser.
• If the secondary fluid is a gas or contains a bubbly gas, it is homogeneously distributed in a continuous
liquid phase.
• Heat transfer between the fluids is negligible - there is no change in density due to temperature changes
• The change in the solubility of a dissolved gas, if there is one, is negigibly changed by temperature or
pressure changes.
The model can be derived from the equations in liquid_jet_pump_ancillary and the following:
Conservation of energy at the primary nozzle, secondary inlet, and diffuser exit: .. math:
𝜌𝑝 𝑄𝑝 + 𝜌𝑠 𝑄𝑠 = 𝜌𝑑 𝑄𝑑
References
Examples
Rearrange to express V3 in terms of Vn, and using the density ratio C, the expression becomes:
[︃ (︂ )︂2 ]︃
1 2 𝑀𝑅
𝑃1 − 𝑃2 = 𝜌𝑝 𝑉𝑛 (1 + 𝐾𝑝 ) − 𝐶(1 + 𝐾𝑠 )
2 1−𝑅
For P, P2, Qs, and Qp, the equation can be rearranged explicitly for them. For d_mixing and d_nozzle, a bounded
solver is used searching between 1E-9 m and 20 times the other diameter which was specified.
Parameters
rhop [float] The density of the primary (motive) fluid, [kg/m^3]
rhos [float] The density of the secondary fluid (drawn from the vacuum chamber), [kg/m^3]
Kp [float] The primary nozzle loss coefficient, [-]
Ks [float] The secondary inlet loss coefficient, [-]
d_nozzle [float, optional] The inside diameter of the primary fluid’s nozle, [m]
d_mixing [float, optional] The diameter of the mixing chamber, [m]
Qp [float, optional] The volumetric flow rate of the primary fluid, [m^3/s]
Qs [float, optional] The volumetric flow rate of the secondary fluid, [m^3/s]
P1 [float, optional] The pressure of the primary fluid entering its nozzle, [Pa]
P2 [float, optional] The pressure of the secondary fluid at the entry of the ejector, [Pa]
Returns
solution [float] The parameter not specified (one of d_nozzle, d_mixing, Qp, Qs, P1, or P2),
(units of m, m, m^3/s, m^3/s, Pa, or Pa respectively)
Notes
The following SymPy code was used to obtain the analytical formulas ( they are not shown here due to their
length):
>>> from sympy import *
>>> A_nozzle, A_mixing, Qs, Qp, P1, P2, rhos, rhop, Ks, Kp = symbols('A_nozzle, A_
˓→mixing, Qs, Qp, P1, P2, rhos, rhop, Ks, Kp')
>>> R = A_nozzle/A_mixing
>>> M = Qs/Qp
>>> C = rhos/rhop
>>> rhs = rhop/2*(Qp/A_nozzle)**2*((1+Kp) - C*(1 + Ks)*((M*R)/(1-R))**2 )
>>> new = Eq(P1 - P2, rhs)
>>> #solve(new, Qp)
>>> #solve(new, Qs)
>>> #solve(new, P1)
>>> #solve(new, P2)
References
[1]
Examples
Notes
References
[1]
Examples
15.143198226374668
67.7575069865228
Notes
References
[1], [2]
Examples
fluids.mixing.time_helical_ribbon_Grenville(Kp, N)
Calculates product of time required for mixing in a helical ribbon coil in the laminar regime according to the
Grenville [2] method recommended in [1].
Parameters
Kp [float] Product of power number and Reynolds number for laminar regime []
N [float] Speed of impeller, [revolutions/s]
Returns
t [float] Time for homogeneity [s]
Notes
Degree of homogeneity is not specified. Example is from example 9-6 in [1]. Confirmed.
References
[1], [2]
Examples
𝑇 𝑂𝐷𝑂
Parameters
Q1 [float] Volumetric flow rate of larger stream [m^3/s]
Q2 [float] Volumetric flow rate of smaller stream [m^3/s]
D [float] Diameter of pipe after tee [m]
D2 [float] Diameter of mixing inlet, optional (optimally calculated if not specified) [m]
n [float] Number of jets, 1 to 4 []
pipe_diameters [float] Number of diameters along tail pipe for CoV calculation, 0 to 5 []
Returns
CoV [float] Standard deviation of dimensionless concentration [-]
Notes
Not specified if this works for liquid also, though probably not. Example is from example Example 9-6 in [1].
Low precision used in example.
References
[1], [2]
Examples
Notes
References
[1], [2]
Examples
fluids.mixing.K_motionless_mixer(K, L, D, fd)
Calculates loss coefficient of a motionless mixer with a regression parameter in [1] and originally in [2].
𝐿
𝐾 = 𝐾𝐿/𝑇 𝑓
𝐷
Parameters
K [float] Correlation parameter specific to a mixer’s design, [-] Also specific to laminar or
turbulent regime.
L [float] Length of the motionless mixer [m]
D [float] Diameter of pipe [m]
fd [float] Darcy friction factor [-]
Returns
K [float] Loss coefficient of mixer [-]
Notes
References
[1], [2]
Examples
fluids.open_flow.Q_weir_V_Shen(h1, angle=90)
Calculates the flow rate across a V-notch (triangular) weir from the height of the liquid above the tip of the
notch, and with the angle of the notch. Most of these type of weir are 90 degrees. Model from [1] as reproduced
in [2].
Flow rate is given by:
(︂ )︂
𝜃 √
𝑄 = 𝐶 tan 𝑔(ℎ1 + 𝑘)2.5
2
Parameters
h1 [float] Height of the fluid above the notch [m]
angle [float, optional] Angle of the notch [degrees]
Returns
Q [float] Volumetric flow rate across the weir [m^3/s]
Notes
angles = [20, 40, 60, 80, 100] Cs = [0.59, 0.58, 0.575, 0.575, 0.58] k = [0.0028, 0.0017, 0.0012, 0.001, 0.001]
The following limits apply to the use of this equation:
h1 >= 0.05 m h2 > 0.45 m h1/h2 <= 0.4 m b > 0.9 m
(︂ )︂
ℎ1 𝜃
tan <2
𝑏 2
References
[1], [2]
Examples
fluids.open_flow.Q_weir_rectangular_Kindsvater_Carter(h1, h2, b)
Calculates the flow rate across rectangular weir from the height of the liquid above the crest of the notch, the
liquid depth beneath it, and the width of the notch. Model from [1] as reproduced in [2].
Flow rate is given by:
(︂ )︂
ℎ1 √
𝑄 = 0.554 1 − 0.0035 (𝑏 + 0.0025) 𝑔(ℎ1 + 0.0001)1.5
ℎ2
Parameters
h1 [float] Height of the fluid above the crest of the weir [m]
h2 [float] Height of the fluid below the crest of the weir [m]
b [float] Width of the rectangular flow section of the weir [m]
Returns
Q [float] Volumetric flow rate across the weir [m^3/s]
Notes
References
[1], [2]
Examples
Parameters
h1 [float] Height of the fluid above the crest of the weir [m]
h2 [float] Height of the fluid below the crest of the weir [m]
b [float] Width of the rectangular flow section of the weir [m]
Notes
References
[1], [2]
Examples
fluids.open_flow.Q_weir_rectangular_full_Ackers(h1, h2, b)
Calculates the flow rate across a full-channel rectangular weir from the height of the liquid above the crest of the
weir, the liquid depth beneath it, and the width of the channel. Model from [1] as reproduced in [2], confirmed
with [3].
Flow rate is given by:
(︂ )︂
ℎ1 √
𝑄 = 0.564 1 + 0.150 𝑏 𝑔(ℎ1 + 0.001)1.5
ℎ2
Parameters
h1 [float] Height of the fluid above the crest of the weir [m]
h2 [float] Height of the fluid below the crest of the weir [m]
b [float] Width of the channel section [m]
Returns
Q [float] Volumetric flow rate across the weir [m^3/s]
Notes
References
Examples
fluids.open_flow.Q_weir_rectangular_full_SIA(h1, h2, b)
Calculates the flow rate across a full-channel rectangular weir from the height of the liquid above the crest of
the weir, the liquid depth beneath it, and the width of the channel. Model from [1] as reproduced in [2].
Flow rate is given by:
)︂2
2√
(︂ )︂ (︂
0.000615 √ ℎ1 √
𝑄= 2 0.615 + 𝑏 𝑔ℎ1 + 0.5 𝑏 𝑔ℎ1.5
1
3 ℎ1 + 0.0016 ℎ1 + ℎ2
Parameters
h1 [float] Height of the fluid above the crest of the weir [m]
h2 [float] Height of the fluid below the crest of the weir [m]
b [float] Width of the channel section [m]
Returns
Q [float] Volumetric flow rate across the weir [m^3/s]
Notes
References
[1], [2]
Examples
Example compares terribly with the Ackers expression - probable error in [2]. DO NOT USE.
>>> Q_weir_rectangular_full_SIA(h1=0.3, h2=0.4, b=2)
1.1875825055400384
fluids.open_flow.Q_weir_rectangular_full_Rehbock(h1, h2, b)
Calculates the flow rate across a full-channel rectangular weir from the height of the liquid above the crest of
the weir, the liquid depth beneath it, and the width of the channel. Model from [1] as reproduced in [2].
Flow rate is given by:
2√
(︂ )︂
ℎ1 √
𝑄= 2 0.602 + 0.0832 𝑏 𝑔(ℎ1 + 0.00125)1.5
3 ℎ2
Parameters
h1 [float] Height of the fluid above the crest of the weir [m]
h2 [float] Height of the fluid below the crest of the weir [m]
Notes
References
[1], [2]
Examples
fluids.open_flow.Q_weir_rectangular_full_Kindsvater_Carter(h1, h2, b)
Calculates the flow rate across a full-channel rectangular weir from the height of the liquid above the crest of
the weir, the liquid depth beneath it, and the width of the channel. Model from [1] as reproduced in [2].
Flow rate is given by:
2√
(︂ )︂
ℎ1 √
𝑄= 2 0.602 + 0.0832 𝑏 𝑔(ℎ1 + 0.00125)1.5
3 ℎ2
Parameters
h1 [float] Height of the fluid above the crest of the weir [m]
h2 [float] Height of the fluid below the crest of the weir [m]
b [float] Width of the channel section [m]
Returns
Q [float] Volumetric flow rate across the weir [m^3/s]
Notes
References
[1], [2]
Examples
fluids.open_flow.V_Manning(Rh, S, n)
Predicts the average velocity of a flow across an open channel of hydraulic radius Rh and slope S, given the
Manning roughness coefficient n.
Flow rate is given by:
1 2/3 0.5
𝑉 = 𝑅 𝑆
𝑛 ℎ
Parameters
Rh [float] Hydraulic radius of the channel, Flow Area/Wetted perimeter [m]
S [float] Slope of the channel, m/m [-]
n [float] Manning roughness coefficient [s/m^(1/3)]
Returns
V [float] Average velocity of the channel [m/s]
Notes
References
[1], [2]
Examples
fluids.open_flow.n_Manning_to_C_Chezy(n, Rh)
Converts a Manning roughness coefficient to a Chezy coefficient, given the hydraulic radius of the channel.
1 1/6
𝐶= 𝑅
𝑛 ℎ
Parameters
n [float] Manning roughness coefficient [s/m^(1/3)]
Rh [float] Hydraulic radius of the channel, Flow Area/Wetted perimeter [m]
Returns
C [float] Chezy coefficient [m^0.5/s]
References
[1]
Examples
fluids.open_flow.C_Chezy_to_n_Manning(C, Rh)
Converts a Chezy coefficient to a Manning roughness coefficient, given the hydraulic radius of the channel.
1 1/6
𝑛= 𝑅
𝐶 ℎ
Parameters
C [float] Chezy coefficient [m^0.5/s]
Rh [float] Hydraulic radius of the channel, Flow Area/Wetted perimeter [m]
Returns
n [float] Manning roughness coefficient [s/m^(1/3)]
References
[1]
Examples
fluids.open_flow.V_Chezy(Rh, S, C)
Predicts the average velocity of a flow across an open channel of hydraulic radius Rh and slope S, given the
Chezy coefficient C.
Flow rate is given by:
√︀
𝑉 =𝐶 𝑆𝑅ℎ
Parameters
Rh [float] Hydraulic radius of the channel, Flow Area/Wetted perimeter [m]
S [float] Slope of the channel, m/m [-]
C [float] Chezy coefficient [m^0.5/s]
Returns
V [float] Average velocity of the channel [m/s]
References
Examples
Examples
18782.499710673364
It is also often presented with a term for sphericity, which is multiplied by particle diameter everywhere in the
equation. However, this is highly empirical and better correlations for beds of differently-shaped particles exist.
To use sphericity in this model, multiple the input particle diameter by the spericity separately.
In the review of [2], it is expressed in terms of a parameter fp, shown below. This is a convenient means of
expressing all forms of pressure drop in packed beds correlations in a way that allows for easy comparison.
(1 − 𝜖)2
(︂ (︂ )︂)︂
𝑅𝑒
𝑓𝑝 = 150 + 1.75
1−𝜖 𝜖3 𝑅𝑒
∆𝑃 𝑑𝑝
𝑓𝑝 =
𝜌𝑣𝑠2 𝐿
𝜌𝑣𝑠 𝑑𝑝
𝑅𝑒 =
𝜇
Parameters
dp [float] Particle diameter of spheres [m]
voidage [float] Void fraction of bed packing [-]
vs [float] Superficial velocity of the fluid (volumetric flow rate/cross-sectional area)[m/s]
rho [float] Density of the fluid [kg/m^3]
mu [float] Viscosity of the fluid, [Pa*s]
L [float, optional] Length the fluid flows in the packed bed [m]
Returns
dP [float] Pressure drop across the bed [Pa]
Notes
The first term in this equation represents laminar loses, and the second, turbulent loses. Developed with data
from spheres, sand, and pulverized coke. Fluids tested were carbon dioxide, nitrogen, methane, and hydrogen.
Validity range shown in [3] is 1 < 𝑅𝑒𝐸𝑟𝑔 < 2300. Over predicts pressure drop for 𝑅𝑒𝐸𝑟𝑔 > 700.
References
Examples
∆𝑃 𝑑𝑝
𝑓𝑝 =
𝜌𝑣𝑠2 𝐿
𝜌𝑣𝑠 𝑑𝑝
𝑅𝑒 =
𝜇
Parameters
dp [float] Particle diameter of spheres [m]
voidage [float] Void fraction of bed packing [-]
vs [float] Superficial velocity of the fluid (volumetric flow rate/cross-sectional area)[m/s]
rho [float] Density of the fluid [kg/m^3]
mu [float] Viscosity of the fluid, [Pa*s]
L [float, optional] Length the fluid flows in the packed bed [m]
Returns
dP [float] Pressure drop across the bed [Pa]
Notes
Validity range shown in [2] as for a range of 460 < 𝑅𝑒 < 14600. 0.3760 < 𝜖 < 0.3901. Developed with data
from rough granular ball propellants beds, with air.
References
Examples
∆𝑃 𝑑𝑝
𝑓𝑝 =
𝜌𝑣𝑠2 𝐿
𝜌𝑣𝑠 𝑑𝑝
𝑅𝑒 =
𝜇
Parameters
dp [float] Particle diameter of spheres [m]
voidage [float] Void fraction of bed packing [-]
vs [float] Superficial velocity of the fluid (volumetric flow rate/cross-sectional area)[m/s]
rho [float] Density of the fluid [kg/m^3]
mu [float] Viscosity of the fluid, [Pa*s]
L [float, optional] Length the fluid flows in the packed bed [m]
Returns
dP [float] Pressure drop across the bed [Pa]
Notes
Validity range shown in [1] as for a range of 733 < 𝑅𝑒 < 126, 670. 0.3804 < 𝜖 < 0.4304. Developed from
data of spherical glass beads.
References
[1], [2]
Examples
∆𝑃 𝑑𝑝
𝑓𝑝 =
𝜌𝑣𝑠2 𝐿
𝜌𝑣𝑠 𝑑𝑝
𝑅𝑒 =
𝜇
Parameters
dp [float] Particle diameter of spheres [m]
voidage [float] Void fraction of bed packing [-]
vs [float] Superficial velocity of the fluid (volumetric flow rate/cross-sectional area)[m/s]
rho [float] Density of the fluid [kg/m^3]
Notes
Valid in [1], [2], and [3] for a range of 300 < 𝑅𝑒𝐸𝑟𝑔 < 60, 000.
References
Examples
(1 − 𝜖)1.2
𝑓𝑝 = 6.8
𝑅𝑒0.2 𝜖3
∆𝑃 𝑑𝑝
𝑓𝑝 =
𝜌𝑣𝑠2 𝐿
𝜌𝑣𝑠 𝑑𝑝
𝑅𝑒 =
𝜇
Parameters
dp [float] Particle diameter of spheres [m]
voidage [float] Void fraction of bed packing [-]
vs [float] Superficial velocity of the fluid (volumetric flow rate/cross-sectional area)[m/s]
rho [float] Density of the fluid [kg/m^3]
mu [float] Viscosity of the fluid, [Pa*s]
L [float, optional] Length the fluid flows in the packed bed [m]
Returns
dP [float] Pressure drop across the bed [Pa]
Notes
Valid in [1], [2], and [3] for a range of 300 < 𝑅𝑒𝐸𝑟𝑔 < 60, 000.
References
Examples
∆𝑃 𝑑𝑝
𝑓𝑝 =
𝜌𝑣𝑠2 𝐿
𝜌𝑣𝑠 𝑑𝑝
𝑅𝑒 =
𝜇
Parameters
dp [float] Particle diameter of spheres [m]
voidage [float] Void fraction of bed packing [-]
vs [float] Superficial velocity of the fluid (volumetric flow rate/cross-sectional area)[m/s]
rho [float] Density of the fluid [kg/m^3]
mu [float] Viscosity of the fluid, [Pa*s]
L [float, optional] Length the fluid flows in the packed bed [m]
Returns
dP [float] Pressure drop across the bed [Pa]
Notes
Original has not been reviewed. In [2], is stated as for a range of 2 < 𝑅𝑒𝐸𝑟𝑔 < 20, 000. In [3]_, is stated as for
a range of 0.01 < 𝑅𝑒𝐸𝑟𝑔 < 40, 000.
References
Examples
∆𝑃 𝑑𝑝
𝑓𝑝 =
𝜌𝑣𝑠2 𝐿
𝜌𝑣𝑠 𝑑𝑝
𝑅𝑒 =
𝜇
Parameters
dp [float] Particle diameter of spheres [m]
voidage [float] Void fraction of bed packing [-]
vs [float] Superficial velocity of the fluid (volumetric flow rate/cross-sectional area)[m/s]
rho [float] Density of the fluid [kg/m^3]
mu [float] Viscosity of the fluid, [Pa*s]
L [float, optional] Length the fluid flows in the packed bed [m]
Returns
dP [float] Pressure drop across the bed [Pa]
Notes
References
[1], [2]
Examples
𝑓𝑣 = 160 + 2.81𝑅𝑒0.904
𝐸𝑟𝑔
∆𝑃 𝑑2𝑝 𝜖3
𝑓𝑣 =
𝜇𝑣𝑠 𝐿 (1 − 𝜖)2
𝜌𝑣𝑠 𝑑𝑝
𝑅𝑒𝐸𝑟𝑔 =
𝜇(1 − 𝜖)
Parameters
Notes
References
[1]
Examples
Notes
References
[1], [2]
Examples
∆𝑃 𝑑𝑝
𝑓𝑝 =
𝜌𝑣𝑠2 𝐿
𝜌𝑣𝑠 𝑑𝑝
𝑅𝑒 =
𝜇
Parameters
dp [float] Particle diameter of spheres [m]
voidage [float] Void fraction of bed packing [-]
vs [float] Superficial velocity of the fluid (volumetric flow rate/cross-sectional area)[m/s]
rho [float] Density of the fluid [kg/m^3]
mu [float] Viscosity of the fluid, [Pa*s]
L [float, optional] Length the fluid flows in the packed bed [m]
Returns
dP [float] Pressure drop across the bed [Pa]
Notes
The validity range shown in [2] is a range of 0.1 < 𝑅𝑒 < 100000.
References
Examples
Notes
0.001 < 𝑅𝑒𝐸𝑟𝑔 < 1000 This equation is valid for void fractions between 0.3 and 0.8. Cited as by Bernshtein.
References
[1], [2]
Examples
Notes
Uses data from other sources only. Correlation will underestimate pressure drop if tube diameter is not provided.
Limits are specified in [1] as: .. math:
References
[1], [2]
Examples
1255.1625662548427
𝜌𝑣𝑠 𝐷𝑝
𝑅𝑒𝑝 =
𝜇
Parameters
dp [float] Particle diameter of spheres [m]
voidage [float] Void fraction of bed packing [-]
vs [float] Superficial velocity of the fluid (volumetric flow rate/cross-sectional area)[m/s]
rho [float] Density of the fluid [kg/m^3]
mu [float] Viscosity of the fluid, [Pa*s]
L [float, optional] Length the fluid flows in the packed bed [m]
Dt [float, optional] Diameter of the tube, [m]
Returns
dP [float] Pressure drop across bed [Pa]
Notes
10 < 𝑅𝐸𝑝 < 2500 if Dc/D > 50, set to 2.2. a = 0.061 for epsilon < 0.4, 0.050 for > 0.4.
References
[1], [2]
Examples
Custom example:
1148.1905244077548
If a packing ratio is so low, it is important to use this model because in some cases its predictions are as low as
half those of other models!
(︂ )︂
𝑑𝑝
𝑓𝑣 = 180 + 9.5374 − 2.8054 𝑅𝑒0.97𝐸𝑟𝑔
𝐷𝑡
∆𝑃 𝑑2𝑝 𝜖3
𝑓𝑣 =
𝜇𝑣𝑠 𝐿 (1 − 𝜖)2
𝜌𝑣𝑠 𝑑𝑝
𝑅𝑒𝐸𝑟𝑔 =
𝜇(1 − 𝜖)
Parameters
dp [float] Particle diameter of spheres [m]
voidage [float] Void fraction of bed packing [-]
vs [float] Superficial velocity of the fluid (volumetric flow rate/cross-sectional area)[m/s]
rho [float] Density of the fluid [kg/m^3]
mu [float] Viscosity of the fluid, [Pa*s]
Dt [float] Diameter of the tube, [m]
L [float, optional] Length the fluid flows in the packed bed [m]
Returns
dP [float] Pressure drop across the bed [Pa]
Notes
References
[1]
Examples
Parameters
Dpe [float] Equivalent spherical particle diameter (diameter of a sphere with the same volume),
[m]
Dt [float] Diameter of the tube, [m]
sphericity [float] Sphericity of particles in bed []
Returns
voidage [float] Void fraction of bed packing []
Notes
Average error of 5.2%; valid 1.5 < dtube/dp < 50 and 0.42 < sphericity < 1
References
[1]
Examples
fluids.packed_bed.voidage_Benyahia_Oneil_spherical(Dp, Dt)
Calculates voidage of a bed of spheres packed into a bed or tube of diameter Dt, with sphere diameters Dp.
Shown in [1], and cited by various authors. Correlations exist also for solid cylinders, hollow cylinders, and
4-hole cylinders. Based on a series of physical measurements.
1.740
𝜖 = 0.390 + (︁ )︁2
𝑑𝑐𝑦𝑙
𝑑𝑝 + 1.140
Parameters
Dp [float] Spherical particle diameter, [m]
Dt [float] Diameter of the tube, [m]
Returns
voidage [float] Void fraction of bed packing []
Notes
References
[1]
Examples
Parameters
Dpe [float] Equivalent spherical particle diameter (diameter of a sphere with the same volume),
[m]
Dt [float] Diameter of the tube, [m]
sphericity [float] Sphericity of particles in bed []
Returns
voidage [float] Void fraction of bed packing []
Notes
References
[1]
Examples
This module contains correlations and functions for calculating pressure drop from packings and demisters; separation
efficiency of demisters; demister pressure drop; and demister geometry.
For reporting bugs, adding feature requests, or submitting pull requests, please use the GitHub issue tracker or contact
the author at [email protected].
• Demister Geometry
𝐹𝑠 = 𝑉𝑠 𝜌0.5
𝑔
Parameters
L [float] Specific liquid mass flow rate [kg/s/m^2]
G [float] Specific gas mass flow rate [kg/s/m^2]
rhol [float] Density of liquid [kg/m^3]
rhog [float] Density of gas [kg/m^3]
mul [float] Viscosity of liquid [Pa*s]
H [float] Height of packing [m]
Fpd [float] Robbins packing factor (tabulated for packings) [1/ft]
Returns
dP [float] Pressure drop across packing [Pa]
Notes
Perry’s displayed equation has a typo in a superscript. This model is based on the example in Perry’s.
References
[1]
Examples
𝐶1 𝐶2
𝑓0 = + + 𝐶3
𝑅𝑒𝑔 𝑅𝑒0.5
𝑔
6(1 − 𝜖)
𝑑𝑝 =
𝑎
Parameters
Vg [float] Superficial velocity of gas, Q/A [m/s]
rhog [float] Density of gas [kg/m^3]
mug [float] Viscosity of gas [Pa*s]
voidage [float] Voidage of bed of packing material []
specific_area [float] Specific area of the packing material [m^2/m^3]
C1 [float] Packing-specific constant []
C2 [float] Packing-specific constant []
C3 [float] Packing-specific constant []
H [float, optional] Height of packing [m]
Returns
dP_dry [float] Pressure drop across dry packing [Pa]
Notes
This model is used by most process simulation tools. If H is not provided, it defaults to 1. If Z is not provided,
it defaults to 1.
References
[1]
Examples
[︃ (︂ )︂2 ]︃
∆𝑃 𝑖𝑟𝑟
ℎ𝑇 = ℎ0 1 + 20
𝐻𝜌𝐿 𝑔
𝑉𝐿2 𝑎
𝐹 𝑟𝐿 =
𝑔𝜖4.65
1/3
ℎ0 = 0.555𝐹 𝑟𝐿
−𝐶1 /𝑅𝑒𝑔 − 𝐶2 /(2𝑅𝑒0.5
𝑔 )
𝑐=
𝑓0
3 1−𝜖 𝐻 2
∆𝑃𝑑𝑟𝑦 = 𝑓0 𝜌𝐺 𝑉 𝑔
4 𝜖4.65 𝑑𝑝
𝐶1 𝐶2
𝑓0 = + + 𝐶3
𝑅𝑒𝑔 𝑅𝑒0.5
𝑔
6(1 − 𝜖)
𝑑𝑝 =
𝑎
Parameters
Vg [float] Superficial velocity of gas, Q/A [m/s]
Vl [float] Superficial velocity of liquid, Q/A [m/s]
rhog [float] Density of gas [kg/m^3]
rhol [float] Density of liquid [kg/m^3]
mug [float] Viscosity of gas [Pa*s]
voidage [float] Voidage of bed of packing material []
specific_area [float] Specific area of the packing material [m^2/m^3]
C1 [float] Packing-specific constant []
C2 [float] Packing-specific constant []
C3 [float] Packing-specific constant []
H [float, optional] Height of packing [m]
Returns
dP [float] Pressure drop across irrigated packing [Pa]
Notes
This model is used by most process simulation tools. If H is not provided, it defaults to 1. If Z is not provided,
it defaults to 1. A numerical solver is used and needed by this model. Its initial guess is the dry pressure drop.
Convergence problems may occur. The model as described in [1] appears to have a typo, and could not match
the example. As described in [2], however, the model works.
References
[1], [2]
Examples
Notes
References
[1]
Examples
Parameters
S [float] Specific area of the demister, normally ~250-1000 [m^2/m^3]
voidage [float] Voidage of bed of the demister material, normally ~0.98 []
vs [float] Superficial velocity of fluid, Q/A [m/s]
rho [float] Density of fluid [kg/m^3]
mu [float] Viscosity of fluid [Pa*s]
L [float, optional] Length of the demister [m]
Returns
dP [float] Pressure drop across a dry demister [Pa]
Notes
Useful at startup and in modeling. Dry pressure drop is normally negligible compared to wet pressure drop.
Coefficients obtained by evolutionary programming and may not fit data outside of the limits of the variables.
References
[1]
Examples
320.3280788941329
Parameters
S [float] Specific area of the demister, normally ~250-1000 [m^2/m^3]
voidage [float] Voidage of bed of the demister material, normally ~0.98 []
vs [float] Superficial velocity of fluid, Q/A [m/s]
rho [float] Density of fluid [kg/m^3]
mu [float] Viscosity of fluid [Pa*s]
L [float, optional] Length of the demister [m]
Returns
dP [float] Pressure drop across a dry demister [Pa]
Notes
Useful at startup and in modeling. Dry pressure drop is normally negligible compared to wet pressure drop.
Coefficients obtained by evolutionary programming and may not fit data outside of the limits of the variables.
References
[1]
Examples
209.083848658307
Notes
No dependency on the liquid properties is included here. Because of the exponential nature of the correlation,
the limiting pressure drop as V is lowered is 0 Pa. A dry pressure drop correlation should be compared with
results from this at low velocities, and the larger of the two pressure drops used.
The correlation in [1] was presented as follows, with wire diameter in units of mm, density in kg/m^3, V in m/s,
and dP in Pa/m.
Here, the correlation is converted to base SI units and to use voidage; not all demisters are stainless steel as in
[1]. A density of 7999 kg/m^3 was used in the conversion.
In [1], V ranged from 0.98-7.5 m/s, rho from 80.317-208.16 kg/m^3, depth from 100 to 200 mm, wire diameter
of 0.2mm to 0.32 mm, and particle diameter from 1 to 5 mm.
References
[1]
Examples
Parameters
vs [float] Superficial velocity of fluid, Q/A [m/s]
voidage [float] Voidage of bed of the demister material, normally ~0.98 []
d_wire [float] Diameter of mesh wire,[m]
d_drop [float] Drop diameter, [m]
Returns
eta [float] Fraction droplets removed by mass [-]
Notes
No dependency on the liquid properties is included here. Because of the exponential nature of the correlation,
for smaller diameters separation quickly lowers. This correlation can predict a separation larger than 1 for higher
velocities, lower voidages, lower wire diameters, and large droplet sizes. This function truncates these larger
values to 1.
The correlation in [1] was presented as follows, with wire diameter in units of mm, density in kg/m^3, V in m/s,
separation in %, and particle diameter in mm.
Here, the correlation is converted to base SI units and to use voidage; not all demisters are stainless steel as in
[1]. A density of 7999 kg/m^3 was used in the conversion.
In [1], V ranged from 0.98-7.5 m/s, rho from 80.317-208.16 kg/m^3, depth from 100 to 200 mm, wire diameter
of 0.2 mm to 0.32 mm, and particle diameter from 1 to 5 mm.
References
[1]
Examples
fluids.packed_tower.voidage_experimental(m, rho, D, H)
Calculates voidage of a bed or mesh given an experimental weight and fixed density, diameter, and height, as
shown in [1]. The formula is also self-evident.
𝑚𝑚𝑒𝑠ℎ
𝜋 2
4 𝑑𝑐𝑜𝑙𝑢𝑚𝑛 𝐿𝑚𝑒𝑠ℎ
𝜖=1−
𝜌𝑚𝑎𝑡𝑒𝑟𝑖𝑎𝑙
Parameters
m [float] Mass of mesh or bed particles weighted, [kg]
rho [float] Density of solid particles or mesh [kg/m^3]
D [float] Diameter of the cylindrical bed [m]
H [float] Height of the demister or bed [m]
Returns
voidage [float] Voidage of bed of the material []
Notes
References
[1]
Examples
fluids.packed_tower.specific_area_mesh(voidage, d)
Calculates the specific area of a wire mesh, as used in demisters or filters. Shown in [1], and also self-evident
and non-empirical. Makes the ideal assumption that wires never touch.
4(1 − 𝜖)
𝑆=
𝑑𝑤𝑖𝑟𝑒
Parameters
voidage [float] Voidage of the mesh []
d [float] Diameter of the wires making the mesh, [m]
Returns
S [float] Specific area of the mesh [m^2/m^3]
Notes
Should be preferred over manufacturer data. Can also be used to show that manufacturer’s data is inconsistent
with their claimed voidage and wire diameter.
References
[1]
Examples
This module contains particle distribution characterization, fitting, interpolating, and manipulation functions. It may
be used with discrete particle size distributions, or with statistical ones with parameters specified.
For reporting bugs, adding feature requests, or submitting pull requests, please use the GitHub issue tracker or contact
the author at [email protected].
class fluids.particle_size_distribution.ParticleSizeDistributionContinuous
Bases: object
Base class representing a continuous particle size distribution specified by a mathematical/statistical function.
This class holds the common methods only.
Notes
Although the stated units of input are in meters, this class is actually independent of the units provided; all
results will be consistent with the provided unit.
References
[R6899669cf6c8-1]
Examples
Attributes
vssa The volume-specific surface area of a particle size distribution.
Methods
cdf(self, d, n=None)
Computes the cumulative distribution density function of a continuous particle size distribution at a speci-
fied particle diameter, an optionally in a specified basis. The evaluation function varies with the distribution
chosen.
∫︁ 𝑑
𝑄𝑛 (𝑑) = 𝑞𝑛 (𝑑)
0
Parameters
d [float] Particle size diameter, [m]
n [int, optional] None (for the order specified when the distribution was created), 0 (num-
ber), 1 (length), 2 (area), 3 (volume/mass), or any integer, [-]
Returns
cdf [float] The cumulative distribution function at the specified diameter and order, [-]
Notes
Analytical integrals can be found for most distributions even when order conversions are necessary.
Examples
Examples
Parameters
d_min [float] Lower particle size diameter, [m]
d_max [float] Upper particle size diameter, [m]
n [int, optional] None (for the order specified when the distribution was created), 0 (num-
ber), 1 (length), 2 (area), 3 (volume/mass), or any integer, [-]
Returns
delta_cdf [float] The difference in the cumulative distribution function for the two diameters
specified, [-]
Examples
Examples
Notes
Note that when specifying a Renard series, only one of d_min or d_max can be respected! Provide only
one of those numbers.
Note that when specifying a sieve standard the number of points is not respected!
References
[1], [2]
fractions_discrete(self, ds, n=None)
Computes the fractions of the cumulative distribution functions which lie between the specified specified
particle diameters. The first diameter contains the cdf from 0 to it.
Parameters
ds [list[float]] Particle size diameters, [m]
n [int, optional] None (for the order specified when the distribution was created), 0 (num-
ber), 1 (length), 2 (area), 3 (volume/mass), or any integer, [-]
Returns
fractions [float] The differences in the cumulative distribution functions at the specified
diameters and order, [-]
Examples
mean_size(self, p, q)
Calculates the mean particle size according to moment-ratio notation. This is the more common and often
convenient definition.
∑︀ 𝑝
¯ 𝑝,𝑞 (𝑝−𝑞) = ∑︀𝑖 𝑛𝑖 𝐷𝑖𝑞
[︀ ]︀
𝐷
𝑛𝑖 𝐷𝑖
[︂ ∑︀ 𝑝 ]︂ 𝑖
[︀
¯ 𝑝,𝑝 = exp
]︀ 𝑛𝑖 𝐷𝑖 ln 𝐷𝑖
𝑖∑︀
𝐷 𝑝 , if p = q
𝑖 𝑛𝑖 𝐷𝑖
Note that 𝑛𝑖 in the above equation is replaceable with the fraction of particles in that bin.
Parameters
p [int] Power and/or subscript of D moment in the above equations, [-]
q [int] Power and/or subscript of D moment in the above equations, [-]
Returns
d_pq [float] Mean particle size according to the specified p and q, [m]
Notes
¯ 𝑝,𝑞 ≡ 𝐷
𝐷 ¯ 𝑞,𝑝
References
Examples
Note that for the case where p == q, a different set of formulas are required - which do not have analytical
results for many distributions. Therefore, a close numerical approximation is used instead, to perturb the
values of p and q so they are 1E-9 away from each other. This leads only to slight errors, as in the example
below where the correct answer is 5E-6.
>>> psd.mean_size(3, 3)
4.9999999304923345e-06
mean_size_ISO(self, k, r)
Calculates the mean particle size according to moment notation (ISO). This system is related to the
moment-ratio notation as follows; see the mean_size method for the full formulas.
¯𝑝−𝑞,𝑞 ≡ 𝑥
𝑥 ¯ 𝑝,𝑞
¯𝑘+𝑟,𝑟 ≡ 𝐷
Parameters
k [int] Power and/or subscript of D moment in the above equations, [-]
r [int] Power and/or subscript of D moment in the above equations, [-]
Returns
x_kr [float] Mean particle size according to the specified k and r in the ISO series, [m]
Notes
The following is a list of common names for specific mean diameters in the ISO naming convention.
• x[-3, 0]: arithmetic harmonic mean volume diameter
• x[-3, 1]: size-weighted harmonic mean volume diameter
• x[-3, 2]: area-weighted harmonic mean volume diameter
• x[-2, 0]: arithmetic harmonic mean area diameter
• x[-2, 1]: size-weighted harmonic mean area diameter
• x[-1, 0]: arithmetic harmonic mean diameter
• x[0, 0]: arithmetic geometric mean diameter
• x[0, 1]: size-weighted geometric mean diameter
• x[0, 2]: area-weighted geometric mean diameter
• x[0, 3]: volume-weighted geometric mean diameter
• x[1, 0]: arithmetic mean diameter
• x[1, 1]: size-weighted mean diameter
• x[1, 2]: area-weighted mean diameter, Sauter mean diameter
• x[1, 3]: volume-weighted mean diameter, De Brouckere diameter
• x[2, 0]: arithmetic mean area diameter
• x[1, 1]: size-weighted mean area diameter
• x[2, 2]: area-weighted mean area diameter
• x[2, 3]: volume-weighted mean area diameter
• x[3, 0]: arithmetic mean volume diameter
• x[3, 1]: size-weighted mean volume diameter
• x[3, 2]: area-weighted mean volume diameter
• x[3, 3]: volume-weighted mean volume diameter
When working with continuous distributions, the ISO series must be used to perform the actual calcula-
tions.
References
[1]
Examples
pdf(self, d, n=None)
Computes the probability density function of a continuous particle size distribution at a specified particle
diameter, an optionally in a specified basis. The evaluation function varies with the distribution chosen.
The interconversion between distribution orders is performed using the following formula [1]:
𝑥(𝑠−𝑟) 𝑞𝑟 (𝑑)𝑑𝑑
𝑞𝑠 (𝑑) = ∫︀ ∞ (𝑠−𝑟)
0
𝑑 𝑞𝑟 (𝑑)𝑑𝑑
Parameters
d [float] Particle size diameter, [m]
n [int, optional] None (for the order specified when the distribution was created), 0 (num-
ber), 1 (length), 2 (area), 3 (volume/mass), or any integer, [-]
Returns
pdf [float] The probability density function at the specified diameter and order, [-]
Notes
The pdf order conversions are typically available analytically after some work. They have been verified
numerically. See the various functions with names ending with ‘basis_integral’ for the formulations. The
distributions normally do not have analytical limits for diameters of 0 or infinity, but large values suffice
to capture the area of the integral.
References
[1]
Examples
method [str, optional] Either ‘linear’, ‘logarithmic’, a Renard number like ‘R10’ or ‘R5’
or’R2.5’, or one of the sieve standards ‘ISO 3310-1 R40/3’, ‘ISO 3310-1 R20’, ‘ISO
3310-1 R20/3’, ‘ISO 3310-1’, ‘ISO 3310-1 R10’, ‘ASTM E11’, [-]
plot_pdf(self, n=(0, 1, 2, 3), d_min=None, d_max=None, pts=500, normalized=False,
method=’linear’)
Plot the probability density function of the particle size distribution. The plotted range can be specified
using d_min and d_max, or estimated automatically. One or more order can be plotted, by providing an
iterable of ints as the value of n or just one int.
Parameters
n [tuple(int) or int, optional] None (for the order specified when the distribution was cre-
ated), 0 (number), 1 (length), 2 (area), 3 (volume/mass), or any integer; as many as desired
may be specified, [-]
d_min [float, optional] Lower particle size diameter, [m]
d_max [float, optional] Upper particle size diameter, [m]
pts [int, optional] The number of points for values to be calculated, [-]
normalized [bool, optional] Whether to display the actual probability density function,
which may have a huge magnitude - or to divide each point by the sum of all the points.
Doing this is a common practice, but the values at each point are dependent on the number
of points being plotted, and the distribution of the points; [-]
method [str, optional] Either ‘linear’, ‘logarithmic’, a Renard number like ‘R10’ or ‘R5’
or’R2.5’, or one of the sieve standards ‘ISO 3310-1 R40/3’, ‘ISO 3310-1 R20’, ‘ISO
3310-1 R20/3’, ‘ISO 3310-1’, ‘ISO 3310-1 R10’, ‘ASTM E11’, [-]
vssa
The volume-specific surface area of a particle size distribution.
6
VSSA =
𝑥
¯1,2
Returns
VSSA [float] The volume-specific surface area of the distribution, [m^2/m^3]
References
[1]
Examples
Class representing a discrete particle size distribution specified by a series of diameter bins, and the quantity
of particles in each bin. The quantities may be specified as either the fraction of particles in each bin, or as
cumulative distributions. The input fractions can be specified to be in a mass basis (order=3), number basis
(order=0), or the orders in between for length basis or area basis. If the fractions do not sum to 1, and cdf is
False, then the fractions are normalized. This allows flow rates or counts of size bins to be given as well.
Parameters
ds [list[float]] Diameter bins; length of the specified quantities, optionally +1 that length to
specify a cutoff diameter for the smallest diameter bin, [m]
fractions [list[float], optional] The mass/mole/volume/length/area/count fractions or cumula-
tive distributions or counts of each particle size in each diameter bin (the type is specified
by order), [-]
order [int, optional] 0 for a number distribution as input; 1 for length distribution; 2 for area
distribution; 3 for mass, mole, or volume distribution, [-]
cdf [bool, optional] If the distribution is given as increasing fractions with 1 as the last result,
cdf must be set to True, [-]
monotonic [bool, optional] If True, for interpolated quanties, monotonic splines will be used
instead of the standard splines, [-]
Notes
Although the stated units of input are in meters, this class is actually independent of the units provided; all
results will be consistent with the provided unit.
References
[R8b42d45c9b22-1], [R8b42d45c9b22-2]
Examples
Example problem from [R8b42d45c9b22-1], calculating several diameters and the cumulative distribution.
>>> ds = 1E-6*np.array([240, 360, 450, 562.5, 703, 878, 1097, 1371, 1713, 2141,
˓→2676, 3345, 4181, 5226, 6532])
>>> numbers = [65, 119, 232, 410, 629, 849, 990, 981, 825, 579, 297, 111, 21, 1]
>>> psd = ParticleSizeDistribution(ds=ds, fractions=numbers, order=0)
>>> psd
<Particle Size Distribution, points=14, D[3, 3]=0.002451 m>
Attributes
fractions [list[float]] The mass/mole/volume basis fractions of particles in each bin, [-]
area_fractions [list[float]] The area fractions of particles in each bin, [-]
length_fractions [list[float]] The length fractions of particles in each bin, [-]
number_fractions [list[float]] The number fractions of particles in each bin, [-]
fraction_cdf [list[float]] The cumulative mass/mole/volume basis fractions of particles in each
bin, [-]
area_cdf [list[float]] The cumulative area fractions of particles in each bin, [-]
length_cdf [list[float]] The cumulative length fractions of particles in each bin, [-]
number_cdf [list[float]] The cumulative number fractions of particles in each bin, [-]
size_classes [bool] Whether or not the diameter bins were set as size classes (as length of frac-
tions + 1), [-]
N [int] The number of provided points, [-]
Methods
Dis
Representative diameters of each bin.
di_power(self, i, power=1)
Method to calculate a power of a particle class/bin in a generic way so as to support when there are as
many ds as fractions, or one more diameter spec than fractions.
When each bin has a lower and upper bound, the formula is as follows [1].
(𝑟+1) (𝑟+1)
𝐷𝑖,𝑢𝑏 − 𝐷𝑖,𝑙𝑏
𝐷𝑖𝑟 =
(𝐷𝑖,𝑢𝑏 − 𝐷𝑖,𝑙𝑏 )(𝑟 + 1)
Where ub represents the upper bound, and lb represents the lower bound. Otherwise, the standard definition
is used:
𝐷𝑖𝑟 = 𝐷𝑖𝑟
Parameters
i [int] The index of the diameter for the calculation, [-]
power [int] The exponent, [-]
Returns
di_power [float] The representative bin diameter raised to power, [m^power]
References
[1]
fit(self, x0=None, distribution=’lognormal’, n=None, **kwargs)
Incomplete method to fit experimental values to a curve. It is very hard to get good initial guesses, which
are really required for this. Differential evolution is promissing. This API is likely to change in the future.
interpolated
mean_size(self, p, q)
Calculates the mean particle size according to moment-ratio notation. This is the more common and often
convenient definition.
∑︀ 𝑝
¯ 𝑝,𝑞 (𝑝−𝑞) = ∑︀𝑖 𝑛𝑖 𝐷𝑖𝑞
[︀ ]︀
𝐷
𝑛𝑖 𝐷𝑖
[︂ ∑︀ 𝑝 ]︂ 𝑖
[︀
¯ 𝑝,𝑝 = exp
]︀ 𝑛𝑖 𝐷𝑖 ln 𝐷𝑖
𝑖∑︀
𝐷 𝑝 , if p = q
𝑖 𝑛𝑖 𝐷𝑖
Note that 𝑛𝑖 in the above equation is replaceable with the fraction of particles in that bin.
Parameters
p [int] Power and/or subscript of D moment in the above equations, [-]
q [int] Power and/or subscript of D moment in the above equations, [-]
Returns
d_pq [float] Mean particle size according to the specified p and q, [m]
Notes
¯ 𝑝,𝑞 ≡ 𝐷
𝐷 ¯ 𝑞,𝑝
References
Examples
>>> ds = 1E-6*np.array([240, 360, 450, 562.5, 703, 878, 1097, 1371, 1713,
˓→2141, 2676, 3345, 4181, 5226, 6532])
>>> numbers = [65, 119, 232, 410, 629, 849, 990, 981, 825, 579, 297, 111, 21,
˓→1]
mean_size_ISO(self, k, r)
Calculates the mean particle size according to moment notation (ISO). This system is related to the
moment-ratio notation as follows; see the mean_size method for the full formulas.
¯𝑝−𝑞,𝑞 ≡ 𝑥
𝑥 ¯ 𝑝,𝑞
¯𝑘+𝑟,𝑟 ≡ 𝐷
Parameters
k [int] Power and/or subscript of D moment in the above equations, [-]
r [int] Power and/or subscript of D moment in the above equations, [-]
Returns
x_kr [float] Mean particle size according to the specified k and r in the ISO series, [m]
Notes
The following is a list of common names for specific mean diameters in the ISO naming convention.
• x[-3, 0]: arithmetic harmonic mean volume diameter
• x[-3, 1]: size-weighted harmonic mean volume diameter
• x[-3, 2]: area-weighted harmonic mean volume diameter
• x[-2, 0]: arithmetic harmonic mean area diameter
• x[-2, 1]: size-weighted harmonic mean area diameter
• x[-1, 0]: arithmetic harmonic mean diameter
• x[0, 0]: arithmetic geometric mean diameter
• x[0, 1]: size-weighted geometric mean diameter
• x[0, 2]: area-weighted geometric mean diameter
• x[0, 3]: volume-weighted geometric mean diameter
• x[1, 0]: arithmetic mean diameter
• x[1, 1]: size-weighted mean diameter
• x[1, 2]: area-weighted mean diameter, Sauter mean diameter
• x[1, 3]: volume-weighted mean diameter, De Brouckere diameter
• x[2, 0]: arithmetic mean area diameter
• x[1, 1]: size-weighted mean area diameter
• x[2, 2]: area-weighted mean area diameter
• x[2, 3]: volume-weighted mean area diameter
• x[3, 0]: arithmetic mean volume diameter
• x[3, 1]: size-weighted mean volume diameter
• x[3, 2]: area-weighted mean volume diameter
• x[3, 3]: volume-weighted mean volume diameter
When working with continuous distributions, the ISO series must be used to perform the actual calcula-
tions.
References
[1]
Examples
>>> ds = 1E-6*np.array([240, 360, 450, 562.5, 703, 878, 1097, 1371, 1713,
˓→2141, 2676, 3345, 4181, 5226, 6532])
>>> numbers = [65, 119, 232, 410, 629, 849, 990, 981, 825, 579, 297, 111, 21,
˓→1]
name = 'Discrete'
points = True
size_classes = False
truncated = False
vssa
The volume-specific surface area of a particle size distribution. Note this uses the diameters provided by
the method Dis.
∑︁ 𝑆𝐴𝑖
VSSA = fraction𝑖
𝑖
𝑉𝑖
References
[1]
class fluids.particle_size_distribution.PSDInterpolated(ds, fractions, order=3,
monotonic=True)
Bases: fluids.particle_size_distribution.ParticleSizeDistributionContinuous
Attributes
vssa The volume-specific surface area of a particle size distribution.
Methods
name = 'Interpolated'
points = True
truncated = False
Methods
name = 'Lognormal'
points = False
truncated = False
class fluids.particle_size_distribution.PSDGatesGaudinSchuhman(d_characteristic,
m, order=3,
d_min=None,
d_max=None)
Bases: fluids.particle_size_distribution.ParticleSizeDistributionContinuous
Attributes
vssa The volume-specific surface area of a particle size distribution.
Methods
Methods
Methods
name = ''
points = False
truncated = False
fluids.particle_size_distribution.pdf_lognormal(d, d_characteristic, s)
Calculates the probability density function of a lognormal particle distribution given a particle diameter d, char-
acteristic particle diameter d_characteristic, and distribution standard deviation s.
[︃ (︂ )︂2 ]︃
1 ln(𝑑/𝑑𝑐ℎ𝑎𝑟𝑎𝑐𝑡𝑒𝑟𝑖𝑠𝑡𝑖𝑐 )
𝑞(𝑑) = √ exp −0.5
𝑑𝑠 2𝜋 𝑠
Parameters
d [float] Specified particle diameter, [m]
d_characteristic [float] Characteristic particle diameter; often D[3, 3] is used for this purpose
but not always, [m]
s [float] Distribution standard deviation, [-]
Returns
pdf [float] Lognormal probability density function, [-]
Notes
The characteristic diameter can be in terns of number density (denoted 𝑞0 (𝑑)), length density (𝑞1 (𝑑)), surface
area density (𝑞2 (𝑑)), or volume density (𝑞3 (𝑑)). Volume density is most often used. Interconversions among the
distributions is possible but tricky.
The standard distribution (i.e. the one used in Scipy) can perform the same computation with d_characteristic
as the value of scale.
>>> import scipy.stats
>>> scipy.stats.lognorm.pdf(x=1E-4, s=1.1, scale=1E-5)
405.5420921156425
Scipy’s calculation is over 300 times slower however, and this expression is numerically integrated so speed is
required.
References
[1]
Examples
fluids.particle_size_distribution.cdf_lognormal(d, d_characteristic, s)
Calculates the cumulative distribution function of a lognormal particle distribution given a particle diameter d,
characteristic particle diameter d_characteristic, and distribution standard deviation s.
(︂ [︂(︂ )︂]︂)︂
ln(𝑑/𝑑𝑐 )
𝑄(𝑑) = 0.5 1 + err √
𝑠 2
Parameters
d [float] Specified particle diameter, [m]
d_characteristic [float] Characteristic particle diameter; often D[3, 3] is used for this purpose
but not always, [m]
s [float] Distribution standard deviation, [-]
Returns
cdf [float] Lognormal cumulative density function, [-]
Notes
The characteristic diameter can be in terns of number density (denoted 𝑞0 (𝑑)), length density (𝑞1 (𝑑)), surface
area density (𝑞2 (𝑑)), or volume density (𝑞3 (𝑑)). Volume density is most often used. Interconversions among the
distributions is possible but tricky.
The standard distribution (i.e. the one used in Scipy) can perform the same computation with d_characteristic
as the value of scale.
References
[1]
Examples
fluids.particle_size_distribution.pdf_lognormal_basis_integral(d,
d_characteristic,
s, n)
Calculates the integral of the multiplication of d^n by the lognormal pdf, given a particle diameter d, character-
istic particle diameter d_characteristic, distribution standard deviation s, and exponent n.
)︂−𝑛
𝑠2 𝑛2 𝑠2 𝑛 − log(𝑑/𝑑𝑐ℎ𝑎𝑟𝑎𝑐𝑡𝑒𝑟𝑖𝑠𝑡𝑖𝑐 )
∫︁ (︂ )︂ (︂ [︂ ]︂
1 𝑑
𝑑𝑛 · 𝑞(𝑑) 𝑑𝑑 = − exp 𝑑𝑛 erf √
2 2 𝑑𝑐ℎ𝑎𝑟𝑎𝑐𝑡𝑒𝑟𝑖𝑠𝑡𝑖𝑐 2𝑠
This is the crucial integral required for interconversion between different bases such as number density (denoted
𝑞0 (𝑑)), length density (𝑞1 (𝑑)), surface area density (𝑞2 (𝑑)), or volume density (𝑞3 (𝑑)).
Parameters
d [float] Specified particle diameter, [m]
d_characteristic [float] Characteristic particle diameter; often D[3, 3] is used for this purpose
but not always, [m]
s [float] Distribution standard deviation, [-]
n [int] Exponent of the multiplied n
Returns
pdf_basis_integral [float] Integral of lognormal pdf multiplied by d^n, [-]
Notes
This integral has been verified numerically. This integral is itself integrated, so it is crucial to obtain an analytical
form for at least this integral.
Note overflow or zero division issues may occur for very large values of s, larger than 10. No mathematical limit
was able to be obtained with a CAS.
Examples
fluids.particle_size_distribution.pdf_Gates_Gaudin_Schuhman(d, d_characteristic,
m)
Calculates the probability density of a particle distribution following the Gates, Gaudin and Schuhman (GGS)
model given a particle diameter d, characteristic (maximum) particle diameter d_characteristic, and exponent
m.
(︂ )︂𝑚
𝑛 𝑑
𝑞(𝑑) = if 𝑑 < 𝑑𝑐ℎ𝑎𝑟𝑎𝑐𝑡𝑒𝑟𝑖𝑠𝑡𝑖𝑐 else 0
𝑑 𝑑𝑐ℎ𝑎𝑟𝑎𝑐𝑡𝑒𝑟𝑖𝑠𝑡𝑖𝑐
Parameters
d [float] Specified particle diameter, [m]
d_characteristic [float] Characteristic particle diameter; in this model, it is the largest particle
size diameter in the distribution, [m]
m [float] Particle size distribution exponent, [-]
Returns
pdf [float] GGS probability density function, [-]
Notes
The characteristic diameter can be in terns of number density (denoted 𝑞0 (𝑑)), length density (𝑞1 (𝑑)), surface
area density (𝑞2 (𝑑)), or volume density (𝑞3 (𝑑)). Volume density is most often used. Interconversions among the
distributions is possible but tricky.
References
[1], [2]
Examples
fluids.particle_size_distribution.cdf_Gates_Gaudin_Schuhman(d, d_characteristic,
m)
Calculates the cumulative distribution function of a particle distribution following the Gates, Gaudin and Schuh-
man (GGS) model given a particle diameter d, characteristic (maximum) particle diameter d_characteristic, and
exponent m.
(︂ )︂𝑚
𝑑
𝑄(𝑑) = if 𝑑 < 𝑑𝑐ℎ𝑎𝑟𝑎𝑐𝑡𝑒𝑟𝑖𝑠𝑡𝑖𝑐 else 1
𝑑𝑐ℎ𝑎𝑟𝑎𝑐𝑡𝑒𝑟𝑖𝑠𝑡𝑖𝑐
Parameters
d [float] Specified particle diameter, [m]
d_characteristic [float] Characteristic particle diameter; in this model, it is the largest particle
size diameter in the distribution, [m]
m [float] Particle size distribution exponent, [-]
Returns
cdf [float] GGS cumulative density function, [-]
Notes
The characteristic diameter can be in terns of number density (denoted 𝑞0 (𝑑)), length density (𝑞1 (𝑑)), surface
area density (𝑞2 (𝑑)), or volume density (𝑞3 (𝑑)). Volume density is most often used. Interconversions among the
distributions is possible but tricky.
References
[1], [2]
Examples
fluids.particle_size_distribution.pdf_Gates_Gaudin_Schuhman_basis_integral(d,
d_characteristic,
m,
n)
Calculates the integral of the multiplication of d^n by the Gates, Gaudin and Schuhman (GGS) model given a
particle diameter d, characteristic (maximum) particle diameter d_characteristic, and exponent m.
∫︁ (︂ )︂𝑚
𝑛 𝑚 𝑛 𝑑
𝑑 · 𝑞(𝑑) 𝑑𝑑 = 𝑑
𝑚+𝑛 𝑑𝑐ℎ𝑎𝑟𝑎𝑐𝑡𝑒𝑟𝑖𝑠𝑡𝑖𝑐
Parameters
d [float] Specified particle diameter, [m]
d_characteristic [float] Characteristic particle diameter; in this model, it is the largest particle
size diameter in the distribution, [m]
m [float] Particle size distribution exponent, [-]
n [int] Exponent of the multiplied n, [-]
Returns
pdf_basis_integral [float] Integral of Rosin Rammler pdf multiplied by d^n, [-]
Notes
Examples
-10136984887.543015
fluids.particle_size_distribution.pdf_Rosin_Rammler(d, k, m)
Calculates the probability density of a particle distribution following the Rosin-Rammler (RR) model given a
particle diameter d, and the two parameters k and m.
Parameters
d [float] Specified particle diameter, [m]
k [float] Parameter in the model, [(1/m)^m]
m [float] Parameter in the model, [-]
Returns
pdf [float] RR probability density function, [-]
References
[1], [2]
Examples
fluids.particle_size_distribution.cdf_Rosin_Rammler(d, k, m)
Calculates the cumulative distribution function of a particle distribution following the Rosin-Rammler (RR)
model given a particle diameter d, and the two parameters k and m.
Parameters
d [float] Specified particle diameter, [m]
k [float] Parameter in the model, [(1/m)^m]
m [float] Parameter in the model, [-]
Returns
cdf [float] RR cumulative density function, [-]
Notes
The characteristic diameter can be in terns of number density (denoted 𝑞0 (𝑑)), length density (𝑞1 (𝑑)), surface
area density (𝑞2 (𝑑)), or volume density (𝑞3 (𝑑)). Volume density is most often used. Interconversions among the
distributions is possible but tricky.
References
[1], [2]
Examples
fluids.particle_size_distribution.pdf_Rosin_Rammler_basis_integral(d, k, m, n)
Calculates the integral of the multiplication of d^n by the Rosin Rammler (RR) pdf, given a particle diameter d,
and the two parameters k and m.
∫︁ (︂ )︂ [︂(︂ )︂ ]︂
𝑚+𝑛 𝑚+𝑛 𝑚+𝑛
𝑑𝑛 · 𝑞(𝑑) 𝑑𝑑 = −𝑑𝑚+𝑛 𝑘(𝑑𝑚 𝑘)− 𝑚 Γ gammaincc , 𝑘𝑑𝑚
𝑚 𝑚
Parameters
d [float] Specified particle diameter, [m]
k [float] Parameter in the model, [(1/m)^m]
m [float] Parameter in the model, [-]
n [int] Exponent of the multiplied n, [-]
Returns
pdf_basis_integral [float] Integral of Rosin Rammler pdf multiplied by d^n, [-]
Notes
This integral was derived using a CAS, and verified numerically. The gammaincc function is that from
scipy.special, and gamma from the same.
For very high powers of n or m when the diameter is very low, exceptions may occur.
Examples
2.16.7 Sieves
Attributes
designation [str] The standard name of the sieve - its opening’s length in units of millimeters
old_designation [str] The older, imperial-esque name of the sieve; in Numbers, or inches for
large sieves
opening [float] The opening length of the sieve holes, [m]
opening_inch [float] The opening length of the sieve holes in the rounded inches as stated in
common tables (not exactly equal to the opening), [inch]
Y_variation_avg [float] The allowable average variation in the Y direction of the sieve open-
ings, [m]
X_variation_max [float] The allowable maximum variation in the X direction of the sieve
openings, [m]
max_opening [float] The maximum allowable opening of the sieve, [m]
calibration_samples [float] The number of opening sample inspections required for calibra-
tion- type sieve openings (per 100 ft^2 of sieve material), [1/(ft^2)]
compliance_sd [float] The maximum standard deviation of compliance-type sieve openings, [-]
inspection_samples [float] The number of opening sample inspections required for inspection-
type sieve openings (based on an 8-inch sieve), [-]
inspection_sd [float] The maximum standard deviation of inspection-type sieve openings, [-]
calibration_samples [float] The number of opening sample inspections required for calibra-
tion- type sieve openings (based on an 8-inch sieve), [-]
calibration_sd [float] The maximum standard deviation of calibration-type sieve openings, [-]
d_wire [float] Typical wire diameter of the specified sieve size, [m]
d_wire_min [float] Permissible minimum wire diameter of specified sieve size, [m]
d_wire_max [float] Permissible maximum wire diameter of specified sieve size, [m]
fluids.particle_size_distribution.ASTM_E11_sieves = {'0.02': <Sieve, designation 0.02 mm,
Dictionary containing ASTM E-11 sieve series Sieve objects, indexed by their size in mm as a string.
References
[1]
fluids.particle_size_distribution.ISO_3310_1_sieves = {'0.02': <Sieve, designation 0.02 mm
Dictionary containing all of the individual Sieve objects, on the ISO 3310-1:2016 series, indexed by their size
in mm as a string.
References
[1]
fluids.particle_size_distribution.ISO_3310_1_R20 = [<Sieve, designation 125 mm, opening 0.1
List containing all of the individual Sieve objects, on the ISO 3310-1:2016 R20 series only, ordered from
largest openings to smallest.
References
[1]
fluids.particle_size_distribution.ISO_3310_1_R20_3 = [<Sieve, designation 125 mm, opening 0
List containing all of the individual Sieve objects, on the ISO 3310-1:2016 R20/3 series only, ordered from
largest openings to smallest.
References
[1]
fluids.particle_size_distribution.ISO_3310_1_R40_3 = [<Sieve, designation 125 mm, opening 0
List containing all of the individual Sieve objects, on the ISO 3310-1:2016 R40/3 series only, ordered from
largest openings to smallest.
References
[1]
fluids.particle_size_distribution.ISO_3310_1_R10 = [<Sieve, designation 0.036 mm, opening 3
List containing all of the individual Sieve objects, on the ISO 3310-1:2016 R10 series only, ordered from
largest openings to smallest.
References
[1]
Notes
Note that when specifying a Renard series, only one of d_min or d_max can be respected! Provide only one of
those numbers.
Note that when specifying a sieve standard the number of points is not respected!
References
[1], [2]
Examples
Notes
Internal units within this function are mm. The imperial schedules are not quite identical to these value, but all
rounding differences happen in the sub-0.1 mm level.
References
[1], [2]
Examples
>>> nearest_pipe(Di=0.021)
(1, 0.02664, 0.0334, 0.0033799999999999998)
>>> nearest_pipe(Do=.273, schedule='5S')
(10, 0.26630000000000004, 0.2731, 0.0034)
Notes
An internal variable, tol, is used in the selection of the wire gauge. If the next smaller wire gauge is within 10%
of the difference between it and the previous wire gauge, the smaller wire gauge is selected. Accordingly, this
function can return a gauge with a thickness smaller than desired in some circumstances.
• Birmingham Wire Gauge (BWG) ranges from 0.2 (0.5 inch) to 36 (0.004 inch).
• American Wire Gauge (AWG) ranges from 0.167 (0.58 inch) to 51 (0.00099 inch). These are used for
electrical wires.
• Steel Wire Gauge (SWG) ranges from 0.143 (0.49 inch) to 51 (0.0044 inch). Also called Washburn &
Moen wire gauge, American Steel gauge, Wire Co. gauge, and Roebling wire gauge.
• Music Wire Gauge (MWG) ranges from 0.167 (0.004 inch) to 46 (0.18 inch). Also called Piano Wire
Gauge.
• British Standard Wire Gage (BSWG) ranges from 0.143 (0.5 inch) to 51 (0.001 inch). Also called Imperial
Wire Gage (IWG).
• Stub’s Steel Wire Gage (SSWG) ranges from 1 (0.227 inch) to 80 (0.013 inch)
References
[1]
Examples
Notes
• Birmingham Wire Gauge (BWG) ranges from 0.2 (0.5 inch) to 36 (0.004 inch).
• American Wire Gauge (AWG) ranges from 0.167 (0.58 inch) to 51 (0.00099 inch). These are used for
electrical wires.
• Steel Wire Gauge (SWG) ranges from 0.143 (0.49 inch) to 51 (0.0044 inch). Also called Washburn &
Moen wire gauge, American Steel gauge, Wire Co. gauge, and Roebling wire gauge.
• Music Wire Gauge (MWG) ranges from 0.167 (0.004 inch) to 46 (0.18 inch). Also called Piano Wire
Gauge.
• British Standard Wire Gage (BSWG) ranges from 0.143 (0.5 inch) to 51 (0.001 inch). Also called Imperial
Wire Gage (IWG).
• Stub’s Steel Wire Gage (SSWG) ranges from 1 (0.227 inch) to 80 (0.013 inch)
References
[1]
Examples
fluids.pump.VFD_efficiency(P, load=1)
Returns the efficiency of a Variable Frequency Drive according to [1]. These values are generic, and not stan-
dardized as minimum values. Older VFDs often have much worse performance.
Parameters
Notes
The use of a VFD does change the characteristics of a pump curve’s efficiency, but this has yet to be quantified.
The effect is small. This value should be multiplied by the product of the pump and motor efficiency to determine
the overall efficiency.
Efficiency table is in units of hp, so a conversion is performed internally. If load not specified, assumed 1 -
where maximum efficiency occurs. Table extends down to 3 hp and up to 400 hp; values outside these limits are
rounded to the nearest known value. Values between standardized sizes are interpolated linearly. Load values
extend down to 0.016.
The table used is for Pulse Width Modulation (PWM) VFDs.
References
[1]
Examples
>>> VFD_efficiency(10*hp)
0.96
>>> VFD_efficiency(100*hp, load=0.2)
0.92
Notes
References
[1]
Examples
>>> CSA_motor_efficiency(100*hp)
0.93
>>> CSA_motor_efficiency(100*hp, closed=True, poles=6, high_efficiency=True)
0.95
fluids.pump.motor_efficiency_underloaded(P, load=0.5)
Returns the efficiency of a motor operating under its design power according to [1].These values are generic;
manufacturers usually list 4 points on their product information, but full-scale data is hard to find and not
regulated.
Parameters
P [float] Power, [W]
load [float, optional] Fraction of motor’s rated electrical capacity being used
Returns
efficiency [float] Motor efficiency, [-]
Notes
If the efficiency returned by this function is unattractive, use a VFD. The curves used here are polynomial fits to
[1]’s graph, and curves were available for the following motor power ranges: 0-1 hp, 1.5-5 hp, 10 hp, 15-25 hp,
30-60 hp, 75-100 hp If above the upper limit of one range, the next value is returned.
References
[1]
Examples
>>> motor_efficiency_underloaded(1*hp)
0.8705179600980149
>>> motor_efficiency_underloaded(10.1*hp, .1)
0.6728425932357025
fluids.pump.Corripio_pump_efficiency(Q)
Estimates pump efficiency using the method in Corripio (1982) as shown in [1] and originally in [2]. Estimation
only
Parameters
Q [float] Volumetric flow rate, [m^3/s]
Returns
efficiency [float] Pump efficiency, [-]
Notes
For Centrifugal pumps only. Range is 50 to 5000 GPM, but input variable is in metric. Values above this range
and below this range will go negative, although small deviations are acceptable. Example 16.5 in [1].
References
[1], [2]
Examples
>>> Corripio_pump_efficiency(461./15850.323)
0.705888867095162
fluids.pump.Corripio_motor_efficiency(P)
Estimates motor efficiency using the method in Corripio (1982) as shown in [1] and originally in [2]. Estimation
only.
Parameters
P [float] Power, [W]
Returns
efficiency [float] Motor efficiency, [-]
Notes
References
[1], [2]
Examples
>>> Corripio_motor_efficiency(137*745.7)
0.9128920875679222
fluids.pump.specific_speed(Q, H, n=3600.0)
Returns the specific speed of a pump operating at a specified Q, H, and n.
√
𝑛 𝑄
𝑛𝑆 = 0.75
𝐻
Parameters
Q [float] Flow rate, [m^3/s]
H [float] Head generated by the pump, [m]
n [float, optional] Speed of pump [rpm]
Returns
nS [float] Specific Speed, [rpm*m^0.75/s^0.5]
Notes
Defined at the BEP, with maximum fitting diameter impeller, at a given rotational speed.
References
[1]
Examples
fluids.pump.specific_diameter(Q, H, D)
Returns the specific diameter of a pump operating at a specified Q, H, and D.
𝐷𝐻 1/4
𝐷𝑠 = √
𝑄
Parameters
Q [float] Flow rate, [m^3/s]
H [float] Head generated by the pump, [m]
D [float] Pump impeller diameter [m]
Returns
Ds [float] Specific diameter, [m^0.25/s^0.5]
Notes
References
[1]
Examples
Notes
Synchronous motors have no slip. Large synchronous motors are not self-starting.
References
[1]
Examples
Parameters
P [float] Power, [W]
Returns
P_actual [float] Actual power, equal to or larger than input [W]
Notes
An exception is raised if the power required is larger than any of the NEMA sizes. Larger motors are available,
but are unstandardized.
References
[1]
Examples
>>> motor_round_size(1E5)
111854.98073734052
Notes
Does not include power used by the motor’s fan, or startor, or internal losses. These are all significant.
References
[1]
Examples
fluids.safety_valve.API520_round_size(A)
Rounds up the area from an API 520 calculation to an API526 standard valve area. The returned area is always
larger or equal to the input area.
Parameters
A [float] Minimum discharge area [m^2]
Returns
area [float] Actual discharge area [m^2]
Notes
To obtain the letter designation of an input area, lookup the area with the following:
API526_letters[API526_A.index(area)]
An exception is raised if the required relief area is larger than any of the API 526 sizes.
References
[1]
Examples
>>> API520_round_size(1E-4)
0.00012645136
>>> API526_letters[API526_A.index(API520_round_size(1E-4))]
'E'
fluids.safety_valve.API520_C(k)
Calculates coefficient C for use in API 520 critical flow relief valve sizing.
√︃ 𝑘+1
(︂ )︂ 𝑘−1
2
𝐶 = 0.03948 𝑘
𝑘+1
Parameters
k [float] Isentropic coefficient or ideal gas heat capacity ratio [-]
Returns
C [float] Coefficient C [-]
Notes
If C cannot be established, assume a coefficient of 0.0239, the highest value possible for C.
Although not dimensional, C varies with the units used.
If k is exactly equal to 1, the expression is undefined, and the formula must be simplified as follows from an
application of L’Hopital’s rule.
√︂
1
𝐶 = 0.03948
𝑒
References
[1]
Examples
>>> API520_C(1.35)
0.02669419967057233
𝑃2
𝑟=
𝑃1
Parameters
k [float] Isentropic coefficient or ideal gas heat capacity ratio [-]
P1 [float] Upstream relieving pressure; the set pressure plus the allowable overpressure, plus
atmospheric pressure, [Pa]
P2 [float] Built-up backpressure; the increase in pressure during flow at the outlet of a pressure-
relief device after it opens, [Pa]
Returns
F2 [float] Subcritical flow coefficient F2 [-]
Notes
F2 is completely dimensionless.
References
[1]
Examples
fluids.safety_valve.API520_Kv(Re)
Calculates correction due to viscosity for liquid flow for use in API 520 relief valve sizing.
(︂ )︂−1
2.878 342.75
𝐾𝑣 = 0.9935 + +
𝑅𝑒0.5 𝑅𝑒1.5
Parameters
Re [float] Reynolds number for flow out the valve [-]
Returns
Kv [float] Correction due to viscosity [-]
Notes
Reynolds number in the standard is defined as follows, with Q in L/min, G1 as specific gravity, mu in centipoise,
and area in mm^2:
𝑄(18800𝐺1 )
𝑅𝑒 = √
𝜇 𝐴
It is unclear how this expression was derived with a constant of 18800; the following code demonstrates what
the constant should be:
>>> from scipy.constants import *
>>> liter/minute*1000./(0.001*(milli**2)**0.5)
16666.666666666668
References
[1]
Examples
fluids.safety_valve.API520_N(P1)
Calculates correction due to steam pressure for steam flow for use in API 520 relief valve sizing.
0.02764𝑃1 − 1000
𝐾𝑁 =
0.03324𝑃1 − 1061
Parameters
P1 [float] Upstream relieving pressure; the set pressure plus the allowable overpressure, plus
atmospheric pressure, [Pa]
Returns
KN [float] Correction due to steam temperature [-]
Notes
References
[1]
Examples
Custom example:
>>> API520_N(1774700)
0.9490406958152466
fluids.safety_valve.API520_SH(T1, P1)
Calculates correction due to steam superheat for steam flow for use in API 520 relief valve sizing. 2D interpo-
lation among a table with 28 pressures and 10 temperatures is performed.
Parameters
T1 [float] Temperature of the fluid entering the valve [K]
P1 [float] Upstream relieving pressure; the set pressure plus the allowable overpressure, plus
atmospheric pressure, [Pa]
Returns
KSH [float] Correction due to steam superheat [-]
Notes
For P above 20679 kPag, use the critical flow model. Superheat cannot be above 649 degrees Celsius. If T1 is
above 149 degrees Celsius, returns 1.
References
[1]
Examples
Notes
If the calculated gauge backpressure is less than 30%, 38%, or 50% for overpressures of 0.1, 0.16, or 0.21, a
value of 1 is returned.
Percent gauge backpressure must be under 50%.
References
[1]
Examples
fluids.safety_valve.API520_W(Pset, Pback)
Calculates capacity correction due to backpressure on balanced spring-loaded PRVs in liquid service. For pilot
operated valves, this is always 1. Applicable up to 50% of the percent gauge backpressure, For use in API 520
relief valve sizing. 1D interpolation among a table with 53 backpressures is performed.
Parameters
Pset [float] Set pressure for relief [Pa]
Pback [float] Backpressure, [Pa]
Returns
KW [float] Correction due to liquid backpressure [-]
Notes
References
[1]
Examples
Parameters
m [float] Mass flow rate of vapor through the valve, [kg/s]
T [float] Temperature of vapor entering the valve, [K]
Z [float] Compressibility factor of the vapor, [-]
MW [float] Molecular weight of the vapor, [g/mol]
k [float] Isentropic coefficient or ideal gas heat capacity ratio [-]
P1 [float] Upstream relieving pressure; the set pressure plus the allowable overpressure, plus
atmospheric pressure, [Pa]
P2 [float, optional] Built-up backpressure; the increase in pressure during flow at the outlet of a
pressure-relief device after it opens, [Pa]
Kd [float, optional] The effective coefficient of discharge, from the manufacturer or for prelim-
inary sizing, using 0.975 normally or 0.62 when used with a rupture disc as described in [1],
[]
Kb [float, optional] Correction due to vapor backpressure [-]
Kc [float, optional] Combination correction factor for installation with a ruture disk upstream
of the PRV, []
Returns
A [float] Minimum area for relief valve according to [1], [m^2]
Notes
References
[1]
Examples
0.0036990460646834414
0.004248358775943481
Notes
Units are interlally kg/hr, kPa, and mm^2 to match [1]. With the provided temperature and pressure, the KN
coefficient is calculated with the function API520_N; as is the superheat correction KSH, with the function
API520_SH.
References
[1]
Examples
Parameters
K [float] Sounders Brown K factor for two-phase separator design, [m/s]
rhol [float] Density of liquid phase [kg/m^3]
rhog [float] Density of gas phase [kg/m^3]
Returns
v_max [float] Maximum allowable vapor velocity in a two-phase separator to permit separation
between entrained droplets and the gas, [m/s]
Notes
The Sounders Brown K factor is related to the terminal velocity as shown in the following expression.
√︃
4𝑔𝑑𝑝 (𝜌𝑝 − 𝜌𝑓 )
𝑣𝑡𝑒𝑟𝑚 = 𝑣𝑚𝑎𝑥 =
3𝐶𝐷 𝜌𝑓
√︃ √︂
(𝜌𝑝 − 𝜌𝑓 ) 4𝑔𝑑𝑝
𝑣𝑡𝑒𝑟𝑚 =
𝜌𝑓 3𝐶𝐷
√︂
4𝑔𝑑𝑝
𝑣𝑡𝑒𝑟𝑚 = 𝐾𝑆𝐵
3𝐶𝐷
Note this form corresponds to the Newton’s law range (Re > 500), but in reality droplets are normally in the
intermediate or Stoke’s law region [2]. For this reason using the drag coefficient expression directly is cleaner,
but identical results can be found with the Sounders Brown equation.
References
[1], [2]
Examples
The graph has K_{SB} on its y-axis, and the following as its x-axis:
𝑚𝑙 (1 − 𝑥)
√︁ √︁
𝜌𝑔 /𝜌𝑙 = 𝜌𝑔 /𝜌𝑙
𝑚𝑔 𝑥
Cubic spline interpolation is the default method of retrieving a value from the graph, which was digitized with
Engauge-Digitizer.
Also supported are two published curve fits to the graph. The first is that of Blackwell (1984) [2], as follows:
Parameters
x [float] Quality of fluid entering separator, [-]
rhol [float] Density of liquid phase [kg/m^3]
rhog [float] Density of gas phase [kg/m^3]
horizontal [bool, optional] Whether to use the vertical or horizontal value; horizontal is 1.25
higher
method [str] One of ‘spline, ‘blackwell’, or ‘branan’
Returns
K [float] Sounders Brown horizontal or vertical K factor for two-phase separator design only,
[m/s]
Notes
Both the ‘branan’ and ‘blackwell’ models are used frequently. However, the spline is much more accurate.
No limits checking is enforced. However, the x-axis spans only 0.006 to 5.4, and the function should not be
used outside those limits.
References
Examples
fluids.separator.K_separator_demister_York(P, horizontal=False)
Calculates the Sounders Brown K factor as used in determining maximum permissible gas velocity in a two-
phase separator in either a horizontal or vertical orientation, with a demister. This function is a curve fit to [1]
published in [2] and is widely used.
For 1 < P < 15 psia:
𝐾 = 0.35
𝐾 = 0.430 − 0.023 ln 𝑃
Notes
If the input pressure is under 1 psia, 1 psia is used. If the input pressure is over 5500 psia, 5500 psia is used.
References
[2], [1]
Examples
>>> K_separator_demister_York(975*psi)
0.08281536035331669
Parameters
D [float] Design diameter of the droplets, [m]
Cd [float] Drag coefficient [-]
g [float, optional] Acceleration due to gravity, [m/s^2]
Returns
K [float] Sounders Brown K factor for two-phase separator design, [m/s]
Notes
Drag coefficient is a function of velocity; so iteration is needed to obtain the most correct answer. The following
example shows the use of iteration to obtain the final velocity:
The use of Sounders-Brown constants can be replaced as follows (the v_terminal method includes its own solver
for terminal velocity):
References
[1]
Examples
𝑉𝑠𝑎𝑙𝑡
𝐹 𝑟𝑠 = √
𝑔𝐷
𝑚𝑝
𝜇= 𝜋 2
4 𝐷 𝑉 𝜌𝑓
Parameters
mp [float] Solid mass flow rate, [kg/s]
dp [float] Particle diameter, [m]
rhog [float] Gas density, [kg/m^3]
D [float] Diameter of pipe, [m]
Returns
V [float] Saltation velocity of gas, [m/s]
Notes
References
Examples
𝑉𝑠𝑎𝑙𝑡
𝐹 𝑟𝑠 = √
𝑔𝐷
𝑉𝑡𝑒𝑟𝑚𝑖𝑛𝑎𝑙
𝐹 𝑟𝑝 = √︀
𝑔𝑑𝑝
𝑚𝑝
𝜇= 𝜋 2
4 𝐷 𝑉 𝜌𝑓
Parameters
mp [float] Solid mass flow rate, [kg/s]
rhop [float] Particle density, [kg/m^3]
dp [float] Particle diameter, [m]
rhog [float] Gas density, [kg/m^3]
D [float] Diameter of pipe, [m]
Vterminal [float] Terminal velocity of particle settling in gas, [m/s]
Returns
V [float] Saltation velocity of gas, [m/s]
Notes
Model is rearranged to be explicit in terms of saltation velocity internally. Result looks high, something may be
wrong. For particles > 0.3 mm.
References
[1], [2]
Examples
𝑉𝑠𝑎𝑙𝑡
𝐹 𝑟𝑠 = √
𝑔𝐷
𝑉𝑡𝑒𝑟𝑚𝑖𝑛𝑎𝑙
𝐹 𝑟𝑝 = √︀
𝑔𝑑𝑝
𝑚𝑝
𝜇= 𝜋 2
4 𝐷 𝑉 𝜌𝑓
Parameters
mp [float] Solid mass flow rate, [kg/s]
rhop [float] Particle density, [kg/m^3]
dp [float] Particle diameter, [m]
rhog [float] Gas density, [kg/m^3]
D [float] Diameter of pipe, [m]
Vterminal [float] Terminal velocity of particle settling in gas, [m/s]
Returns
V [float] Saltation velocity of gas, [m/s]
Notes
Model is rearranged to be explicit in terms of saltation velocity internally. Result looks high, something may be
wrong. For particles > 0.3 mm.
References
[1], [2]
Examples
Notes
References
Examples
𝑉𝑠𝑎𝑙𝑡
𝐹 𝑟𝑠 = √
𝑔𝐷
𝑚𝑝
𝜇= 𝜋 2
4 𝐷 𝑉 𝜌𝑓
Parameters
mp [float] Solid mass flow rate, [kg/s]
rhop [float] Particle density, [kg/m^3]
dp [float] Particle diameter, [m]
rhog [float] Gas density, [kg/m^3]
D [float] Diameter of pipe, [m]
Returns
V [float] Saltation velocity of gas, [m/s]
Notes
References
Examples
Notes
References
Examples
𝑉𝑠𝑎𝑙𝑡 = 1.5𝐺0.465
𝑠 𝐷−0.01 𝜇0.055 𝜌𝑓−0.42
𝑉𝑠𝑎𝑙𝑡 = 8.7𝐺0.302
𝑠 𝐷0.153 𝜇0.055 𝜌𝑓−0.42
(︂ )︂0.1
𝑑𝑝
𝐹 𝑟𝑠 = 15𝜇0.25
𝐷
𝑉𝑠𝑎𝑙𝑡
𝐹 𝑟𝑠 = √
𝑔𝐷
𝑚𝑝
𝜇= 𝜋 2
4 𝐷 𝑉 𝜌𝑓
𝑚𝑝
𝐺𝑠 =
𝐴
Parameters
mp [float] Solid mass flow rate, [kg/s]
rhog [float] Gas density, [kg/m^3]
D [float] Diameter of pipe, [m]
mug [float] Gas viscosity, [Pa*s]
Returns
V [float] Saltation velocity of gas, [m/s]
Notes
References
Examples
• If rhog, mul, mug, and sigma are specified, use the Kim_Mudawar model
• If rhog, mul, and mug are specified, use the Chisholm model
• If mul, P, and Pc are specified, use the Zhang_Webb model
• If rhog and sigma are specified, use the Lombardi_Pedrocchi model
Parameters
m [float] Mass flow rate of fluid, [kg/s]
x [float] Quality of fluid, [-]
rhol [float] Liquid density, [kg/m^3]
D [float] Diameter of pipe, [m]
L [float, optional] Length of pipe, [m]
rhog [float, optional] Gas density, [kg/m^3]
mul [float, optional] Viscosity of liquid, [Pa*s]
mug [float, optional] Viscosity of gas, [Pa*s]
sigma [float, optional] Surface tension, [N/m]
P [float, optional] Pressure of fluid, [Pa]
Pc [float, optional] Critical pressure of fluid, [Pa]
roughness [float, optional] Roughness of pipe for use in calculating friction factor, [m]
angle [float, optional] The angle of the pipe with respect to the horizontal, [degrees]
Returns
dP [float] Pressure drop of the two-phase flow, [Pa]
methods [list, only returned if AvailableMethods == True] List of methods which can be used
to calculate two-phase pressure drop with the given inputs.
Other Parameters
Method [string, optional] A string of the function name to use, as in the dictionary
two_phase_correlations.
AvailableMethods [bool, optional] If True, function will consider which methods which can
be used to calculate two-phase pressure drop with the given inputs and return them as a list
instead of performing a calculation.
Notes
These functions may be integrated over, with properties recalculated as the fluid’s quality changes.
This model considers only the frictional pressure drop, not that due to gravity or acceleration.
Examples
(1 − 𝑥𝑜 )2 𝑥2𝑜 (1 − 𝑥𝑖 )2 𝑥2𝑖
{︂[︂ ]︂ [︂ ]︂}︂
∆𝑃𝑎𝑐𝑐 = 𝐺2 + − +
𝜌𝑙,𝑜 (1 − 𝛼𝑜 ) 𝜌𝑔,𝑜 𝛼𝑜 𝜌𝑙,𝑖 (1 − 𝛼𝑖 ) 𝜌𝑔,𝑖 𝛼𝑖
Parameters
m [float] Mass flow rate of fluid, [kg/s]
D [float] Diameter of pipe, [m]
xi [float] Quality of fluid at inlet, [-]
xo [float] Quality of fluid at outlet, [-]
alpha_i [float] Void fraction at inlet (area of gas / total area of channel), [-]
alpha_o [float] Void fraction at outlet (area of gas / total area of channel), [-]
rho_li [float] Liquid phase density at inlet, [kg/m^3]
rho_gi [float] Gas phase density at inlet, [kg/m^3]
rho_lo [float, optional] Liquid phase density at outlet, [kg/m^3]
rho_go [float, optional] Gas phase density at outlet, [kg/m^3]
Returns
dP [float] Acceleration component of pressure drop for two-phase flow, [Pa]
Notes
The use of different gas and liquid phase densities at the inlet and outlet is optional; the outlet densities condi-
tions will be assumed to be those of the inlet if they are not specified.
There is a continuous variant of this method which can be integrated over, at the expense of a speed. The
differential form of this is as follows ([1], [3]):
𝑑 (1 − 𝑥)2 𝑥2
(︂ )︂ [︂ ]︂
𝑑𝑃
− = 𝐺2 +
𝑑𝑧 𝑎𝑐𝑐 𝑑𝑧 𝜌𝑙 (1 − 𝛼) 𝜌𝑔 𝛼
References
Examples
𝐺2 1 𝜕𝐴
(︂ )︂ (︂(︂ )︂ [︂ ]︂)︂
𝜕𝑃 1 1 𝜕𝑃 𝜕𝑥 𝜕𝑃 𝜕(1/𝜌𝑔 ) 𝜕(1/𝜌𝑙 )
− = 𝐺2 − + 𝑥 + (1 − 𝑥) −
𝜕𝐿 𝐴 𝜌𝑔 𝜌𝑙 𝜕𝐿 𝜕𝑃 𝜕𝐿 𝜕𝑃 𝜕𝑃 𝜌ℎ𝑜𝑚 𝐴 𝜕𝐿
Parameters
m [float] Mass flow rate of fluid, [kg/s]
D [float] Diameter of pipe, [m]
x [float] Quality of fluid [-]
rhol [float] Liquid density, [kg/m^3]
rhog [float] Gas density, [kg/m^3]
dv_dP_l [float] Derivative of mass specific volume of the liquid phase with respect to pressure,
[m^3/(kg*Pa)]
dv_dP_g [float] Derivative of mass specific volume of the gas phase with respect to pressure,
[m^3/(kg*Pa)]
dx_dP [float] Derivative of mass quality of the two-phase fluid with respect to pressure (numer-
ical derivatives may be convenient for this), [1/Pa]
dP_dL [float] Pressure drop per unit length of pipe, [Pa/m]
dA_dL [float] Change in area of pipe per unit length of pipe, [m^2/m]
Returns
dP_dz [float] Acceleration component of pressure drop for two-phase flow, [Pa/m]
Notes
This calculation has the homogeneous model built in to it as its derivation is shown in [1]. The discrete calcula-
tion is more flexible as different void fractions may be used.
References
Examples
Parameters
angle [float] The angle of the pipe with respect to the horizontal, [degrees]
z [float] The total length of the pipe, [m]
alpha_i [float] Void fraction at inlet (area of gas / total area of channel), [-]
rho_li [float] Liquid phase density at inlet, [kg/m^3]
rho_gi [float] Gas phase density at inlet, [kg/m^3]
alpha_o [float, optional] Void fraction at outlet (area of gas / total area of channel), [-]
rho_lo [float, optional] Liquid phase density at outlet, [kg/m^3]
rho_go [float, optional] Gas phase density at outlet, [kg/m^3]
g [float, optional] Acceleration due to gravity, [m/s^2]
Returns
dP [float] Gravitational component of pressure drop for two-phase flow, [Pa]
Notes
The use of different gas and liquid phase densities and void fraction at the inlet and outlet is optional; the outlet
densities and void fraction will be assumed to be those of the inlet if they are not specified. This does not add
much accuracy.
There is a continuous variant of this method which can be integrated over, at the expense of a speed. The
differential form of this is as follows ([1], [2]):
(︂ )︂
𝑑𝑃
− = [𝛼𝜌𝑔 + (1 − 𝛼)𝜌𝑙 ]𝑔 sin 𝜃
𝑑𝑧 𝑔𝑟𝑎𝑣
References
Examples
The same calculation, but using average inlet and outlet conditions:
Parameters
angle [float] The angle of the pipe with respect to the horizontal, [degrees]
alpha [float] Void fraction (area of gas / total area of channel), [-]
rhol [float] Liquid phase density, [kg/m^3]
rhog [float] Gas phase density, [kg/m^3]
g [float, optional] Acceleration due to gravity, [m/s^2]
Returns
dP_dz [float] Gravitational component of pressure drop for two-phase flow, [Pa/m]
References
[1], [2]
Examples
Notes
The original acceleration formula is fairly primitive and normally neglected. The model was developed assuming
smooth pipe, so leaving roughness to zero may be wise.
Note this is a “mechanistic” pressure drop model - the gravitational pressure drop cannot be separated from the
frictional pressure drop.
References
Examples
∆𝑃 = ∆𝑃𝑙 𝜑2𝑙
𝐶 1
𝜑2𝑙 = 1 + + 2
𝑋 𝑋
∆𝑃 𝑙
𝑋2 =
∆𝑃𝑔
Liquid Gas C
Turbulent Turbulent 20
Laminar Turbulent 12
Turbulent Laminar 10
Laminar Laminar 5
This model has its own friction factor calculations, to be consistent with its Reynolds number transition and
the procedure specified in the original work. The equation 64/Re is used up to Re_c, and above it the Blasius
equation is used as follows:
0.184
𝑓𝑑 =
𝑅𝑒0.2
Parameters
m [float] Mass flow rate of fluid, [kg/s]
x [float] Quality of fluid, [-]
Notes
Developed for horizontal flow. Very popular. Many implementations of this model assume turbulent-turbulent
flow.
The original model proposed that the transition Reynolds number was 1000 for laminar flow, and 2000 for
turbulent flow; it proposed no model for Re_l < 1000 and Re_g between 1000 and 2000 and also Re_g < 1000
and Re_l between 1000 and 2000.
No correction is available in this model for rough pipe.
[3] examined the original data in [1] again, and fit more curves to the data, separating them into different flow
regimes. There were 229 datum in the turbulent-turbulent regime, 9 in the turbulent-laminar regime, 339 in the
laminar-turbulent regime, and 42 in the laminar-laminar regime. Errors from [3]’s curves were 13.4%, 3.5%,
14.3%, and 12.0% for the above regimes, respectively. [2]’s fits provide further error.
References
Examples
3.24𝐹 𝐻
𝜑2𝑙𝑜 = 𝐸 +
𝐹 𝑟0.0454 𝑊 𝑒0.035
(︂ )︂0.91 (︂ )︂0.19 (︂ )︂0.7
𝜌𝑙 𝜇𝑔 𝜇𝑔
𝐻= 1−
𝜌𝑔 𝜇𝑙 𝜇𝑙
𝐹 = 𝑥0.78 (1 − 𝑥)0.224
(︂ )︂
𝜌𝑙 𝑓𝑑,𝑔𝑜
𝐸 = (1 − 𝑥)2 + 𝑥2
𝜌𝑔 𝑓𝑑,𝑙𝑜
𝐺2𝑡𝑝
𝐹𝑟 =
𝑔𝐷𝜌2𝐻
𝐺2𝑡𝑝 𝐷
𝑊𝑒 =
𝜎𝜌𝐻
(︂ )︂−1
𝑥 1−𝑥
𝜌𝐻 = +
𝜌𝑔 𝜌𝑙
Parameters
m [float] Mass flow rate of fluid, [kg/s]
x [float] Quality of fluid, [-]
rhol [float] Liquid density, [kg/m^3]
rhog [float] Gas density, [kg/m^3]
mul [float] Viscosity of liquid, [Pa*s]
mug [float] Viscosity of gas, [Pa*s]
sigma [float] Surface tension, [N/m]
D [float] Diameter of pipe, [m]
roughness [float, optional] Roughness of pipe for use in calculating friction factor, [m]
L [float, optional] Length of pipe, [m]
Returns
dP [float] Pressure drop of the two-phase flow, [Pa]
Notes
Applicable to vertical upflow and horizontal flow. Known to work poorly when mul/mug > 1000. Gives mean
errors on the order of 40%. Tested on data with diameters as small as 4 mm.
The power of 0.0454 is given as 0.045 in [2], [3], [4], and [5]; [6] and [2] give 0.0454 and [2] also gives a
similar correlation said to be presented in [1], so it is believed this 0.0454 was the original power. [6] also gives
an expression for friction factor claimed to be presented in [1]; it is not used here.
References
Examples
Example 4 in [6]:
Notes
Applicable for 0 < x < 1. n = 0.25, the exponent in the Blassius equation. Originally developed for smooth
pipes, a roughness correction is included as well from the Chisholm’s 1968 work [4]. Neither [2] nor [3] have
any mention of the correction however.
References
Examples
∆𝑃 = ∆𝑃𝑙 𝜑2𝑙
𝐶 1
𝜑2𝑙 = 1 + + 2
𝑋 𝑋
∆𝑃𝑙
𝑋2 =
∆𝑃𝑔
For turbulent liquid, turbulent gas:
(︂ )︂0.35
𝜌𝑙
𝐶 = 0.39𝑅𝑒0.03 0.10
𝑙𝑜 𝑆𝑢𝑔𝑜
𝜌𝑔
For turbulent liquid, laminar gas:
(︂ )︂0.14
𝜌𝑙
𝐶 = 8.7 × 10−4 𝑅𝑒0.17 0.50
𝑙𝑜 𝑆𝑢𝑔𝑜
𝜌𝑔
For laminar liquid, turbulent gas:
(︂ )︂0.36
0.59 𝜌𝑙
𝐶= 0.0015𝑅𝑒𝑙𝑜 𝑆𝑢0.19
𝑔𝑜
𝜌𝑔
For laminar liquid, laminar gas:
(︂ )︂0.48
−5 𝜌𝑙
𝐶 = 3.5 × 10 𝑅𝑒0.44 0.50
𝑙𝑜 𝑆𝑢𝑔𝑜
𝜌𝑔
This model has its own friction factor calculations, to be consistent with its Reynolds number transition. As
their model was regressed with these equations, more error is obtained when using any other friction factor
calculation. The laminar equation 64/Re is used up to Re=2000, then the Blasius equation with a coefficient of
0.316, and above Re = 20000,
0.184
𝑓𝑑 =
𝑅𝑒0.2
Parameters
Notes
The critical Reynolds number in this model is 2000, with a Reynolds number definition using actual liquid and
gas flows. This model also requires liquid-only Reynolds number to be calculated.
No attempt to incorporate roughness into the model was made in [1].
The model was developed with hydraulic diameter from 0.0695 to 6.22 mm, mass velocities 4 to 8528 kg/m^2/s,
flow qualities from 0 to 1, reduced pressures from 0.0052 to 0.91, superficial liquid Reynolds numbers up to
79202, superficial gas Reynolds numbers up to 253810, liquid-only Reynolds numbers up to 89798, 7115 data
points from 36 sources and working fluids air, CO2, N2, water, ethanol, R12, R22, R134a, R236ea, R245fa,
R404A, R407C, propane, methane, and ammonia.
References
[1], [2]
Examples
Parameters
m [float] Mass flow rate of fluid, [kg/s]
x [float] Quality of fluid, [-]
rhol [float] Liquid density, [kg/m^3]
rhog [float] Gas density, [kg/m^3]
mul [float] Viscosity of liquid, [Pa*s]
mug [float] Viscosity of gas, [Pa*s]
D [float] Diameter of pipe, [m]
roughness [float, optional] Roughness of pipe for use in calculating friction factor, [m]
L [float, optional] Length of pipe, [m]
Returns
dP [float] Pressure drop of the two-phase flow, [Pa]
Notes
Applicable for 0 < x < 1. n = 0.25, the exponent in the Blassius equation. The Chisholm_1973 function should
be used in preference to this.
References
Examples
(︃ √︀ )︃0.7/𝑛
2 𝜌𝑙 /𝜌𝑔
𝜖=3−2
1 + 𝜌𝑙 /𝜌𝑔
0.1
𝑛1 + 𝑛2 (∆𝑃𝑔 /∆𝑃𝑙 )
𝑛= 0.1
1 + (∆𝑃𝑔 /∆𝑃𝑙 )
ln (∆𝑃𝑙 /∆𝑃𝑙𝑜 )
𝑛1 =
ln (1 − 𝑥)
ln (∆𝑃𝑔 /∆𝑃𝑔𝑜 )
𝑛2 =
ln 𝑥
Parameters
m [float] Mass flow rate of fluid, [kg/s]
x [float] Quality of fluid, [-]
rhol [float] Liquid density, [kg/m^3]
rhog [float] Gas density, [kg/m^3]
mul [float] Viscosity of liquid, [Pa*s]
mug [float] Viscosity of gas, [Pa*s]
D [float] Diameter of pipe, [m]
roughness [float, optional] Roughness of pipe for use in calculating friction factor, [m]
L [float, optional] Length of pipe, [m]
Returns
dP [float] Pressure drop of the two-phase flow, [Pa]
Notes
Applicable for 0 < x < 1. Notable, as it can be used for two-phase liquid- liquid flow as well as liquid-gas flow.
References
Examples
Notes
Applicable for 0 < x < 1. Developed to be easily integrated. The contribution of each term to the overall pressure
drop can be understood in this model.
References
Examples
Notes
References
Examples
Parameters
m [float] Mass flow rate of fluid, [kg/s]
x [float] Quality of fluid, [-]
rhol [float] Liquid density, [kg/m^3]
rhog [float] Gas density, [kg/m^3]
sigma [float] Surface tension, [N/m]
D [float] Diameter of pipe, [m]
L [float, optional] Length of pipe, [m]
Returns
dP [float] Pressure drop of the two-phase flow, [Pa]
Notes
This is a purely empirical method. [3] presents a review of this and other correlations. It did not perform best,
but there were also correlations worse than it.
References
Examples
Notes
Applicable for 0 < x < 1. Developed for the annular flow regime in turbulent-turbulent flow.
References
Examples
∆𝑃 = 𝑑𝑃𝑙𝑜 𝜑2𝑙𝑜
Notes
Developed for boiling refrigerants in channels with hydraulic diameters of 2.4 mm to 2.92 mm.
References
Examples
∆𝑃 = ∆𝑃𝐹 𝑟𝑖𝑒𝑑𝑒𝑙 Ω
Notes
Applicable ONLY to mini/microchannels; yields drastically too low pressure drops for larger channels. For
more details, see the Friedel correlation.
It is not explicitly stated in [1] how to calculate the liquid mixture density for use in calculation of Weber
number; the homogeneous model is assumed as it is used in the Friedel model.
The bond number used here is 1/4 the normal value, i.e.:
𝑔(𝜌𝑙 − 𝜌𝑔 )𝐷2
𝐵𝑜 =
4𝜎
References
Examples
Parameters
m [float] Mass flow rate of fluid, [kg/s]
x [float] Quality of fluid, [-]
rhol [float] Liquid density, [kg/m^3]
mul [float] Viscosity of liquid, [Pa*s]
P [float] Pressure of fluid, [Pa]
Pc [float] Critical pressure of fluid, [Pa]
D [float] Diameter of pipe, [m]
roughness [float, optional] Roughness of pipe for use in calculating friction factor, [m]
L [float, optional] Length of pipe, [m]
Returns
dP [float] Pressure drop of the two-phase flow, [Pa]
Notes
Applicable for 0 < x < 1. Corresponding-states method developed with R-134A, R-22 and R-404A in tubes of
hydraulic diameters of 2.13 mm, 6.25 mm, and 3.25 mm. For the author’s 119 data points, the mean deviation
was 11.5%. Recommended for reduced pressures larger than 0.2 and tubes of diameter 1-7 mm.
Does not require known properties for the gas phase.
References
[1], [2]
Examples
∆𝑃 = ∆𝑃𝑙𝑜 𝜑2𝑙𝑜
References
[1]
Examples
∆𝑃 = ∆𝑃𝑙 𝜑2𝑙
𝜑2𝑙 = 𝑋 −1.9
(︂ )︂0.5 (︂
1 − 𝑥 𝑅𝑒0.1
)︂
𝜌𝑔 𝑔
𝑋 = 18.65
𝜌𝑙 𝑥 𝑅𝑒0.5
𝑙
Parameters
References
Examples
∆𝑃 = ∆𝑃𝑔 𝜑2𝑔
roughness [float, optional] Roughness of pipe for use in calculating friction factor, [m]
L [float, optional] Length of pipe, [m]
Returns
dP [float] Pressure drop of the two-phase flow, [Pa]
References
Examples
∆𝑃 = ∆𝑃𝑙 𝜑2𝑙
𝐶 = 0.227𝑅𝑒0.452
𝑙𝑜 𝑋 −0.32 𝐶𝑜−0.82
𝐶 1
𝜑2𝑙 = 1 + + 2
𝑋 𝑋
∆𝑃𝑙
𝑋2 =
∆𝑃𝑔
Parameters
m [float] Mass flow rate of fluid, [kg/s]
x [float] Quality of fluid, [-]
rhol [float] Liquid density, [kg/m^3]
rhog [float] Gas density, [kg/m^3]
mul [float] Viscosity of liquid, [Pa*s]
mug [float] Viscosity of gas, [Pa*s]
sigma [float] Surface tension, [N/m]
D [float] Diameter of pipe, [m]
roughness [float, optional] Roughness of pipe for use in calculating friction factor, [m]
L [float, optional] Length of pipe, [m]
Returns
dP [float] Pressure drop of the two-phase flow, [Pa]
Notes
Developed with data for microtubes of diameter 0.244 mm and 0.792 mm only. Not likely to be suitable to
larger diameters.
References
Examples
∆𝑃 = ∆𝑃𝑙 𝜑2𝑙
𝐶 1
𝜑2𝑙 = 1 + + 2
𝑋 𝑋
∆𝑃𝑙
𝑋2 =
∆𝑃𝑔
For adiabatic liquid-vapor two-phase flow:
𝐶 = 21[1 − exp(−0.142/𝐶𝑜)]
𝐶 = 21[1 − exp(−0.674/𝐶𝑜)]
𝐶 = 21[1 − exp(−0.358/𝐶𝑜)]
Parameters
m [float] Mass flow rate of fluid, [kg/s]
x [float] Quality of fluid, [-]
rhol [float] Liquid density, [kg/m^3]
rhog [float] Gas density, [kg/m^3]
mul [float] Viscosity of liquid, [Pa*s]
mug [float] Viscosity of gas, [Pa*s]
sigma [float] Surface tension, [N/m]
D [float] Diameter of pipe, [m]
roughness [float, optional] Roughness of pipe for use in calculating friction factor, [m]
L [float, optional] Length of pipe, [m]
flowtype [str] One of ‘adiabatic vapor’, ‘adiabatic gas’, or ‘flow boiling’
Returns
dP [float] Pressure drop of the two-phase flow, [Pa]
Notes
References
Examples
∆𝑃 = ∆𝑃𝑙 𝜑2𝑙
𝐶 = 21[1 − exp(−319𝐷)]
𝐶 1
𝜑2𝑙 = 1 + + 2
𝑋 𝑋
∆𝑃𝑙
𝑋2 =
∆𝑃𝑔
Parameters
m [float] Mass flow rate of fluid, [kg/s]
x [float] Quality of fluid, [-]
rhol [float] Liquid density, [kg/m^3]
rhog [float] Gas density, [kg/m^3]
mul [float] Viscosity of liquid, [Pa*s]
mug [float] Viscosity of gas, [Pa*s]
sigma [float] Surface tension, [N/m]
D [float] Diameter of pipe, [m]
roughness [float, optional] Roughness of pipe for use in calculating friction factor, [m]
L [float, optional] Length of pipe, [m]
Returns
dP [float] Pressure drop of the two-phase flow, [Pa]
References
Examples
Parameters
m [float] Mass flow rate of fluid, [kg/s]
x [float] Quality of fluid, [-]
rhol [float] Liquid density, [kg/m^3]
rhog [float] Gas density, [kg/m^3]
mul [float] Viscosity of liquid, [Pa*s]
mug [float] Viscosity of gas, [Pa*s]
D [float] Diameter of pipe, [m]
roughness [float, optional] Roughness of pipe for use in calculating friction factor, [m]
L [float, optional] Length of pipe, [m]
Returns
dP [float] Pressure drop of the two-phase flow, [Pa]
Notes
This correlation is not actually shown in [1]. Its origin is unknown. The author recommends against using this.
References
Examples
Parameters
x [float] Quality at the specific tube interval []
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
mul [float] Viscosity of liquid [Pa*s]
mug [float] Viscosity of gas [Pa*s]
Returns
alpha [float] Void fraction (area of gas / total area of channel), [-]
Notes
Based on experimental data for boiling of water. [3] presents a slightly different model. However, its results are
almost identical. A comparison can be found in the unit tests. Neither expression was found in [1] in a brief
review.
References
Examples
Parameters
x [float] Quality at the specific tube interval []
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
Returns
alpha [float] Void fraction (area of gas / total area of channel), [-]
Notes
Based on experimental data for boiling of water. More complicated variants of this are also in [1].
References
Examples
(︀ 1−𝑥 )︀ ⎪−1
⎧ ⎡ ⎯ ⎤⎫
⎸ 𝜌𝑙
⎪
⎨ (︂
1−𝑥
)︂ (︂
𝜌𝑔
)︂ ⎸ 𝜌 + 𝐾 𝑥 ⎥⎬
⎷ 𝑔
𝛼= 1+ ⎣𝐾 + (1 − 𝐾)
⎢
1 + 𝐾 1−𝑥
(︀ )︀ ⎦
⎪
⎩ 𝑥 𝜌𝑙 𝑥
⎪
⎭
Parameters
x [float] Quality at the specific tube interval []
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
Returns
alpha [float] Void fraction (area of gas / total area of channel), [-]
Notes
[1] is an easy to read paper and has been reviewed. The form of the expression here is rearranged somewhat
differently than in [1] but has been verified to be numerically equivalent. The form of this in [3] is missing a
square root on a bracketed term; this appears in multiple papers by the authors.
References
Examples
Parameters
x [float] Quality at the specific tube interval []
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
Returns
alpha [float] Void fraction (area of gas / total area of channel), [-]
Notes
[1] has not been reviewed. However, both [2] and [3] present it the same way.
References
Examples
Parameters
x [float] Quality at the specific tube interval []
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
Returns
alpha [float] Void fraction (area of gas / total area of channel), [-]
Notes
[1] has not been reviewed. However, both [2] and [3] present it the same way.
References
Examples
Parameters
x [float] Quality at the specific tube interval []
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
mul [float] Viscosity of liquid [Pa*s]
mug [float] Viscosity of gas [Pa*s]
Returns
alpha [float] Void fraction (area of gas / total area of channel), [-]
Notes
[1] has not been reviewed. However, both [2] and [3] present it the same way, if slightly differently rearranged.
References
Examples
Parameters
x [float] Quality at the specific tube interval []
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
Returns
alpha [float] Void fraction (area of gas / total area of channel), [-]
References
Examples
Parameters
x [float] Quality at the specific tube interval []
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
Returns
alpha [float] Void fraction (area of gas / total area of channel), [-]
References
Examples
𝛼 = 0.833𝛼ℎ
Parameters
x [float] Quality at the specific tube interval []
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
Returns
alpha [float] Void fraction (area of gas / total area of channel), [-]
References
Examples
Parameters
x [float] Quality at the specific tube interval []
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
Returns
alpha [float] Void fraction (area of gas / total area of channel), [-]
Notes
[1] is in Japanese.
[3] either shows this model as iterative in terms of voidage, or forgot to add a H subscript to its second voidage
term; the second is believed more likely.
References
Examples
Parameters
x [float] Quality at the specific tube interval []
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
References
Examples
𝐶1 𝛼ℎ0.5
𝛼=
1 − 𝐶2 𝛼ℎ0.5
Parameters
x [float] Quality at the specific tube interval []
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
D [float] Diameter of the channel, [m]
Returns
alpha [float] Void fraction (area of gas / total area of channel), [-]
Notes
C1 and C2 were constants for different diameters. Only diameters of 100 and 50 mircometers were studied in
[1]. Here, the coefficients are distributed for three ranges, > 250 micrometers, 250-75 micrometers, and < 75
micrometers.
The Armand model is used for the first, C1 and C2 are 0.03 and 0.97 for the second, and C1 and C2 are 0.02
and 0.98 for the third.
References
Examples
Parameters
x [float] Quality at the specific tube interval []
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
mul [float] Viscosity of liquid [Pa*s]
mug [float] Viscosity of gas [Pa*s]
Returns
alpha [float] Void fraction (area of gas / total area of channel), [-]
References
Examples
𝛼 = 1 − 0.38𝑅𝑒−0.088
𝑙 [𝐹 (𝑋𝑡𝑡 )]−1 + 0.0361𝑅𝑒𝑙−0.176 [𝐹 (𝑋𝑡𝑡 )]−2
−1 −0.476
𝐹 (𝑋𝑡𝑡 ) = 0.15[𝑋𝑡𝑡 + 2.85𝑋𝑡𝑡 ]
Parameters
x [float] Quality at the specific tube interval []
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
mul [float] Viscosity of liquid [Pa*s]
Notes
[1] does not specify how it defines the liquid Reynolds number. [2] disagrees with [3] and [4]; the later variant
was selected, with:
𝐺𝑡𝑝 𝐷
𝑅𝑒𝑙 =
𝜇𝑙
The lower limit on Reynolds number is not enforced.
References
Examples
𝐺𝑡𝑝 (1 − 𝑥)𝐷
𝑅𝑒𝑙 =
𝜇𝑙
Parameters
x [float] Quality at the specific tube interval []
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
mul [float] Viscosity of liquid [Pa*s]
mug [float] Viscosity of gas [Pa*s]
m [float] Mass flow rate of both phases, [kg/s]
D [float] Diameter of the channel, [m]
Returns
alpha [float] Void fraction (area of gas / total area of channel), [-]
Notes
References
Examples
Otherwise:
Parameters
x [float] Quality at the specific tube interval []
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
mul [float] Viscosity of liquid [Pa*s]
mug [float] Viscosity of gas [Pa*s]
Returns
alpha [float] Void fraction (area of gas / total area of channel), [-]
Notes
[1] has been reviewed. [2] gives an exponent of -0.38 instead of -0.378 as is in [1]. [3] describes only the novel
half of the correlation. The portion for Xtt > 10 is novel; the other is said to be from their 31st reference, Wallis.
There is a discontinuity at Xtt = 10.
References
Examples
Notes
[1] has been reviewed. [2] does not list that the expression is not real below a certain value of Ft.
References
Examples
Parameters
x [float] Quality at the specific tube interval []
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
mul [float] Viscosity of liquid [Pa*s]
mug [float] Viscosity of gas [Pa*s]
m [float] Mass flow rate of both phases, [kg/s]
D [float] Diameter of the channel, [m]
g [float, optional] Acceleration due to gravity, [m/s^2]
Returns
alpha [float] Void fraction (area of gas / total area of channel), [-]
Notes
[1] has been reviewed; both [2] and [3] give it correctly.
References
Examples
2(1 − 𝑥)2
𝛼=1− [︁ (︁ )︁]︁0.5
𝜌𝑙
1 − 2𝑥 + 1 + 4𝑥(1 − 𝑥) 𝜌𝑔 −1
Parameters
x [float] Quality at the specific tube interval []
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
Returns
alpha [float] Void fraction (area of gas / total area of channel), [-]
Notes
[1] has been reviewed, and matches the expressions given in the reviews [2], [3], and [4]; the form of the
expression is rearranged somewhat differently.
References
Examples
𝛼 = 𝛼ℎ for 𝐹𝑡 ≤ 0.044
Parameters
x [float] Quality at the specific tube interval []
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
mul [float] Viscosity of liquid [Pa*s]
mug [float] Viscosity of gas [Pa*s]
m [float] Mass flow rate of both phases, [kg/s]
D [float] Diameter of the channel, [m]
g [float, optional] Acceleration due to gravity, [m/s^2]
Returns
alpha [float] Void fraction (area of gas / total area of channel), [-]
Notes
[1] has been reviewed. If is recommended this expression not be used above Ft values of 454.
References
[1], [2]
Examples
1.18(1 − 𝑥)
𝑣𝑔𝑚 = [𝑔𝜎(𝜌𝑙 − 𝜌𝑔 )]0.25
𝜌0.5
𝑙
𝐶0 = 1 + 0.12(1 − 𝑥)
Parameters
x [float] Quality at the specific tube interval []
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
sigma [float] Surface tension of liquid [N/m]
m [float] Mass flow rate of both phases, [kg/s]
D [float] Diameter of the channel, [m]
g [float, optional] Acceleration due to gravity, [m/s^2]
Returns
alpha [float] Void fraction (area of gas / total area of channel), [-]
Notes
References
Examples
1.18(1 − 𝑥)
𝑣𝑔𝑚 = [𝑔𝜎(𝜌𝑙 − 𝜌𝑔 )]0.25
𝜌0.5
𝑙
𝐶0 = 1 + 0.2(1 − 𝑥)
Parameters
x [float] Quality at the specific tube interval []
Notes
The expression as quoted in [2] and [3] could not be found in [1].
References
Examples
1.18(1 − 𝑥)
𝑣𝑔𝑚 = [𝑔𝜎(𝜌𝑙 − 𝜌𝑔 )]0.25
𝜌0.5
𝑙
(︂ )︂0.5
𝜌𝑙
𝐶0 = 1 + 0.2(1 − 𝑥)(𝑔𝐷)0.25
𝐺𝑡𝑝
Parameters
x [float] Quality at the specific tube interval []
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
sigma [float] Surface tension of liquid [N/m]
m [float] Mass flow rate of both phases, [kg/s]
D [float] Diameter of the channel, [m]
g [float, optional] Acceleration due to gravity, [m/s^2]
Returns
alpha [float] Void fraction (area of gas / total area of channel), [-]
Notes
The expression as quoted in [2] and [3] could not be found in [1].
References
Examples
𝐶0 = 1.2
Parameters
x [float] Quality at the specific tube interval []
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
m [float] Mass flow rate of both phases, [kg/s]
D [float] Diameter of the channel, [m]
g [float, optional] Acceleration due to gravity, [m/s^2]
Returns
alpha [float] Void fraction (area of gas / total area of channel), [-]
References
Examples
𝑣𝑔𝑚 = 0
𝐶0 = 1.19
Parameters
x [float] Quality at the specific tube interval []
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
Returns
alpha [float] Void fraction (area of gas / total area of channel), [-]
References
Examples
Notes
References
Examples
References
Examples
Notes
Claims an AARD of 5.0%, and suitability for any flow regime, mini and micro channels, adiabatic, evaporating,
or condensing flow, and for Frlo from 0.02 to 145, rhog/rhol from 0.004-0.153, and x from 0 to 1.
References
[1]
Examples
𝑚𝑥
𝑣𝑔𝑠 =
𝜌𝑔 𝜋4 𝐷2
𝑚(1 − 𝑥)
𝑣𝑙𝑠 =
𝜌𝑙 𝜋4 𝐷2
Parameters
Notes
Strongly recommended.
References
[1]
Examples
pow_x [float, optional] Power for the phase ratio (1-x)/x, [-]
pow_rho [float, optional] Power for the density ratio rhog/rhol, [-]
pow_mu [float, optional] Power for the viscosity ratio mul/mug, [-]
n [float, optional] Number to be used for calculating pow_x and pow_mu if provided, [-]
Returns
Xtt [float] Xtt Lockhart-Martinelli two-phase flow parameter [-]
Notes
References
[1], [2]
Examples
Parameters
rho_lg [float] Two-phase effective density [kg/m^3]
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
Returns
alpha [float] Void fraction (area of gas / total area of channel), [-]
References
[1]
Examples
𝜌𝑚 = 𝛼𝜌𝑔 + (1 − 𝛼)𝜌𝑙
Parameters
alpha [float] Void fraction (area of gas / total area of channel), [-]
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
Returns
rho_lg [float] Two-phase effective density [kg/m^3]
Notes
References
[1]
Examples
𝜇𝑚 = 𝜇𝑙 (1 − 𝛼𝑚 )(1 + 2.5𝛼𝑚 ) + 𝜇𝑔 𝛼𝑚
1
𝛼𝑚 = (︀ 1−𝑥 )︀ 𝜌𝑔 (homogeneous model)
1+ 𝑥 𝜌𝑙
Parameters
x [float] Quality of the gas-liquid flow, [-]
mul [float] Viscosity of liquid, [Pa*s]
mug [float] Viscosity of gas, [Pa*s]
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
Returns
mu_lg [float] Liquid-gas viscosity (a suggested definition, potentially useful for empirical
work only!) [Pa*s]
Notes
This model converges to the liquid or gas viscosity as the quality approaches either limits.
References
Examples
Parameters
x [float] Quality of the gas-liquid flow, [-]
mul [float] Viscosity of liquid, [Pa*s]
mug [float] Viscosity of gas, [Pa*s]
Returns
mu_lg [float] Liquid-gas viscosity (a suggested definition, potentially useful for empirical
work only!) [Pa*s]
Notes
This model converges to the liquid or gas viscosity as the quality approaches either limits.
[3] states this is the most common definition of two-phase liquid-gas viscosity.
References
Examples
𝜇𝑚 = 𝑥𝜇𝑔 + (1 − 𝑥)𝜇𝑙
Parameters
x [float] Quality of the gas-liquid flow, [-]
mul [float] Viscosity of liquid, [Pa*s]
mug [float] Viscosity of gas, [Pa*s]
Returns
mu_lg [float] Liquid-gas viscosity (a suggested definition, potentially useful for empirical
work only!) [Pa*s]
Notes
This model converges to the liquid or gas viscosity as the quality approaches either limits.
References
Examples
Parameters
x [float] Quality of the gas-liquid flow, [-]
mul [float] Viscosity of liquid, [Pa*s]
mug [float] Viscosity of gas, [Pa*s]
Returns
mu_lg [float] Liquid-gas viscosity (a suggested definition, potentially useful for empirical
work only!) [Pa*s]
Notes
This model converges to the liquid or gas viscosity as the quality approaches either limits.
References
[1], [2]
Examples
Parameters
x [float] Quality of the gas-liquid flow, [-]
mul [float] Viscosity of liquid, [Pa*s]
mug [float] Viscosity of gas, [Pa*s]
rhol [float] Density of the liquid, [kg/m^3]
rhog [float] Density of the gas, [kg/m^3]
Returns
mu_lg [float] Liquid-gas viscosity (a suggested definition, potentially useful for empirical
work only!) [Pa*s]
Notes
This model converges to the liquid or gas viscosity as the quality approaches either limits.
This was first expressed in the equalivalent form as follows:
(︂ √︁ )︂
𝜇𝑚 = 𝜌𝑚 𝑥𝜈𝑔 + (1 − 𝑥)𝜈𝑙 + 2 𝑥(1 − 𝑥)𝜈𝑔 𝜈𝑙
References
Examples
holdup = 1 − voidage
If no correlation is selected, the following rules are used, with the earlier options attempted first:
• TODO: defaults
Parameters
x [float] Quality of fluid, [-]
rhol [float] Liquid density, [kg/m^3]
rhog [float] Gas density, [kg/m^3]
D [float, optional] Diameter of pipe, [m]
m [float, optional] Mass flow rate of fluid, [kg/s]
mul [float, optional] Viscosity of liquid, [Pa*s]
mug [float, optional] Viscosity of gas, [Pa*s]
sigma [float, optional] Surface tension, [N/m]
P [float, optional] Pressure of fluid, [Pa]
Pc [float, optional] Critical pressure of fluid, [Pa]
angle [float, optional] Angle of the channel with respect to the horizontal (vertical = 90), [de-
grees]
g [float, optional] Acceleration due to gravity, [m/s^2]
Returns
alpha [float] Void fraction (area of gas / total area of channel), [-]
methods [list, only returned if AvailableMethods == True] List of methods which can be used
to calculate two-phase liquid-gas voidage with the given inputs.
Other Parameters
Method [string, optional] A string of the function name to use, as in the dictionary
two_phase_voidage_correlations.
AvailableMethods [bool, optional] If True, function will consider which methods which can
be used to calculate two-phase liquid-gas voidage with the given inputs and return them as
a list instead of performing a calculation.
Examples
Parameters
x [float] Quality of fluid, [-]
mul [float] Viscosity of liquid, [Pa*s]
mug [float] Viscosity of gas, [Pa*s]
rhol [float, optional] Liquid density, [kg/m^3]
rhog [float, optional] Gas density, [kg/m^3]
Returns
mu_lg [float] Liquid-gas viscosity (a suggested definition, potentially useful for empirical
work only!) [Pa*s]
methods [list, only returned if AvailableMethods == True] List of methods which can be used
to calculate two-phase liquid-gas viscosity with the given inputs.
Other Parameters
Method [string, optional] A string of the function name to use, as in the dictionary liq-
uid_gas_viscosity_correlations.
AvailableMethods [bool, optional] If True, function will consider which methods which can be
used to calculate two-phase liquid-gas viscosity with the given inputs and return them as a
list instead of performing a calculation.
Notes
All of these models converge to the liquid or gas viscosity as the quality approaches either limits. Other defini-
tions have been proposed, such as using only liquid viscosity.
These values cannot just be plugged into single phase correlations!
Examples
1.2092040385066917e-05
>>> gas_liquid_viscosity(x=0.4, mul=1E-3, mug=1E-5)
2.4630541871921184e-05
Basic module which wraps all fluids functions and classes to be compatible with the pint unit handling library. All
other object - dicts, lists, etc - are not wrapped. Supports star imports; so the same objects exported when importing
from the main library will be imported from here.
There is no global unit registry in pint, and each registry must be a singleton. However, there is a default registry
which is suitable for use in multiple modules at once.
This default registry should be imported in one of the following ways (it does not need to be called u; it can be imported
from pint as ureg or any other name):
Note that if the star import convention is used, it will be imported as u for you. Unlike the normal convention, this
registry is already initialized. To repeat it again, you CANNOT do the following in your project and work with
fluids.units.
The result is always one or more Quantity objects, depending on the signature of the function called.
For arguments whose documentation specify they are dimensionless, they can optionally be passed in without making
them dimensionless numbers with pint.
Like all pint registries, the default unit system can be changed. However, all functions will still return the unit their
documentation says they do. To convert to the new base units, use the method .to_base_units().
The order of the arguments to a function is the same as it is in the regular library; it won’t try to infer argument position
from their units, an exception will be raised.
Support for classes is provided by wrapping each class by a proxy class which reads the docstrings of each method
and the main class to determine the inputs and outputs. Properties, attributes, inputs, and units are all included.
Note that static methods cannot be used with the base class, only an instantiated class. This is because the proxy class
wraps the methods only on creation of the object.
>>> ATMOSPHERE_1976.thermal_conductivity(300*u.K)
AttributeError: type object 'ATMOSPHERE_1976' has no attribute 'thermal_conductivity'
>>> ATMOSPHERE_1976(0*u.m).thermal_conductivity(300*u.K)
<Quantity(0.0262520007809, 'watt / kelvin / meter')>
Basic module which wraps all fluids functions with numpy’s vectorize. All other object - dicts, classes, etc - are not
wrapped. Supports star imports; so the same objects exported when importing from the main library will be imported
from here.
Note that because this needs to import fluids itself, fluids.vectorized needs to be imported separately; the following
will cause an error:
Water at 30 degrees Celsius flows through a 20 m length of 50 mm plastic (smooth wall) pipe, at a flow rate of 200
L/min.
Calculate the Reynolds number and friction factor.
Q = 0.2*u.m**3/u.min
T = 30*u.degC
P = 2*u.bar # assumed
water = Stream('water', T=T, P=P, Q=Q)
The values presented in their solution are Re=100600; and fd=0.0179. The difference in values is due to the precision
they used.
A 150 mm class 125 Y-pattern globe valve with a Kv=500 flow coefficient is given.
425
Fluids Documentation, Release 0.1
Calculate the resistance coefficient K, L/D equivalent, and the length for complete turbulence in the flow.
Use schedule 40, 150 mm pipe as a reference.
K = Kv_to_K(Kv, D)
L_D = L_equiv_from_K(K, fd=.015)
L = D*L_D
The results calculated in Crane TP 410M are 3.6, 240, and 37.0 respectively.
A 100 mm class 600 steel angle valve, has a full area seat.
Calculate its resistance coefficient K, flow coefficient Kv, the equivalent length of it L/D, and the length for complete
turbulent L.
The values given in the solution are K=2.475, Kv = 240.2, L/D=150, and L = 14.6.
A 150 by 100 mm class 600 steel gate valve, conically tapered ports, length 550 mm, back of seat ring ~150 mm. The
valve is connected to 146 mm schedule 80 pipe. The angle can be calculated to be 13 degrees. The valve is specified
to be operating in turbulent conditions.
The values calculated in the problem use a friction factor of 0.015; this is the source of the discrepancies. Their
procedure for loss in valves and fittings is based around the roughness of commercial steel pipe with a roughness of
0.0018 inches, but in their examples they simply look their friction factors up in a table which does not consider the
diameter of the pipe. Their calculated values are K2 = 1.22, L/D=81.3, and L = 11.9.
A lift check valve of type globe (with a wing-guided disc) is added to a 80 mm Schedule 40 horizontal pipe carying
water at a flow rate of 300 L/min.
Calculate the check valve size, and pressure drop. The disc should be fully lifted at the specified flow.
[1]: from fluids.units import *
from math import *
Q = 300*u.L/u.min
D_80 = 77.9*u.mm
rho = 998.2*u.kg/u.m**3
# Try: schedule 40, 80 mm valve
D_60 = 62.7*u.mm
v_lift = v_lift_valve_Crane(rho=rho, D1=D_80, D2=D_80, style='lift check straight')
print('Minimum velocity = %s' %v_lift)
v = Q/(pi/4*D_80**2)
print('Velocity in 80 mm valve = %s' %v.to_base_units())
v = Q/(pi/4*D_60**2)
print('Velocity in 60 mm valve = %s' %v.to_base_units())
# The desired velocity is close enough
dP = 0.5*rho*v_pipe**2*K2
print('Pressure drop = %s' %dP.to(u.Pa))
Minimum velocity = 1.582563779 meter / second
Velocity in 80 mm valve = 1.04907178712 meter / second
Minimum velocity = 1.02523019353 meter / second
Velocity in 60 mm valve = 1.61936609196 meter / second
Loss coefficient = 24.8796766231 dimensionless
Pressure drop = 13666.0409068 pascal
The values calculated in the example are K2 = 26.3 and pressure drop = 14450 Pa. Interestingly, the formula for
minimum lift velocity used in their example does not use the ratio of diameters as the formula in their appendix shows.
Otherwise the examples match.
Water is discharged at 15 degrees Celsius from a tank with 7 m of head to atmosphere through:
• 60 meters of 80 mm schedule 40 pipe
• Six 80 mm standard 90 degree threaded elbows
• One 80 mm flanged ball valve, with a 60 mm diameter seat, 16 degree conical inlet and 30 degree conival outlet.
• The entrance is sharp-edged and flush with the tank
H = 7*u.m
L = 60*u.m
fd = 0.017 # assumed in their example
NPS, D_pipe, Do_pipe, t = nearest_pipe(Do=80*u.mm)
v = (2*u.gravity*H/K)**0.5
print('Velocity = %s' %v.to_base_units())
Q = v*pi/4*D_pipe**2
print('Flow rate = %s' %Q.to(u.L/u.min))
Re = Reynolds(D=D_pipe, rho=rho, mu=mu, V=v)
fd = friction_factor(Re=Re, eD=0.0018*u.inch/D_pipe)
Velocity = 2.77004132376 meter / second
Flow rate = 792.547439913 liter / minute
The radius of curvature of the elbows was not specified; 0.65 bend diameters matches their results most closely. They
modified the ball valve equation to support both an inlet and an outlet angle; the average value is used here.
Their calculated values are 2.74 m/s and flow rate of 781 L/min.
The calculation can be performed more accurately by iterating; a naive approach is shown below. A very different
flow rate is obtained when the roughness of the pipe is considered in the friction factor calculation.
[2]: fd = 0.017
for i in range(7):
K = K_from_f(fd=fd, L=L, D=D_pipe)
K += entrance_sharp()
K += exit_normal()
K += 6*bend_rounded(D_pipe, angle=90*u.degrees, fd=fd, bend_diameters=0.65)
ball_valve_angle = 0.5*(15+30)*u.degrees # use the average angle
K += K_ball_valve_Crane(D1=D_pipe, D2=60*u.mm, angle=ball_valve_angle, fd=fd)
v = (2*u.gravity*H/K)**0.5
Q = v*pi/4*D_pipe**2
print('Flow rate = %s' %Q.to(u.L/u.min))
Re = Reynolds(D=D_pipe, rho=rho, mu=mu, V=v)
fd = friction_factor(Re=Re, eD=0.0018*u.inch/D_pipe)
Flow rate = 792.547439913 liter / minute
Flow rate = 473.249278655 liter / minute
Flow rate = 472.693638206 liter / minute
Flow rate = 472.692023884 liter / minute
Flow rate = 472.692019188 liter / minute
Flow rate = 472.692019174 liter / minute
Flow rate = 472.692019174 liter / minute
3.7 7.7 Laminar flow in Valves, Fittings, and Pipe - System from Ex-
ample 7.6
SAE oil is discharged at 15 degrees Celsius from a tank with 7 m of head to atmosphere through:
• 60 meters of 80 mm schedule 40 pipe
• Six 80 mm standard 90 degree threaded elbows
• One 80 mm flanged ball valve, with a 60 mm diameter seat, 16 degree conical inlet and 30 degree conival outlet.
• The entrance is sharp-edged and flush with the tank
This is the same problem as 7.6, except the properties of the fluid are sufficiently viscous to put it into the laminar
regime although not by much.
H = 7*u.m
L = 60*u.m
NPS, D_pipe, Do_pipe, t = nearest_pipe(Do=80*u.mm)
fd = 0.017
(continues on next page)
3.7. 7.7 Laminar flow in Valves, Fittings, and Pipe - System from Example 7.6 429
Fluids Documentation, Release 0.1
v = (2*u.gravity*H/K)**0.5
Q = v*pi/4*D_pipe**2
print('Flow rate = %s, Reynolds number = %s' %(Q.to(u.L/u.min), Re))
Re = Reynolds(D=D_pipe, rho=rho, mu=mu, V=v)
fd = friction_factor(Re=Re, eD=0.0018*u.inch/D_pipe)
Flow rate = 792.547439913 liter / minute, Reynolds number = 100000.0
Flow rate = 428.461048981 liter / minute, Reynolds number = 2421.30022376
˓→dimensionless
No solution is actually presented in the example; but the result of their initial guess of a velocity of 1.5 m/s gives 511.2
L/min.
3.8 7.8 Laminar flow in Valves, Fittings, and Pipe - SAE oil through a
pipe and globe valve
S.A.E. 30 Oil at 40 degrees Celsius and a flow rate of 600 barrels/hour flows in a 60 m long 200mm schedule 40 pipe
and passes through a 200 mm globe valve, full area seat.
Calculate the pressure drop.
rho = 869.2*u.kg/u.m**3
mu = 130*u.cP
V = Q/(pi/4*D_pipe**2)
Re = Reynolds(D=D_pipe, V=V, rho=rho, mu=mu)
fd = friction_factor(Re=Re)
ft = friction_factor(Re=1E6, eD=0.0018*u.inch/D_pipe)
K = K_globe_valve_Crane(D1=D_pipe, D2=D_pipe, fd=ft)
K += K_from_f(fd=fd, L=L, D=D_pipe)
dP_from_K(K=K, V=V, rho=rho)
[1]: 5781.61276167 pascal
40 bar steam, 450 degrees Celsius flows though a 120 m long horizontal 150mm schedule 80 pipe at a rate of 40000
kg/hr.
There are three 90 degree weld elbows with rc=1.5, 1 fully open class 600 150mm x 100mm venturi class gate valve,
one class 600 150 mm class y pattern globe valve with a seat diameter of 90% the inside pipe diameter (disc fully
lifted).
Calculate the pressure drop through the system.
m = 40000*u.kg/u.hr
T = 450*u.degC
P = 40*u.bar
rho = steam.rho
mu = steam.mu
print('Density = %s' %rho)
print('Viscosity = %s' %mu)
3.8. 7.8 Laminar flow in Valves, Fittings, and Pipe - SAE oil through a pipe and globe valve 431
Fluids Documentation, Release 0.1
[2]: L = 120*u.m
NPS, D_pipe, Do_pipe, t = nearest_pipe(Do=150*u.mm, schedule='80')
Q = m/rho
v = Q/(pi/4*D_pipe**2)
Re = Reynolds(rho=rho, mu=mu, D=D_pipe, V=v)
fd = friction_factor(Re=Re, eD=0.0018*u.inch/D_pipe)
K_elbow = bend_rounded(Di=D_pipe, angle=90*u.degrees, fd=fd, bend_diameters=1.5)
K_friction = K_from_f(fd=fd, L=L, D=D_pipe)
K_globe_valve = K_globe_valve_Crane(D1=0.9*D_pipe, D2=D_pipe, fd=fd)
# Angle and inside diameter are taken from example 7.4,
K_gate_valve = K_gate_valve_Crane(D1=100*u.mm, D2=D_pipe, angle=13.115*u.degrees,
˓→fd=fd)
This compares terribly to the example, which calculates a pressure drop of 274800 Pa!
Two errors are apparent - their example uses a different coefficient (55) in the globe valve pressure drop equation than
that shown in their appendix (340); and they re-use their prior calculated gate valve, despite the friction factor being
different in this example. This, plus their use of a constant 0.015 friction factor, explains the difference.
The example below uses their calculated globe valve pressure drop and their friction factor. The result (268500 Pa)
compares well with their calculation; the additional decimals and better physical properties explain the rest.
[3]: L = 120*u.m
NPS, D_pipe, Do_pipe, t = nearest_pipe(Do=150*u.mm, schedule='80')
Q = m/rho
v = Q/(pi/4*D_pipe**2)
Re = Reynolds(rho=rho, mu=mu, D=D_pipe, V=v)
fd = 0.015
K_elbow = bend_rounded(Di=D_pipe, angle=90*u.degrees, fd=fd, bend_diameters=1.5)
K_friction = K_from_f(fd=fd, L=L, D=D_pipe)
K_globe_valve = 1.44
# Angle and inside diameter are taken from example 7.4,
K_gate_valve = K_gate_valve_Crane(D1=100*u.mm, D2=D_pipe, angle=13.115*u.degrees,
˓→fd=fd)
Water at 80 degrees Celsius flows through a flat heating coil at a rate of 60 L/min. There are 7 180 degree bends in it.
The coil is 8 m long, with 0.5 m of straight length on the inlet and exit. The r/D of the bends is 4. The pipe is schedule
40, 25 mm pipe.
Q = 60*u.L/u.min
L = (1*8 + 0.5*2)*u.m
The value presented in the solution is 19609 Pa. They chose a constant friction factor of 0.024 in this calculation. If
this were used, the result compares much better. Their friction factor can be obtained at a roughness of 0.05 mm.
[2]: fd = 0.024
K_elbow = bend_rounded(Di=D_pipe, angle=180*u.degrees, fd=fd, bend_diameters=5)
K_friction = K_from_f(fd=fd, L=L, D=D_pipe)
Fuel oil at a specific gravity of 0.815 (kinematic viscosity of 2.7 centistokes) flows at 2 inch, schedule 40 steel pipe
100 foot long at a rate of 2 US gallons/second.
Calculate the pressure drop in bars and psi.
SG = 0.815
rho = SG*999.1*u.kg/u.m**3
nu = 2.7*u.centistokes
mu = nu_mu_converter(rho, nu=nu)
Q = 2*u.gal/u.s
L = 100*u.foot
The pressure drop calculated in the example is 66500 Pa (9.65 psi). The discrepancy is from their friction factor; they
use 0.0230. The result is matched exactly if their friction factor is used.
[2]: fd = 0.023
print('Darcy friction factor = %s' %fd)
K_friction = K_from_f(fd=fd, L=L, D=D_pipe)
dP = dP_from_K(K=K_friction, rho=rho, V=v)
print('Pressure drop = %s' %dP.to(u.Pa))
print('In imperial, pressure drop = %s' %dP.to(u.psi))
Darcy friction factor = 0.023
Pressure drop = 66621.8559355 pascal
In imperial, pressure drop = 9.66268326827 pound_force_per_square_inch
Water at 15 degrees Celsius is flowing through the piping system shown in Crane TP 410M’s example at 1500 L/min.
Calculate the velocity in both 4 and 5 inch sizes; and the pressure drop.
Note: This problem suggests to handle the changing size elbow by adding on the result of a smooth expansion, which
is also used here.
[1]: from math import *
from fluids.units import *
from thermo.units import Chemical
Q = 1500*u.L/u.min
r_d = 1.5
_, D1, _, _ = nearest_pipe(Di=100*u.mm)
_, D2, _, _ = nearest_pipe(Di=125*u.mm)
L1 = 34*u.m
L2 = (22+45)*u.m
dH = 22*u.m
beta = D1/D2
V1 = Q/(pi/4*D1**2)
V2 = Q/(pi/4*D2**2)
Re1 = Reynolds(rho=rho, mu=mu, V=V1, D=D1)
Re2 = Reynolds(rho=rho, mu=mu, V=V2, D=D2)
fd1 = friction_factor(Re=Re1, eD=0.0018*u.inch/D1)
fd2 = friction_factor(Re=Re2, eD=0.0018*u.inch/D2)
fd = (fd1+fd2)/2
dP = rho*u.gravity*dH
The result calculated in Crane’s TP 410m is 26450 Pa. Their friction factor is 0.018. Again, it that value is used, the
result calculated matches theirs - except this is off by an order of magnitude.
In this edition, the gravitational term was forgotten. The prior 8th edition lists a value of 2.6 bar as the result for this
problem. If their friction factor is used with this model, the following calculates a pressure drop of 2.62 bar.
[2]: fd = fd1 = fd2 = .018
dP = rho*u.gravity*dH
P1 = 2*u.bar # The full set of equations requires actual pressures not just the
˓→pressure difference, so an initial pressure of 2 bar is assumed.
P2 = P1 - 17*u.kPa
taps = 'D'
meter_type = 'ISO 5167 orifice'
Do = 50*u.mm
D
[1]: 0.07366 meter
print(m)
Q = m/rho
print(Q.to('L/min'))
7.70427741167 kilogram / second
462.650196056 liter / minute
The answer given in TP410M is 478 gallons/minute; however the errata specifies this value is in units of liters/minute
insteead.
This calculation matches their result well, given they did not include expansivity in their calculations and read a value
of C from a graph.
A calculator at flow of fluids, which also does not include expansivity, gives an answer of 476.777 L/min, along with
7.93916 kg/s (http://www.flowoffluids.com/calculators/flow-through-orifices.aspx).
Installation
437
Fluids Documentation, Release 0.1
439
Fluids Documentation, Release 0.1
Bug reports
441
Fluids Documentation, Release 0.1
License information
Fluids is MIT licensed. See LICENSE.txt for full information on the terms & conditions for usage of this software,
and a DISCLAIMER OF ALL WARRANTIES.
Although not required by the fluids license, if it is convenient for you, please cite fluids if used in your work. Please
also consider contributing any changes you make back, such that they may be incorporated into the main library and
all of us will benefit from them.
443
Fluids Documentation, Release 0.1
Citation
https://github.com/CalebBell/fluids.
445
Fluids Documentation, Release 0.1
• genindex
• modindex
• search
447
Fluids Documentation, Release 0.1
[Rf2dc4e0525c7-1] NOAA, NASA, and USAF. “U.S. Standard Atmosphere, 1976” October 15, 1976. http://ntrs.
nasa.gov/search.jsp?R=19770009539.
[Rf2dc4e0525c7-2] “ISO 2533:1975 - Standard Atmosphere.” ISO. http://www.iso.org/iso/catalogue_detail.htm?
csnumber=7472.
[Rf2dc4e0525c7-3] Yager, Robert J. “Calculating Atmospheric Conditions (Temperature, Pressure, Air Density, and
Speed of Sound) Using C++,” June 2013. http://www.dtic.mil/cgi-bin/GetTRDoc?AD=ADA588839
[R4bc72d62ed0b-1] Picone, J. M., A. E. Hedin, D. P. Drob, and A. C. Aikin. “NRLMSISE-00 Empirical Model of
the Atmosphere: Statistical Comparisons and Scientific Issues.” Journal of Geophysical Research: Space
Physics 107, no. A12 (December 1, 2002): 1468. doi:10.1029/2002JA009430.
[R4bc72d62ed0b-2] Tapping, K. F. “The 10.7Cm Solar Radio Flux (F10.7).” Space Weather 11, no. 7 (July 1, 2013):
394-406. doi:10.1002/swe.20064.
[R4bc72d62ed0b-3] Natalia Papitashvili. “NRLMSISE-00 Atmosphere Model.” Accessed November 27, 2016. http:
//ccmc.gsfc.nasa.gov/modelweb/models/nrlmsise00.php.
[1] Kasten, Fritz, and Andrew T. Young. “Revised Optical Air Mass Tables and Approximation Formula.”
Applied Optics 28, no. 22 (November 15, 1989): 4735-38. https://doi.org/10.1364/AO.28.004735.
[1] Reda, Ibrahim, and Afshin Andreas. “Solar Position Algorithm for Solar Radiation Applications.” Solar
Energy 76, no. 5 (January 1, 2004): 577-89. https://doi.org/10.1016/j.solener.2003.12.003.
[2] “Navigation - What Azimuth Description Systems Are in Use? - Astronomy Stack Exchange.” https:
//astronomy.stackexchange.com/questions/237/what-azimuth-description-systems-are-in-use?rq=1.
[1] Will Holmgren, Calama-Consulting, Tony Lorenzo, Uwe Krien, bmu, DaCoEx, mayudong, et al.
Pvlib/Pvlib-Python: 0.5.1. Zenodo, 2017. https://doi.org/10.5281/zenodo.1016425.
[1] Reda, Ibrahim, and Afshin Andreas. “Solar Position Algorithm for Solar Radiation Applications.” Solar
Energy 76, no. 5 (January 1, 2004): 577-89. https://doi.org/10.1016/j.solener.2003.12.003.
[1] Reda, Ibrahim, and Afshin Andreas. “Solar Position Algorithm for Solar Radiation Applications.” Solar
Energy 76, no. 5 (January 1, 2004): 577-89. https://doi.org/10.1016/j.solener.2003.12.003.
[1] Hedin, A. E., N. W. Spencer, and T. L. Killeen. “Empirical Global Model of Upper Thermosphere Winds
Based on Atmosphere and Dynamics Explorer Satellite Data.” Journal of Geophysical Research: Space
Physics 93, no. A9 (September 1, 1988): 9959-78. doi:10.1029/JA093iA09p09959.
449
Fluids Documentation, Release 0.1
450 Bibliography
Fluids Documentation, Release 0.1
[1] Coelho, Paulo M., and Carlos Pinho. “Considerations about Equations for Steady State Flow in Natu-
ral Gas Pipelines.” Journal of the Brazilian Society of Mechanical Sciences and Engineering 29, no. 3
(September 2007): 262-73. doi:10.1590/S1678-58782007000300005.
[2] Menon, E. Shashi. Gas Pipeline Hydraulics. 1st edition. Boca Raton, FL: CRC Press, 2005.
[1] Coelho, Paulo M., and Carlos Pinho. “Considerations about Equations for Steady State Flow in Natu-
ral Gas Pipelines.” Journal of the Brazilian Society of Mechanical Sciences and Engineering 29, no. 3
(September 2007): 262-73. doi:10.1590/S1678-58782007000300005.
[2] Menon, E. Shashi. Gas Pipeline Hydraulics. 1st edition. Boca Raton, FL: CRC Press, 2005.
[3] GPSA. GPSA Engineering Data Book. 13th edition. Gas Processors Suppliers Association, Tulsa, OK,
2012.
[4] PetroWiki. “Pressure Drop Evaluation along Pipelines” Accessed September 11, 2016. http://petrowiki.
org/Pressure_drop_evaluation_along_pipelines#Spitzglass_equation_2.
[1] GPSA. GPSA Engineering Data Book. 13th edition. Gas Processors Suppliers Association, Tulsa, OK,
2012.
[2] F. N. Oliphant, “Production of Natural Gas,” Report. USGS, 1902.
[1] Menon, E. Shashi. Gas Pipeline Hydraulics. 1st edition. Boca Raton, FL: CRC Press, 2005.
[2] Coelho, Paulo M., and Carlos Pinho. “Considerations about Equations for Steady State Flow in Natu-
ral Gas Pipelines.” Journal of the Brazilian Society of Mechanical Sciences and Engineering 29, no. 3
(September 2007): 262-73. doi:10.1590/S1678-58782007000300005.
[1] Mohitpour, Mo, Golshan, and Allan Murray. Pipeline Design and Construction: A Practical Approach.
3rd edition. New York: Amer Soc Mechanical Engineers, 2006.
[2] Menon, E. Shashi. Gas Pipeline Hydraulics. 1st edition. Boca Raton, FL: CRC Press, 2005.
[3] Coelho, Paulo M., and Carlos Pinho. “Considerations about Equations for Steady State Flow in Natu-
ral Gas Pipelines.” Journal of the Brazilian Society of Mechanical Sciences and Engineering 29, no. 3
(September 2007): 262-73. doi:10.1590/S1678-58782007000300005.
[1] Mohitpour, Mo, Golshan, and Allan Murray. Pipeline Design and Construction: A Practical Approach.
3rd edition. New York: Amer Soc Mechanical Engineers, 2006.
[2] Menon, E. Shashi. Gas Pipeline Hydraulics. 1st edition. Boca Raton, FL: CRC Press, 2005.
[3] Coelho, Paulo M., and Carlos Pinho. “Considerations about Equations for Steady State Flow in Natu-
ral Gas Pipelines.” Journal of the Brazilian Society of Mechanical Sciences and Engineering 29, no. 3
(September 2007): 262-73. doi:10.1590/S1678-58782007000300005.
[1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[2] Kim, J. and Singh, N. “A Novel Equation for Isothermal Pipe Flow.”. Chemical Engineering, June 2012,
http://www.chemengonline.com/a-novel-equation-for-isothermal-pipe-flow/?printmode=1
[3] Wilkes, James O. Fluid Mechanics for Chemical Engineers with Microfluidics and CFD. 2 edition. Upper
Saddle River, NJ: Prentice Hall, 2005.
[4] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
[1] Couper, James R., W. Roy Penney, and James R. Fair. Chemical Process Equipment: Selection and De-
sign. 2nd ed. Amsterdam; Boston: Gulf Professional Publishing, 2009.
[1] Couper, James R., W. Roy Penney, and James R. Fair. Chemical Process Equipment: Selection and De-
sign. 2nd ed. Amsterdam; Boston: Gulf Professional Publishing, 2009.
Bibliography 451
Fluids Documentation, Release 0.1
[1] Couper, James R., W. Roy Penney, and James R. Fair. Chemical Process Equipment: Selection and De-
sign. 2nd ed. Amsterdam; Boston: Gulf Professional Publishing, 2009.
[1] Couper, James R., W. Roy Penney, and James R. Fair. Chemical Process Equipment: Selection and De-
sign. 2nd ed. Amsterdam; Boston: Gulf Professional Publishing, 2009.
[1] Couper, James R., W. Roy Penney, and James R. Fair. Chemical Process Equipment: Selection and De-
sign. 2nd ed. Amsterdam; Boston: Gulf Professional Publishing, 2009.
[2] GPSA. GPSA Engineering Data Book. 13th edition. Gas Processors Suppliers Association, Tulsa, OK,
2012.
[1] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Wilkes, James O. Fluid Mechanics for Chemical Engineers with Microfluidics and CFD. 2 edition. Upper
Saddle River, NJ: Prentice Hall, 2005.
[1] API. 2014. API 520 - Part 1 Sizing, Selection, and Installation of Pressure-relieving Devices, Part I -
Sizing and Selection, 9E.
[1] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] IEC 60534-2-1 / ISA-75.01.01-2007
[1] IEC 60534-2-1 / ISA-75.01.01-2007
[1] ISA. “RP75.23 Considerations for Evaluating Control Valve Cavitation.” 1995.
[1] IEC 60534-2-1 / ISA-75.01.01-2007
[1] IEC 60534-2-1 / ISA-75.01.01-2007
[1] IEC 60534-2-1 / ISA-75.01.01-2007
[1] IEC 60534-2-1 / ISA-75.01.01-2007
[1] IEC 60534-2-1 / ISA-75.01.01-2007
[1] IEC 60534-2-1 / ISA-75.01.01-2007
[1] IEC 60534-8-4: Industrial-Process Control Valves - Part 8-4: Noise Considerations - Prediction of Noise
Generated by Hydrodynamic Flow. (2015)
[1] IEC 60534-8-3: Industrial-Process Control Valves - Part 8-3: Noise Considerations - Control Valve Aero-
dynamic Noise Prediction Method.”
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[2] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
452 Bibliography
Fluids Documentation, Release 0.1
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[2] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[3] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[2] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[2] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to
Heat Transfer. 6E. Hoboken, NJ: Wiley, 2011.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[2] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[2] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[2] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[2] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[1] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to
Heat Transfer. 6E. Hoboken, NJ: Wiley, 2011.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[2] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[3] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
Bibliography 453
Fluids Documentation, Release 0.1
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[2] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[3] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[2] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[2] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[1] Catchpole, John P., and George. Fulford. “DIMENSIONLESS GROUPS.” Industrial & Engineering
Chemistry 58, no. 3 (March 1, 1966): 46-60. doi:10.1021/ie50675a012.
[1] Kunes, Josef. Dimensionless Physical Quantities in Science and Engineering. Elsevier, 2012.
[2] Yan, Xiaokang, Kaixin Zheng, Yan Jia, Zhenyong Miao, Lijun Wang, Yijun Cao, and Jiongtian Liu.
“Drag Coefficient Prediction of a Single Bubble Rising in Liquids.” Industrial & Engineering Chemistry
Research, April 2, 2018. https://doi.org/10.1021/acs.iecr.7b04743.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[2] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Hall, A, G Stobie, and R Steven. “Further Evaluation of the Performance of Horizontally Installed Ori-
fice Plate and Cone Differential Pressure Meters with Wet Gas Flows.” In International SouthEast Asia
Hydrocarbon Flow Measurement Workshop, KualaLumpur, Malaysia, 2008.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[2] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[2] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[1] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to
Heat Transfer. 6E. Hoboken, NJ: Wiley, 2011.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
454 Bibliography
Fluids Documentation, Release 0.1
[2] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[2] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Goldstein, Richard J. ECKERT NUMBER. Thermopedia. Hemisphere, 2011.
10.1615/AtoZ.e.eckert_number
[1] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to
Heat Transfer. 6E. Hoboken, NJ: Wiley, 2011.
[2] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[2] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Rhodes, Martin J. Introduction to Particle Technology. Wiley, 2013.
[2] Al-Dughaither, Abdullah S., Ahmed A. Ibrahim, and Waheed A. Al-Masry. “Investigating Droplet Sepa-
ration Efficiency in Wire-Mesh Mist Eliminators in Bubble Column.” Journal of Saudi Chemical Society
14, no. 4 (October 1, 2010): 331-39. https://doi.org/10.1016/j.jscs.2010.04.001.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[2] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[2] Kundu, Pijush K., Ira M. Cohen, and David R. Dowling. Fluid Mechanics. Academic Press, 2012.
[1] Awad, M. M. “The Science and the History of the Two Bejan Numbers.” International Journal of Heat
and Mass Transfer 94 (March 2016): 101-3. doi:10.1016/j.ijheatmasstransfer.2015.11.073.
[2] Bejan, Adrian. Convection Heat Transfer. 4E. Hoboken, New Jersey: Wiley, 2013.
[1] Awad, M. M. “The Science and the History of the Two Bejan Numbers.” International Journal of Heat
and Mass Transfer 94 (March 2016): 101-3. doi:10.1016/j.ijheatmasstransfer.2015.11.073.
[2] Bejan, Adrian. Convection Heat Transfer. 4E. Hoboken, New Jersey: Wiley, 2013.
[1] Winterton, Richard H.S. BOILING NUMBER. Thermopedia. Hemisphere, 2011.
10.1615/AtoZ.b.boiling_number
[2] Collier, John G., and John R. Thome. Convective Boiling and Condensation. 3rd edition. Clarendon Press,
1996.
[3] Stephan, Karl. Heat Transfer in Condensation and Boiling. Translated by C. V. Green.. 1992 edition.
Berlin; New York: Springer, 2013.
[4] W. F. Davidson, P. H. Hardie, C. G. R. Humphreys, A. A. Markson, A. R. Mumford and T. Ravese “Studies
of heat transmission through boiler tubing at pressures from 500 to 3300 pounds” Trans. ASME, Vol. 65,
9, February 1943, pp. 553-591.
Bibliography 455
Fluids Documentation, Release 0.1
[1] Cornwell, Keith, and Peter A. Kew. “Boiling in Small Parallel Channels.” In Energy Efficiency in Process
Technology, edited by Dr P. A. Pilavachi, 624-638. Springer Netherlands, 1993. doi:10.1007/978-94-011-
1454-7_56.
[2] Kandlikar, Satish G. Heat Transfer and Fluid Flow in Minichannels and Microchannels. Elsevier, 2006.
[3] Tran, T. N, M. -C Chyu, M. W Wambsganss, and D. M France. Two-Phase Pressure Drop of Refrigerants
during Flow Boiling in Small Channels: An Experimental Investigation and Correlation Development.”
International Journal of Multiphase Flow 26, no. 11 (November 1, 2000): 1739-54. doi:10.1016/S0301-
9322(99)00119-6.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[2] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[1] Sen, Nilava. “Suratman Number in Bubble-to-Slug Flow Pattern Transition under Microgravity.” Acta
Astronautica 65, no. 3-4 (August 2009): 423-28. doi:10.1016/j.actaastro.2009.02.013.
[2] Catchpole, John P., and George. Fulford. “DIMENSIONLESS GROUPS.” Industrial & Engineering
Chemistry 58, no. 3 (March 1, 1966): 46-60. doi:10.1021/ie50675a012.
[1] Martin, Holger. “The Generalized Lévêque Equation and Its Practical Use for the Prediction of Heat
and Mass Transfer Rates from Pressure Drop.” Chemical Engineering Science, Jean-Claude Charpentier
Festschrift Issue, 57, no. 16 (August 1, 2002): 3217-23. https://doi.org/10.1016/S0009-2509(02)00194-X.
[2] Shah, Ramesh K., and Dusan P. Sekulic. Fundamentals of Heat Exchanger Design. 1st edition. Hoboken,
NJ: Wiley, 2002.
[3] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[1] Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co.,
1984.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[2] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[2] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[1] Haynes, W.M., Thomas J. Bruno, and David R. Lide. CRC Handbook of Chemistry and Physics. [Boca
Raton, FL]: CRC press, 2014.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[2] Rushton, Albert, Anthony S. Ward, and Richard G. Holdich. Solid-Liquid Filtration and Separation Tech-
nology. 1st edition. Weinheim; New York: Wiley-VCH, 1996.
456 Bibliography
Fluids Documentation, Release 0.1
[1] Timmerman, Peter, and Jacobus P. van der Weele. “On the Rise and Fall of a Ball with Linear or Quadratic
Drag.” American Journal of Physics 67, no. 6 (June 1999): 538-46. https://doi.org/10.1119/1.19320.
[1] Rhodes, Martin J. Introduction to Particle Technology. Wiley, 2013.
[1] Barati, Reza, Seyed Ali Akbar Salehi Neyshabouri, and Goodarz Ahmadi. “Development of Empirical
Models with High Accuracy for Estimation of Drag Coefficient of Flow around a Smooth Sphere: An Evo-
lutionary Approach.” Powder Technology 257 (May 2014): 11-19. doi:10.1016/j.powtec.2014.02.045.
[1] Barati, Reza, Seyed Ali Akbar Salehi Neyshabouri, and Goodarz Ahmadi. “Development of Empirical
Models with High Accuracy for Estimation of Drag Coefficient of Flow around a Smooth Sphere: An Evo-
lutionary Approach.” Powder Technology 257 (May 2014): 11-19. doi:10.1016/j.powtec.2014.02.045.
[1] H. Rouse, Fluid Mechanics for Hydraulic Engineers, Dover, New York, N.Y., 1938
[2] Barati, Reza, Seyed Ali Akbar Salehi Neyshabouri, and Goodarz Ahmadi. “Development of Empirical
Models with High Accuracy for Estimation of Drag Coefficient of Flow around a Smooth Sphere: An Evo-
lutionary Approach.” Powder Technology 257 (May 2014): 11-19. doi:10.1016/j.powtec.2014.02.045.
[1] F. Engelund, E. Hansen, Monograph on Sediment Transport in Alluvial Streams, Monograpsh Denmark
Technical University, Hydraulic Lab, Denmark, 1967.
[2] Barati, Reza, Seyed Ali Akbar Salehi Neyshabouri, and Goodarz Ahmadi. “Development of Empirical
Models with High Accuracy for Estimation of Drag Coefficient of Flow around a Smooth Sphere: An Evo-
lutionary Approach.” Powder Technology 257 (May 2014): 11-19. doi:10.1016/j.powtec.2014.02.045.
[1] R. Clift, W.H. Gauvin, The motion of particles in turbulent gas streams, Proc. Chemeca, 70, 1970, pp.
14-28.
[2] Barati, Reza, Seyed Ali Akbar Salehi Neyshabouri, and Goodarz Ahmadi. “Development of Empirical
Models with High Accuracy for Estimation of Drag Coefficient of Flow around a Smooth Sphere: An Evo-
lutionary Approach.” Powder Technology 257 (May 2014): 11-19. doi:10.1016/j.powtec.2014.02.045.
[1] Morsi, S. A., and A. J. Alexander. “An Investigation of Particle Trajectories in Two-Phase Flow Systems.”
Journal of Fluid Mechanics 55, no. 02 (September 1972): 193-208. doi:10.1017/S0022112072001806.
[2] Barati, Reza, Seyed Ali Akbar Salehi Neyshabouri, and Goodarz Ahmadi. “Development of Empirical
Models with High Accuracy for Estimation of Drag Coefficient of Flow around a Smooth Sphere: An Evo-
lutionary Approach.” Powder Technology 257 (May 2014): 11-19. doi:10.1016/j.powtec.2014.02.045.
[1] W.H. Graf, Hydraulics of Sediment Transport, Water Resources Publications, Littleton, Colorado, 1984.
[2] Barati, Reza, Seyed Ali Akbar Salehi Neyshabouri, and Goodarz Ahmadi. “Development of Empirical
Models with High Accuracy for Estimation of Drag Coefficient of Flow around a Smooth Sphere: An Evo-
lutionary Approach.” Powder Technology 257 (May 2014): 11-19. doi:10.1016/j.powtec.2014.02.045.
[1] Flemmer, R. L. C., and C. L. Banks. “On the Drag Coefficient of a Sphere.” Powder Technology 48, no.
3 (November 1986): 217-21. doi:10.1016/0032-5910(86)80044-4.
[2] Barati, Reza, Seyed Ali Akbar Salehi Neyshabouri, and Goodarz Ahmadi. “Development of Empirical
Models with High Accuracy for Estimation of Drag Coefficient of Flow around a Smooth Sphere: An Evo-
lutionary Approach.” Powder Technology 257 (May 2014): 11-19. doi:10.1016/j.powtec.2014.02.045.
[1] Khan, A. R., and J. F. Richardson. “The Resistance to Motion of a Solid Sphere in a Fluid.” Chemical En-
gineering Communications 62, no. 1-6 (December 1, 1987): 135-50. doi:10.1080/00986448708912056.
[2] Barati, Reza, Seyed Ali Akbar Salehi Neyshabouri, and Goodarz Ahmadi. “Development of Empirical
Models with High Accuracy for Estimation of Drag Coefficient of Flow around a Smooth Sphere: An Evo-
lutionary Approach.” Powder Technology 257 (May 2014): 11-19. doi:10.1016/j.powtec.2014.02.045.
[1] Swamee, P. and Ojha, C. (1991). “Drag Coefficient and Fall Velocity of nonspherical particles.” J. Hy-
draul. Eng., 117(5), 660-667.
Bibliography 457
Fluids Documentation, Release 0.1
[2] Barati, Reza, Seyed Ali Akbar Salehi Neyshabouri, and Goodarz Ahmadi. “Development of Empirical
Models with High Accuracy for Estimation of Drag Coefficient of Flow around a Smooth Sphere: An Evo-
lutionary Approach.” Powder Technology 257 (May 2014): 11-19. doi:10.1016/j.powtec.2014.02.045.
[1] B.C. Yen, Sediment Fall Velocity in Oscillating Flow, University of Virginia, Department of Civil Engi-
neering, 1992.
[2] Barati, Reza, Seyed Ali Akbar Salehi Neyshabouri, and Goodarz Ahmadi. “Development of Empirical
Models with High Accuracy for Estimation of Drag Coefficient of Flow around a Smooth Sphere: An Evo-
lutionary Approach.” Powder Technology 257 (May 2014): 11-19. doi:10.1016/j.powtec.2014.02.045.
[1] Haider, A., and O. Levenspiel. “Drag Coefficient and Terminal Velocity of Spherical and Nonspherical
Particles.” Powder Technology 58, no. 1 (May 1989): 63-70. doi:10.1016/0032-5910(89)80008-7.
[2] Barati, Reza, Seyed Ali Akbar Salehi Neyshabouri, and Goodarz Ahmadi. “Development of Empirical
Models with High Accuracy for Estimation of Drag Coefficient of Flow around a Smooth Sphere: An Evo-
lutionary Approach.” Powder Technology 257 (May 2014): 11-19. doi:10.1016/j.powtec.2014.02.045.
[1] Cheng, Nian-Sheng. “Comparison of Formulas for Drag Coefficient and Settling Velocity
of Spherical Particles.” Powder Technology 189, no. 3 (February 13, 2009): 395-398.
doi:10.1016/j.powtec.2008.07.006.
[2] Barati, Reza, Seyed Ali Akbar Salehi Neyshabouri, and Goodarz Ahmadi. “Development of Empirical
Models with High Accuracy for Estimation of Drag Coefficient of Flow around a Smooth Sphere: An Evo-
lutionary Approach.” Powder Technology 257 (May 2014): 11-19. doi:10.1016/j.powtec.2014.02.045.
[1] Terfous, A., A. Hazzab, and A. Ghenaim. “Predicting the Drag Coefficient and Settling Velocity of Spher-
ical Particles.” Powder Technology 239 (May 2013): 12-20. doi:10.1016/j.powtec.2013.01.052.
[2] Barati, Reza, Seyed Ali Akbar Salehi Neyshabouri, and Goodarz Ahmadi. “Development of Empirical
Models with High Accuracy for Estimation of Drag Coefficient of Flow around a Smooth Sphere: An Evo-
lutionary Approach.” Powder Technology 257 (May 2014): 11-19. doi:10.1016/j.powtec.2014.02.045.
[1] Mikhailov, M. D., and A. P. Silva Freire. “The Drag Coefficient of a Sphere: An Approximation Using
Shanks Transform.” Powder Technology 237 (March 2013): 432-35. doi:10.1016/j.powtec.2012.12.033.
[2] Barati, Reza, Seyed Ali Akbar Salehi Neyshabouri, and Goodarz Ahmadi. “Development of Empirical
Models with High Accuracy for Estimation of Drag Coefficient of Flow around a Smooth Sphere: An Evo-
lutionary Approach.” Powder Technology 257 (May 2014): 11-19. doi:10.1016/j.powtec.2014.02.045.
[1] R. Clift, J.R. Grace, M.E. Weber, Bubbles, Drops, and Particles, Academic, New York, 1978.
[2] Barati, Reza, Seyed Ali Akbar Salehi Neyshabouri, and Goodarz Ahmadi. “Development of Empirical
Models with High Accuracy for Estimation of Drag Coefficient of Flow around a Smooth Sphere: An Evo-
lutionary Approach.” Powder Technology 257 (May 2014): 11-19. doi:10.1016/j.powtec.2014.02.045.
[1] Ceylan, Kadim, Ayşe Altunbaş, and Gudret Kelbaliyev. “A New Model for Estimation of Drag Force in
the Flow of Newtonian Fluids around Rigid or Deformable Particles.” Powder Technology 119, no. 2-3
(September 24, 2001): 250-56. doi:10.1016/S0032-5910(01)00261-3.
[2] Barati, Reza, Seyed Ali Akbar Salehi Neyshabouri, and Goodarz Ahmadi. “Development of Empirical
Models with High Accuracy for Estimation of Drag Coefficient of Flow around a Smooth Sphere: An Evo-
lutionary Approach.” Powder Technology 257 (May 2014): 11-19. doi:10.1016/j.powtec.2014.02.045.
[1] Almedeij, Jaber. “Drag Coefficient of Flow around a Sphere: Matching Asymptotically the Wide Trend.”
Powder Technology 186, no. 3 (September 10, 2008): 218-23. doi:10.1016/j.powtec.2007.12.006.
[2] Barati, Reza, Seyed Ali Akbar Salehi Neyshabouri, and Goodarz Ahmadi. “Development of Empirical
Models with High Accuracy for Estimation of Drag Coefficient of Flow around a Smooth Sphere: An Evo-
lutionary Approach.” Powder Technology 257 (May 2014): 11-19. doi:10.1016/j.powtec.2014.02.045.
[1] Morrison, Faith A. An Introduction to Fluid Mechanics. Cambridge University Press, 2013.
458 Bibliography
Fluids Documentation, Release 0.1
[2] Barati, Reza, Seyed Ali Akbar Salehi Neyshabouri, and Goodarz Ahmadi. “Development of Empirical
Models with High Accuracy for Estimation of Drag Coefficient of Flow around a Smooth Sphere: An Evo-
lutionary Approach.” Powder Technology 257 (May 2014): 11-19. doi:10.1016/j.powtec.2014.02.045.
[1] Song, Xianzhi, Zhengming Xu, Gensheng Li, Zhaoyu Pang, and Zhaopeng Zhu. “A New Model for
Predicting Drag Coefficient and Settling Velocity of Spherical and Non-Spherical Particle in Newtonian
Fluid.” Powder Technology 321 (November 2017): 242-50. doi:10.1016/j.powtec.2017.08.017.
[1] Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co.,
1984.
[1] Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co.,
1984.
[1] Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co.,
1984.
[1] Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co.,
1984.
[1] Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co.,
1984.
[1] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
[1] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
[2] Miller, Donald S. Internal Flow Systems: Design and Performance Prediction. Gulf Publishing Company,
1990.
[3] Idel’chik, I. E. Handbook of Hydraulic Resistance: Coefficients of Local Resistance and of Fric-
tion (Spravochnik Po Gidravlicheskim Soprotivleniyam, Koeffitsienty Mestnykh Soprotivlenii i Sopro-
tivleniya Treniya). National technical information Service, 1966.
[1] Miller, Donald S. Internal Flow Systems: Design and Performance Prediction. Gulf Publishing Company,
1990.
[1] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
[2] Idel’chik, I. E. Handbook of Hydraulic Resistance: Coefficients of Local Resistance and of Fric-
tion (Spravochnik Po Gidravlicheskim Soprotivleniyam, Koeffitsienty Mestnykh Soprotivlenii i Sopro-
tivleniya Treniya). National technical information Service, 1966.
[3] Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co.,
1984.
[4] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[5] Swamee, Prabhata K., and Ashok K. Sharma. Design of Water Supply Pipe Networks. John Wiley &
Sons, 2008.
[6] Miller, Donald S. Internal Flow Systems: Design and Performance Prediction. Gulf Publishing Company,
1990.
[1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[1] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
[1] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
Bibliography 459
Fluids Documentation, Release 0.1
[1] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
[2] Idel’chik, I. E. Handbook of Hydraulic Resistance: Coefficients of Local Resistance and of Fric-
tion (Spravochnik Po Gidravlicheskim Soprotivleniyam, Koeffitsienty Mestnykh Soprotivlenii i Sopro-
tivleniya Treniya). National technical information Service, 1966.
[3] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[4] Swamee, Prabhata K., and Ashok K. Sharma. Design of Water Supply Pipe Networks. John Wiley &
Sons, 2008.
[5] Miller, Donald S. Internal Flow Systems: Design and Performance Prediction. Gulf Publishing Company,
1990.
[1] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
[1] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
[1] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
[1] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
[2] Miller, Donald S. Internal Flow Systems: Design and Performance Prediction. Gulf Publishing Company,
1990.
[3] Idel’chik, I. E. Handbook of Hydraulic Resistance: Coefficients of Local Resistance and of Fric-
tion (Spravochnik Po Gidravlicheskim Soprotivleniyam, Koeffitsienty Mestnykh Soprotivlenii i Sopro-
tivleniya Treniya). National technical information Service, 1966.
[4] Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co.,
1984.
[5] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[6] Swamee, Prabhata K., and Ashok K. Sharma. Design of Water Supply Pipe Networks. John Wiley &
Sons, 2008.
[1] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
[2] Miller, Donald S. Internal Flow Systems: Design and Performance Prediction. Gulf Publishing Company,
1990.
[3] Idel’chik, I. E. Handbook of Hydraulic Resistance: Coefficients of Local Resistance and of Fric-
tion (Spravochnik Po Gidravlicheskim Soprotivleniyam, Koeffitsienty Mestnykh Soprotivlenii i Sopro-
tivleniya Treniya). National technical information Service, 1966.
[4] Harris, Charles William. The Influence of Pipe Thickness on Re-Entrant Intake Losses. Vol. 48. University
of Washington, 1928.
[5] Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co.,
1984.
[6] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[1] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
460 Bibliography
Fluids Documentation, Release 0.1
[2] Idel’chik, I. E. Handbook of Hydraulic Resistance: Coefficients of Local Resistance and of Fric-
tion (Spravochnik Po Gidravlicheskim Soprotivleniyam, Koeffitsienty Mestnykh Soprotivlenii i Sopro-
tivleniya Treniya). National technical information Service, 1966.
[3] Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co.,
1984.
[1] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
[2] Hamilton, James Baker. Suppression of Pipe Intake Losses by Various Degrees of Rounding. Seattle: Pub-
lished by the University of Washington, 1929. https://search.library.wisc.edu/catalog/999823652202121.
[3] Miller, Donald S. Internal Flow Systems: Design and Performance Prediction. Gulf Publishing Company,
1990.
[4] Harris, Charles William. Elimination of Hydraulic Eddy Current Loss at Intake, Agreement of Theory
and Experiment. University of Washington, 1930.
[5] Swamee, Prabhata K., and Ashok K. Sharma. Design of Water Supply Pipe Networks. John Wiley &
Sons, 2008.
[6] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[7] Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co.,
1984.
[8] Idel’chik, I. E. Handbook of Hydraulic Resistance: Coefficients of Local Resistance and of Fric-
tion (Spravochnik Po Gidravlicheskim Soprotivleniyam, Koeffitsienty Mestnykh Soprotivlenii i Sopro-
tivleniya Treniya). National technical information Service, 1966.
[1] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
[2] Idel’chik, I. E. Handbook of Hydraulic Resistance: Coefficients of Local Resistance and of Fric-
tion (Spravochnik Po Gidravlicheskim Soprotivleniyam, Koeffitsienty Mestnykh Soprotivlenii i Sopro-
tivleniya Treniya). National technical information Service, 1966.
[1] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
[1] Miller, Donald S. Internal Flow Systems: Design and Performance Prediction. Gulf Publishing Company,
1990.
[1] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
[1] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
[2] Miller, Donald S. Internal Flow Systems: Design and Performance Prediction. Gulf Publishing Company,
1990.
[3] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[4] Swamee, Prabhata K., and Ashok K. Sharma. Design of Water Supply Pipe Networks. John Wiley &
Sons, 2008.
[5] Ito, H.”Pressure Losses in Smooth Pipe Bends.” Journal of Fluids Engineering 82, no. 1 (March 1, 1960):
131-40. doi:10.1115/1.3662501
[6] Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co.,
1984.
Bibliography 461
Fluids Documentation, Release 0.1
[1] Miller, Donald S. Internal Flow Systems: Design and Performance Prediction. Gulf Publishing Company,
1990.
[1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[1] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
[2] Miller, Donald S. Internal Flow Systems: Design and Performance Prediction. Gulf Publishing Company,
1990.
[3] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[4] Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co.,
1984.
[1] Miller, Donald S. Internal Flow Systems: Design and Performance Prediction. Gulf Publishing Company,
1990.
[1] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
[1] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
[1] Silverberg, Peter, and Ron Darby. “Correlate Pressure Drops through Fittings: Three Constants Accu-
rately Calculate Flow through Elbows, Valves and Tees.” Chemical Engineering 106, no. 7 (July 1999):
101.
[2] Silverberg, Peter. “Correlate Pressure Drops Through Fittings.” Chemical Engineering 108, no. 4 (April
2001): 127,129-130.
[1] Hooper, W. B., “The 2-K Method Predicts Head Losses in Pipe Fittings,” Chem. Eng., p. 97, Aug. 24
(1981).
[2] Hooper, William B. “Calculate Head Loss Caused by Change in Pipe Size.” Chemical Engineering 95,
no. 16 (November 7, 1988): 89.
[3] Kayode Coker. Ludwig’s Applied Process Design for Chemical and Petrochemical Plants. 4E. Amster-
dam; Boston: Gulf Professional Publishing, 2007.
[1] ISA-75.01.01-2007 (60534-2-1 Mod) Draft
[1] ISA-75.01.01-2007 (60534-2-1 Mod) Draft
[1] ISA-75.01.01-2007 (60534-2-1 Mod) Draft
[1] ISA-75.01.01-2007 (60534-2-1 Mod) Draft
[1] ISA-75.01.01-2007 (60534-2-1 Mod) Draft
[1] ISA-75.01.01-2007 (60534-2-1 Mod) Draft
[1] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
[1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[2] Harvey Wilson. “Pressure Drop in Pipe Fittings and Valves | Equivalent Length and Resistance
Coefficient.” Katmar Software. Accessed July 28, 2017. http://www.katmarsoftware.com/articles/
pipe-fitting-pressure-drop.htm.
[1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
462 Bibliography
Fluids Documentation, Release 0.1
[1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[1] American Society of Mechanical Engineers. Mfc-3M-2004 Measurement Of Fluid Flow In Pipes Using
Orifice, Nozzle, And Venturi. ASME, 2001.
[2] ISO 5167-2:2003 - Measurement of Fluid Flow by Means of Pressure Differential Devices Inserted in
Circular Cross-Section Conduits Running Full – Part 2: Orifice Plates.
[3] Reader-Harris, M. J., “The Equation for the Expansibility Factor for Orifice Plates,” Proceedings of
FLOMEKO 1998, Lund, Sweden, 1998: 209-214.
[4] Reader-Harris, Michael. Orifice Plates and Venturi Tubes. Springer, 2015.
[1] American Society of Mechanical Engineers. Mfc-3M-2004 Measurement Of Fluid Flow In Pipes Using
Orifice, Nozzle, And Venturi. ASME, 2001.
[2] ISO 5167-2:2003 - Measurement of Fluid Flow by Means of Pressure Differential Devices Inserted in
Circular Cross-Section Conduits Running Full – Part 2: Orifice Plates.
[1] American Society of Mechanical Engineers. Mfc-3M-2004 Measurement Of Fluid Flow In Pipes Using
Orifice, Nozzle, And Venturi. ASME, 2001.
[2] ISO 5167-2:2003 - Measurement of Fluid Flow by Means of Pressure Differential Devices Inserted in
Circular Cross-Section Conduits Running Full – Part 2: Orifice Plates.
[1] American Society of Mechanical Engineers. Mfc-3M-2004 Measurement Of Fluid Flow In Pipes Using
Orifice, Nozzle, And Venturi. ASME, 2001.
[2] ISO 5167-2:2003 - Measurement of Fluid Flow by Means of Pressure Differential Devices Inserted in
Circular Cross-Section Conduits Running Full – Part 2: Orifice Plates.
[1] American Society of Mechanical Engineers. Mfc-3M-2004 Measurement Of Fluid Flow In Pipes Using
Orifice, Nozzle, And Venturi. ASME, 2001.
[2] ISO 5167-2:2003 - Measurement of Fluid Flow by Means of Pressure Differential Devices Inserted in
Circular Cross-Section Conduits Running Full – Part 2: Orifice Plates.
[1] American Society of Mechanical Engineers. Mfc-3M-2004 Measurement Of Fluid Flow In Pipes Using
Orifice, Nozzle, And Venturi. ASME, 2001.
Bibliography 463
Fluids Documentation, Release 0.1
[2] ISO 5167-2:2003 - Measurement of Fluid Flow by Means of Pressure Differential Devices Inserted in
Circular Cross-Section Conduits Running Full – Part 2: Orifice Plates.
[1] American Society of Mechanical Engineers. Mfc-3M-2004 Measurement Of Fluid Flow In Pipes Using
Orifice, Nozzle, And Venturi. ASME, 2001.
[1] American Society of Mechanical Engineers. Mfc-3M-2004 Measurement Of Fluid Flow In Pipes Using
Orifice, Nozzle, And Venturi. ASME, 2001.
[2] Miller, Richard W. Flow Measurement Engineering Handbook. 3rd edition. New York: McGraw-Hill
Education, 1996.
[1] American Society of Mechanical Engineers. Mfc-3M-2004 Measurement Of Fluid Flow In Pipes Using
Orifice, Nozzle, And Venturi. ASME, 2001.
[2] ISO 5167-3:2003 - Measurement of Fluid Flow by Means of Pressure Differential Devices Inserted in
Circular Cross-Section Conduits Running Full – Part 3: Nozzles and Venturi Nozzles.
[1] American Society of Mechanical Engineers. Mfc-3M-2004 Measurement Of Fluid Flow In Pipes Using
Orifice, Nozzle, And Venturi. ASME, 2001.
[2] ISO 5167-3:2003 - Measurement of Fluid Flow by Means of Pressure Differential Devices Inserted in
Circular Cross-Section Conduits Running Full – Part 3: Nozzles and Venturi Nozzles.
[1] American Society of Mechanical Engineers. Mfc-3M-2004 Measurement Of Fluid Flow In Pipes Using
Orifice, Nozzle, And Venturi. ASME, 2001.
[2] ISO 5167-3:2003 - Measurement of Fluid Flow by Means of Pressure Differential Devices Inserted in
Circular Cross-Section Conduits Running Full – Part 3: Nozzles and Venturi Nozzles.
[1] American Society of Mechanical Engineers. Mfc-3M-2004 Measurement Of Fluid Flow In Pipes Using
Orifice, Nozzle, And Venturi. ASME, 2001.
[2] ISO 5167-3:2003 - Measurement of Fluid Flow by Means of Pressure Differential Devices Inserted in
Circular Cross-Section Conduits Running Full – Part 3: Nozzles and Venturi Nozzles.
[1] American Society of Mechanical Engineers. MFC-3M-1989 Measurement Of Fluid Flow In Pipes Using
Orifice, Nozzle, And Venturi. ASME, 2005.
[2] Miller, Richard W. Flow Measurement Engineering Handbook. 3rd edition. New York: McGraw-Hill
Education, 1996.
[1] American Society of Mechanical Engineers. Mfc-3M-2004 Measurement Of Fluid Flow In Pipes Using
Orifice, Nozzle, And Venturi. ASME, 2001.
[2] ISO 5167-4:2003 - Measurement of Fluid Flow by Means of Pressure Differential Devices Inserted in
Circular Cross-Section Conduits Running Full – Part 4: Venturi Tubes.
[1] Hollingshead, Colter. “Discharge Coefficient Performance of Venturi, Standard Concentric Orifice Plate,
V-Cone, and Wedge Flow Meters at Small Reynolds Numbers.” May 1, 2011. https://digitalcommons.
usu.edu/etd/869.
[1] Hollingshead, Colter. “Discharge Coefficient Performance of Venturi, Standard Concentric Orifice Plate,
V-Cone, and Wedge Flow Meters at Small Reynolds Numbers.” May 1, 2011. https://digitalcommons.
usu.edu/etd/869.
[2] IntraWedge WEDGE FLOW METER Type: IWM. January 2011. http://www.intra-automation.com/
download.php?file=pdf/products/technical_information/en/ti_iwm_en.pdf
[1] Stewart, D. G., M. Reader-Harris, and NEL Dr RJW Peters. “Derivation of an Expansibility Factor for the
V-Cone Meter.” In Flow Measurement International Conference, Peebles, Scotland, UK, 2001.
[2] ISO 5167-5:2016 - Measurement of Fluid Flow by Means of Pressure Differential Devices Inserted in
Circular Cross-Section Conduits Running Full – Part 5: Cone meters.
464 Bibliography
Fluids Documentation, Release 0.1
[1] ISO 5167-5:2016 - Measurement of Fluid Flow by Means of Pressure Differential Devices Inserted in
Circular Cross-Section Conduits Running Full – Part 5: Cone meters.
[1] Miller, Richard W. Flow Measurement Engineering Handbook. 3rd edition. New York: McGraw-Hill
Education, 1996.
[2] Seshadri, V., S. N. Singh, and S. Bhargava. “Effect of Wedge Shape and Pressure Tap Locations on the
Characteristics of a Wedge Flowmeter.” IJEMS Vol.01(5), October 1994.
[1] ISO/DIS 5167-6 - Measurement of Fluid Flow by Means of Pressure Differential Devices Inserted in
Circular Cross-Section Conduits Running Full – Part 6: Wedge Meters.
[1] ISO/DIS 5167-6 - Measurement of Fluid Flow by Means of Pressure Differential Devices Inserted in
Circular Cross-Section Conduits Running Full – Part 6: Wedge Meters.
[1] Reader-harris, Michael, and Tuv Nel. An Improved Model for Venturi-Tube Over-Reading in Wet Gas,
2009.
[2] ISO/TR 11583:2012 Measurement of Wet Gas Flow by Means of Pressure Differential Devices Inserted
in Circular Cross-Section Conduits.
[1] Reader-harris, Michael, and Tuv Nel. An Improved Model for Venturi-Tube Over-Reading in Wet Gas,
2009.
[2] ISO/TR 11583:2012 Measurement of Wet Gas Flow by Means of Pressure Differential Devices Inserted
in Circular Cross-Section Conduits.
[1] Avila, Kerstin, David Moxey, Alberto de Lozar, Marc Avila, Dwight Barkley, and Björn Hof. “The Onset
of Turbulence in Pipe Flow.” Science 333, no. 6039 (July 8, 2011): 192-96. doi:10.1126/science.1203223.
[1] Schlunder, Ernst U, and International Center for Heat and Mass Transfer. Heat Exchanger Design Hand-
book. Washington: Hemisphere Pub. Corp., 1983.
[1] Colebrook, C F.”Turbulent Flow in Pipes, with Particular Reference to the Transition Region Be-
tween the Smooth and Rough Pipe Laws.” Journal of the ICE 11, no. 4 (February 1, 1939): 133-156.
doi:10.1680/ijoti.1939.13150.
[1] Clamond, Didier. “Efficient Resolution of the Colebrook Equation.” Industrial & Engi-
neering Chemistry Research 48, no. 7 (April 1, 2009): 3665-71. doi:10.1021/ie801626g.
http://math.unice.fr/%7Edidierc/DidPublis/ICR_2009.pdf
[1] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
[2] McKEON, B. J., C. J. SWANSON, M. V. ZAGAROLA, R. J. DONNELLY, and A. J. SMITS.
“Friction Factors for Smooth Pipe Flow.” Journal of Fluid Mechanics 511 (July 1, 2004): 41-44.
doi:10.1017/S0022112004009796.
[1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[1] Shoham, Ovadia. Mechanistic Modeling of Gas-Liquid Two-Phase Flow in Pipes. Pap/Cdr edition.
Richardson, TX: Society of Petroleum Engineers, 2006.
[1] Menon, E. Shashi. Gas Pipeline Hydraulics. 1st edition. Boca Raton, FL: CRC Press, 2005.
[1] Idelchik, I. E, and A. S Ginevskiı̆. Handbook of Hydraulic Resistance. Redding, CT: Begell House, 2007.
[2] Farshad, Fred F., and Herman H. Rieke. “Surface Roughness Design Values for Modern Pipes.” SPE
Drilling & Completion 21, no. 3 (September 1, 2006): 212-215. doi:10.2118/89040-PA.
[1] Idelchik, I. E, and A. S Ginevskiı̆. Handbook of Hydraulic Resistance. Redding, CT: Begell House, 2007.
[1] Farshad, Fred F., and Herman H. Rieke. “Surface Roughness Design Values for Modern Pipes.” SPE
Drilling & Completion 21, no. 3 (September 1, 2006): 212-215. doi:10.2118/89040-PA.
Bibliography 465
Fluids Documentation, Release 0.1
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Moody, L.F.: An approximate formula for pipe friction factors. Trans. Am. Soc. Mech. Eng. 69,1005-1006
(1947)
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Wood, D.J.: An Explicit Friction Factor Relationship, vol. 60. Civil Engineering American Society of
Civil Engineers (1966)
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Churchill, Stuart W. “Empirical Expressions for the Shear Stress in Turbulent Flow in Commercial Pipe.”
AIChE Journal 19, no. 2 (March 1, 1973): 375-76. doi:10.1002/aic.690190228.
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Eck, B.: Technische Stromungslehre. Springer, New York (1973)
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Jain, Akalank K.”Accurate Explicit Equation for Friction Factor.” Journal of the Hydraulics Division 102,
no. 5 (May 1976): 674-77.
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Swamee, Prabhata K., and Akalank K. Jain.”Explicit Equations for Pipe-Flow Problems.” Journal of the
Hydraulics Division 102, no. 5 (May 1976): 657-664.
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Churchill, S.W.: Friction factor equation spans all fluid flow regimes. Chem. Eng. J. 91, 91-92 (1977)
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Chen, Ning Hsing. “An Explicit Equation for Friction Factor in Pipe.” Industrial & Engineering Chemistry
Fundamentals 18, no. 3 (August 1, 1979): 296-97. doi:10.1021/i160071a019.
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
466 Bibliography
Fluids Documentation, Release 0.1
[2] Round, G. F.”An Explicit Approximation for the Friction Factor-Reynolds Number Relation for Rough
and Smooth Pipes.” The Canadian Journal of Chemical Engineering 58, no. 1 (February 1, 1980): 122-23.
doi:10.1002/cjce.5450580119.
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Shacham, M. “Comments on: ‘An Explicit Equation for Friction Factor in Pipe.’” Industrial & Engineer-
ing Chemistry Fundamentals 19, no. 2 (May 1, 1980): 228-228. doi:10.1021/i160074a019.
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Barr, Dih, and Colebrook White.”Technical Note. Solutions Of The Colebrook-White Function For
Resistance To Uniform Turbulent Flow.” ICE Proceedings 71, no. 2 (January 6, 1981): 529-35.
doi:10.1680/iicep.1981.1895.
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Zigrang, D. J., and N. D. Sylvester.”Explicit Approximations to the Solution of Colebrook’s Friction
Factor Equation.” AIChE Journal 28, no. 3 (May 1, 1982): 514-15. doi:10.1002/aic.690280323.
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Zigrang, D. J., and N. D. Sylvester.”Explicit Approximations to the Solution of Colebrook’s Friction
Factor Equation.” AIChE Journal 28, no. 3 (May 1, 1982): 514-15. doi:10.1002/aic.690280323.
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Haaland, S. E.”Simple and Explicit Formulas for the Friction Factor in Turbulent Pipe Flow.” Journal of
Fluids Engineering 105, no. 1 (March 1, 1983): 89-90. doi:10.1115/1.3240948.
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Serghides T.K (1984).”Estimate friction factor accurately” Chemical Engineering, Vol. 91(5), pp. 63-64.
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Serghides T.K (1984).”Estimate friction factor accurately” Chemical Engineering, Vol. 91(5), pp. 63-64.
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Tsal, R.J.: Altshul-Tsal friction factor equation. Heat-Piping-Air Cond. 8, 30-45 (1989)
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Manadilli, G.: Replace implicit equations with signomial functions. Chem. Eng. 104, 129 (1997)
Bibliography 467
Fluids Documentation, Release 0.1
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Romeo, Eva, Carlos Royo, and Antonio Monzon.”Improved Explicit Equations for Estimation of the
Friction Factor in Rough and Smooth Pipes.” Chemical Engineering Journal 86, no. 3 (April 28, 2002):
369-74. doi:10.1016/S1385-8947(01)00254-6.
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Travis, Quentin B., and Larry W. Mays.”Relationship between Hazen-William and Colebrook-White
Roughness Values.” Journal of Hydraulic Engineering 133, no. 11 (November 2007): 1270-73.
doi:10.1061/(ASCE)0733-9429(2007)133:11(1270).
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Rao, A.R., Kumar, B.: Friction factor for turbulent pipe flow. Division of Mechanical Sciences, Civil
Engineering Indian Institute of Science Bangalore, India ID Code 9587 (2007)
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Buzzelli, D.: Calculating friction in one step. Mach. Des. 80, 54-55 (2008)
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Avci, Atakan, and Irfan Karagoz.”A Novel Explicit Equation for Friction Factor in Smooth and Rough
Pipes.” Journal of Fluids Engineering 131, no. 6 (2009): 061203. doi:10.1115/1.3129132.
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Papaevangelou, G., Evangelides, C., Tzimopoulos, C.: A New Explicit Relation for the Friction Factor
Coefficient in the Darcy-Weisbach Equation, pp. 166-172. Protection and Restoration of the Environment
Corfu, Greece: University of Ioannina Greece and Stevens Institute of Technology New Jersey (2010)
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Brkic, Dejan.”Review of Explicit Approximations to the Colebrook Relation for Flow Friction.” Journal
of Petroleum Science and Engineering 77, no. 1 (April 2011): 34-48. doi:10.1016/j.petrol.2011.02.006.
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
[2] Brkic, Dejan.”Review of Explicit Approximations to the Colebrook Relation for Flow Friction.” Journal
of Petroleum Science and Engineering 77, no. 1 (April 2011): 34-48. doi:10.1016/j.petrol.2011.02.006.
[1] Winning, H. and T. Coole. “Explicit Friction Factor Accuracy and Computational Efficiency for Turbulent
Flow in Pipes.” Flow, Turbulence and Combustion 90, no. 1 (January 1, 2013): 1-27. doi:10.1007/s10494-
012-9419-7
468 Bibliography
Fluids Documentation, Release 0.1
[2] Fang, Xiande, Yu Xu, and Zhanru Zhou.”New Correlations of Single-Phase Friction Factor for Turbulent
Pipe Flow and Evaluation of Existing Single-Phase Friction Factor Correlations.” Nuclear Engineering
and Design, The International Conference on Structural Mechanics in Reactor Technology (SMiRT19)
Special Section, 241, no. 3 (March 2011): 897-902. doi:10.1016/j.nucengdes.2010.12.019.
[1] Blasius, H.”Das Aehnlichkeitsgesetz bei Reibungsvorgängen in Flüssigkeiten.” In Mitteilungen über
Forschungsarbeiten auf dem Gebiete des Ingenieurwesens, edited by Verein deutscher Ingenieure,
1-41. Berlin, Heidelberg: Springer Berlin Heidelberg, 1913. http://rd.springer.com/chapter/10.1007/
978-3-662-02239-9_1.
[2] Hager, W. H. “Blasius: A Life in Research and Education.” In Experiments in Fluids, 566–571, 2003.
[1] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
[2] McGovern, Jim. “Technical Note: Friction Factor Diagrams for Pipe Flow.” Paper, October 3, 2011.
http://arrow.dit.ie/engschmecart/28.
[1] Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st
edition. Hoboken, N.J: Wiley, 2012.
[2] McGovern, Jim. “Technical Note: Friction Factor Diagrams for Pipe Flow.” Paper, October 3, 2011.
http://arrow.dit.ie/engschmecart/28.
[1] Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.
[1] White, C. M. “Streamline Flow through Curved Pipes.” Proceedings of the Royal Society of Lon-
don A: Mathematical, Physical and Engineering Sciences 123, no. 792 (April 6, 1929): 645-63.
doi:10.1098/rspa.1929.0089.
[2] El-Genk, Mohamed S., and Timothy M. Schriener. “A Review and Correlations for Convection Heat
Transfer and Pressure Losses in Toroidal and Helically Coiled Tubes.” Heat Transfer Engineering 0, no.
0 (June 7, 2016): 1-28. doi:10.1080/01457632.2016.1194693.
[3] Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co.,
1984.
[1] Mori, Yasuo, and Wataru Nakayama. “Study on Forced Convective Heat Transfer in Curved Pipes: 1st
Report, Laminar Region.” Transactions of the Japan Society of Mechanical Engineers 30, no. 216 (1964):
977-88. doi:10.1299/kikai1938.30.977.
[2] El-Genk, Mohamed S., and Timothy M. Schriener. “A Review and Correlations for Convection Heat
Transfer and Pressure Losses in Toroidal and Helically Coiled Tubes.” Heat Transfer Engineering 0, no.
0 (June 7, 2016): 1-28. doi:10.1080/01457632.2016.1194693.
[3] Pimenta, T. A., and J. B. L. M. Campos. “Friction Losses of Newtonian and Non-Newtonian Fluids
Flowing in Laminar Regime in a Helical Coil.” Experimental Thermal and Fluid Science 36 (January
2012): 194-204. doi:10.1016/j.expthermflusci.2011.09.013.
[1] Schmidt, Eckehard F. “Wärmeübergang Und Druckverlust in Rohrschlangen.” Chemie Ingenieur Technik
39, no. 13 (July 10, 1967): 781-89. doi:10.1002/cite.330391302.
[2] El-Genk, Mohamed S., and Timothy M. Schriener. “A Review and Correlations for Convection Heat
Transfer and Pressure Losses in Toroidal and Helically Coiled Tubes.” Heat Transfer Engineering 0, no.
0 (June 7, 2016): 1-28. doi:10.1080/01457632.2016.1194693.
[3] Pimenta, T. A., and J. B. L. M. Campos. “Friction Losses of Newtonian and Non-Newtonian Fluids
Flowing in Laminar Regime in a Helical Coil.” Experimental Thermal and Fluid Science 36 (January
2012): 194-204. doi:10.1016/j.expthermflusci.2011.09.013.
[1] Schmidt, Eckehard F. “Wärmeübergang Und Druckverlust in Rohrschlangen.” Chemie Ingenieur Technik
39, no. 13 (July 10, 1967): 781-89. doi:10.1002/cite.330391302.
Bibliography 469
Fluids Documentation, Release 0.1
[2] El-Genk, Mohamed S., and Timothy M. Schriener. “A Review and Correlations for Convection Heat
Transfer and Pressure Losses in Toroidal and Helically Coiled Tubes.” Heat Transfer Engineering 0, no.
0 (June 7, 2016): 1-28. doi:10.1080/01457632.2016.1194693.
[1] Mori, Yasuo, and Wataru Nakayama. “Study of Forced Convective Heat Transfer in Curved Pipes (2nd
Report, Turbulent Region).” International Journal of Heat and Mass Transfer 10, no. 1 (January 1, 1967):
37-59. doi:10.1016/0017-9310(67)90182-2.
[2] El-Genk, Mohamed S., and Timothy M. Schriener. “A Review and Correlations for Convection Heat
Transfer and Pressure Losses in Toroidal and Helically Coiled Tubes.” Heat Transfer Engineering 0, no.
0 (June 7, 2016): 1-28. doi:10.1080/01457632.2016.1194693.
[3] Ali, Shaukat. “Pressure Drop Correlations for Flow through Regular Helical Coil Tubes.” Fluid Dynamics
Research 28, no. 4 (April 2001): 295-310. doi:10.1016/S0169-5983(00)00034-4.
[1] Prasad, B. V. S. S. S., D. H. Das, and A. K. Prabhakar. “Pressure Drop, Heat Transfer and Performance
of a Helically Coiled Tubular Exchanger.” Heat Recovery Systems and CHP 9, no. 3 (January 1, 1989):
249-56. doi:10.1016/0890-4332(89)90008-2.
[2] El-Genk, Mohamed S., and Timothy M. Schriener. “A Review and Correlations for Convection Heat
Transfer and Pressure Losses in Toroidal and Helically Coiled Tubes.” Heat Transfer Engineering 0, no.
0 (June 7, 2016): 1-28. doi:10.1080/01457632.2016.1194693.
[1] Czop, V., D. Barbier, and S. Dong. “Pressure Drop, Void Fraction and Shear Stress Measurements in an
Adiabatic Two-Phase Flow in a Coiled Tube.” Nuclear Engineering and Design 149, no. 1 (September 1,
1994): 323-33. doi:10.1016/0029-5493(94)90298-4.
[2] El-Genk, Mohamed S., and Timothy M. Schriener. “A Review and Correlations for Convection Heat
Transfer and Pressure Losses in Toroidal and Helically Coiled Tubes.” Heat Transfer Engineering 0, no.
0 (June 7, 2016): 1-28. doi:10.1080/01457632.2016.1194693.
[1] Guo, Liejin, Ziping Feng, and Xuejun Chen. “An Experimental Investigation of the Frictional Pressure
Drop of Steam–water Two-Phase Flow in Helical Coils.” International Journal of Heat and Mass Transfer
44, no. 14 (July 2001): 2601-10. doi:10.1016/S0017-9310(00)00312-4.
[2] El-Genk, Mohamed S., and Timothy M. Schriener. “A Review and Correlations for Convection Heat
Transfer and Pressure Losses in Toroidal and Helically Coiled Tubes.” Heat Transfer Engineering 0, no.
0 (June 7, 2016): 1-28. doi:10.1080/01457632.2016.1194693.
[1] Ju, Huaiming, Zhiyong Huang, Yuanhui Xu, Bing Duan, and Yu Yu. “Hydraulic Performance of Small
Bending Radius Helical Coil-Pipe.” Journal of Nuclear Science and Technology 38, no. 10 (October 1,
2001): 826-31. doi:10.1080/18811248.2001.9715102.
[2] El-Genk, Mohamed S., and Timothy M. Schriener. “A Review and Correlations for Convection Heat
Transfer and Pressure Losses in Toroidal and Helically Coiled Tubes.” Heat Transfer Engineering 0, no.
0 (June 7, 2016): 1-28. doi:10.1080/01457632.2016.1194693.
[1] Srinivasan, PS, SS Nandapurkar, and FA Holland. “Friction Factors for Coils.” TRANSACTIONS OF
THE INSTITUTION OF CHEMICAL ENGINEERS AND THE CHEMICAL ENGINEER 48, no. 4-6
(1970): T156
[2] Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co.,
1984.
[3] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York:
McGraw-Hill, 1998.
[1] Mandal, Monisha Mridha, and K. D. P. Nigam. “Experimental Study on Pressure Drop and Heat Trans-
fer of Turbulent Flow in Tube in Tube Helical Heat Exchanger.” Industrial & Engineering Chemistry
Research 48, no. 20 (October 21, 2009): 9318-24. doi:10.1021/ie9002393.
470 Bibliography
Fluids Documentation, Release 0.1
[2] El-Genk, Mohamed S., and Timothy M. Schriener. “A Review and Correlations for Convection Heat
Transfer and Pressure Losses in Toroidal and Helically Coiled Tubes.” Heat Transfer Engineering 0, no.
0 (June 7, 2016): 1-28. doi:10.1080/01457632.2016.1194693.
[1] Seth, K. K., and E. P. Stahel. “HEAT TRANSFER FROM HELICAL COILS IMMERSED IN
AGITATED VESSELS.” Industrial & Engineering Chemistry 61, no. 6 (June 1, 1969): 39-49.
doi:10.1021/ie50714a007.
[1] H. Ito. “Friction factors for turbulent flow in curved pipes.” Journal Basic Engineering, Transactions of
the ASME, 81 (1959): 123-134.
[2] El-Genk, Mohamed S., and Timothy M. Schriener. “A Review and Correlations for Convection Heat
Transfer and Pressure Losses in Toroidal and Helically Coiled Tubes.” Heat Transfer Engineering 0, no.
0 (June 7, 2016): 1-28. doi:10.1080/01457632.2016.1194693.
[3] Mori, Yasuo, and Wataru Nakayama. “Study on Forced Convective Heat Transfer in Curved Pipes.”
International Journal of Heat and Mass Transfer 10, no. 5 (May 1, 1967): 681-95. doi:10.1016/0017-
9310(67)90113-5.
[1] Kubair, Venugopala, and N. R. Kuloor. “Heat Transfer to Newtonian Fluids in Coiled Pipes in Lam-
inar Flow.” International Journal of Heat and Mass Transfer 9, no. 1 (January 1, 1966): 63-75.
doi:10.1016/0017-9310(66)90057-3.
[2] El-Genk, Mohamed S., and Timothy M. Schriener. “A Review and Correlations for Convection Heat
Transfer and Pressure Losses in Toroidal and Helically Coiled Tubes.” Heat Transfer Engineering 0, no.
0 (June 7, 2016): 1-28. doi:10.1080/01457632.2016.1194693.
[1] Kutateladze, S. S, and V. M Borishanskiı̆. A Concise Encyclopedia of Heat Transfer. Oxford; New York:
Pergamon Press, 1966.
[2] El-Genk, Mohamed S., and Timothy M. Schriener. “A Review and Correlations for Convection Heat
Transfer and Pressure Losses in Toroidal and Helically Coiled Tubes.” Heat Transfer Engineering 0, no.
0 (June 7, 2016): 1-28. doi:10.1080/01457632.2016.1194693.
[1] Schmidt, Eckehard F. “Wärmeübergang Und Druckverlust in Rohrschlangen.” Chemie Ingenieur Technik
39, no. 13 (July 10, 1967): 781-89. doi:10.1002/cite.330391302.
[2] El-Genk, Mohamed S., and Timothy M. Schriener. “A Review and Correlations for Convection Heat
Transfer and Pressure Losses in Toroidal and Helically Coiled Tubes.” Heat Transfer Engineering 0, no.
0 (June 7, 2016): 1-28. doi:10.1080/01457632.2016.1194693.
[3] Schlunder, Ernst U, and International Center for Heat and Mass Transfer. Heat Exchanger Design Hand-
book. Washington: Hemisphere Pub. Corp., 1983.
[1] Srinivasan, P. S., Nandapurkar, S. S., and Holland, F. A., “Pressure Drop and Heat Transfer in Coils”,
Chemical Engineering, 218, CE131-119, (1968).
[2] El-Genk, Mohamed S., and Timothy M. Schriener. “A Review and Correlations for Convection Heat
Transfer and Pressure Losses in Toroidal and Helically Coiled Tubes.” Heat Transfer Engineering 0, no.
0 (June 7, 2016): 1-28. doi:10.1080/01457632.2016.1194693.
[3] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York:
McGraw-Hill, 1998.
[1] Martin, Holger. “Economic optimization of compact heat exchangers.” EF-Conference on Compact Heat
Exchangers and Enhancement Technology for the Process Industries, Banff, Canada, July 18-23, 1999,
1999. https://publikationen.bibliothek.kit.edu/1000034866.
[2] Martin, Holger. “A Theoretical Approach to Predict the Performance of Chevron-Type Plate Heat Ex-
changers.” Chemical Engineering and Processing: Process Intensification 35, no. 4 (January 1, 1996):
301-10. https://doi.org/10.1016/0255-2701(95)04129-X.
Bibliography 471
Fluids Documentation, Release 0.1
[3] Shah, Ramesh K., and Dusan P. Sekulic. Fundamentals of Heat Exchanger Design. 1st edition. Hoboken,
NJ: Wiley, 2002.
[1] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[1] Kumar, H. “The plate heat exchanger: construction and design.” In First U.K. National Conference on
Heat Transfer: Held at the University of Leeds, 3-5 July 1984, Institute of Chemical Engineering Sympo-
sium Series, vol. 86, pp. 1275-1288. 1984.
[2] Ayub, Zahid H. “Plate Heat Exchanger Literature Survey and New Heat Transfer and Pressure Drop
Correlations for Refrigerant Evaporators.” Heat Transfer Engineering 24, no. 5 (September 1, 2003): 3-
16. doi:10.1080/01457630304056.
[1] Muley, A., and R. M. Manglik. “Experimental Study of Turbulent Flow Heat Transfer and Pressure Drop
in a Plate Heat Exchanger With Chevron Plates.” Journal of Heat Transfer 121, no. 1 (February 1, 1999):
110-17. doi:10.1115/1.2825923.
[2] Ayub, Zahid H. “Plate Heat Exchanger Literature Survey and New Heat Transfer and Pressure Drop
Correlations for Refrigerant Evaporators.” Heat Transfer Engineering 24, no. 5 (September 1, 2003): 3-
16. doi:10.1080/01457630304056.
[1] El-Genk, Mohamed S., and Timothy M. Schriener. “A Review and Correlations for Convection Heat
Transfer and Pressure Losses in Toroidal and Helically Coiled Tubes.” Heat Transfer Engineering 0, no.
0 (June 7, 2016): 1-28. doi:10.1080/01457632.2016.1194693.
[Ra5f43f3cdb76-1] Amalfi, Raffaele L., Farzad Vakili-Farahani, and John R. Thome. “Flow Boiling and Frictional
Pressure Gradients in Plate Heat Exchangers. Part 1: Review and Experimental Database.” International
Journal of Refrigeration 61 (January 2016): 166-84. doi:10.1016/j.ijrefrig.2015.07.010.
[R6a2fe8cbf2f6-1] Yang, Yujie, and Yanzhong Li. “General Prediction of the Thermal Hydraulic Performance for
Plate-Fin Heat Exchanger with Offset Strip Fins.” International Journal of Heat and Mass Transfer 78
(November 1, 2014): 860-70. doi:10.1016/j.ijheatmasstransfer.2014.07.060.
[R6a2fe8cbf2f6-2] Sheik Ismail, L., R. Velraj, and C. Ranganayakulu. “Studies on Pumping Power in Terms of Pres-
sure Drop and Heat Transfer Characteristics of Compact Plate-Fin Heat Exchangers-A Review.” Renew-
able and Sustainable Energy Reviews 14, no. 1 (January 2010): 478-85. doi:10.1016/j.rser.2009.06.033.
[R9da9598dd59d-1] Chen, W. F., and E. M. Lui, eds. Handbook of Structural Engineering, Second Edition. Boca
Raton, Fla: CRC Press, 2005.
[R9da9598dd59d-2] Ansary, A. M. El, A. A. El Damatty, and A. O. Nassef. Optimum Shape and Design of Cooling
Towers, 2011.
[1] Schlunder, Ernst U, and International Center for Heat and Mass Transfer. Heat Exchanger Design Hand-
book. Washington: Hemisphere Pub. Corp., 1983.
[1] Weisstein, Eric W. “Spherical Cap.” Text. Accessed December 22, 2015. http://mathworld.wolfram.com/
SphericalCap.html.
[1] Weisstein, Eric W. “Spherical Cap.” Text. Accessed December 22, 2015. http://mathworld.wolfram.com/
SphericalCap.html.
[1] Jones, D. “Calculating Tank Volume.” Text. Accessed December 22, 2015. http://www.webcalc.com.br/
blog/Tank_Volume.PDF
[1] Jones, D. “Calculating Tank Volume.” Text. Accessed December 22, 2015. http://www.webcalc.com.br/
blog/Tank_Volume.PDF
[1] Jones, D. “Calculating Tank Volume.” Text. Accessed December 22, 2015. http://www.webcalc.com.br/
blog/Tank_Volume.PDF
[1] Jones, D. “Calculating Tank Volume.” Text. Accessed December 22, 2015. http://www.webcalc.com.br/
blog/Tank_Volume.PDF
472 Bibliography
Fluids Documentation, Release 0.1
[1] Jones, D. “Calculating Tank Volume.” Text. Accessed December 22, 2015. http://www.webcalc.com.br/
blog/Tank_Volume.PDF
[1] Jones, D. “Calculating Tank Volume.” Text. Accessed December 22, 2015. http://www.webcalc.com.br/
blog/Tank_Volume.PDF
[1] Jones, D. “Calculating Tank Volume.” Text. Accessed December 22, 2015. http://www.webcalc.com.br/
blog/Tank_Volume.PDF
[1] Jones, D. “Calculating Tank Volume.” Text. Accessed December 22, 2015. http://www.webcalc.com.br/
blog/Tank_Volume.PDF
[1] Jones, D. “Calculating Tank Volume.” Text. Accessed December 22, 2015. http://www.webcalc.com.br/
blog/Tank_Volume.PDF
[1] Jones, D. “Compute Fluid Volumes in Vertical Tanks.” Chemical Processing. December 18, 2003. http:
//www.chemicalprocessing.com/articles/2003/193/
[1] Jones, D. “Compute Fluid Volumes in Vertical Tanks.” Chemical Processing. December 18, 2003. http:
//www.chemicalprocessing.com/articles/2003/193/
[1] Jones, D. “Compute Fluid Volumes in Vertical Tanks.” Chemical Processing. December 18, 2003. http:
//www.chemicalprocessing.com/articles/2003/193/
[1] Jones, D. “Compute Fluid Volumes in Vertical Tanks.” Chemical Processing. December 18, 2003. http:
//www.chemicalprocessing.com/articles/2003/193/
[1] Jones, D. “Calculating Tank Volume.” Text. Accessed December 22, 2015. http://www.webcalc.com.br/
blog/Tank_Volume.PDF
[1] Weisstein, Eric W. “Spheroid.” Text. Accessed March 14, 2016. http://mathworld.wolfram.com/Spheroid.
html.
[1] Weisstein, Eric W. “Cone.” Text. Accessed March 14, 2016. http://mathworld.wolfram.com/Cone.html.
[1] Weisstein, Eric W. “Cone.” Text. Accessed March 14, 2016. http://mathworld.wolfram.com/Cone.html.
[1] Honeywell. “Calculate Surface Areas and Cross-sectional Areas in Vessels with
Dished Heads”. https://www.honeywellprocess.com/library/marketing/whitepapers/
WP-VesselsWithDishedHeads-UniSimDesign.pdf Whitepaper. 2014.
[1] Jones, D. “Compute Fluid Volumes in Vertical Tanks.” Chemical Processing. December 18, 2003. http:
//www.chemicalprocessing.com/articles/2003/193/
[1] Rhodes, Martin J., ed. Introduction to Particle Technology. 2E. Chichester, England; Hoboken, NJ: Wiley,
2008.
[2] “Sphericity.” Wikipedia, March 8, 2017. https://en.wikipedia.org/w/index.php?title=Sphericity&oldid=
769183043
[1] Schlunder, Ernst U, and International Center for Heat and Mass Transfer. Heat Exchanger Design Hand-
book. Washington: Hemisphere Pub. Corp., 1983.
[1] Karassik, Igor J., Joseph P. Messina, Paul Cooper, and Charles C. Heald. Pump Handbook. 4th edition.
New York: McGraw-Hill Education, 2007.
[2] Winoto S. H., Li H., and Shah D. A. “Efficiency of Jet Pumps.” Journal of Hydraulic Engineering 126,
no. 2 (February 1, 2000): 150-56. https://doi.org/10.1061/(ASCE)0733-9429(2000)126:2(150).
[3] Elmore, Emily, Khalid Al-Mutairi, Bilal Hussain, and A. Sheriff El-Gizawy. “Development of Analytical
Model for Predicting Dual-Phase Ejector Performance,” November 11, 2016, V007T09A013.
[4] Ejectors and Jet Pumps. Design and Performance for Incompressible Liquid Flow. 85032. ESDU Interna-
tional PLC, 1985.
Bibliography 473
Fluids Documentation, Release 0.1
[1] Ejectors and Jet Pumps. Design and Performance for Incompressible Liquid Flow. 85032. ESDU Interna-
tional PLC, 1985.
[1] Paul, Edward L, Victor A Atiemo-Obeng, and Suzanne M Kresta. Handbook of Industrial Mixing: Sci-
ence and Practice. Hoboken, N.J.: Wiley-Interscience, 2004.
[1] Paul, Edward L, Victor A Atiemo-Obeng, and Suzanne M Kresta. Handbook of Industrial Mixing: Sci-
ence and Practice. Hoboken, N.J.: Wiley-Interscience, 2004.
[2] Rieger, F., V. Novak, and D. Havelkov (1988). The influence of the geometrical shape on the power
requirements of ribbon impellers, Int. Chem. Eng., 28, 376-383.
[1] Paul, Edward L, Victor A Atiemo-Obeng, and Suzanne M Kresta. Handbook of Industrial Mixing: Sci-
ence and Practice. Hoboken, N.J.: Wiley-Interscience, 2004.
[2] Grenville, R. K., T. M. Hutchinson, and R. W. Higbee (2001). Optimisation of helical ribbon geometry
for blending in the laminar regime, presented at MIXING XVIII, NAMF.
[1] Paul, Edward L, Victor A Atiemo-Obeng, and Suzanne M Kresta. Handbook of Industrial Mixing: Sci-
ence and Practice. Hoboken, N.J.: Wiley-Interscience, 2004.
[2] Giorges, Aklilu T. G., Larry J. Forney, and Xiaodong Wang. “Numerical Study of Multi-Jet Mix-
ing.” Chemical Engineering Research and Design, Fluid Flow, 79, no. 5 (July 2001): 515-22.
doi:10.1205/02638760152424280.
[1] Paul, Edward L, Victor A Atiemo-Obeng, and Suzanne M Kresta. Handbook of Industrial Mixing: Sci-
ence and Practice. Hoboken, N.J.: Wiley-Interscience, 2004.
[2] Streiff, F. A., S. Jaffer, and G. Schneider (1999). Design and application of motionless mixer technology,
Proc. ISMIP3, Osaka, pp. 107-114.
[1] Paul, Edward L, Victor A Atiemo-Obeng, and Suzanne M Kresta. Handbook of Industrial Mixing: Sci-
ence and Practice. Hoboken, N.J.: Wiley-Interscience, 2004.
[2] Streiff, F. A., S. Jaffer, and G. Schneider (1999). Design and application of motionless mixer technology,
Proc. ISMIP3, Osaka, pp. 107-114.
[1] Shen, John. “Discharge Characteristics of Triangular-Notch Thin-Plate Weirs: Studies of Flow to Water
over Weirs and Dams.” USGS Numbered Series. Water Supply Paper. U.S. Geological Survey: U.S.
G.P.O., 1981
[2] Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co.,
1984.
[1] Kindsvater, Carl E., and Rolland W. Carter. “Discharge Characteristics of Rectangular Thin-Plate Weirs.”
Journal of the Hydraulics Division 83, no. 6 (December 1957): 1-36.
[2] Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co.,
1984.
[1] Normen für Wassermessungen: bei Durchführung von Abnahmeversuchen an Wasserkraftmaschinen.
SIA, 1924.
[2] Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co.,
1984.
[1] Ackers, Peter, W. R. White, J. A. Perkins, and A. J. M. Harrison. Weirs and Flumes for Flow Measurement.
Chichester; New York: John Wiley & Sons Ltd, 1978.
[2] Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co.,
1984.
[3] Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw
Hill Higher Education, 2006.
474 Bibliography
Fluids Documentation, Release 0.1
Bibliography 475
Fluids Documentation, Release 0.1
[1] P.C. Carman, Fluid flow through granular beds, Transactions of the London Institute of Chemical Engi-
neers 15 (1937) 150-166.
[2] Erdim, Esra, Ömer Akgiray, and İbrahim Demir. “A Revisit of Pressure Drop-Flow Rate Cor-
relations for Packed Beds of Spheres.” Powder Technology 283 (October 2015): 488-504.
doi:10.1016/j.powtec.2015.06.017.
[3] Allen, K. G., T. W. von Backstrom, and D. G. Kroger. “Packed Bed Pressure Drop Dependence on Particle
Shape, Size Distribution, Packing Arrangement and Roughness.” Powder Technology 246 (September
2013): 590-600. doi:10.1016/j.powtec.2013.06.022.
[1] Hicks, R. E. “Pressure Drop in Packed Beds of Spheres.” Industrial Engineering Chemistry Fundamentals
9, no. 3 (August 1, 1970): 500-502. doi:10.1021/i160035a032.
[2] Erdim, Esra, Ömer Akgiray, and İbrahim Demir. “A Revisit of Pressure Drop-Flow Rate Cor-
relations for Packed Beds of Spheres.” Powder Technology 283 (October 2015): 488-504.
doi:10.1016/j.powtec.2015.06.017.
[3] Allen, K. G., T. W. von Backstrom, and D. G. Kroger. “Packed Bed Pressure Drop Dependence on Particle
Shape, Size Distribution, Packing Arrangement and Roughness.” Powder Technology 246 (September
2013): 590-600. doi:10.1016/j.powtec.2013.06.022.
[1] H. Brauer, Grundlagen der Einphasen -und Mehrphasenstromungen, Sauerlander AG, Aarau, 1971.
[2] Erdim, Esra, Ömer Akgiray, and İbrahim Demir. “A Revisit of Pressure Drop-Flow Rate Cor-
relations for Packed Beds of Spheres.” Powder Technology 283 (October 2015): 488-504.
doi:10.1016/j.powtec.2015.06.017.
[2] Allen, K. G., T. W. von Backstrom, and D. G. Kroger. “Packed Bed Pressure Drop Dependence on Particle
Shape, Size Distribution, Packing Arrangement and Roughness.” Powder Technology 246 (September
2013): 590-600. doi:10.1016/j.powtec.2013.06.022.
[1] KTA. KTA 3102.3 Reactor Core Design of High-Temperature Gas-Cooled Reactors Part 3: Loss of Pres-
sure through Friction in Pebble Bed Cores. Germany, 1981.
[2] Erdim, Esra, Ömer Akgiray, and İbrahim Demir. “A Revisit of Pressure Drop-Flow Rate Cor-
relations for Packed Beds of Spheres.” Powder Technology 283 (October 2015): 488-504.
doi:10.1016/j.powtec.2015.06.017.
[1] Erdim, Esra, Ömer Akgiray, and İbrahim Demir. “A Revisit of Pressure Drop-Flow Rate Cor-
relations for Packed Beds of Spheres.” Powder Technology 283 (October 2015): 488-504.
doi:10.1016/j.powtec.2015.06.017.
[1] R.W. Fahien, C.B. Schriver, Paper presented at the 1961 Denver meeting of AIChE, in: R.W. Fahien,
Fundamentals of Transport Phenomena, McGraw-Hill, New York, 1983.
[2] Erdim, Esra, Ömer Akgiray, and İbrahim Demir. “A Revisit of Pressure Drop-Flow Rate Cor-
relations for Packed Beds of Spheres.” Powder Technology 283 (October 2015): 488-504.
doi:10.1016/j.powtec.2015.06.017.
[1] Tallmadge, J. A. “Packed Bed Pressure Drop-an Extension to Higher Reynolds Numbers.” AIChE Journal
16, no. 6 (November 1, 1970): 1092-93.
[2] Erdim, Esra, Ömer Akgiray, and İbrahim Demir. “A Revisit of Pressure Drop-Flow Rate Cor-
relations for Packed Beds of Spheres.” Powder Technology 283 (October 2015): 488-504.
doi:10.1016/j.powtec.2015.06.017.
[3] Montillet, A., E. Akkari, and J. Comiti. “About a Correlating Equation for Predicting Pressure Drops
through Packed Beds of Spheres in a Large Range of Reynolds Numbers.” Chemical Engineering and
Processing: Process Intensification 46, no. 4 (April 2007): 329-33. doi:10.1016/j.cep.2006.07.002.
476 Bibliography
Fluids Documentation, Release 0.1
[1] Idelchik, I. E. Flow Resistance: A Design Guide for Engineers. Hemisphere Publishing Corporation, New
York, 1989.
[2] Allen, K. G., T. W. von Backstrom, and D. G. Kroger. “Packed Bed Pressure Drop Dependence on Particle
Shape, Size Distribution, Packing Arrangement and Roughness.” Powder Technology 246 (September
2013): 590-600. doi:10.1016/j.powtec.2013.06.022.
[1] KTA. KTA 3102.3 Reactor Core Design of High-Temperature Gas-Cooled Reactors Part 3: Loss of Pres-
sure through Friction in Pebble Bed Cores. Germany, 1981.
[2] Erdim, Esra, Ömer Akgiray, and İbrahim Demir. “A Revisit of Pressure Drop-Flow Rate Cor-
relations for Packed Beds of Spheres.” Powder Technology 283 (October 2015): 488-504.
doi:10.1016/j.powtec.2015.06.017.
[1] Montillet, A., E. Akkari, and J. Comiti. “About a Correlating Equation for Predicting Pressure Drops
through Packed Beds of Spheres in a Large Range of Reynolds Numbers.” Chemical Engineering and
Processing: Process Intensification 46, no. 4 (April 2007): 329-33. doi:10.1016/j.cep.2006.07.002.
[2] Allen, K. G., T. W. von Backstrom, and D. G. Kroger. “Packed Bed Pressure Drop Dependence on Particle
Shape, Size Distribution, Packing Arrangement and Roughness.” Powder Technology 246 (September
2013): 590-600. doi:10.1016/j.powtec.2013.06.022.
[1] Guo, Zehua, Zhongning Sun, Nan Zhang, Ming Ding, and Jiaqing Liu. “Pressure Drop in Slender
Packed Beds with Novel Packing Arrangement.” Powder Technology 321 (November 2017): 286-92.
doi:10.1016/j.powtec.2017.08.024.
[1] Benyahia, F., and K. E. O’Neill. “Enhanced Voidage Correlations for Packed Beds of Various Par-
ticle Shapes and Sizes.” Particulate Science and Technology 23, no. 2 (April 1, 2005): 169-77.
doi:10.1080/02726350590922242.
[1] Benyahia, F., and K. E. O’Neill. “Enhanced Voidage Correlations for Packed Beds of Various Par-
ticle Shapes and Sizes.” Particulate Science and Technology 23, no. 2 (April 1, 2005): 169-77.
doi:10.1080/02726350590922242.
[1] Benyahia, F., and K. E. O’Neill. “Enhanced Voidage Correlations for Packed Beds of Various Par-
ticle Shapes and Sizes.” Particulate Science and Technology 23, no. 2 (April 1, 2005): 169-77.
doi:10.1080/02726350590922242.
[1] Robbins [Chem. Eng. Progr., p. 87 (May 1991) Improved Pressure Drop Prediction with a New Correla-
tion.
[1] Stichlmair, J., J. L. Bravo, and J. R. Fair. “General Model for Prediction of Pressure Drop and Capacity
of Countercurrent Gas/liquid Packed Columns.” Gas Separation & Purification 3, no. 1 (March 1989):
19-28. doi:10.1016/0950-4214(89)80016-7.
[1] Stichlmair, J., J. L. Bravo, and J. R. Fair. “General Model for Prediction of Pressure Drop and Capacity
of Countercurrent Gas/liquid Packed Columns.” Gas Separation & Purification 3, no. 1 (March 1989):
19-28. doi:10.1016/0950-4214(89)80016-7.
[2] Piche, Simon R., Faical Larachi, and Bernard P. A. Grandjean. “Improving the Prediction of Irrigated
Pressure Drop in Packed Absorption Towers.” The Canadian Journal of Chemical Engineering 79, no. 4
(August 1, 2001): 584-94. doi:10.1002/cjce.5450790417.
[1] Stichlmair, J., J. L. Bravo, and J. R. Fair. “General Model for Prediction of Pressure Drop and Capacity
of Countercurrent Gas/liquid Packed Columns.” Gas Separation & Purification 3, no. 1 (March 1989):
19-28. doi:10.1016/0950-4214(89)80016-7.
[1] Setekleiv, A. Eddie, and Hallvard F. Svendsen. “Dry Pressure Drop in Spiral Wound Wire Mesh Pads at
Low and Elevated Pressures.” Chemical Engineering Research and Design 109 (May 2016): 141-149.
doi:10.1016/j.cherd.2016.01.019.
Bibliography 477
Fluids Documentation, Release 0.1
[1] Setekleiv, A. Eddie, and Hallvard F. Svendsen. “Dry Pressure Drop in Spiral Wound Wire Mesh Pads at
Low and Elevated Pressures.” Chemical Engineering Research and Design 109 (May 2016): 141-149.
doi:10.1016/j.cherd.2016.01.019.
[1] El-Dessouky, Hisham T, Imad M Alatiqi, Hisham M Ettouney, and Noura S Al-Deffeeri. “Performance
of Wire Mesh Mist Eliminator.” Chemical Engineering and Processing: Process Intensification 39, no. 2
(March 2000): 129-39. doi:10.1016/S0255-2701(99)00033-1.
[1] El-Dessouky, Hisham T, Imad M Alatiqi, Hisham M Ettouney, and Noura S Al-Deffeeri. “Performance
of Wire Mesh Mist Eliminator.” Chemical Engineering and Processing: Process Intensification 39, no. 2
(March 2000): 129-39. doi:10.1016/S0255-2701(99)00033-1.
[1] Helsør, T., and H. Svendsen. “Experimental Characterization of Pressure Drop in Dry Demisters at
Low and Elevated Pressures.” Chemical Engineering Research and Design 85, no. 3 (2007): 377-85.
doi:10.1205/cherd06048.
[1] Helsør, T., and H. Svendsen. “Experimental Characterization of Pressure Drop in Dry Demisters at
Low and Elevated Pressures.” Chemical Engineering Research and Design 85, no. 3 (2007): 377-85.
doi:10.1205/cherd06048.
[R6899669cf6c8-1] ISO 9276-2:2014 - Representation of Results of Particle Size Analysis - Part 2: Calculation of
Average Particle Sizes/Diameters and Moments from Particle Size Distributions.
[1] ASTM E11 - 17 - Standard Specification for Woven Wire Test Sieve Cloth and Test Sieves.
[2] ISO 3310-1:2016 - Test Sieves – Technical Requirements and Testing – Part 1: Test Sieves of Metal Wire
Cloth.
[1] Mugele, R. A., and H. D. Evans. “Droplet Size Distribution in Sprays.” Industrial & Engineering Chem-
istry 43, no. 6 (June 1951): 1317-24. https://doi.org/10.1021/ie50498a023.
[2] ASTM E799 - 03(2015) - Standard Practice for Determining Data Criteria and Processing for Liquid Drop
Size Analysis.
[3] ISO 9276-2:2014 - Representation of Results of Particle Size Analysis - Part 2: Calculation of Average
Particle Sizes/Diameters and Moments from Particle Size Distributions.
[1] ISO 9276-2:2014 - Representation of Results of Particle Size Analysis - Part 2: Calculation of Average
Particle Sizes/Diameters and Moments from Particle Size Distributions.
[1] Masuda, Hiroaki, Ko Higashitani, and Hideto Yoshida. Powder Technology: Fundamentals of Particles,
Powder Beds, and Particle Generation. CRC Press, 2006.
[1] ISO 9276-2:2014 - Representation of Results of Particle Size Analysis - Part 2: Calculation of Average
Particle Sizes/Diameters and Moments from Particle Size Distributions.
[R8b42d45c9b22-1] ASTM E799 - 03(2015) - Standard Practice for Determining Data Criteria and Processing for
Liquid Drop Size Analysis.
[R8b42d45c9b22-2] ISO 9276-2:2014 - Representation of Results of Particle Size Analysis - Part 2: Calculation of
Average Particle Sizes/Diameters and Moments from Particle Size Distributions.
[1] ASTM E799 - 03(2015) - Standard Practice for Determining Data Criteria and Processing for Liquid Drop
Size Analysis.
[1] Mugele, R. A., and H. D. Evans. “Droplet Size Distribution in Sprays.” Industrial & Engineering Chem-
istry 43, no. 6 (June 1951): 1317-24. https://doi.org/10.1021/ie50498a023.
[2] ASTM E799 - 03(2015) - Standard Practice for Determining Data Criteria and Processing for Liquid Drop
Size Analysis.
[3] ISO 9276-2:2014 - Representation of Results of Particle Size Analysis - Part 2: Calculation of Average
Particle Sizes/Diameters and Moments from Particle Size Distributions.
478 Bibliography
Fluids Documentation, Release 0.1
[1] ISO 9276-2:2014 - Representation of Results of Particle Size Analysis - Part 2: Calculation of Average
Particle Sizes/Diameters and Moments from Particle Size Distributions.
[1] ISO 9276-2:2014 - Representation of Results of Particle Size Analysis - Part 2: Calculation of Average
Particle Sizes/Diameters and Moments from Particle Size Distributions.
[1] ISO 9276-2:2014 - Representation of Results of Particle Size Analysis - Part 2: Calculation of Average
Particle Sizes/Diameters and Moments from Particle Size Distributions.
[1] ISO 9276-2:2014 - Representation of Results of Particle Size Analysis - Part 2: Calculation of Average
Particle Sizes/Diameters and Moments from Particle Size Distributions.
[1] Schuhmann, R., 1940. Principles of Comminution, I-Size Distribution and Surface Calculations. Amer-
ican Institute of Mining, Metallurgical and Petroleum Engineers Technical Publication 1189. Mining
Technology, volume 4, p. 1-11.
[2] Bayat, Hossein, Mostafa Rastgo, Moharram Mansouri Zadeh, and Harry Vereecken. “Particle Size Dis-
tribution Models, Their Characteristics and Fitting Capability.” Journal of Hydrology 529 (October 1,
2015): 872-89.
[1] Schuhmann, R., 1940. Principles of Comminution, I-Size Distribution and Surface Calculations. Amer-
ican Institute of Mining, Metallurgical and Petroleum Engineers Technical Publication 1189. Mining
Technology, volume 4, p. 1-11.
[2] Bayat, Hossein, Mostafa Rastgo, Moharram Mansouri Zadeh, and Harry Vereecken. “Particle Size Dis-
tribution Models, Their Characteristics and Fitting Capability.” Journal of Hydrology 529 (October 1,
2015): 872-89.
[1] Rosin, P. “The Laws Governing the Fineness of Powdered Coal.” J. Inst. Fuel. 7 (1933): 29-36.
[2] Bayat, Hossein, Mostafa Rastgo, Moharram Mansouri Zadeh, and Harry Vereecken. “Particle Size Dis-
tribution Models, Their Characteristics and Fitting Capability.” Journal of Hydrology 529 (October 1,
2015): 872-89.
[1] Rosin, P. “The Laws Governing the Fineness of Powdered Coal.” J. Inst. Fuel. 7 (1933): 29-36.
[2] Bayat, Hossein, Mostafa Rastgo, Moharram Mansouri Zadeh, and Harry Vereecken. “Particle Size Dis-
tribution Models, Their Characteristics and Fitting Capability.” Journal of Hydrology 529 (October 1,
2015): 872-89.
[1] ASTM E11 - 17 - Standard Specification for Woven Wire Test Sieve Cloth and Test Sieves.
[1] ISO 3310-1:2016 - Test Sieves – Technical Requirements and Testing – Part 1: Test Sieves of Metal Wire
Cloth.
[1] ISO 3310-1:2016 - Test Sieves – Technical Requirements and Testing – Part 1: Test Sieves of Metal Wire
Cloth.
[1] ISO 3310-1:2016 - Test Sieves – Technical Requirements and Testing – Part 1: Test Sieves of Metal Wire
Cloth.
[1] ISO 3310-1:2016 - Test Sieves – Technical Requirements and Testing – Part 1: Test Sieves of Metal Wire
Cloth.
[1] ISO 3310-1:2016 - Test Sieves – Technical Requirements and Testing – Part 1: Test Sieves of Metal Wire
Cloth.
[1] ASTM E11 - 17 - Standard Specification for Woven Wire Test Sieve Cloth and Test Sieves.
[2] ISO 3310-1:2016 - Test Sieves – Technical Requirements and Testing – Part 1: Test Sieves of Metal Wire
Cloth.
[1] American National Standards Institute, and American Society of Mechanical Engineers. B36.10M-2004:
Welded and Seamless Wrought Steel Pipe. New York: American Society of Mechanical Engineers, 2004.
Bibliography 479
Fluids Documentation, Release 0.1
[2] American National Standards Institute, and American Society of Mechanical Engineers. B36-19M-2004:
Stainless Steel Pipe. New York, N.Y.: American Society of Mechanical Engineers, 2004.
[1] Oberg, Erik, Franklin D. Jones, and Henry H. Ryffel. Machinery’s Handbook. Industrial Press, Incorpo-
rated, 2012.
[1] Oberg, Erik, Franklin D. Jones, and Henry H. Ryffel. Machinery’s Handbook. Industrial Press, Incorpo-
rated, 2012.
[1] GoHz.com. Variable Frequency Drive Efficiency. http://www.variablefrequencydrive.org/vfd-efficiency
[1] Natural Resources Canada. Electric Motors (1 to 500 HP/0.746 to 375 kW). As modified 2015-12-17.
https://www.nrcan.gc.ca/energy/regulations-codes-standards/products/6885
[1] Washington State Energy Office. Energy-Efficient Electric Motor Selection Handbook. 1993.
[1] Seider, Warren D., J. D. Seader, and Daniel R. Lewin. Product and Process Design Principles: Synthesis,
Analysis, and Evaluation. 2 edition. New York: Wiley, 2003.
[2] Corripio, A.B., K.S. Chrien, and L.B. Evans, “Estimate Costs of Centrifugal Pumps and Electric Motors,”
Chem. Eng., 89, 115-118, February 22 (1982).
[1] Seider, Warren D., J. D. Seader, and Daniel R. Lewin. Product and Process Design Principles: Synthesis,
Analysis, and Evaluation. 2 edition. New York: Wiley, 2003.
[2] Corripio, A.B., K.S. Chrien, and L.B. Evans, “Estimate Costs of Centrifugal Pumps and Electric Motors,”
Chem. Eng., 89, 115-118, February 22 (1982).
[1] HI 1.3 Rotodynamic Centrifugal Pumps for Design and Applications
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill
Professional, 2007.
[1] All About Circuits. Synchronous Motors. Chapter 13 - AC Motors http://www.allaboutcircuits.com/
textbook/alternating-current/chpt-13/synchronous-motors/
[1] Natural Resources Canada. Electric Motors (1 to 500 HP/0.746 to 375 kW). As modified 2015-12-17.
https://www.nrcan.gc.ca/energy/regulations-codes-standards/products/6885
[1] Electrical Construction, and Maintenance. “Calculating Single- and 3-Phase Parameters.” April 1, 2008.
http://ecmweb.com/basics/calculating-single-and-3-phase-parameters.
[1] API Standard 526.
[1] API Standard 520, Part 1 - Sizing and Selection.
[1] API Standard 520, Part 1 - Sizing and Selection.
[1] API Standard 520, Part 1 - Sizing and Selection.
[1] API Standard 520, Part 1 - Sizing and Selection.
[1] API Standard 520, Part 1 - Sizing and Selection.
[1] API Standard 520, Part 1 - Sizing and Selection.
[1] API Standard 520, Part 1 - Sizing and Selection.
[1] API Standard 520, Part 1 - Sizing and Selection.
[1] API Standard 520, Part 1 - Sizing and Selection.
[1] Souders, Mott., and George Granger. Brown. “Design of Fractionating Columns I. Entrainment and Ca-
pacity.” Industrial & Engineering Chemistry 26, no. 1 (January 1, 1934): 98-103. https://doi.org/10.1021/
ie50289a025.
480 Bibliography
Fluids Documentation, Release 0.1
[2] Vasude, Gael D. Ulrich and Palligarnai T. Chemical Engineering Process Design and Economics: A
Practical Guide. 2nd edition. Durham, N.H: Process Publishing, 2004.
[1] Watkins (1967). Sizing Separators and Accumulators, Hydrocarbon Processing, November 1967.
[2] Blackwell, W. Wayne. Chemical Process Design on a Programmable Calculator. New York: Mcgraw-Hill,
1984.
[3] Branan, Carl R. Pocket Guide to Chemical Engineering. 1st edition. Houston, Tex: Gulf Professional
Publishing, 1999.
[2] Otto H. York Company, “Mist Elimination in Gas Treatment Plants and Refineries,” Engineering, Parsip-
pany, NJ.
[1] Svrcek, W. Y., and W. D. Monnery. “Design Two-Phase Separators within the Right Limits” Chemical
Engineering Progress, (October 1, 1993): 53-60.
[1] Svrcek, W. Y., and W. D. Monnery. “Design Two-Phase Separators within the Right Limits” Chemical
Engineering Progress, (October 1, 1993): 53-60.
[1] Rizk, F. “Pneumatic conveying at optimal operation conditions and a solution of Bath’s equation.” Pro-
ceedings of Pneumotransport 3, paper D4. BHRA Fluid Engineering, Cranfield, England (1973)
[2] Klinzing, G. E., F. Rizk, R. Marcus, and L. S. Leung. Pneumatic Conveying of Solids: A Theoretical and
Practical Approach. Springer, 2013.
[3] Rhodes, Martin J. Introduction to Particle Technology. Wiley, 2013.
[1] Matsumoto, Shigeru, Michio Kara, Shozaburo Saito, and Siro Maeda. “Minimum Transport Velocity for
Horizontal Pneumatic Conveying.” Journal of Chemical Engineering of Japan 7, no. 6 (1974): 425-30.
doi:10.1252/jcej.7.425.
[2] Jones, Peter J., and L. S. Leung. “A Comparison of Correlations for Saltation Velocity in Horizontal
Pneumatic Conveying.” Industrial & Engineering Chemistry Process Design and Development 17, no. 4
(October 1, 1978): 571-75. doi:10.1021/i260068a031
[1] Matsumoto, Shigeru, Shundo Harada, Shozaburo Saito, and Siro Maeda. “Saltation Velocity for Hor-
izontal Pneumatic Conveying.” Journal of Chemical Engineering of Japan 8, no. 4 (1975): 331-33.
doi:10.1252/jcej.8.331.
[2] Jones, Peter J., and L. S. Leung. “A Comparison of Correlations for Saltation Velocity in Horizontal
Pneumatic Conveying.” Industrial & Engineering Chemistry Process Design and Development 17, no. 4
(October 1, 1978): 571-75. doi:10.1021/i260068a031
[1] Matsumoto, Shigeru, Makoto Kikuta, and Siro Maeda. “Effect of Particle Size on the Minimum Transport
Velocity for Horizontal Pneumatic Conveying of Solids.” Journal of Chemical Engineering of Japan 10,
no. 4 (1977): 273-79. doi:10.1252/jcej.10.273.
[2] Klinzing, G. E., F. Rizk, R. Marcus, and L. S. Leung. Pneumatic Conveying of Solids: A Theoretical and
Practical Approach. Springer, 2013.
[3] Gomes, L. M., and A. L. Amarante Mesquita. “On the Prediction of Pickup and Saltation Velocities
in Pneumatic Conveying.” Brazilian Journal of Chemical Engineering 31, no. 1 (March 2014): 35-46.
doi:10.1590/S0104-66322014000100005
[4] Rabinovich, Evgeny, and Haim Kalman. “Threshold Velocities of Particle-Fluid Flows in Horizontal
Pipes and Ducts: Literature Review.” Reviews in Chemical Engineering 27, no. 5-6 (January 1, 2011).
doi:10.1515/REVCE.2011.011.
[1] Schade, B., Zum Ubergang Sprung-Strahnen-forderung bei der Horizontalen Pneumatischen Feststoffor-
drung. Dissertation, University of Karlsruche (1987)
Bibliography 481
Fluids Documentation, Release 0.1
[2] Rabinovich, Evgeny, and Haim Kalman. “Threshold Velocities of Particle-Fluid Flows in Horizontal
Pipes and Ducts: Literature Review.” Reviews in Chemical Engineering 27, no. 5-6 (January 1, 2011).
doi:10.1515/REVCE.2011.011.
[3] Setia, G., S. S. Mallick, R. Pan, and P. W. Wypych. “Modeling Minimum Transport Boundary for
Fluidized Dense-Phase Pneumatic Conveying Systems.” Powder Technology 277 (June 2015): 244-51.
doi:10.1016/j.powtec.2015.02.050.
[4] Bansal, A., S. S. Mallick, and P. W. Wypych. “Investigating Straight-Pipe Pneumatic Conveying Charac-
teristics for Fluidized Dense-Phase Pneumatic Conveying.” Particulate Science and Technology 31, no. 4
(July 4, 2013): 348-56. doi:10.1080/02726351.2012.732677.
[5] Gomes, L. M., and A. L. Amarante Mesquita. “On the Prediction of Pickup and Saltation Velocities
in Pneumatic Conveying.” Brazilian Journal of Chemical Engineering 31, no. 1 (March 2014): 35-46.
doi:10.1590/S0104-66322014000100005
[1] Weber, M. 1981. Principles of hydraulic and pneumatic conveying in pipes. Bulk Solids Handling 1:
57-63.
[2] Rabinovich, Evgeny, and Haim Kalman. “Threshold Velocities of Particle-Fluid Flows in Horizontal
Pipes and Ducts: Literature Review.” Reviews in Chemical Engineering 27, no. 5-6 (January 1, 2011).
doi:10.1515/REVCE.2011.011.
[3] Setia, G., S. S. Mallick, R. Pan, and P. W. Wypych. “Modeling Minimum Transport Boundary for
Fluidized Dense-Phase Pneumatic Conveying Systems.” Powder Technology 277 (June 2015): 244-51.
doi:10.1016/j.powtec.2015.02.050.
[4] Bansal, A., S. S. Mallick, and P. W. Wypych. “Investigating Straight-Pipe Pneumatic Conveying Charac-
teristics for Fluidized Dense-Phase Pneumatic Conveying.” Particulate Science and Technology 31, no. 4
(July 4, 2013): 348-56. doi:10.1080/02726351.2012.732677.
[5] Gomes, L. M., and A. L. Amarante Mesquita. “On the Prediction of Pickup and Saltation Velocities
in Pneumatic Conveying.” Brazilian Journal of Chemical Engineering 31, no. 1 (March 2014): 35-46.
doi:10.1590/S0104-66322014000100005
[1] Weber, M. 1981. Principles of hydraulic and pneumatic conveying in pipes. Bulk Solids Handling 1:
57-63.
[2] Rabinovich, Evgeny, and Haim Kalman. “Threshold Velocities of Particle-Fluid Flows in Horizontal
Pipes and Ducts: Literature Review.” Reviews in Chemical Engineering 27, no. 5-6 (January 1, 2011).
doi:10.1515/REVCE.2011.011.
[3] Gomes, L. M., and A. L. Amarante Mesquita. “On the Prediction of Pickup and Saltation Velocities
in Pneumatic Conveying.” Brazilian Journal of Chemical Engineering 31, no. 1 (March 2014): 35-46.
doi:10.1590/S0104-66322014000100005
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York:
McGraw-Hill, 1998.
[2] Awad, M. M., and Y. S. Muzychka. “Effective Property Models for Homogeneous Two-
Phase Flows.” Experimental Thermal and Fluid Science 33, no. 1 (October 1, 2008): 106-13.
doi:10.1016/j.expthermflusci.2008.07.006.
[3] Kim, Sung-Min, and Issam Mudawar. “Review of Databases and Predictive Methods for Pressure Drop in
Adiabatic, Condensing and Boiling Mini/Micro-Channel Flows.” International Journal of Heat and Mass
Transfer 77 (October 2014): 74-97. doi:10.1016/j.ijheatmasstransfer.2014.04.035.
[1] Shoham, Ovadia. Mechanistic Modeling of Gas-Liquid Two-Phase Flow in Pipes. Pap/Cdr edition.
Richardson, TX: Society of Petroleum Engineers, 2006.
[2] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York:
McGraw-Hill, 1998.
482 Bibliography
Fluids Documentation, Release 0.1
[3] Kim, Sung-Min, and Issam Mudawar. “Review of Databases and Predictive Methods for Pressure Drop in
Adiabatic, Condensing and Boiling Mini/Micro-Channel Flows.” International Journal of Heat and Mass
Transfer 77 (October 2014): 74-97. doi:10.1016/j.ijheatmasstransfer.2014.04.035.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York:
McGraw-Hill, 1998.
[2] Kim, Sung-Min, and Issam Mudawar. “Review of Databases and Predictive Methods for Pressure Drop in
Adiabatic, Condensing and Boiling Mini/Micro-Channel Flows.” International Journal of Heat and Mass
Transfer 77 (October 2014): 74-97. doi:10.1016/j.ijheatmasstransfer.2014.04.035.
[3] Thome, John R. “Engineering Data Book III.” Wolverine Tube Inc (2004). http://www.wlv.com/
heat-transfer-databook/
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York:
McGraw-Hill, 1998.
[2] Kim, Sung-Min, and Issam Mudawar. “Review of Databases and Predictive Methods for Pressure Drop in
Adiabatic, Condensing and Boiling Mini/Micro-Channel Flows.” International Journal of Heat and Mass
Transfer 77 (October 2014): 74-97. doi:10.1016/j.ijheatmasstransfer.2014.04.035.
[1] Beggs, D.H., and J.P. Brill. “A Study of Two-Phase Flow in Inclined Pipes.” Journal of Petroleum Tech-
nology 25, no. 05 (May 1, 1973): 607-17. https://doi.org/10.2118/4007-PA.
[2] Brill, James P., and Howard Dale Beggs. Two-Phase Flow in Pipes, 1994.
[3] Shoham, Ovadia. Mechanistic Modeling of Gas-Liquid Two-Phase Flow in Pipes. Pap/Cdr edition.
Richardson, TX: Society of Petroleum Engineers, 2006.
[1] Lockhart, R. W. & Martinelli, R. C. (1949), “Proposed correlation of data for isothermal two-phase,
two-component flow in pipes”, Chemical Engineering Progress 45 (1), 39-48.
[2] Chisholm, D.”A Theoretical Basis for the Lockhart-Martinelli Correlation for Two-Phase Flow.” Inter-
national Journal of Heat and Mass Transfer 10, no. 12 (December 1967): 1767-78. doi:10.1016/0017-
9310(67)90047-6.
[3] Cui, Xiaozhou, and John J. J. Chen.”A Re-Examination of the Data of Lockhart-
Martinelli.” International Journal of Multiphase Flow 36, no. 10 (October 2010): 836-46.
doi:10.1016/j.ijmultiphaseflow.2010.06.001.
[4] Kim, Sung-Min, and Issam Mudawar. “Universal Approach to Predicting Two-Phase Frictional Pressure
Drop for Adiabatic and Condensing Mini/ Micro-Channel Flows.” International Journal of Heat and Mass
Transfer 55, no. 11-12 (May 2012): 3246-61. doi:10.1016/j.ijheatmasstransfer.2012.02.047.
[1] Friedel, L. “Improved Friction Pressure Drop Correlations for Horizontal and Vertical Two-Phase Pipe
Flow.” , in: Proceedings, European Two Phase Flow Group Meeting, Ispra, Italy, 1979: 485-481.
[2] Whalley, P. B. Boiling, Condensation, and Gas-Liquid Flow. Oxford: Oxford University Press, 1987.
[3] Triplett, K. A., S. M. Ghiaasiaan, S. I. Abdel-Khalik, A. LeMouel, and B. N. McCord. “Gas-liquid Two-
Phase Flow in Microchannels: Part II: Void Fraction and Pressure Drop.” International Journal of Multi-
phase Flow 25, no. 3 (April 1999): 395-410. doi:10.1016/S0301-9322(98)00055-X.
[4] Mekisso, Henock Mateos. “Comparison of Frictional Pressure Drop Correlations for Isothermal Two-
Phase Horizontal Flow.” Thesis, Oklahoma State University, 2013. https://shareok.org/handle/11244/
11109.
[5] Thome, John R. “Engineering Data Book III.” Wolverine Tube Inc (2004). http://www.wlv.com/
heat-transfer-databook/
[6] Ghiaasiaan, S. Mostafa. Two-Phase Flow, Boiling, and Condensation: In Conventional and Miniature
Systems. Cambridge University Press, 2007.
Bibliography 483
Fluids Documentation, Release 0.1
[1] Chisholm, D. “Pressure Gradients due to Friction during the Flow of Evaporating Two-Phase Mixtures in
Smooth Tubes and Channels.” International Journal of Heat and Mass Transfer 16, no. 2 (February 1973):
347-58. doi:10.1016/0017-9310(73)90063-X.
[2] Mekisso, Henock Mateos. “Comparison of Frictional Pressure Drop Correlations for Isothermal Two-
Phase Horizontal Flow.” Thesis, Oklahoma State University, 2013. https://shareok.org/handle/11244/
11109.
[3] Thome, John R. “Engineering Data Book III.” Wolverine Tube Inc (2004). http://www.wlv.com/
heat-transfer-databook/
[4] Chisholm, D. “Research Note: Influence of Pipe Surface Roughness on Friction Pressure Gradient during
Two-Phase Flow.” Journal of Mechanical Engineering Science 20, no. 6 (December 1, 1978): 353-354.
doi:10.1243/JMES_JOUR_1978_020_061_02.
[1] Kim, Sung-Min, and Issam Mudawar. “Universal Approach to Predicting Two-Phase Frictional Pressure
Drop for Adiabatic and Condensing Mini/ Micro-Channel Flows.” International Journal of Heat and Mass
Transfer 55, no. 11-12 (May 2012): 3246-61. doi:10.1016/j.ijheatmasstransfer.2012.02.047.
[2] Kim, Sung-Min, and Issam Mudawar. “Review of Databases and Predictive Methods for Pressure Drop in
Adiabatic, Condensing and Boiling Mini/Micro-Channel Flows.” International Journal of Heat and Mass
Transfer 77 (October 2014): 74-97. doi:10.1016/j.ijheatmasstransfer.2014.04.035.
[1] Baroczy, C. J. “A systematic correlation for two-phase pressure drop.” In Chem. Eng. Progr., Symp. Ser.,
62: No. 64, 232-49 (1966).
[2] Chisholm, D. “Pressure Gradients due to Friction during the Flow of Evaporating Two-Phase Mixtures in
Smooth Tubes and Channels.” International Journal of Heat and Mass Transfer 16, no. 2 (February 1973):
347-58. doi:10.1016/0017-9310(73)90063-X.
[3] Mekisso, Henock Mateos. “Comparison of Frictional Pressure Drop Correlations for Isothermal Two-
Phase Horizontal Flow.” Thesis, Oklahoma State University, 2013. https://shareok.org/handle/11244/
11109.
[1] Theissing, Peter. “Eine Allgemeingültige Methode Zur Berechnung Des Reibungsdruckverlustes Der
Mehrphasenströmung (A Generally Valid Method for Calculating Frictional Pressure Drop on Multiphase
Flow).” Chemie Ingenieur Technik 52, no. 4 (January 1, 1980): 344-345. doi:10.1002/cite.330520414.
[2] Mekisso, Henock Mateos. “Comparison of Frictional Pressure Drop Correlations for Isothermal Two-
Phase Horizontal Flow.” Thesis, Oklahoma State University, 2013. https://shareok.org/handle/11244/
11109.
[3] Greco, A., and G. P. Vanoli. “Experimental Two-Phase Pressure Gradients during Evaporation of Pure
and Mixed Refrigerants in a Smooth Horizontal Tube. Comparison with Correlations.” Heat and Mass
Transfer 42, no. 8 (April 6, 2006): 709-725. doi:10.1007/s00231-005-0020-7.
[1] Müller-Steinhagen, H, and K Heck. “A Simple Friction Pressure Drop Correlation for Two-Phase Flow
in Pipes.” Chemical Engineering and Processing: Process Intensification 20, no. 6 (November 1, 1986):
297-308. doi:10.1016/0255-2701(86)80008-3.
[2] Mekisso, Henock Mateos. “Comparison of Frictional Pressure Drop Correlations for Isothermal Two-
Phase Horizontal Flow.” Thesis, Oklahoma State University, 2013. https://shareok.org/handle/11244/
11109.
[3] Thome, John R. “Engineering Data Book III.” Wolverine Tube Inc (2004). http://www.wlv.com/
heat-transfer-databook/
[1] Gronnerud, R. “Investigation of Liquid Hold-Up, Flow Resistance and Heat Transfer in Circulation Type
Evaporators. 4. Two-Phase Flow Resistance in Boiling Refrigerants.” Proc. Freudenstadt Meet., IIR/C. R.
Réun. Freudenstadt, IIF. 1972-1: 127-138. 1972.
484 Bibliography
Fluids Documentation, Release 0.1
[2] ASHRAE Handbook: Fundamentals. American Society of Heating, Refrigerating and Air-Conditioning
Engineers, Incorporated, 2013.
[3] Mekisso, Henock Mateos. “Comparison of Frictional Pressure Drop Correlations for Isothermal Two-
Phase Horizontal Flow.” Thesis, Oklahoma State University, 2013. https://shareok.org/handle/11244/
11109.
[4] Thome, John R. “Engineering Data Book III.” Wolverine Tube Inc (2004). http://www.wlv.com/
heat-transfer-databook/
[1] Lombardi, C., and E. Pedrocchi. “Pressure Drop Correlation in Two- Phase Flow.” Energ. Nucl. (Milan)
19: No. 2, 91-99, January 1, 1972.
[2] Mekisso, Henock Mateos. “Comparison of Frictional Pressure Drop Correlations for Isothermal Two-
Phase Horizontal Flow.” Thesis, Oklahoma State University, 2013. https://shareok.org/handle/11244/
11109.
[3] Turgut, Oğuz Emrah, Mustafa Turhan Çoban, and Mustafa Asker. “Comparison of Flow Boiling Pressure
Drop Correlations for Smooth Macrotubes.” Heat Transfer Engineering 37, no. 6 (April 12, 2016): 487-
506. doi:10.1080/01457632.2015.1060733.
[1] Jung, D. S., and R. Radermacher. “Prediction of Pressure Drop during Horizontal Annular Flow Boiling
of Pure and Mixed Refrigerants.” International Journal of Heat and Mass Transfer 32, no. 12 (December
1, 1989): 2435-46. doi:10.1016/0017-9310(89)90203-2.
[2] Kim, Sung-Min, and Issam Mudawar. “Universal Approach to Predicting Two-Phase Frictional Pressure
Drop for Adiabatic and Condensing Mini/ Micro-Channel Flows.” International Journal of Heat and Mass
Transfer 55, no. 11–12 (May 2012): 3246-61. doi:10.1016/j.ijheatmasstransfer.2012.02.047.
[3] Filip, Alina, Florin Băltăreţu, and Radu-Mircea Damian. “Comparison of Two-Phase Pressure Drop Mod-
els for Condensing Flows in Horizontal Tubes.” Mathematical Modelling in Civil Engineering 10, no. 4
(2015): 19-27. doi:10.2478/mmce-2014-0019.
[1] Tran, T. N, M. -C Chyu, M. W Wambsganss, and D. M France. “Two-Phase Pressure Drop of Refrigerants
during Flow Boiling in Small Channels: An Experimental Investigation and Correlation Development.”
International Journal of Multiphase Flow 26, no. 11 (November 1, 2000): 1739-54. doi:10.1016/S0301-
9322(99)00119-6.
[2] Kim, Sung-Min, and Issam Mudawar. “Universal Approach to Predicting Two-Phase Frictional Pressure
Drop for Adiabatic and Condensing Mini/ Micro-Channel Flows.” International Journal of Heat and Mass
Transfer 55, no. 11–12 (May 2012): 3246-61. doi:10.1016/j.ijheatmasstransfer.2012.02.047.
[3] Choi, Kwang-Il, A. S. Pamitran, Chun-Young Oh, and Jong-Taek Oh. “Two-Phase Pressure Drop of
R-410A in Horizontal Smooth Minichannels.” International Journal of Refrigeration 31, no. 1 (January
2008): 119-29. doi:10.1016/j.ijrefrig.2007.06.006.
[1] Chen, Ing Youn, Kai-Shing Yang, Yu-Juei Chang, and Chi-Chung Wang. “Two-Phase Pressure Drop of
Air–water and R-410A in Small Horizontal Tubes.” International Journal of Multiphase Flow 27, no. 7
(July 2001): 1293-99. doi:10.1016/S0301-9322(01)00004-0.
[2] Kim, Sung-Min, and Issam Mudawar. “Universal Approach to Predicting Two-Phase Frictional Pressure
Drop for Adiabatic and Condensing Mini/ Micro-Channel Flows.” International Journal of Heat and Mass
Transfer 55, no. 11–12 (May 2012): 3246-61. doi:10.1016/j.ijheatmasstransfer.2012.02.047.
[3] Choi, Kwang-Il, A. S. Pamitran, Chun-Young Oh, and Jong-Taek Oh. “Two-Phase Pressure Drop of
R-410A in Horizontal Smooth Minichannels.” International Journal of Refrigeration 31, no. 1 (January
2008): 119-29. doi:10.1016/j.ijrefrig.2007.06.006.
[1] Zhang, Ming, and Ralph L. Webb. “Correlation of Two-Phase Friction for Refrigerants in Small-Diameter
Tubes.” Experimental Thermal and Fluid Science 25, no. 3-4 (October 2001): 131-39. doi:10.1016/S0894-
1777(01)00066-8.
Bibliography 485
Fluids Documentation, Release 0.1
[2] Choi, Kwang-Il, A. S. Pamitran, Chun-Young Oh, and Jong-Taek Oh. “Two-Phase Pressure Drop of
R-410A in Horizontal Smooth Minichannels.” International Journal of Refrigeration 31, no. 1 (January
2008): 119-29. doi:10.1016/j.ijrefrig.2007.06.006.
[1] Xu, Yu, and Xiande Fang. “A New Correlation of Two-Phase Frictional Pressure Drop for
Condensing Flow in Pipes.” Nuclear Engineering and Design 263 (October 2013): 87-96.
doi:10.1016/j.nucengdes.2013.04.017.
[1] Yu, W., D. M. France, M. W. Wambsganss, and J. R. Hull. “Two-Phase Pressure Drop, Boiling Heat
Transfer, and Critical Heat Flux to Water in a Small-Diameter Horizontal Tube.” International Journal of
Multiphase Flow 28, no. 6 (June 2002): 927-41. doi:10.1016/S0301-9322(02)00019-8.
[2] Kim, Sung-Min, and Issam Mudawar. “Universal Approach to Predicting Two-Phase Frictional Pressure
Drop for Adiabatic and Condensing Mini/ Micro-Channel Flows.” International Journal of Heat and Mass
Transfer 55, no. 11-12 (May 2012): 3246-61. doi:10.1016/j.ijheatmasstransfer.2012.02.047.
[3] Xu, Yu, Xiande Fang, Xianghui Su, Zhanru Zhou, and Weiwei Chen. “Evaluation of Frictional Pressure
Drop Correlations for Two-Phase Flow in Pipes.” Nuclear Engineering and Design, SI: CFD4NRS-3, 253
(December 2012): 86-97. doi:10.1016/j.nucengdes.2012.08.007.
[1] Wang, Chi-Chuan, Ching-Shan Chiang, and Ding-Chong Lu. “Visual Observation of Two-Phase Flow
Pattern of R-22, R-134a, and R-407C in a 6.5-Mm Smooth Tube.” Experimental Thermal and Fluid
Science 15, no. 4 (November 1, 1997): 395-405. doi:10.1016/S0894-1777(97)00007-1.
[2] Kim, Sung-Min, and Issam Mudawar. “Universal Approach to Predicting Two-Phase Frictional Pressure
Drop for Adiabatic and Condensing Mini/ Micro-Channel Flows.” International Journal of Heat and Mass
Transfer 55, no. 11-12 (May 2012): 3246-61. doi:10.1016/j.ijheatmasstransfer.2012.02.047.
[3] Xu, Yu, Xiande Fang, Xianghui Su, Zhanru Zhou, and Weiwei Chen. “Evaluation of Frictional Pressure
Drop Correlations for Two-Phase Flow in Pipes.” Nuclear Engineering and Design, SI: CFD4NRS-3, 253
(December 2012): 86-97. doi:10.1016/j.nucengdes.2012.08.007.
[1] Hwang, Yun Wook, and Min Soo Kim. “The Pressure Drop in Microtubes and the Correlation De-
velopment.” International Journal of Heat and Mass Transfer 49, no. 11-12 (June 2006): 1804-12.
doi:10.1016/j.ijheatmasstransfer.2005.10.040.
[2] Kim, Sung-Min, and Issam Mudawar. “Universal Approach to Predicting Two-Phase Frictional Pressure
Drop for Adiabatic and Condensing Mini/ Micro-Channel Flows.” International Journal of Heat and Mass
Transfer 55, no. 11-12 (May 2012): 3246-61. doi:10.1016/j.ijheatmasstransfer.2012.02.047.
[3] Xu, Yu, Xiande Fang, Xianghui Su, Zhanru Zhou, and Weiwei Chen. “Evaluation of Frictional Pressure
Drop Correlations for Two-Phase Flow in Pipes.” Nuclear Engineering and Design, SI: CFD4NRS-3, 253
(December 2012): 86-97. doi:10.1016/j.nucengdes.2012.08.007.
[1] Zhang, W., T. Hibiki, and K. Mishima. “Correlations of Two-Phase Frictional Pressure Drop and Void
Fraction in Mini-Channel.” International Journal of Heat and Mass Transfer 53, no. 1-3 (January 15,
2010): 453-65. doi:10.1016/j.ijheatmasstransfer.2009.09.011.
[2] Kim, Sung-Min, and Issam Mudawar. “Universal Approach to Predicting Two-Phase Frictional Pressure
Drop for Adiabatic and Condensing Mini/ Micro-Channel Flows.” International Journal of Heat and Mass
Transfer 55, no. 11-12 (May 2012): 3246-61. doi:10.1016/j.ijheatmasstransfer.2012.02.047.
[3] Xu, Yu, Xiande Fang, Xianghui Su, Zhanru Zhou, and Weiwei Chen. “Evaluation of Frictional Pressure
Drop Correlations for Two-Phase Flow in Pipes.” Nuclear Engineering and Design, SI: CFD4NRS-3, 253
(December 2012): 86-97. doi:10.1016/j.nucengdes.2012.08.007.
[1] Mishima, K., and T. Hibiki. “Some Characteristics of Air-Water Two- Phase Flow in Small Diam-
eter Vertical Tubes.” International Journal of Multiphase Flow 22, no. 4 (August 1, 1996): 703-12.
doi:10.1016/0301-9322(96)00010-9.
486 Bibliography
Fluids Documentation, Release 0.1
[2] Kim, Sung-Min, and Issam Mudawar. “Universal Approach to Predicting Two-Phase Frictional Pressure
Drop for Adiabatic and Condensing Mini/ Micro-Channel Flows.” International Journal of Heat and Mass
Transfer 55, no. 11-12 (May 2012): 3246-61. doi:10.1016/j.ijheatmasstransfer.2012.02.047.
[3] Xu, Yu, Xiande Fang, Xianghui Su, Zhanru Zhou, and Weiwei Chen. “Evaluation of Frictional Pressure
Drop Correlations for Two-Phase Flow in Pipes.” Nuclear Engineering and Design, SI: CFD4NRS-3, 253
(December 2012): 86-97. doi:10.1016/j.nucengdes.2012.08.007.
[1] Bankoff, S. G. “A Variable Density Single-Fluid Model for Two-Phase Flow With Particular Ref-
erence to Steam-Water Flow.” Journal of Heat Transfer 82, no. 4 (November 1, 1960): 265-72.
doi:10.1115/1.3679930.
[2] Thome, John R. “Engineering Data Book III.” Wolverine Tube Inc (2004). http://www.wlv.com/
heat-transfer-databook/
[3] Moreno Quibén, Jesús. “Experimental and Analytical Study of Two- Phase Pressure Drops during Evap-
oration in Horizontal Tubes,” 2005. doi:10.5075/epfl-thesis-3337.
[4] Mekisso, Henock Mateos. “Comparison of Frictional Pressure Drop Correlations for Isothermal Two-
Phase Horizontal Flow.” Thesis, Oklahoma State University, 2013. https://shareok.org/handle/11244/
11109.
[1] Thom, J. R. S. “Prediction of Pressure Drop during Forced Circulation Boiling of Water.” International
Journal of Heat and Mass Transfer 7, no. 7 (July 1, 1964): 709-24. doi:10.1016/0017-9310(64)90002-X.
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[3] Dalkilic, A. S., S. Laohalertdecha, and S. Wongwises. “Effect of Void Fraction Models on the
Two-Phase Friction Factor of R134a during Condensation in Vertical Downward Flow in a Smooth
Tube.” International Communications in Heat and Mass Transfer 35, no. 8 (October 2008): 921-27.
doi:10.1016/j.icheatmasstransfer.2008.04.001.
[1] Zivi, S. M. “Estimation of Steady-State Steam Void-Fraction by Means of the Principle of Minimum
Entropy Production.” Journal of Heat Transfer 86, no. 2 (May 1, 1964): 247-51. doi:10.1115/1.3687113.
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[3] Dalkilic, A. S., S. Laohalertdecha, and S. Wongwises. “Effect of Void Fraction Models on the
Two-Phase Friction Factor of R134a during Condensation in Vertical Downward Flow in a Smooth
Tube.” International Communications in Heat and Mass Transfer 35, no. 8 (October 2008): 921-27.
doi:10.1016/j.icheatmasstransfer.2008.04.001.
[1] Smith, S. L. “Void Fractions in Two-Phase Flow: A Correlation Based upon an Equal Velocity Head
Model.” Proceedings of the Institution of Mechanical Engineers 184, no. 1 (June 1, 1969): 647-64.
doi:10.1243/PIME_PROC_1969_184_051_02.
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[3] Dalkilic, A. S., S. Laohalertdecha, and S. Wongwises. “Effect of Void Fraction Models on the
Two-Phase Friction Factor of R134a during Condensation in Vertical Downward Flow in a Smooth
Tube.” International Communications in Heat and Mass Transfer 35, no. 8 (October 2008): 921-27.
doi:10.1016/j.icheatmasstransfer.2008.04.001.
[1] Fauske, H., Critical two-phase, steam-water flows, in: Heat Transfer and Fluid Mechanics Institute 1961:
Proceedings. Stanford University Press, 1961, p. 79-89.
Bibliography 487
Fluids Documentation, Release 0.1
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[3] Dalkilic, A. S., S. Laohalertdecha, and S. Wongwises. “Effect of Void Fraction Models on the
Two-Phase Friction Factor of R134a during Condensation in Vertical Downward Flow in a Smooth
Tube.” International Communications in Heat and Mass Transfer 35, no. 8 (October 2008): 921-27.
doi:10.1016/j.icheatmasstransfer.2008.04.001.
[1] Chisholm, D. “Pressure Gradients due to Friction during the Flow of Evaporating Two-Phase Mixtures
in Smooth Tubes and Channels.” International Journal of Heat and Mass Transfer 16, no. 2 (February 1,
1973): 347-58. doi:10.1016/0017-9310(73)90063-X.
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[3] Dalkilic, A. S., S. Laohalertdecha, and S. Wongwises. “Effect of Void Fraction Models on the
Two-Phase Friction Factor of R134a during Condensation in Vertical Downward Flow in a Smooth
Tube.” International Communications in Heat and Mass Transfer 35, no. 8 (October 2008): 921-27.
doi:10.1016/j.icheatmasstransfer.2008.04.001.
[1] J.M. Turner, G.B. Wallis, The Separate-cylinders Model of Two-phase Flow, NYO-3114-6, Thayer’s
School Eng., Dartmouth College, Hanover, New Hampshire, USA, 1965.
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[3] Dalkilic, A. S., S. Laohalertdecha, and S. Wongwises. “Effect of Void Fraction Models on the
Two-Phase Friction Factor of R134a during Condensation in Vertical Downward Flow in a Smooth
Tube.” International Communications in Heat and Mass Transfer 35, no. 8 (October 2008): 921-27.
doi:10.1016/j.icheatmasstransfer.2008.04.001.
[1] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[2] Dalkilic, A. S., S. Laohalertdecha, and S. Wongwises. “Effect of Void Fraction Models on the
Two-Phase Friction Factor of R134a during Condensation in Vertical Downward Flow in a Smooth
Tube.” International Communications in Heat and Mass Transfer 35, no. 8 (October 2008): 921-27.
doi:10.1016/j.icheatmasstransfer.2008.04.001.
[3] Woldesemayat, Melkamu A., and Afshin J. Ghajar. “Comparison of Void Fraction Correlations for Dif-
ferent Flow Patterns in Horizontal and Upward Inclined Pipes.” International Journal of Multiphase Flow
33, no. 4 (April 2007): 347-370. doi:10.1016/j.ijmultiphaseflow.2006.09.004.
[1] Chisholm, Duncan. Two-Phase Flow in Pipelines and Heat Exchangers. Institution of Chemical Engi-
neers, 1983.
[2] Armand, Aleksandr Aleksandrovich. The Resistance During the Movement of a Two-Phase System in
Horizontal Pipes. Atomic Energy Research Establishment, 1959.
[3] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[4] Dalkilic, A. S., S. Laohalertdecha, and S. Wongwises. “Effect of Void Fraction Models on the
Two-Phase Friction Factor of R134a during Condensation in Vertical Downward Flow in a Smooth
Tube.” International Communications in Heat and Mass Transfer 35, no. 8 (October 2008): 921-27.
doi:10.1016/j.icheatmasstransfer.2008.04.001.
488 Bibliography
Fluids Documentation, Release 0.1
[5] Woldesemayat, Melkamu A., and Afshin J. Ghajar. “Comparison of Void Fraction Correlations for Dif-
ferent Flow Patterns in Horizontal and Upward Inclined Pipes.” International Journal of Multiphase Flow
33, no. 4 (April 2007): 347-370. doi:10.1016/j.ijmultiphaseflow.2006.09.004.
[1] Armand, Aleksandr Aleksandrovich. The Resistance During the Movement of a Two-Phase System in
Horizontal Pipes. Atomic Energy Research Establishment, 1959.
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[3] Dalkilic, A. S., S. Laohalertdecha, and S. Wongwises. “Effect of Void Fraction Models on the
Two-Phase Friction Factor of R134a during Condensation in Vertical Downward Flow in a Smooth
Tube.” International Communications in Heat and Mass Transfer 35, no. 8 (October 2008): 921-27.
doi:10.1016/j.icheatmasstransfer.2008.04.001.
[4] Woldesemayat, Melkamu A., and Afshin J. Ghajar. “Comparison of Void Fraction Correlations for Dif-
ferent Flow Patterns in Horizontal and Upward Inclined Pipes.” International Journal of Multiphase Flow
33, no. 4 (April 2007): 347-370. doi:10.1016/j.ijmultiphaseflow.2006.09.004.
[1] Nishino, Haruo, and Yasaburo Yamazaki. “A New Method of Evaluating Steam Volume Fractions in
Boiling Systems.” Journal of the Atomic Energy Society of Japan / Atomic Energy Society of Japan 5,
no. 1 (1963): 39-46. doi:10.3327/jaesj.5.39.
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[3] Woldesemayat, Melkamu A., and Afshin J. Ghajar. “Comparison of Void Fraction Correlations for Dif-
ferent Flow Patterns in Horizontal and Upward Inclined Pipes.” International Journal of Multiphase Flow
33, no. 4 (April 2007): 347-370. doi:10.1016/j.ijmultiphaseflow.2006.09.004.
[1] Guzhov, A. I, Vasiliı̆ Andreevich Mamaev, and G. E Odishariia. A Study of Transportation in Gas-Liquid
Systems. Une Étude Sur Le Transport Des Systèmes Gaz-Liquides. Bruxelles: International Gas Union,
1967.
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032. 921-27. doi:10.1016/j.icheatmasstransfer.2008.04.001.
[3] Woldesemayat, Melkamu A., and Afshin J. Ghajar. “Comparison of Void Fraction Correlations for Dif-
ferent Flow Patterns in Horizontal and Upward Inclined Pipes.” International Journal of Multiphase Flow
33, no. 4 (April 2007): 347-370. doi:10.1016/j.ijmultiphaseflow.2006.09.004.
[1] Kawahara, A., M. Sadatomi, K. Okayama, M. Kawaji, and P. M.-Y. Chung. “Effects of Channel Diameter
and Liquid Properties on Void Fraction in Adiabatic Two-Phase Flow Through Microchannels.” Heat
Transfer Engineering 26, no. 3 (February 16, 2005): 13-19. doi:10.1080/01457630590907158.
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[3] Dalkilic, A. S., S. Laohalertdecha, and S. Wongwises. “Effect of Void Fraction Models on the
Two-Phase Friction Factor of R134a during Condensation in Vertical Downward Flow in a Smooth
Tube.” International Communications in Heat and Mass Transfer 35, no. 8 (October 2008): 921-27.
doi:10.1016/j.icheatmasstransfer.2008.04.001.
[1] Baroczy, C. Correlation of liquid fraction in two-phase flow with applications to liquid metals, Chem.
Eng. Prog. Symp. Ser. 61 (1965) 179-191.
Bibliography 489
Fluids Documentation, Release 0.1
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[3] Dalkilic, A. S., S. Laohalertdecha, and S. Wongwises. “Effect of Void Fraction Models on the
Two-Phase Friction Factor of R134a during Condensation in Vertical Downward Flow in a Smooth
Tube.” International Communications in Heat and Mass Transfer 35, no. 8 (October 2008): 921-27.
doi:10.1016/j.icheatmasstransfer.2008.04.001.
[4] Woldesemayat, Melkamu A., and Afshin J. Ghajar. “Comparison of Void Fraction Correlations for Dif-
ferent Flow Patterns in Horizontal and Upward Inclined Pipes.” International Journal of Multiphase Flow
33, no. 4 (April 2007): 347-370. doi:10.1016/j.ijmultiphaseflow.2006.09.004.
[1] Tandon, T. N., H. K. Varma, and C. P. Gupta. “A Void Fraction Model for Annular Two-Phase Flow.”
International Journal of Heat and Mass Transfer 28, no. 1 (January 1, 1985): 191-198. doi:10.1016/0017-
9310(85)90021-3.
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[3] Dalkilic, A. S., S. Laohalertdecha, and S. Wongwises. “Effect of Void Fraction Models on the
Two-Phase Friction Factor of R134a during Condensation in Vertical Downward Flow in a Smooth
Tube.” International Communications in Heat and Mass Transfer 35, no. 8 (October 2008): 921-27.
doi:10.1016/j.icheatmasstransfer.2008.04.001.
[4] Woldesemayat, Melkamu A., and Afshin J. Ghajar. “Comparison of Void Fraction Correlations for Dif-
ferent Flow Patterns in Horizontal and Upward Inclined Pipes.” International Journal of Multiphase Flow
33, no. 4 (April 2007): 347-370. doi:10.1016/j.ijmultiphaseflow.2006.09.004.
[1] Tandon, T. N., H. K. Varma, and C. P. Gupta. “A Void Fraction Model for Annular Two-Phase Flow.”
International Journal of Heat and Mass Transfer 28, no. 1 (January 1, 1985): 191-198. doi:10.1016/0017-
9310(85)90021-3.
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[3] Dalkilic, A. S., S. Laohalertdecha, and S. Wongwises. “Effect of Void Fraction Models on the
Two-Phase Friction Factor of R134a during Condensation in Vertical Downward Flow in a Smooth
Tube.” International Communications in Heat and Mass Transfer 35, no. 8 (October 2008): 921-27.
doi:10.1016/j.icheatmasstransfer.2008.04.001.
[1] Domanski, Piotr, and David A. Didion. “Computer Modeling of the Vapor Compression Cycle with Con-
stant Flow Area Expansion Device.” Report. UNT Digital Library, May 1983.
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[3] Dalkilic, A. S., S. Laohalertdecha, and S. Wongwises. “Effect of Void Fraction Models on the
Two-Phase Friction Factor of R134a during Condensation in Vertical Downward Flow in a Smooth
Tube.” International Communications in Heat and Mass Transfer 35, no. 8 (October 2008): 921-27.
doi:10.1016/j.icheatmasstransfer.2008.04.001.
[1] Graham, D. M. “Experimental Investigation of Void Fraction During Refrigerant Condensation.” ACRC
Technical Report 135. Air Conditioning and Refrigeration Center. College of Engineering. University of
Illinois at Urbana-Champaign., December 1997.
490 Bibliography
Fluids Documentation, Release 0.1
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[3] Dalkilic, A. S., S. Laohalertdecha, and S. Wongwises. “Effect of Void Fraction Models on the
Two-Phase Friction Factor of R134a during Condensation in Vertical Downward Flow in a Smooth
Tube.” International Communications in Heat and Mass Transfer 35, no. 8 (October 2008): 921-27.
doi:10.1016/j.icheatmasstransfer.2008.04.001.
[1] Yashar, D. A., M. J. Wilson, H. R. Kopke, D. M. Graham, J. C. Chato, and T. A. Newell. “An Investigation
of Refrigerant Void Fraction in Horizontal, Microfin Tubes.” HVAC&R Research 7, no. 1 (January 1,
2001): 67-82. doi:10.1080/10789669.2001.10391430.
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[3] Dalkilic, A. S., S. Laohalertdecha, and S. Wongwises. “Effect of Void Fraction Models on the
Two-Phase Friction Factor of R134a during Condensation in Vertical Downward Flow in a Smooth
Tube.” International Communications in Heat and Mass Transfer 35, no. 8 (October 2008): 921-27.
doi:10.1016/j.icheatmasstransfer.2008.04.001.
[1] Huq, Reazul, and John L. Loth. “Analytical Two-Phase Flow Void Prediction Method.” Journal of Ther-
mophysics and Heat Transfer 6, no. 1 (January 1, 1992): 139-44. doi:10.2514/3.329.
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[3] Dalkilic, A. S., S. Laohalertdecha, and S. Wongwises. “Effect of Void Fraction Models on the
Two-Phase Friction Factor of R134a during Condensation in Vertical Downward Flow in a Smooth
Tube.” International Communications in Heat and Mass Transfer 35, no. 8 (October 2008): 921-27.
doi:10.1016/j.icheatmasstransfer.2008.04.001.
[4] Woldesemayat, Melkamu A., and Afshin J. Ghajar. “Comparison of Void Fraction Correlations for Dif-
ferent Flow Patterns in Horizontal and Upward Inclined Pipes.” International Journal of Multiphase Flow
33, no. 4 (April 2007): 347-370. doi:10.1016/j.ijmultiphaseflow.2006.09.004.
[1] Kopke, H. R. “Experimental Investigation of Void Fraction During Refrigerant Condensation in Horizon-
tal Tubes.” ACRC Technical Report 142. Air Conditioning and Refrigeration Center. College of Engineer-
ing. University of Illinois at Urbana-Champaign., August 1998.
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[1] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[3] Dalkilic, A. S., S. Laohalertdecha, and S. Wongwises. “Effect of Void Fraction Models on the
Two-Phase Friction Factor of R134a during Condensation in Vertical Downward Flow in a Smooth
Tube.” International Communications in Heat and Mass Transfer 35, no. 8 (October 2008): 921-27.
doi:10.1016/j.icheatmasstransfer.2008.04.001.
[1] Rouhani, S. Z, and E Axelsson. “Calculation of Void Volume Fraction in the Subcooled and Quality
Boiling Regions.” International Journal of Heat and Mass Transfer 13, no. 2 (February 1, 1970): 383-93.
doi:10.1016/0017-9310(70)90114-6.
Bibliography 491
Fluids Documentation, Release 0.1
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[3] Woldesemayat, Melkamu A., and Afshin J. Ghajar. “Comparison of Void Fraction Correlations for Dif-
ferent Flow Patterns in Horizontal and Upward Inclined Pipes.” International Journal of Multiphase Flow
33, no. 4 (April 2007): 347-370. doi:10.1016/j.ijmultiphaseflow.2006.09.004.
[1] Rouhani, S. Z, and E Axelsson. “Calculation of Void Volume Fraction in the Subcooled and Quality
Boiling Regions.” International Journal of Heat and Mass Transfer 13, no. 2 (February 1, 1970): 383-93.
doi:10.1016/0017-9310(70)90114-6.
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[3] Woldesemayat, Melkamu A., and Afshin J. Ghajar. “Comparison of Void Fraction Correlations for Dif-
ferent Flow Patterns in Horizontal and Upward Inclined Pipes.” International Journal of Multiphase Flow
33, no. 4 (April 2007): 347-370. doi:10.1016/j.ijmultiphaseflow.2006.09.004.
[1] D. Nicklin, J. Wilkes, J. Davidson, “Two-phase flow in vertical tubes”, Trans. Inst. Chem. Eng. 40 (1962)
61-68.
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[3] Woldesemayat, Melkamu A., and Afshin J. Ghajar. “Comparison of Void Fraction Correlations for Dif-
ferent Flow Patterns in Horizontal and Upward Inclined Pipes.” International Journal of Multiphase Flow
33, no. 4 (April 2007): 347-370. doi:10.1016/j.ijmultiphaseflow.2006.09.004.
[1] Gregory, G. A., and D. S. Scott. “Correlation of Liquid Slug Velocity and Frequency in Hori-
zontal Cocurrent Gas-Liquid Slug Flow.” AIChE Journal 15, no. 6 (November 1, 1969): 933-35.
doi:10.1002/aic.690150623.
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[3] Woldesemayat, Melkamu A., and Afshin J. Ghajar. “Comparison of Void Fraction Correlations for Dif-
ferent Flow Patterns in Horizontal and Upward Inclined Pipes.” International Journal of Multiphase Flow
33, no. 4 (April 2007): 347-370. doi:10.1016/j.ijmultiphaseflow.2006.09.004.
[1] Gary Errol. Dix. “Vapor Void Fractions for Forced Convection with Subcooled Boiling at Low Flow
Rates.” Thesis. University of California, Berkeley, 1971.
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[3] Woldesemayat, Melkamu A., and Afshin J. Ghajar. “Comparison of Void Fraction Correlations for Dif-
ferent Flow Patterns in Horizontal and Upward Inclined Pipes.” International Journal of Multiphase Flow
33, no. 4 (April 2007): 347-370. doi:10.1016/j.ijmultiphaseflow.2006.09.004.
[1] K.H. Sun, R.B. Duffey, C.M. Peng, A thermal-hydraulic analysis of core uncover, in: Proceedings of the
19th National Heat Transfer Conference, Experimental and Analytical Modeling of LWR Safety Experi-
ments, 1980, pp. 1-10. Orlando, Florida, USA.
[2] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
492 Bibliography
Fluids Documentation, Release 0.1
[3] Woldesemayat, Melkamu A., and Afshin J. Ghajar. “Comparison of Void Fraction Correlations for Dif-
ferent Flow Patterns in Horizontal and Upward Inclined Pipes.” International Journal of Multiphase Flow
33, no. 4 (April 2007): 347-370. doi:10.1016/j.ijmultiphaseflow.2006.09.004.
[1] Xu, Yu, and Xiande Fang. “Correlations of Void Fraction for Two- Phase Refriger-
ant Flow in Pipes.” Applied Thermal Engineering 64, no. 1-2 (March 2014): 242–51.
doi:10.1016/j.applthermaleng.2013.12.032.
[1] Woldesemayat, Melkamu A., and Afshin J. Ghajar. “Comparison of Void Fraction Correlations for Dif-
ferent Flow Patterns in Horizontal and Upward Inclined Pipes.” International Journal of Multiphase Flow
33, no. 4 (April 2007): 347-370. doi:10.1016/j.ijmultiphaseflow.2006.09.004.
[1] Lockhart, R. W. & Martinelli, R. C. (1949), “Proposed correlation of data for isothermal two-phase,
two-component flow in pipes”, Chemical Engineering Progress 45 (1), 39-48.
[2] Woldesemayat, Melkamu A., and Afshin J. Ghajar. “Comparison of Void Fraction Correlations for Dif-
ferent Flow Patterns in Horizontal and Upward Inclined Pipes.” International Journal of Multiphase Flow
33, no. 4 (April 2007): 347-370. doi:10.1016/j.ijmultiphaseflow.2006.09.004.
[1] Awad, M. M., and Y. S. Muzychka. “Effective Property Models for Homogeneous Two-Phase Flows.”
Experimental Thermal and Fluid Science 33, no. 1 (October 1, 2008): 106-13.
[1] Awad, M. M., and Y. S. Muzychka. “Effective Property Models for Homogeneous Two-Phase Flows.”
Experimental Thermal and Fluid Science 33, no. 1 (October 1, 2008): 106-13.
[1] Beattie, D. R. H., and P. B. Whalley. “A Simple Two-Phase Frictional Pressure Drop Calculation
Method.” International Journal of Multiphase Flow 8, no. 1 (February 1, 1982): 83-87. doi:10.1016/0301-
9322(82)90009-X.
[2] Awad, M. M., and Y. S. Muzychka. “Effective Property Models for Homogeneous Two-Phase Flows.”
Experimental Thermal and Fluid Science 33, no. 1 (October 1, 2008): 106-13.
[3] Kim, Sung-Min, and Issam Mudawar. “Review of Databases and Predictive Methods for Pressure Drop in
Adiabatic, Condensing and Boiling Mini/Micro-Channel Flows.” International Journal of Heat and Mass
Transfer 77 (October 2014): 74-97. doi:10.1016/j.ijheatmasstransfer.2014.04.035.
[1] McAdams, W. H. “Vaporization inside Horizontal Tubes-II Benzene-Oil Mixtures.” Trans. ASME 39
(1949): 39-48.
[2] Awad, M. M., and Y. S. Muzychka. “Effective Property Models for Homogeneous Two-Phase Flows.”
Experimental Thermal and Fluid Science 33, no. 1 (October 1, 2008): 106-13.
[3] Kim, Sung-Min, and Issam Mudawar. “Review of Databases and Predictive Methods for Pressure Drop in
Adiabatic, Condensing and Boiling Mini/Micro-Channel Flows.” International Journal of Heat and Mass
Transfer 77 (October 2014): 74-97. doi:10.1016/j.ijheatmasstransfer.2014.04.035.
[1] Cicchitti, A., C. Lombardi, M. Silvestri, G. Soldaini, and R. Zavattarelli. “Two-Phase Cooling Experi-
ments: Pressure Drop, Heat Transfer and Burnout Measurements.” Centro Informazioni Studi Esperienze,
Milan, January 1, 1959.
[2] Awad, M. M., and Y. S. Muzychka. “Effective Property Models for Homogeneous Two-Phase Flows.”
Experimental Thermal and Fluid Science 33, no. 1 (October 1, 2008): 106-13.
[3] Kim, Sung-Min, and Issam Mudawar. “Review of Databases and Predictive Methods for Pressure Drop in
Adiabatic, Condensing and Boiling Mini/Micro-Channel Flows.” International Journal of Heat and Mass
Transfer 77 (October 2014): 74-97. doi:10.1016/j.ijheatmasstransfer.2014.04.035.
[1] Lin, S., C. C. K. Kwok, R. -Y. Li, Z. -H. Chen, and Z. -Y. Chen. “Local Frictional Pressure Drop dur-
ing Vaporization of R-12 through Capillary Tubes.” International Journal of Multiphase Flow 17, no. 1
(January 1, 1991): 95-102. doi:10.1016/0301-9322(91)90072-B.
Bibliography 493
Fluids Documentation, Release 0.1
[2] Awad, M. M., and Y. S. Muzychka. “Effective Property Models for Homogeneous Two-Phase Flows.”
Experimental Thermal and Fluid Science 33, no. 1 (October 1, 2008): 106-13.
[1] Fourar, M., and S. Bories. “Experimental Study of Air-Water Two-Phase Flow through a Fracture
(Narrow Channel).” International Journal of Multiphase Flow 21, no. 4 (August 1, 1995): 621-37.
doi:10.1016/0301-9322(95)00005-I.
[2] Awad, M. M., and Y. S. Muzychka. “Effective Property Models for Homogeneous Two-Phase Flows.”
Experimental Thermal and Fluid Science 33, no. 1 (October 1, 2008): 106-13.
[3] Aung, NZ, and T. Yuwono. “Evaluation of Mixture Viscosity Models in the Prediction of Two-Phase Flow
Pressure Drops.” ASEAN Journal on Science and Technology for Development 29, no. 2 (2012).
494 Bibliography
Python Module Index
f
fluids.atmosphere, 29
fluids.compressible, 42
fluids.control_valve, 63
fluids.core, 76
fluids.drag, 109
fluids.filters, 124
fluids.fittings, 128
fluids.flow_meter, 179
fluids.friction, 200
fluids.geometry, 244
fluids.jet_pump, 279
fluids.mixing, 283
fluids.open_flow, 287
fluids.packed_bed, 294
fluids.packed_tower, 308
fluids.particle_size_distribution, 317
fluids.piping, 345
fluids.pump, 347
fluids.safety_valve, 354
fluids.saltation, 365
fluids.separator, 361
fluids.two_phase, 370
fluids.two_phase_voidage, 396
495
Fluids Documentation, Release 0.1
A 223
A_cylinder() (in module fluids.geometry), 276
A_hollow_cylinder() (in module fluids.geometry),
B
277 Bankoff() (in module fluids.two_phase), 395
A_multiple_hole_cylinder() (in module flu- Barati() (in module fluids.drag), 113
ids.geometry), 277 Barati_high() (in module fluids.drag), 114
a_torispherical() (in module fluids.geometry), Baroczy() (in module fluids.two_phase_voidage), 403
270 Baroczy_Chisholm() (in module fluids.two_phase),
add_thickness() (fluids.geometry.TANK method), 381
247 Barr_1981() (in module fluids.friction), 216
agitator_time_homogeneous() (in module flu- Beattie_Whalley() (in module flu-
ids.mixing), 283 ids.two_phase_voidage), 417
AirCooledExchanger (class in fluids.geometry), 256 Beggs_Brill() (in module fluids.two_phase), 375
airmass() (in module fluids.atmosphere), 34 Bejan_L() (in module fluids.core), 97
Almedeij() (in module fluids.drag), 122 Bejan_p() (in module fluids.core), 98
Alshul_1952() (in module fluids.friction), 211 bend_miter() (in module fluids.fittings), 154
API520_A_g() (in module fluids.safety_valve), 359 bend_miter_Miller() (in module fluids.fittings),
API520_A_steam() (in module fluids.safety_valve), 156
360 bend_rounded() (in module fluids.fittings), 150
API520_B() (in module fluids.safety_valve), 357 bend_rounded_Crane() (in module fluids.fittings),
API520_C() (in module fluids.safety_valve), 354 152
API520_F2() (in module fluids.safety_valve), 355 bend_rounded_Miller() (in module fluids.fittings),
API520_Kv() (in module fluids.safety_valve), 356 151
API520_N() (in module fluids.safety_valve), 356 Biot() (in module fluids.core), 91
API520_round_size() (in module flu- Blasius() (in module fluids.friction), 226
ids.safety_valve), 354 Boiling() (in module fluids.core), 99
API520_SH() (in module fluids.safety_valve), 357 Bond() (in module fluids.core), 87
API520_W() (in module fluids.safety_valve), 358 Brauer() (in module fluids.packed_bed), 299
Archimedes() (in module fluids.core), 100 Brkic_2011_1() (in module fluids.friction), 224
Armand() (in module fluids.two_phase_voidage), 400 Brkic_2011_2() (in module fluids.friction), 225
aspect_ratio() (in module fluids.geometry), 275 Buzzelli_2008() (in module fluids.friction), 223
ASTM_E11_sieves (in module flu-
ids.particle_size_distribution), 343
C
ATMOSPHERE_1976 (class in fluids.atmosphere), 29 C_Chezy_to_n_Manning() (in module flu-
ATMOSPHERE_NRLMSISE00 (class in flu- ids.open_flow), 293
ids.atmosphere), 32 c_ideal_gas() (in module fluids.core), 103
atrrs (fluids.atmosphere.ATMOSPHERE_NRLMSISE00 C_ISA_1932_nozzle() (in module flu-
attribute), 34 ids.flow_meter), 189
Avci_Karagoz_2009() (in module fluids.friction), C_long_radius_nozzle() (in module flu-
ids.flow_meter), 188
497
Fluids Documentation, Release 0.1
498 Index
Fluids Documentation, Release 0.1
Index 499
Fluids Documentation, Release 0.1
500 Index
Fluids Documentation, Release 0.1
interpolated (fluids.particle_size_distribution.ParticleSizeDistribution
K_from_L_equiv() (in module fluids.core), 106
attribute), 329 K_gate_valve_Crane() (in module fluids.fittings),
is_choked_turbulent_g() (in module flu- 164
ids.control_valve), 68 K_globe_stop_check_valve_Crane() (in mod-
is_choked_turbulent_l() (in module flu- ule fluids.fittings), 169
ids.control_valve), 67 K_globe_valve_Crane() (in module fluids.fittings),
is_critical_flow() (in module flu- 166
ids.compressible), 60 K_lift_check_valve_Crane() (in module flu-
isentropic_efficiency() (in module flu- ids.fittings), 167
ids.compressible), 57 K_motionless_mixer() (in module fluids.mixing),
isentropic_T_rise_compression() (in mod- 286
ule fluids.compressible), 58 K_plug_valve_Crane() (in module fluids.fittings),
isentropic_work_compression() (in module 173
fluids.compressible), 55 K_run_converging_Crane() (in module flu-
ISO_3310_1_R10 (in module flu- ids.fittings), 175
ids.particle_size_distribution), 344 K_run_diverging_Crane() (in module flu-
ISO_3310_1_R20 (in module flu- ids.fittings), 177
ids.particle_size_distribution), 343 K_separator_demister_York() (in module flu-
ISO_3310_1_R20_3 (in module flu- ids.separator), 363
ids.particle_size_distribution), 344 K_separator_Watkins() (in module flu-
ISO_3310_1_R40_3 (in module flu- ids.separator), 361
ids.particle_size_distribution), 344 K_Sounders_Brown_theoretical() (in module
ISO_3310_1_sieves (in module flu- fluids.separator), 363
ids.particle_size_distribution), 343 K_swing_check_valve_Crane() (in module flu-
isothermal_gas() (in module fluids.compressible), ids.fittings), 166
52 K_tilting_disk_check_valve_Crane() (in
isothermal_work_compression() (in module module fluids.fittings), 168
fluids.compressible), 54 K_to_Cv() (in module fluids.fittings), 163
K_to_discharge_coefficient() (in module flu-
J ids.flow_meter), 185
Jain_1976() (in module fluids.friction), 213 K_to_Kv() (in module fluids.fittings), 161
Jakob() (in module fluids.core), 94 Kawahara() (in module fluids.two_phase_voidage),
Jones_Krier() (in module fluids.packed_bed), 296 402
Jung_Radermacher() (in module fluids.two_phase), Khan_Richardson() (in module fluids.drag), 118
386 Kim_Mudawar() (in module fluids.two_phase), 380
Knudsen() (in module fluids.core), 87
K Kopte_Newell_Chato() (in module flu-
K_angle_stop_check_valve_Crane() (in mod- ids.two_phase_voidage), 408
ule fluids.fittings), 169 Kp_helical_ribbon_Rieger() (in module flu-
K_angle_valve_Crane() (in module fluids.fittings), ids.mixing), 284
165 KTA() (in module fluids.packed_bed), 299
K_ball_valve_Crane() (in module fluids.fittings), Kuo_Nydegger() (in module fluids.packed_bed), 296
170 Kv_to_Cv() (in module fluids.fittings), 159
K_branch_converging_Crane() (in module flu- Kv_to_K() (in module fluids.fittings), 160
ids.fittings), 174
K_branch_diverging_Crane() (in module flu- L
ids.fittings), 176 L_equiv_from_K() (in module fluids.core), 106
K_butterfly_valve_Crane() (in module flu- L_from_K() (in module fluids.core), 107
ids.fittings), 172 LAMINAR_TRANSITION_PIPE (in module flu-
K_diaphragm_valve_Crane() (in module flu- ids.friction), 240
ids.fittings), 171 Lewis() (in module fluids.core), 84
K_foot_valve_Crane() (in module fluids.fittings), Lin_Kwok() (in module fluids.two_phase_voidage),
172 419
K_from_f() (in module fluids.core), 105
Index 501
Fluids Documentation, Release 0.1
502 Index
Fluids Documentation, Release 0.1
Index 503
Fluids Documentation, Release 0.1
504 Index
Fluids Documentation, Release 0.1
Index 505
Fluids Documentation, Release 0.1
X
Xu_Fang() (in module fluids.two_phase), 389
Xu_Fang_voidage() (in module flu-
ids.two_phase_voidage), 414
Y
Yashar() (in module fluids.two_phase_voidage), 406
Yen() (in module fluids.drag), 119
Yu_France() (in module fluids.two_phase), 390
Z
Zhang_Hibiki_Mishima() (in module flu-
ids.two_phase), 393
Zhang_Webb() (in module fluids.two_phase), 389
Zigrang_Sylvester_1() (in module flu-
ids.friction), 217
Zigrang_Sylvester_2() (in module flu-
ids.friction), 217
Zivi() (in module fluids.two_phase_voidage), 396
506 Index