# Fittings pressure drop (fluids.fittings)

This module contains correlations for the loss coefficient of various types of pipe fittings. Whether you are desining a network or modeling a single element, the correlations here cover most cases.

For reporting bugs, adding feature requests, or submitting pull requests, please use the GitHub issue tracker or contact the author at Caleb.Andrew.Bell@gmail.com.

- Entrances

- Exits

- Bends

- Contractions/Reducers

- Expansions/Diffusers

- Tees

- Valves

- Hooper 2K fittings

- Darby 3K fittings

- Loss Coefficient Converters

- Miscellaneous

- Sources

## Entrances

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

  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 Friction (Spravochnik Po Gidravlicheskim Soprotivleniyam, Koeffitsienty Mestnykh Soprotivlenii i Soprotivleniya 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.

  Examples

      >>> entrance_sharp()
      0.57

fluids.fittings.entrance_distance(Di, t=None, l=None, method='Rennels')

  Returns the loss coefficient for a sharp entrance to a pipe at a distance from the wall of a reservoir. This calculation has five methods available; all but ‘Idelchik’ require the pipe to be at least Di/2 into the reservoir.

  The most conservative formulation is that of Rennels; with Miller being almost identical until t/Di reaches 0.05, when it continues settling to K = 0.53 compared to K = 0.57 for ‘Rennels’. ‘Idelchik’ is offset lower by about 0.03 and settles to 0.50. The ‘Harris’ method is a straight interpolation from experimental results with smoothing, and it is the lowest at all points. The ‘Crane’ [6] method returns 0.78 for all cases.

  The Rennels [1] formula is:

  \[K = 1.12 - 22\frac{t}{d} + 216\left(\frac{t}{d}\right)^2 + 80\left(\frac{t}{d}\right)^3\]
  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.

  (Source code, png, hires.png, pdf)

  References

  1(1,2)

    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 Friction (Spravochnik Po Gidravlicheskim Soprotivleniyam, Koeffitsienty Mestnykh Soprotivlenii i Soprotivleniya 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.

  Examples

      >>> entrance_distance(Di=0.1, t=0.0005)
      1.0154100000000001
      >>> entrance_distance(Di=0.1, t=0.0005, method='Idelchik')
      0.9249999999999999
      >>> entrance_distance(Di=0.1, t=0.0005, l=.02, method='Idelchik')
      0.8474999999999999

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].

  \[K = 0.57 + 0.30\cos(\theta) + 0.20\cos(\theta)^2\]
  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

  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 Friction (Spravochnik Po Gidravlicheskim Soprotivleniyam, Koeffitsienty Mestnykh Soprotivlenii i Soprotivleniya Treniya). National technical information Service, 1966.

  3

    Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co., 1984.

  Examples

      >>> entrance_angled(30)
      0.9798076211353315

fluids.fittings.entrance_rounded(Di, rc, method='Rennels')

  Returns loss coefficient for a rounded entrance to a pipe flush with the wall of a reservoir. This calculation has six methods available.

  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:

  \[K = 0.0696\left(1 - 0.569\frac{r}{d}\right)\lambda^2 + (\lambda-1)^2\]
  \[\lambda = 1 + 0.622\left(1 - 0.30\sqrt{\frac{r}{d}} - 0.70\frac{r}{d}\right)^4\]

  The Swamee [5] formula is:

  \[K = 0.5\left[1 + 36\left(\frac{r}{D}\right)^{1.2}\right]^{-1}\]
  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].

  (Source code, png, hires.png, pdf)

  References

  1(1,2,3,4)

    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: Published 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 Friction (Spravochnik Po Gidravlicheskim Soprotivleniyam, Koeffitsienty Mestnykh Soprotivlenii i Soprotivleniya Treniya). National technical information Service, 1966.

  Examples

  Point from Diagram 9.2 in [1], which was used to confirm the Rennels model implementation:

      >>> entrance_rounded(Di=0.1, rc=0.0235)
      0.09839534618360923

fluids.fittings.entrance_beveled(Di, l, angle, method='Rennels')

  Returns loss coefficient for a beveled or chamfered entrance to a pipe flush with the wall of a reservoir. This calculation has two methods available.

  The ‘Rennels’ and ‘Idelchik’ methods have similar trends, but the ‘Rennels’ formulation is centered around a straight loss coefficient of 0.57, so it is normally at least 0.07 higher.

  The Rennels [1] formulas are:

  \[K = 0.0696\left(1 - C_b\frac{l}{d}\right)\lambda^2 + (\lambda-1)^2\]
  \[\lambda = 1 + 0.622\left[1-1.5C_b\left(\frac{l}{d} \right)^{\frac{1-(l/d)^{1/4}}{2}}\right]\]
  \[C_b = \left(1 - \frac{\theta}{90}\right)\left(\frac{\theta}{90} \right)^{\frac{1}{1+l/d}}\]
  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.

  (Source code, png, hires.png, pdf)

  References

  1(1,2)

    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 Friction (Spravochnik Po Gidravlicheskim Soprotivleniyam, Koeffitsienty Mestnykh Soprotivlenii i Soprotivleniya Treniya). National technical information Service, 1966.

  Examples

      >>> entrance_beveled(Di=0.1, l=0.003, angle=45)
      0.450868642219
      >>> entrance_beveled(Di=0.1, l=0.003, angle=45, method='Idelchik')
      0.399500000000

fluids.fittings.entrance_beveled_orifice(Di, do, l, angle)

  Returns loss coefficient for a beveled or chamfered orifice entrance to a pipe flush with the wall of a reservoir, as shown in [1].

  \[K = 0.0696\left(1 - C_b\frac{l}{d_o}\right)\lambda^2 + \left(\lambda -\left(\frac{d_o}{D_i}\right)^2\right)^2\]
  \[\lambda = 1 + 0.622\left[1-C_b\left(\frac{l}{d_o}\right)^{\frac{1- (l/d_o)^{0.25}}{2}}\right]\]
  \[C_b = \left(1 - \frac{\Psi}{90}\right)\left(\frac{\Psi}{90} \right)^{\frac{1}{1+l/d_o}}\]
  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

    Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st edition. Hoboken, N.J: Wiley, 2012.

  Examples

      >>> entrance_beveled_orifice(Di=0.1, do=.07, l=0.003, angle=45)
      1.2987552913818574

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(1,2)

    Miller, Donald S. Internal Flow Systems: Design and Performance Prediction. Gulf Publishing Company, 1990.

  Examples

      >>> entrance_distance_45_Miller(Di=0.1, Di0=0.14)
      0.24407641818143339

## Exits

fluids.fittings.exit_normal()

  Returns loss coefficient for any exit to a pipe as shown in [1] and in other sources.

  \[K = 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

    Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st edition. Hoboken, N.J: Wiley, 2012.

  Examples

      >>> exit_normal()
      1.0

## Bends

fluids.fittings.bend_rounded(Di, angle, fd=None, rc=None, bend_diameters=None, Re=None, roughness=0.0, L_unimpeded=None, method='Rennels')

  Returns loss coefficient for rounded bend in a pipe of diameter Di, angle, with a specified either radius of curvature rc or curvature defined by bend_diameters, Reynolds number Re and optionally pipe roughness, unimpeded length downstrean, and with the specified method. This calculation has six methods available.

  It is hard to describe one method as more conservative than another as depending on the conditions, the relative results change significantly.

  The ‘Miller’ method is the most complicated and slowest method; the ‘Ito’ method comprehensive as well and a source of original data, and the primary basis for the ‘Rennels’ method. The ‘Swamee’ method is very simple and generally does not match the other methods. The ‘Crane’ method may match or not match other methods depending on the inputs. There is also a ‘Crane standard’ method for use with threaded fittings which have higher pressure drops. It is a linear interpolation of values at angles of 45, 90, and 180 degrees.

  The Rennels [1] formula is:

  \[K = f\alpha\frac{r}{d} + (0.10 + 2.4f)\sin(\alpha/2) + \frac{6.6f(\sqrt{\sin(\alpha/2)}+\sin(\alpha/2))} {(r/d)^{\frac{4\alpha}{\pi}}}\]

  The Swamee [5] formula is:

  \[K = \left[0.0733 + 0.923 \left(\frac{d}{rc}\right)^{3.5} \right] \theta^{0.5}\]
  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 provided 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), [-]

    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, instrumentation, or flow disturbances downstream (assumed 20 diameters if not specified); used only in Miller method, [m]

    method str, optional

      One of ‘Rennels’, ‘Miller’, ‘Crane’, ‘Crane standard’, ‘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

  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.

  Examples

      >>> bend_rounded(Di=4.020, rc=4.0*5, angle=30, Re=1E5)
      0.11519070808085191

fluids.fittings.bend_rounded_Miller(Di, angle, Re, rc=None, bend_diameters=None, roughness=0.0, L_unimpeded=None)

  Calculates the loss coefficient for a rounded pipe bend according to Miller [1]. This is a sophisticated model which uses corrections for pipe roughness, the length of the pipe downstream before another interruption, and a correction for Reynolds number. It interpolates several times using several corrections graphs in [1].

  Parameters
    Di float

      Inside diameter of pipe, [m]

    angle float

      Angle of bend, [degrees]

    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, instrumentation, 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(1,2)

    Miller, Donald S. Internal Flow Systems: Design and Performance Prediction. Gulf Publishing Company, 1990.

  Examples

      >>> bend_rounded_Miller(Di=.6, bend_diameters=2, angle=90,  Re=2e6,
      ... roughness=2E-5, L_unimpeded=30*.6)
      0.15261820705145895

fluids.fittings.bend_rounded_Crane(Di, angle, rc=None, bend_diameters=None)

  Calculates the loss coefficient for any rounded bend in a pipe according to the Crane TP 410M [1] method. This method effectively uses an interpolation from tabulated values in [1] for friction factor multipliers vs. curvature radius.

  Parameters
    Di float

      Inside diameter of pipe, [m]

    angle float

      Angle of bend, [degrees]

    rc float, optional

      Radius of curvature of the entrance; specify either rc or bend_diameters, optional [m]

    bend_diameters float, optional

      Number of diameters of pipe making up the bend radius; specify either rc or bend_diameters, [-]

  Returns
    K float

      Loss coefficient [-]

  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.

  (Source code, png, hires.png, pdf)

  References

  1(1,2,3)

    Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.

  Examples

      >>> bend_rounded_Crane(Di=.4020, rc=.4*5, angle=30)
      0.09321910015613409

fluids.fittings.bend_miter(angle, Di=None, Re=None, roughness=0.0, L_unimpeded=None, method='Rennels')

  Returns loss coefficient for any single-joint miter bend in a pipe of angle angle, diameter Di, Reynolds number Re, roughness roughness unimpeded downstream length L_unimpeded, and using the specified method. This calculation has four methods available. The ‘Rennels’ method is based on a formula and extends to angles up to 150 degrees. The ‘Crane’ method extends only to 90 degrees; the ‘Miller’ and ‘Blevins’ methods extend to 120 degrees.

  The Rennels [1] formula is:

  \[K = 0.42\sin(\alpha/2) + 2.56\sin^3(\alpha/2)\]

  The ‘Crane’, ‘Miller’, and ‘Blevins’ methods are all in part graph or tabular based and do not have straightforward 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), [-]

    roughness float, optional

      Roughness of bend wall, [m]

    L_unimpeded float, optional

      The length of unimpeded pipe without any fittings, instrumentation, 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.

  (Source code, png, hires.png, pdf)

  References

  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.

  Examples

      >>> bend_miter(150)
      2.7128147734758103
      >>> bend_miter(Di=.6, angle=45, Re=1e6, roughness=1e-5, L_unimpeded=20,
      ... method='Miller')
      0.2944060416245169

fluids.fittings.bend_miter_Miller(Di, angle, Re, roughness=0.0, L_unimpeded=None)

  Calculates the loss coefficient for a single miter bend according to Miller [1]. This is a sophisticated model which uses corrections for pipe roughness, the length of the pipe downstream before another interruption, and a correction for Reynolds number. It interpolates several times using several corrections graphs in [1].

  Parameters
    Di float

      Inside diameter of pipe, [m]

    angle float

      Angle of miter bend, [degrees]

    Re float

      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, instrumentation, or flow disturbances downstream (assumed 20 diameters if not specified), [m]

  Returns
    K float

      Loss coefficient [-]

  Notes

  Note the loss coefficient includes the surface friction of the pipe as if it was straight.

  References

  1(1,2)

    Miller, Donald S. Internal Flow Systems: Design and Performance Prediction. Gulf Publishing Company, 1990.

  Examples

      >>> bend_miter_Miller(Di=.6, angle=90, Re=2e6, roughness=2e-5,
      ... L_unimpeded=30*.6)
      1.1921574594947664

fluids.fittings.helix(Di, rs, pitch, N, fd)

  Returns loss coefficient for any size constant-pitch helix as shown in [1]. Has applications in immersed coils in tanks.

  \[K = N \left[f\frac{\sqrt{(2\pi r)^2 + p^2}}{d} + 0.20 + 4.8 f\right]\]
  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

    Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st edition. Hoboken, N.J: Wiley, 2012.

  Examples

      >>> helix(Di=0.01, rs=0.1, pitch=.03, N=10, fd=.0185)
      14.525134924495514

fluids.fittings.spiral(Di, rmax, rmin, pitch, fd)

  Returns loss coefficient for any size constant-pitch spiral as shown in [1]. Has applications in immersed coils in tanks.

  \[K = \frac{r_{max} - r_{min}}{p} \left[ f\pi\left(\frac{r_{max} +r_{min}}{d}\right) + 0.20 + 4.8f\right] + \frac{13.2f}{(r_{min}/d)^2}\]
  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

  Source not compared against others.

  References

  1

    Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st edition. Hoboken, N.J: Wiley, 2012.

  Examples

      >>> spiral(Di=0.01, rmax=.1, rmin=.02, pitch=.01, fd=0.0185)
      7.950918552775473

## Contractions/Reducers

fluids.fittings.contraction_sharp(Di1, Di2, fd=None, Re=None, roughness=0.0, method='Rennels')

  Returns loss coefficient for a sharp edged pipe contraction.

  This calculation has two methods available. The ‘Rennels’ [2] method is a fit for turbulent regimes, while the Hooper method is more complicated and claims to have full dependence on Re including a laminar transition at Re of 2500 (based on the original pipe diameter).

  The Rennels [1] formulas are:

  \[K_1 = 0.0696(1-\beta^5)\lambda^2 + (\lambda-1)^2\]
  \[\lambda = 1 + 0.622(1-0.215\beta^2 - 0.785\beta^5)\]
  \[\beta = d_2/d_1\]

  The Hooper [1] formulas are:

  If \({Re}_1 \le 2500\):

  \[K_1 = \left[1.2 + \frac{160}{\text{Re}_1}\right] \left[ \left(\frac{D_1} {D_2} \right)^4 -1 \right]\]

  If \({Re}_1 > 2500\):

  \[K_1 = \left[0.6 + 0.48f_1\right] \left(\frac{D_1} {D_2} \right)^2 \left[ \left(\frac{D_1} {D_2} \right)^2 -1 \right]\]

  Converting the loss coefficient to a consistent basis:

  \[K_2 = K_1\frac{D_2^4}{D_1^4}\]

  For the Crane formula see contraction_conical_Crane with a length of zero.

  Parameters
    Di1 float

      Inside diameter of original (larger) pipe, [m]

    Di2 float

      Inside diameter of following (smaller) pipe, [m]

    fd float, optional

      Darcy friction factor in original pipe; used only in the Hooper method and will be calculated from Re if not given, [-]

    Re float, optional

      Reynolds number of the pipe (used in Hooper method, [m]

    roughness float, optional

      Roughness of original pipe (used in Hooper method only if no friction factor given), [m]

    method str

      The calculation method to use; one of ‘Hooper’, ‘Rennels’, or ‘Crane’ [-]

  Returns
    K float

      Loss coefficient in terms of the following pipe [-]

  Notes

  A value of 0.506 or simply 0.5 is often used.

  References

  1(1,2)

    Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st edition. Hoboken, N.J: Wiley, 2012.

  2

    Hooper, William B. “Calculate Head Loss Caused by Change in Pipe Size.” Chemical Engineering 95, no. 16 (November 7, 1988): 89.

  Examples

      >>> contraction_sharp(Di1=1, Di2=0.4)
      0.5301269161
      >>> contraction_sharp(Di1=1, Di2=0.4, Re=1e5, method='Hooper')
      0.5112534765

  The Hooper method supports laminar flow, while Rennels is not even Re aware.

      >>> contraction_sharp(Di1=1, Di2=0.4, Re=1e3, method='Hooper')
      1.325184

  Crane offers similar results:

      >>> contraction_sharp(3.0, 2.0, method='Crane')
      0.2777777

fluids.fittings.contraction_round(Di1, Di2, rc, method='Rennels')

  Returns loss coefficient for any any round edged pipe contraction. This calculation has three methods available. The ‘Miller’ [2] method is a bivariate spline digitization of a graph; the ‘Idelchik’ [3] method is an interpolation using a formula and a table of values.

  The most conservative formulation is that of Rennels; with fairly similar. The ‘Idelchik’ method is more conservative and less complex; it offers a straight-line curve where the others curves are curved.

  The Rennels [1] formulas are:

  \[K = 0.0696\left(1 - 0.569\frac{r}{d_2}\right)\left(1-\sqrt{\frac{r} {d_2}}\beta\right)(1-\beta^5)\lambda^2 + (\lambda-1)^2\]
  \[\lambda = 1 + 0.622\left(1 - 0.30\sqrt{\frac{r}{d_2}} - 0.70\frac{r}{d_2}\right)^4 (1-0.215\beta^2-0.785\beta^5)\]
  \[\beta = d_2/d_1\]
  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.

  (Source code, png, hires.png, pdf)

  References

  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 Friction (Spravochnik Po Gidravlicheskim Soprotivleniyam, Koeffitsienty Mestnykh Soprotivlenii i Soprotivleniya Treniya). National technical information Service, 1966.

  Examples

      >>> contraction_round(Di1=1, Di2=0.4, rc=0.04)
      0.1783332490866574

fluids.fittings.contraction_round_Miller(Di1, Di2, rc)

  Returns loss coefficient for any round edged pipe contraction using the method of Miller [1]. This method uses a spline fit to a graph with area ratios 0 to 1, and radius ratios (rc/Di2) from 0.1 to 0.

  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]

  Returns
    K float

      Loss coefficient in terms of the following pipe, [-]

  Notes

  This method normally gives lower losses than the Rennels formulation.

  References

  1

    Miller, Donald S. Internal Flow Systems: Design and Performance Prediction. Gulf Publishing Company, 1990.

  Examples

      >>> contraction_round_Miller(Di1=1, Di2=0.4, rc=0.04)
      0.08565953051298639

fluids.fittings.contraction_conical(Di1, Di2, fd=None, l=None, angle=None, Re=None, roughness=0.0, method='Rennels')

  Returns the loss coefficient for any conical pipe contraction. This calculation has five methods available. The ‘Idelchik’ [2] and ‘Blevins’ [3] methods use interpolation among tables of values; ‘Miller’ uses a 2d spline representation of a graph; and the ‘Rennels’ [1], ‘Crane’ [4], ‘Swamee’ [5] and ‘Hooper’ methods use formulas for their calculations.

  The ‘Rennels’ [1] formulas are:

  \[K_2 = K_{fr,2} + K_{conv,2}\]
  \[K_{fr,2} = \frac{f_d ({1 - \beta^4})}{8\sin(\theta/2)}\]
  \[K_{conv,2} = 0.0696[1+C_B(\sin(\alpha/2)-1)](1-\beta^5)\lambda^2 + (\lambda-1)^2\]
  \[\lambda = 1 + 0.622(\alpha/180)^{0.8}(1-0.215\beta^2-0.785\beta^5)\]
  \[\beta = d_2/d_1\]

  The ‘Swamee’ [5] formula is:

  \[K = 0.315 \theta^{1/3}\]

  The Hooper [7] formulas are:

  If \({Re}_1 \le 2500\):

  \[K_{1,sharp} = \left[1.2 + \frac{160}{\text{Re}_1}\right] \left[ \left(\frac{D_1} {D_2} \right)^4 -1 \right]\]

  If \({Re}_1 > 2500\):

  \[K_{1,sharp} = \left[0.6 + 0.48f_1\right] \left(\frac{D_1} {D_2} \right)^2 \left[ \left(\frac{D_1} {D_2} \right)^2 -1 \right]\]

  In both cases, a multiplier is added for the angle:

  For angles between 45 and 180 degrees:

  \[K_1 = K_{1,sharp} \sqrt{\sin \frac{\theta}{2}}\]

  For angles between 0 and 45 degrees:

  \[K_1 = K_{1,sharp} 1.6 \sin \frac{\theta}{2}\]

  Converting the Hooper loss coefficient to a consistent basis:

  \[K_2 = K_1\frac{D_2^4}{D_1^4}\]
  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 and Hooper method and will be calculated from Re and roughness if not given, [-]

    l float, optional

      Length of the contraction, optional [m]

    angle float, optional

      Angle of contraction (180 = sharp, 0 = infinitely long contraction), optional [degrees]

    Re float, optional

      Reynolds number of the pipe (used in Rennels and Hooper 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’ ‘Hooper’, ‘Miller’, or ‘Blevins’, [-]

  Returns
    K float

      Loss coefficient in terms of the following pipe [-]

  Notes

  Cheap and has substantial impact on pressure drop.

  The ‘Idelchik’ method includes two tabular interpolations; its friction term is limited to angles between 2 and 20 degrees and area ratios 0.05 to 0.6, while its main term is limited to length over diameter ratios 0.025 to 0.6. This seems to give it high results for angles < 25 degrees.

  The ‘Blevins’ method is based on Idelchik data; it should not be used, because its data jumps around and its data is limited to area ratios .1 to 0.83, and length over diameter ratios 0 to 0.6. The ‘Miller’ method jumps around as well. Unlike most of Miller’s method, there is no correction for Reynolds number.

  There is quite a bit of variance in the predictions of the methods, as demonstrated by the following figure.

  (Source code, png, hires.png, pdf)

  References

  1(1,2)

    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 Friction (Spravochnik Po Gidravlicheskim Soprotivleniyam, Koeffitsienty Mestnykh Soprotivlenii i Soprotivleniya 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(1,2)

    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.

  7

    Hooper, William B. “Calculate Head Loss Caused by Change in Pipe Size.” Chemical Engineering 95, no. 16 (November 7, 1988): 89.

  Examples

      >>> contraction_conical(Di1=0.1, Di2=0.04, l=0.04, Re=1E6)
      0.15639885880609544

fluids.fittings.contraction_conical_Crane(Di1, Di2, l=None, angle=None)

  Returns loss coefficient for a conical pipe contraction as shown in Crane TP 410M [1] between 0 and 180 degrees.

  If \(\theta < 45^{\circ}\):

  \[K_2 = {0.8 \sin \frac{\theta}{2}(1 - \beta^2)}\]

  otherwise:

  \[K_2 = {0.5\sqrt{\sin \frac{\theta}{2}} (1 - \beta^2)}\]
  \[\beta = d_2/d_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, optional

      Length of the contraction [m]

    angle float, optional

      Angle of contraction [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(1,2)

    Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.

  Examples

      >>> contraction_conical_Crane(Di1=0.0779, Di2=0.0525, l=0)
      0.2729017979998056

fluids.fittings.contraction_beveled(Di1, Di2, l=None, angle=None)

  Returns loss coefficient for any sharp beveled pipe contraction as shown in [1].

  \[K = 0.0696[1+C_B(\sin(\alpha/2)-1)](1-\beta^5)\lambda^2 + (\lambda-1)^2\]
  \[\lambda = 1 + 0.622\left[1+C_B\left(\left(\frac{\alpha}{180} \right)^{0.8}-1\right)\right](1-0.215\beta^2-0.785\beta^5)\]
  \[C_B = \frac{l}{d_2}\frac{2\beta\tan(\alpha/2)}{1-\beta}\]
  \[\beta = d_2/d_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

    Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st edition. Hoboken, N.J: Wiley, 2012.

  Examples

      >>> contraction_beveled(Di1=0.5, Di2=0.1, l=.7*.1, angle=120)
      0.40946469413070485

## Expansions/Diffusers

fluids.fittings.diffuser_sharp(Di1, Di2, Re=None, fd=None, roughness=0.0, method='Rennels')

  Returns loss coefficient for any sudden pipe diameter expansion according to the specified method.

  The main theoretical formula is as follows, in [1] and in other sources and is implemented under the name Rennels.

  \[K_2 = (1-\beta^2)^2\]

  The Hooper [2] formulas are:

  If \({Re}_1 \le 4000\):

  \[K_1 = 2 \left[1 - \left( \frac{D_1}{D_2} \right)^4 \right]\]

  else:

  \[K_1 = \left[1 + 0.8 f_{d,1}\right] \left\{ \left[1 - \left( \frac{D_1}{D_2}\right)^2 \right]^2 \right\}\]
  Parameters
    Di1 float

      Inside diameter of original pipe (smaller), [m]

    Di2 float

      Inside diameter of following pipe (larger), [m]

    Re float, optional

      Reynolds number of the pipe for original (smaller) pipe, used in Hooper method [-]

    fd float, optional

      Darcy friction factor for original (smaller) pipe [-]

    roughness float, optional

      Roughness of pipe wall (used in Hooper method if no friction factor given), [m]

    method str

      The method to use for the calculation; one of ‘Rennels’, ‘Hooper’ [-]

  Returns
    K float

      Loss coefficient with respect to the original (smaller) pipe [-]

  Notes

  Highly accurate.

  References

  1

    Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st edition. Hoboken, N.J: Wiley, 2012.

  2

    Hooper, William B. “Calculate Head Loss Caused by Change in Pipe Size.” Chemical Engineering 95, no. 16 (November 7, 1988): 89.

  Examples

      >>> diffuser_sharp(Di1=.5, Di2=1)
      0.5625
      >>> diffuser_sharp(Di1=.5, Di2=1, Re=1e5, fd=1e-7, method='Hooper')
      0.562500045

fluids.fittings.diffuser_conical(Di1, Di2, l=None, angle=None, fd=None, Re=None, roughness=0.0, method='Rennels')

  Returns the loss coefficient for any conical pipe diffuser. This calculation has six methods available.

  The ‘Rennels’ [1] formulas are as follows (three different formulas are used, depending on the angle and the ratio of diameters):

  For 0 to 20 degrees, all aspect ratios:

  \[K_1 = 8.30[\tan(\alpha/2)]^{1.75}(1-\beta^2)^2 + \frac{f(1-\beta^4)}{8\sin(\alpha/2)}\]

  For 20 to 60 degrees, beta < 0.5:

  \[K_1 = \left\{1.366\sin\left[\frac{2\pi(\alpha-15^\circ)}{180}\right]^{0.5} - 0.170 - 3.28(0.0625-\beta^4)\sqrt{\frac{\alpha-20^\circ}{40^\circ}}\right\} (1-\beta^2)^2 + \frac{f(1-\beta^4)}{8\sin(\alpha/2)}\]

  For 20 to 60 degrees, beta >= 0.5:

  \[K_1 = \left\{1.366\sin\left[\frac{2\pi(\alpha-15^\circ)}{180}\right]^{0.5} - 0.170 \right\}(1-\beta^2)^2 + \frac{f(1-\beta^4)}{8\sin(\alpha/2)}\]

  For 60 to 180 degrees, beta < 0.5:

  \[K_1 = \left[1.205 - 3.28(0.0625-\beta^4)-12.8\beta^6\sqrt{\frac {\alpha-60^\circ}{120^\circ}}\right](1-\beta^2)^2\]

  For 60 to 180 degrees, beta >= 0.5:

  \[K_1 = \left[1.205 - 0.20\sqrt{\frac{\alpha-60^\circ}{120^\circ}} \right](1-\beta^2)^2\]

  The Swamee [5] formula is:

  \[K = \left\{\frac{0.25}{\theta^3}\left[1 + \frac{0.6}{r^{1.67}} \left(\frac{\pi-\theta}{\theta} \right) \right]^{0.533r - 2.6} \right\}^{-0.5}\]

  The Hooper [6] formulas are:

  If \({Re}_1 \le 4000\):

  \[K_{sharp} = 2 \left[1 - \left( \frac{D_1}{D_2} \right)^4 \right]\]

  else:

  \[K_{sharp} = \left[1 + 0.8 f_{d,1}\right] \left\{ \left[1 - \left( \frac{D_1}{D_2}\right)^2 \right]^2 \right\}\]

  If the angle > 45 degrees, \(K = K_{sharp}\) otherwise

  \[K = 2.6 \sin \left(\frac{\theta}{2} \right)K_{sharp}\]
  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’, ‘Idelchik’, or ‘Hooper’ [-]

  Returns
    K float

      Loss coefficient with respect to smaller, upstream diameter [-]

  Notes

  The Miller method changes around quite a bit.

  There is quite a bit of variance in the predictions of the methods, as demonstrated by the following figure.

  (Source code, png, hires.png, pdf)

  References

  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 Friction (Spravochnik Po Gidravlicheskim Soprotivleniyam, Koeffitsienty Mestnykh Soprotivlenii i Soprotivleniya 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.

  6

    Hooper, William B. “Calculate Head Loss Caused by Change in Pipe Size.” Chemical Engineering 95, no. 16 (November 7, 1988): 89.

  Examples

      >>> diffuser_conical(Di1=1/3., Di2=1.0, angle=50.0, Re=1E6)
      0.8027721093415322

fluids.fittings.diffuser_conical_staged(Di1, Di2, DEs, ls, fd=None, method='Rennels')

  Returns loss coefficient for any series of staged conical pipe expansions as shown in [1]. Five different formulas are used, depending on the angle and the ratio of diameters. This function calls diffuser_conical.

  Parameters
    Di1 float

      Inside diameter of original pipe (smaller), [m]

    Di2 float

      Inside diameter of following pipe (larger), [m]

    DEs array

      Diameters of intermediate sections, [m]

    ls array

      Lengths of the various sections, size 1 more than DEs, [m]

    fd float

      Darcy friction factor [-]

    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

  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

    Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st edition. Hoboken, N.J: Wiley, 2012.

  Examples

      >>> diffuser_conical_staged(Di1=1., Di2=10., DEs=[2,3,4], ls=[1.1,1.2,1.3,1.4], fd=0.01)
      1.9317533188274658

fluids.fittings.diffuser_curved(Di1, Di2, l)

  Returns loss coefficient for any curved wall pipe expansion as shown in [1].

  \[K_1 = \phi(1.43-1.3\beta^2)(1-\beta^2)^2\]
  \[\phi = 1.01 - 0.624\frac{l}{d_1} + 0.30\left(\frac{l}{d_1}\right)^2 - 0.074\left(\frac{l}{d_1}\right)^3 + 0.0070\left(\frac{l}{d_1}\right)^4\]
  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

    Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st edition. Hoboken, N.J: Wiley, 2012.

  Examples

      >>> diffuser_curved(Di1=.25**0.5, Di2=1., l=2.)
      0.2299781250000002

fluids.fittings.diffuser_pipe_reducer(Di1, Di2, l, fd1, fd2=None)

  Returns loss coefficient for any pipe reducer pipe expansion as shown in [1]. This is an approximate formula.

  \[K_f = f_1\frac{0.20l}{d_1} + \frac{f_1(1-\beta)}{8\sin(\alpha/2)} + f_2\frac{0.20l}{d_2}\beta^4\]
  \[\alpha = 2\tan^{-1}\left(\frac{d_1-d_2}{1.20l}\right)\]
  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

    Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st edition. Hoboken, N.J: Wiley, 2012.

  Examples

      >>> diffuser_pipe_reducer(Di1=.5, Di2=.75, l=1.5, fd1=0.07)
      0.06873244301714816

## Tees

fluids.fittings.K_branch_converging_Crane(D_run, D_branch, Q_run, Q_branch, angle=90.0)

  Returns the loss coefficient for the branch of a converging tee or wye according to the Crane method [1].

  \[K_{branch} = C\left[1 + D\left(\frac{Q_{branch}}{Q_{comb}\cdot \beta_{branch}^2}\right)^2 - E\left(1 - \frac{Q_{branch}}{Q_{comb}} \right)^2 - \frac{F}{\beta_{branch}^2} \left(\frac{Q_{branch}} {Q_{comb}}\right)^2\right]\]
  \[\beta_{branch} = \frac{D_{branch}}{D_{comb}} = \frac{D_{branch}}{D_{run}}\]

  In the above equation, D = 1, E = 2. See the notes for definitions of F and C. The run and combined diameter are assumed the same in this model.

  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) [degrees]

  Returns
    K float

      Loss coefficient of branch 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 90 degrees.

  Angle [°] |
  --- | ---
  30 | 1.74
  45 | 1.41
  60 | 1
  90 | 0

  If \(\beta_{branch}^2 \le 0.35\), C = 1

  If \(\beta_{branch}^2 > 0.35\) and \(Q_{branch}/Q_{comb} > 0.4\), C = 0.55.

  If neither of the above conditions are met:

  \[C = 0.9\left(1 - \frac{Q_{branch}}{Q_{comb}}\right)\]

  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(1,2,3)

    Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.

  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.

      >>> K_branch_converging_Crane(0.1023, 0.1023, 0.018917, 0.00633)
      -0.0404410851362

fluids.fittings.K_run_converging_Crane(D_run, D_branch, Q_run, Q_branch, angle=90)

  Returns the loss coefficient for the run of a converging tee or wye according to the Crane method [1].

  \[K_{branch} = C\left[1 + D\left(\frac{Q_{branch}}{Q_{comb}\cdot \beta_{branch}^2}\right)^2 - E\left(1 - \frac{Q_{branch}}{Q_{comb}} \right)^2 - \frac{F}{\beta_{branch}^2} \left(\frac{Q_{branch}} {Q_{comb}}\right)^2\right]\]
  \[\beta_{branch} = \frac{D_{branch}}{D_{comb}} = \frac{D_{branch}}{D_{run}}\]

  In the above equation, C=1, D=0, E=1. See the notes for definitions of F and also the special case of 90°. The run and combined diameter are assumed the same in this model.

  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) [degrees]

  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

  For the special case of 90°, the formula used is as follows.

  \[K_{run} = 1.55\left(\frac{Q_{branch}}{Q_{comb}} \right) - \left(\frac{Q_{branch}}{Q_{comb}}\right)^2\]

  References

  1(1,2)

    Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.

  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.

      >>> K_run_converging_Crane(0.1023, 0.1023, 0.018917, 0.00633)
      0.32575847854551254

fluids.fittings.K_branch_diverging_Crane(D_run, D_branch, Q_run, Q_branch, angle=90)

  Returns the loss coefficient for the branch of a diverging tee or wye according to the Crane method [1].

  \[K_{branch} = G\left[1 + H\left(\frac{Q_{branch}}{Q_{comb} \beta_{branch}^2}\right)^2 - J\left(\frac{Q_{branch}}{Q_{comb} \beta_{branch}^2}\right)\cos\theta\right]\]
  \[\beta_{branch} = \frac{D_{branch}}{D_{comb}} = \frac{D_{branch}}{D_{run}}\]

  See the notes for definitions of H, J, and G. The run and combined diameter are assumed the same in this model.

  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) [degrees]

  Returns
    K float

      Loss coefficient of branch with respect to the velocity and inside diameter of the combined flow inlet [-]

  Notes

  If \(\beta_{branch} = 1, \theta = 90^\circ\), H = 0.3 and J = 0. Otherwise H = 1 and J = 2.

  G is determined according to the following pseudocode:

      if angle < 75:
          if beta2 <= 0.35:
              if Q_ratio <= 0.4:
                  G = 1.1 - 0.7*Q_ratio
              else:
                  G = 0.85
          else:
              if Q_ratio <= 0.6:
                  G = 1.0 - 0.6*Q_ratio
              else:
                  G = 0.6
      else:
          if beta2 <= 2/3.:
              G = 1
          else:
              G = 1 + 0.3*Q_ratio*Q_ratio

  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(1,2,3)

    Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.

  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.

      >>> K_branch_diverging_Crane(0.146, 0.146, 0.02525, 0.01583, angle=45)
      0.4639895627496694

fluids.fittings.K_run_diverging_Crane(D_run, D_branch, Q_run, Q_branch, angle=90)

  Returns the loss coefficient for the run of a converging tee or wye according to the Crane method [1].

  \[K_{run} = M \left(\frac{Q_{branch}}{Q_{comb}}\right)^2\]
  \[\beta_{branch} = \frac{D_{branch}}{D_{comb}} = \frac{D_{branch}}{D_{run}}\]

  See the notes for the definition of M. The run and combined diameter are assumed the same in this model.

  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) [degrees]

  Returns
    K float

      Loss coefficient of run with respect to the velocity and inside diameter of the combined flow inlet [-]

  Notes

  M is calculated according to the following pseudocode:

      if beta*beta <= 0.4:
          M = 0.4
      elif Q_branch/Q_comb <= 0.5:
          M = 2*(2*Q_branch/Q_comb - 1)
      else:
          M = 0.3*(2*Q_branch/Q_comb - 1)

  References

  1(1,2)

    Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.

  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.

      >>> K_run_diverging_Crane(0.146, 0.146, 0.02525, 0.01583, angle=45)
      -0.06810067607153049

## Valves

fluids.fittings.K_gate_valve_Crane(D1, D2, angle, fd=None)

  Returns loss coefficient for a gate valve of types wedge disc, double disc, or plug type, as shown in [1].

  If β = 1 and θ = 0:

  \[K = K_1 = K_2 = 8f_d\]

  If β < 1 and θ <= 45°:

  \[K_2 = \frac{K + \sin \frac{\theta}{2} \left[0.8(1-\beta^2) + 2.6(1-\beta^2)^2\right]}{\beta^4}\]

  If β < 1 and θ > 45°:

  \[K_2 = \frac{K + 0.5\sqrt{\sin\frac{\theta}{2}}(1-\beta^2) + (1-\beta^2)^2}{\beta^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]

    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 (roughness = 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 [2].

  References

  1(1,2)

    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.

  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.

      >>> K_gate_valve_Crane(D1=.1, D2=.146, angle=13.115)
      1.1466029421844073

  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:

  \[K = K_1 = K_2 = N\cdot f_d\]

  Otherwise:

  \[K_2 = \frac{K + \left[0.5(1-\beta^2) + (1-\beta^2)^2\right]}{\beta^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 (roughness = 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(1,2)

    Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.

  Examples

      >>> K_angle_valve_Crane(.01, .02)
      26.597361811128465

fluids.fittings.K_globe_valve_Crane(D1, D2, fd=None)

  Returns the loss coefficient for all types of globe valve, (reduced seat or throttled) as shown in [1].

  If β = 1:

  \[K = K_1 = K_2 = 340 f_d\]

  Otherwise:

  \[K_2 = \frac{K + \left[0.5(1-\beta^2) + (1-\beta^2)^2\right]}{\beta^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 (roughness = 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

    Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.

  Examples

      >>> K_globe_valve_Crane(.01, .02)
      135.9200548324305

fluids.fittings.K_swing_check_valve_Crane(D=None, fd=None, angled=True)

  Returns the loss coefficient for a swing check valve as shown in [1].

  \[K_2 = N\cdot f_d\]

  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 (roughness = 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

    Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.

  Examples

      >>> K_swing_check_valve_Crane(D=.02)
      2.3974274785373257

fluids.fittings.K_lift_check_valve_Crane(D1, D2, fd=None, angled=True)

  Returns the loss coefficient for a lift check valve as shown in [1].

  If β = 1:

  \[K = K_1 = K_2 = N\cdot f_d\]

  Otherwise:

  \[K_2 = \frac{K + \left[0.5(1-\beta^2) + (1-\beta^2)^2\right]}{\beta^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 (roughness = 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

    Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.

  Examples

      >>> K_lift_check_valve_Crane(.01, .02)
      28.597361811128465

fluids.fittings.K_tilting_disk_check_valve_Crane(D, angle, fd=None)

  Returns the loss coefficient for a tilting disk check valve as shown in [1]. Results are specified in [1] to be for the disk’s resting position to be at 5 or 25 degrees to the flow direction. The model is implemented here so as to switch to the higher loss 15 degree coefficients at 10 degrees, and use the lesser coefficients for any angle under 10 degrees.

  \[K = N\cdot f_d\]

  N is obtained from the following table:

  | angle = 5 ° | angle = 15°
  --- | --- | ---
  2-8” | 40 | 120
  10-14” | 30 | 90
  16-48” | 20 | 60

  The actual change of coefficients happen at <= 9” and <= 15”.

  Parameters
    D float

      Diameter of the pipe section the valve in mounted in; the same as the line size [m]

    angle float

      Angle of the tilting disk to the flow direction; nominally 5 or 15 degrees [degrees]

    fd float, optional

      Darcy friction factor calculated for the actual pipe flow in clean steel (roughness = 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(1,2)

    Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.

  Examples

      >>> K_tilting_disk_check_valve_Crane(.01, 5)
      1.1626516551826345

fluids.fittings.K_globe_stop_check_valve_Crane(D1, D2, fd=None, style=0)

  Returns the loss coefficient for a globe stop check valve as shown in [1].

  If β = 1:

  \[K = K_1 = K_2 = N\cdot f_d\]

  Otherwise:

  \[K_2 = \frac{K + \left[0.5(1-\beta^2) + (1-\beta^2)^2\right]}{\beta^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 (roughness = 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(1,2)

    Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.

  Examples

      >>> K_globe_stop_check_valve_Crane(.1, .02, style=1)
      4.5235076518969795

fluids.fittings.K_angle_stop_check_valve_Crane(D1, D2, fd=None, style=0)

  Returns the loss coefficient for a angle stop check valve as shown in [1].

  If β = 1:

  \[K = K_1 = K_2 = N\cdot f_d\]

  Otherwise:

  \[K_2 = \frac{K + \left[0.5(1-\beta^2) + (1-\beta^2)^2\right]}{\beta^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 (roughness = 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(1,2)

    Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.

  Examples

      >>> K_angle_stop_check_valve_Crane(.1, .02, style=1)
      4.525425593879809

fluids.fittings.K_ball_valve_Crane(D1, D2, angle, fd=None)

  Returns the loss coefficient for a ball valve as shown in [1].

  If β = 1:

  \[K = K_1 = K_2 = 3f_d\]

  If β < 1 and θ <= 45°:

  \[K_2 = \frac{K + \sin \frac{\theta}{2} \left[0.8(1-\beta^2) + 2.6(1-\beta^2)^2\right]} {\beta^4}\]

  If β < 1 and θ > 45°:

  \[K_2 = \frac{K + 0.5\sqrt{\sin\frac{\theta}{2}}(1-\beta^2) + (1-\beta^2)^2}{\beta^4}\]
  Parameters
    D1 float

      Diameter of the valve seat 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 (roughness = 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

    Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.

  Examples

      >>> K_ball_valve_Crane(.01, .02, 50)
      14.051310974926592

fluids.fittings.K_diaphragm_valve_Crane(D=None, fd=None, style=0)

  Returns the loss coefficient for a diaphragm valve of either weir (style = 0) or straight-through (style = 1) as shown in [1].

  \[K = K_1 = K_2 = N\cdot f_d\]

  For style 0 (weir), N = 149; for style 1 (straight through), N = 39.

  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 (roughness = 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 (weir type valve) or 1 (straight through weir 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

    Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.

  Examples

      >>> K_diaphragm_valve_Crane(D=.1, style=0)
      2.4269804835982565

fluids.fittings.K_foot_valve_Crane(D=None, fd=None, style=0)

  Returns the loss coefficient for a foot valve of either poppet disc (style = 0) or hinged-disk (style = 1) as shown in [1]. Both valves are specified include the loss of the attached strainer.

  \[K = K_1 = K_2 = N\cdot f_d\]

  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 (roughness = 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

    Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.

  Examples

      >>> K_foot_valve_Crane(D=0.2, style=0)
      5.912221498436275

fluids.fittings.K_butterfly_valve_Crane(D, fd=None, style=0)

  Returns the loss coefficient for a butterfly valve as shown in [1]. Three different types are supported; Centric (style = 0), double offset (style = 1), and triple offset (style = 2).

  \[K = N\cdot f_d\]

  N is obtained from the following table:

  Size range | Centric | Double offset | Triple offset
  --- | --- | --- | ---
  2” - 8” | 45 | 74 | 218
  10” - 14” | 35 | 52 | 96
  16” - 24” | 25 | 43 | 55

  The actual change of coefficients happen at <= 9” and <= 15”.

  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 (roughness = 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

    Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.

  Examples

      >>> K_butterfly_valve_Crane(D=.1, style=2)
      3.5508841974793284

fluids.fittings.K_plug_valve_Crane(D1, D2, angle, fd=None, style=0)

  Returns the loss coefficient for a plug valve or cock valve as shown in [1].

  If β = 1:

  \[K = K_1 = K_2 = Nf_d\]

  Otherwise:

  \[K_2 = \frac{K + 0.5\sqrt{\sin\frac{\theta}{2}}(1-\beta^2) + (1-\beta^2)^2}{\beta^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 (roughness = 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

    Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.

  Examples

      >>> K_plug_valve_Crane(D1=.01, D2=.02, angle=50)
      19.80513692341617

## Hooper 2K fittings

fluids.fittings.Hooper2K(Di, Re, name=None, K1=None, Kinfty=None)

  Returns loss coefficient for any various fittings, depending on the name input. Alternatively, the Hooper constants K1, Kinfty may be provided and used instead. Source of data is [1]. Reviews of this model are favorable less favorable than the Darby method but superior to the constant-K method.

  \[K = \frac{K_1}{Re} + K_\infty\left(1 + \frac{1\text{ inch}}{D_{in}}\right)\]

  Note this model uses actual inside pipe diameter in inches.

  Parameters
    Di float

      Actual inside diameter of the pipe, [in]

    Re float

      Reynolds number, [-]

    name str, optional

      String from Hooper dict representing a fitting

    K1 float, optional

      K1 parameter of Hooper model, optional [-]

    Kinfty float, optional

      Kinfty parameter of Hooper model, optional [-]

  Returns
    K float

      Loss coefficient [-]

  Notes

  Also described in Ludwig’s Applied Process Design. Relatively uncommon to see it used. No actual example found.

  References

  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. Amsterdam ; Boston: Gulf Professional Publishing, 2007.

  Examples

      >>> Hooper2K(Di=2., Re=10000., name='Valve, Globe, Standard')
      6.15
      >>> Hooper2K(Di=2., Re=10000., K1=900, Kinfty=4)
      6.09

fluids.fittings.Hooper = {'Elbow, 180°, Long-radius (R/D = 1.5), All types': (1000.0, 0.3), 'Elbow, 180°, Standard (R/D = 1), Flanged/welded': (1000.0, 0.35), 'Elbow, 45°, Long-radius (R/D 1.5), All types': (500.0, 0.15), 'Elbow, 45°, Mitered (R/D=1.5), 1 weld (45° angle)': (500.0, 0.25), 'Elbow, 45°, Mitered (R/D=1.5), 2 weld (22.5° angle)': (500.0, 0.15), 'Elbow, 45°, Standard (R/D = 1), All types': (500.0, 0.2), 'Elbow, 45°, Standard (R/D = 1), Screwed': (1000.0, 0.7), 'Elbow, 90°, Long-radius (R/D = 1.5), All types': (800.0, 0.2), 'Elbow, 90°, Mitered (R/D = 1.5), 1 weld (90° angle)': (1000.0, 1.15), 'Elbow, 90°, Mitered (R/D = 1.5), 2 weld (45° angle)': (800.0, 0.35), 'Elbow, 90°, Mitered (R/D = 1.5), 3 weld (30° angle)': (800.0, 0.3), 'Elbow, 90°, Mitered (R/D = 1.5), 4 weld (22.5° angle)': (800.0, 0.27), 'Elbow, 90°, Mitered (R/D = 1.5), 5 weld (18° angle)': (800.0, 0.25), 'Elbow, 90°, Standard (R/D = 1), Flanged/welded': (800.0, 0.25), 'Elbow, 90°, Standard (R/D = 1), Screwed': (800.0, 0.4), 'Elbow, Elbow, Long-radius, Screwed': (800.0, 0.4), 'Elbow, Elbow, Standard, Flanged/welded': (800.0, 0.8), 'Elbow, Elbow, Stub-in type branch': (1000.0, 1.0), 'Elbow, Used as, Standard, Screwed': (500.0, 0.7), 'Tee, Run, Screwed': (200.0, 0.1), 'Tee, Tee, Stub-in type branch': (100.0, 0.0), 'Tee, Through, Flanged or welded': (150.0, 0.05), 'Valve, Ball, Reduced trim, Beta = 0.9': (500.0, 0.15), 'Valve, Butterfly,': (800.0, 0.25), 'Valve, Check, Lift': (2000.0, 10.0), 'Valve, Check, Swing': (1500.0, 1.5), 'Valve, Check, Tilting-disc': (1000.0, 0.5), 'Valve, Diaphragm, Dam type': (1000.0, 2.0), 'Valve, Gate, Full line size, Beta = 1': (300.0, 0.1), 'Valve, Globe, Angle or Y-type': (1000.0, 2.0), 'Valve, Globe, Standard': (1500.0, 4.0), 'Valve, Plug, Reduced trim, Beta = 0.8': (1000.0, 0.25)}

  Dictionary of coefficients for Hooper’s 2K fitting pressure drop method; the tuple contains \(K_1\) and \(K_\infty\) in that order.

## Darby 3K fittings

fluids.fittings.Darby3K(NPS=None, Re=None, name=None, K1=None, Ki=None, Kd=None, Di=None)

  Returns loss coefficient for any various fittings, depending on the name input. Alternatively, the Darby constants K1, Ki and Kd may be provided and used instead. Source of data is [1]. Reviews of this model are favorable.

  \[K_f = \frac{K_1}{Re} + K_i\left(1 + \frac{K_d}{D_{\text{NPS}}^{0.3}} \right)\]

  Note this model uses nominal pipe diameter in inches.

  Parameters
    NPS float

      Nominal diameter of the pipe, [in]

    Re float

      Reynolds number, [-]

    name str

      String from Darby dict representing a fitting

    K1 float

      K1 parameter of Darby model, optional [-]

    Ki float

      Ki parameter of Darby model, optional [-]

    Kd float

      Kd parameter of Darby model, optional [in]

    Di float

      If specified, the NPS will be found by interpolating linearly (with extrapolation) along the schedule 40 diameters and NPSs; this will supersede NPS if it is specified, [m]

  Returns
    K float

      Loss coefficient [-]

  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

    Silverberg, Peter, and Ron Darby. “Correlate Pressure Drops through Fittings: Three Constants Accurately 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.

  Examples

      >>> Darby3K(NPS=2., Re=10000., name='Valve, Angle valve, 45°, full line size, β = 1')
      1.1572523963562356
      >>> Darby3K(Di=.05248, Re=10000., name='Valve, Angle valve, 45°, full line size, β = 1')
      1.1572523963562356
      >>> Darby3K(NPS=12., Re=10000., K1=950,  Ki=0.25,  Kd=4)
      0.819510280626355

fluids.fittings.Darby = {'Elbow, 180°, all, (r/D = 1.5)': (1000.0, 0.1, 4.0), 'Elbow, 180°, flanged, (r/D = 1)': (1000.0, 0.12, 4.0), 'Elbow, 180°, threaded, close-return bend, (r/D = 1)': (1000.0, 0.23, 4.0), 'Elbow, 45°, long radius, (r/D = 1.5)': (500.0, 0.052, 4.0), 'Elbow, 45°, mitered, 1 weld, (45°)': (500.0, 0.086, 4.0), 'Elbow, 45°, mitered, 2 welds, (22.5°)': (500.0, 0.052, 4.0), 'Elbow, 45°, threaded standard, (r/D = 1)': (500.0, 0.071, 4.2), 'Elbow, 90°, (r/D = 2)': (800.0, 0.056, 3.9), 'Elbow, 90°, (r/D = 4)': (800.0, 0.066, 3.9), 'Elbow, 90°, (r/D = 6)': (800.0, 0.075, 4.2), 'Elbow, 90°, 2 welds, (45°)': (800.0, 0.068, 4.1), 'Elbow, 90°, 3 welds, (30°)': (800.0, 0.035, 4.2), 'Elbow, 90°, flanged, welded, bends, (r/D = 1)': (800.0, 0.091, 4.0), 'Elbow, 90°, mitered, 1 weld, (90°)': (1000.0, 0.27, 4.0), 'Elbow, 90°, threaded, long radius, (r/D = 1.5)': (800.0, 0.071, 4.2), 'Elbow, 90°, threaded, standard, (r/D = 1)': (800.0, 0.14, 4.0), 'Tee, Run-through, flanged, (r/D = 1)': (150.0, 0.05, 4.0), 'Tee, Run-through, stub-in branch': (100.0, 0.0, 0.0), 'Tee, Run-through, threaded, (r/D = 1)': (200.0, 0.091, 4.0), 'Tee, Through-branch, (as elbow), flanged, (r/D = 1)': (800.0, 0.28, 4.0), 'Tee, Through-branch, (as elbow), stub-in branch': (1000.0, 0.34, 4.0), 'Tee, Through-branch, (as elbow), threaded, (r/D = 1)': (500.0, 0.274, 4.0), 'Tee, Through-branch,(as elbow), (r/D = 1.5)': (800.0, 0.14, 4.0), 'Valve, Angle valve, 45°, full line size, β = 1': (950.0, 0.25, 4.0), 'Valve, Angle valve, 90°, full line size, β = 1': (1000.0, 0.69, 4.0), 'Valve, Ball valve, standard, β = 1': (300.0, 0.017, 3.5), 'Valve, Diaphragm, dam type': (1000.0, 0.69, 4.9), 'Valve, Gate valve, standard, β = 1': (300.0, 0.037, 3.9), 'Valve, Globe valve, standard, β = 1': (1500.0, 1.7, 3.6), 'Valve, Lift check': (2000.0, 2.85, 3.8), 'Valve, Plug valve, branch flow': (500.0, 0.41, 4.0), 'Valve, Plug valve, straight through': (300.0, 0.084, 3.9), 'Valve, Plug valve, three-way (flow through)': (300.0, 0.14, 4.0), 'Valve, Swing check': (1500.0, 0.46, 4.0)}

  Dictionary of coefficients for Darby’s 3K fitting pressure drop method; the tuple contains \(K_1\) and \(K_i\) and \(K_d\) in that order.

## Loss Coefficient Converters

fluids.fittings.Cv_to_K(Cv, D)

  Convert imperial valve flow coefficient from imperial units to regular loss coefficients.

  \[K = 1.6\times 10^9 \frac{D^4}{\left(\frac{C_v}{1.56}\right)^2}\]
  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

    ISA-75.01.01-2007 (60534-2-1 Mod) Draft

  Examples

      >>> Cv_to_K(2.712, .015)
      14.719595348352

fluids.fittings.Kv_to_K(Kv, D)

  Convert valve flow coefficient from common metric units to regular loss coefficients.

  \[K = 1.6\times 10^9 \frac{D^4}{K_v^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.

  \[ \begin{align}\begin{aligned}\Delta P = 1 \text{ bar} = \frac{1}{2}\rho V^2\cdot K\\V = \frac{\frac{K_v\cdot \text{ hour}}{3600 \text{ second}}}{\frac{\pi}{4}D^2}\\\rho = 999.29744568 \;\; kg/m^3 \text{ at } T=60° F, P = 703572 Pa\end{aligned}\end{align} \]

  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

    ISA-75.01.01-2007 (60534-2-1 Mod) Draft

  Examples

      >>> Kv_to_K(2.312, .015)
      15.153374600399898

fluids.fittings.K_to_Cv(K, D)

  Convert regular loss coefficient to imperial valve flow coefficient.

  \[K_v = 1.156 \cdot 4\times 10^4 \sqrt{ \frac{D^4}{K}}\]
  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

    ISA-75.01.01-2007 (60534-2-1 Mod) Draft

  Examples

      >>> K_to_Cv(16, .015)
      2.601223263795727

fluids.fittings.K_to_Kv(K, D)

  Convert regular loss coefficient to valve flow coefficient.

  \[K_v = 4\times 10^4 \sqrt{ \frac{D^4}{K}}\]
  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.

  \[ \begin{align}\begin{aligned}\Delta P = 1 \text{ bar} = \frac{1}{2}\rho V^2\cdot K\\V = \frac{\frac{K_v\cdot \text{ hour}}{3600 \text{ second}}}{\frac{\pi}{4}D^2}\\\rho = 999.29744568 \;\; kg/m^3 \text{ at } T=60° F, P = 703572 Pa\end{aligned}\end{align} \]

  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

    ISA-75.01.01-2007 (60534-2-1 Mod) Draft

  Examples

      >>> K_to_Kv(15.15337460039990, .015)
      2.312

fluids.fittings.Cv_to_Kv(Cv)

  Convert valve flow coefficient from imperial to common metric units.

  \[K_v = C_v/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

    ISA-75.01.01-2007 (60534-2-1 Mod) Draft

  Examples

      >>> Cv_to_Kv(2.312)
      1.9998283393826013

fluids.fittings.Kv_to_Cv(Kv)

  Convert valve flow coefficient from imperial to common metric units.

  \[C_v = 1.156 K_v\]
  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

    ISA-75.01.01-2007 (60534-2-1 Mod) Draft

  Examples

      >>> Kv_to_Cv(2)
      2.3121984567073133

## Miscellaneous

fluids.fittings.v_lift_valve_Crane(rho, D1=None, D2=None, style='swing check angled')

  Calculates the approximate minimum velocity required to lift the disk or other controlling element of a check valve to a fully open, stable, position according to the Crane method [1].

  \[v_{min} = N\cdot \text{m/s} \cdot \sqrt{\frac{\text{kg/m}^3}{\rho}}\]
  \[v_{min} = N\beta^2 \cdot \text{m/s} \cdot \sqrt{\frac{\text{kg/m}^3}{\rho}}\]

  See the notes for the definition of values of N and which check valves use which formulas.

  Parameters
    rho float

      Density of the fluid [kg/m^3]

    D1 float, optional

      Diameter of the valve bore (must be equal to or smaller than D2), [m]

    D2 float, optional

      Diameter of the pipe attached to the valve, [m]

    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

  This equation is not dimensionless.

  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

    Crane Co. Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.

  Examples

      >>> v_lift_valve_Crane(rho=998.2, D1=0.0627, D2=0.0779, style='lift check straight')
      1.0252301935349286

## Sources

The main sources for these correlations are as follows [100] [101] [102] [103] [104]:

100

  Crane Co. TP 410 Flow of Fluids Through Valves, Fittings, and Pipe. Crane, 2009.

101

  Rennels, Donald C., and Hobart M. Hudson. Pipe Flow: A Practical and Comprehensive Guide. 1st edition. Hoboken, N.J: Wiley, 2012.

102

  Miller, Donald S. Internal Flow Systems: Design and Performance Prediction. Gulf Publishing Company, 1990.

103

  Idel’chik, I. E. Handbook of Hydraulic Resistance: Coefficients of Local Resistance and of Friction (Spravochnik Po Gidravlicheskim Soprotivleniyam, Koeffitsienty Mestnykh Soprotivlenii i Soprotivleniya Treniya). National technical information Service, 1966.

104

  Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co., 1984.