CircularTube

class pychemengg.heattransfer.internalflow.CircularTube[source]

Bases: object

For heat transfer from fluid flow through a circular tube.

Parameters
`None_required`‘None’

This class takes no parameters for instance creation.

Examples

First import the module internalflow.

>>> from pychemengg.heattransfer import internalflow as intflow 
>>> tube = intflow.CircularTube
# This will assign the class 'CircularTube' to the variable 'tube'.
# Methods of the class 'CircularTube' can then be called like so :-
# tube.method(kwarg1=x, ...)
Attributes
`None_required`‘None’

This class does not expose any instance attributes.

__init__(*args, **kwargs)

Methods

Nu_annulus_laminar([outerannulus_diameter, …])

Nusselt number for laminar flow in annulus (one surface is isothermal and other adiabatic)

Nu_constantsurfacetemp_laminar()

Nusselt number for laminar flow in tube (constant tube surface temperature).

Nu_dittusboelter([Re, Pr, thermal_ID])

Nusselt number for turbulent flow constant tube surface temperature.

Nu_gnielinski([Re, Pr])

Nusselt number for turbulent flow constant tube surface temperature.

Nu_liquidmetal_constflux([Re, Pr_surface])

Nusselt number for liquid metals (constant flux case).

Nu_liquidmetal_isothermal([Re, Pr_surface])

Nusselt number for liquid metals (isothermal case).

Nu_siedertate([Re, Pr, viscosity_bulk, …])

Nusselt number for turbulent flow constant tube surface temperature.

Nu_thermallyandhydrodynamicallydeveloping_laminar_siedertate([…])

Nusselt number for thermally developing and hydrodynamically developing laminar flow and constant tube surface temperature.

Nu_thermallydeveloping_laminar_edwards([Re, …])

Nusselt number for thermally developing laminar flow and constant tube surface temperature.

Nu_uniformheatflux_laminar()

Nusselt number for laminar flow in tube with constant heat flux.

__init__(*args, **kwargs)

frictionfactor_laminar([Re])

Computes friction factor for laminar flow in a pipe.

frictionfactor_turbulent([Re, diameter, …])

Computes friction factor for turbulent flow in a pipe.

hydrodynamic_entrylength_laminar([Re, diameter])

Computes laminar hydrodynamic entry length.

hydrodynamic_entrylength_turbulent([diameter])

Computes turbulent hydrodynamic entry length.

pressuredrop([length, diameter, …])

Computes pressure drop for flow in a pipe.

thermal_entrylength_laminar([Re, Pr, diameter])

Computes laminar thermal entry length.

thermal_entrylength_turbulent([diameter])

Computes turbulent thermal entry length.

Nu_annulus_laminar(outerannulus_diameter=None, innerannulus_diameter=None, findNUat_ID='innerannulus_diameter')[source]

Nusselt number for laminar flow in annulus (one surface is isothermal and other adiabatic)

Parameters
outerannulus_diameterint or float

Outer annulus diameter for fluid flow.

innerannulus_diameterint or float

Inner annulus diameter for fluid flow.

findNUat_IDstr

Annulus diameter where Nu is to be found. Default = “innerannulus_diameter”, second option = “outerannulus_diameter”

Returns
Nuint or float

Average Nusselt number

Notes

A look table is provided in textbooks with ratio of outerannulus_diameter/innerannulus_diameter in one column and Nu_at_innerannulus_diameter and Nu_at_outerannulus_diameter in other two columns. This table is implemented and values are interpolated as required.

References

[1] Yunus A. Cengel and Afshin J. Ghajar, “Heat And Mass Transfer Fundamentals and Applications”, 6th Edition. New York, McGraw Hill Education, 2020.

Examples

First import the module internalflow.

>>> from pychemengg.heattransfer import internalflow as intflow 
>>> tube = intflow.CircularTube()
>>> tube.Nu_annulus_laminar(outerannulus_diameter=0.1,
                            innerannulus_diameter=0.025,
                            findNUat_ID="innerannulus_diameter")
741.7512113817678
Nu_constantsurfacetemp_laminar()[source]

Nusselt number for laminar flow in tube (constant tube surface temperature).

Parameters
`None_required`‘None’
Returns
Nufloat

Nusselt number = 3.36

Notes

The following formula is used:

\[Nu = 3.36\]

References

[1] Yunus A. Cengel and Afshin J. Ghajar, “Heat And Mass Transfer Fundamentals and Applications”, 6th Edition. New York, McGraw Hill Education, 2020.

Examples

First import the module internalflow.

>>> from pychemengg.heattransfer import internalflow as intflow 
>>> tube = intflow.CircularTube()
>>> tube.Nu_constantsurfacetemp_laminar()
3.36
Nu_dittusboelter(Re=None, Pr=None, thermal_ID='heated')[source]

Nusselt number for turbulent flow constant tube surface temperature.

Parameters
Reint or float

Reynolds number for tube/pipe

Print or float

Prandtl number for the fluid.

thermal_IDstr

Identifier for whether fluid is being “heated” or “cooled”. Default = “heated”

Returns
Nuint or float

Average Nusselt number

Warning

A Nusselt number is returned based on the equation even if parameters (such as Re, Pr) do not fall in their respective allowable range limits (see above under ‘Notes’). However, if this happens, a warning is issued.

Notes

The following formula is used:

\[Nu = 0.023 Re^{0.8} Pr^{n}\]

where:

n = 0.3 when fluid is “cooled”

= 0.4 when fluid is “heated”

Re = Reynolds number

Pr = Prandtl number

\(Re > 10000\) (for turbulent flow)

All fluid properties are at bulk mean temp (\(T_{b}\)):

\(T_{b} = (T_{fluid,in} + T_{fluid,out})/2\)

References

[1] Yunus A. Cengel and Afshin J. Ghajar, “Heat And Mass Transfer Fundamentals and Applications”, 6th Edition. New York, McGraw Hill Education, 2020.

Examples

First import the module internalflow.

>>> from pychemengg.heattransfer import internalflow as intflow 
>>> tube = intflow.CircularTube()
>>> tube.Nu_dittusboelter(Re=10760, Pr=4.32, thermal_ID="heated")
69.40186669836865
Nu_gnielinski(Re=None, Pr=None)[source]

Nusselt number for turbulent flow constant tube surface temperature. A more accurate correlation.

Parameters
Reint or float

Reynolds number for tube/pipe

Print or float

Prandtl number for the fluid.

Returns
Nuint or float

Average Nusselt number

Warning

A Nusselt number is returned based on the equation even if parameters (such as Re, Pr) do not fall in their respective allowable range limits (see above under ‘Notes’). However, if this happens, a warning is issued.

Notes

The following formula is used:

\[Nu = \cfrac{(f/8) (Re-1000) Pr}{ 1+12.7(f/8)^{0.5} (Pr^{2/3}-1)}\]
where:

Re = Reynolds number

Pr = Prandtl number

f = friction factor (can be determined from different correlations.

Here following ‘Petukhov’ correlation is used.)

\(f=(0.790 \ln Re - 1.64)^{-2}\) (Petukhov correlation)

\(3*10^3\eqslantless Re \eqslantless 5*10^6\) (for turbulent flow)

\(0.5 \eqslantless Pr \eqslantless 2000\)

All fluid properties are at bulk mean temp (\(T_{b}\)):

\(T_{b} = (T_{fluid,in} + T_{fluid,out})/2\)

References

[1] Yunus A. Cengel and Afshin J. Ghajar, “Heat And Mass Transfer Fundamentals and Applications”, 6th Edition. New York, McGraw Hill Education, 2020. [2] M. N. Ozisik, “Heat Transfer A Basic Approach”, McGraw Hill, 1985.

Examples

First import the module internalflow.

>>> from pychemengg.heattransfer import internalflow as intflow 
>>> tube = intflow.CircularTube()
>>> tube.Nu_siedertate(Re=2.04e5, Pr=3.02,
                       viscosity_bulk=4.71,
                       viscosity_surfaceace=2.82)
741.7512113817678
Nu_liquidmetal_constflux(Re=None, Pr_surface=None)[source]

Nusselt number for liquid metals (constant flux case).

Parameters
Reint or float

Reynolds number.

Pr_surfaceint or float

Prandtl number at surface temperature.

Returns
Nuint or float

Average Nusselt number.

Notes

The following formula is used:

\[Nu = 6.3 + 0.0167 Re^{0.85} Pr_{surface}^{0.93}\]
where:

Re = Reynolds number

\(Pr_{surface}\) = Prandtl number at surface temperature

\(10^4\eqslantless Re \eqslantless 10^6\) (for turbulent flow)

\(0.004 \eqslantless Pr \eqslantless 0.01\)

All fluid properties are at bulk mean temp (\(T_{b}\)):

\(T_{b} = (T_{fluid,in} + T_{fluid,out})/2\)

except \(\Pr_{surface}\) is at surface temperature

References

[1] Yunus A. Cengel and Afshin J. Ghajar, “Heat And Mass Transfer Fundamentals and Applications”, 6th Edition. New York, McGraw Hill Education, 2020.

Examples

First import the module internalflow.

>>> from pychemengg.heattransfer import internalflow as intflow 
>>> tube = intflow.CircularTube()
>>> tube.Nu_liquidmetal_constflux(Re=13570, Pr_surface=0.0119)
7.182405112679119
Nu_liquidmetal_isothermal(Re=None, Pr_surface=None)[source]

Nusselt number for liquid metals (isothermal case).

Parameters
Reint or float

Reynolds number.

Pr_surfaceint or float

Prandtl number at surface temperature.

Returns
Nuint or float

Average Nusselt number

Notes

The following formula is used:

\[Nu = 4.8 + 0.0156 Re^{0.85} Pr_{surface}^{0.93}\]
where:

Re = Reynolds number

\(Pr_{surface}\) = Prandtl number at surface temperature

\(10^4\eqslantless Re \eqslantless 10^6\) (for turbulent flow)

\(0.004 \eqslantless Pr \eqslantless 0.01\)

All fluid properties are at bulk mean temp (\(T_{b}\)):

\(T_{b} = (T_{fluid,in} + T_{fluid,out})/2\)

except \(\Pr_{surface}\) is at surface temperature

References

[1] Yunus A. Cengel and Afshin J. Ghajar, “Heat And Mass Transfer Fundamentals and Applications”, 6th Edition. New York, McGraw Hill Education, 2020.

Examples

First import the module internalflow.

>>> from pychemengg.heattransfer import internalflow as intflow 
>>> tube = intflow.CircularTube()
>>> tube. Nu_liquidmetal_isothermal(Re=13570, Pr_surface=0.0119)
5.624282620227201
Nu_siedertate(Re=None, Pr=None, viscosity_bulk=None, viscosity_surfaceace=None)[source]

Nusselt number for turbulent flow constant tube surface temperature. Use when temperature differences are large.

Parameters
Reint or float

Reynolds number for tube/pipe

Print or float

Prandtl number for the fluid.

viscosity_bulkint or float

fluid viscosity at bulk temperature

viscosity_surfaceint or float

fluid viscosity at surface temperature

Returns
Nuint or float

Average Nusselt number

Warning

A Nusselt number is returned based on the equation even if parameters (such as Re, Pr) do not fall in their respective allowable range limits (see above under ‘Notes’). However, if this happens, a warning is issued.

Notes

The following formula is used:

\[Nu = 0.027 Re^{0.8} Pr^{1/3} \left( \frac {\mu_{bulk}} {\mu_{surface}} \right)^{0.14} \]
where:

Re = Reynolds number

Pr = Prandtl number

\(\mu_{bulk}\) = viscosity at bulk temperature

\(\mu_{surface}\) = viscosity at surface temperature

\(Re > 10000\) (for turbulent flow)

\(0.7 \eqslantless Pr \eqslantless 16700\)

All fluid properties are at bulk mean temp (\(T_{b}\)):

\(T_{b} = (T_{fluid,in} + T_{fluid,out})/2\)

except \(\mu_{surface}\) is at surface temperature

References

[1] Yunus A. Cengel and Afshin J. Ghajar, “Heat And Mass Transfer Fundamentals and Applications”, 6th Edition. New York, McGraw Hill Education, 2020. [2] M. N. Ozisik, “Heat Transfer A Basic Approach”, McGraw Hill, 1985.

Examples

First import the module internalflow.

>>> from pychemengg.heattransfer import internalflow as intflow 
>>> tube = intflow.CircularTube()
>>> tube.Nu_siedertate(self, Re=2.04e5, Pr=3.02,
                       viscosity_bulk=4.71,
                       viscosity_surfaceace=2.82)
741.7512113817678
Nu_thermallyandhydrodynamicallydeveloping_laminar_siedertate(Re=None, Pr=None, length=None, diameter=None, viscosity_bulk=None, viscosity_surface=None)[source]

Nusselt number for thermally developing and hydrodynamically developing laminar flow and constant tube surface temperature.

Parameters
Reint or float

Reynolds number for tube/pipe

Print or float

Prandtl number for the fluid.

lengthint or float

Length of tube

diameterint or float

Diameter of tube

viscosity_bulkint or float

fluid viscosity at bulk temperature

viscosity_surfaceint or float

fluid viscosity at surface temperature

Returns
Nuint or float

Average Nusselt number

Warning

A Nusselt number is returned based on the equation even if parameters (such as Re, Pr) do not fall in their respective allowable range limits (see above under ‘Notes’). However, if this happens, a warning is issued.

Notes

The following formula is used:

\[Nu = 1.86 \left(\frac{Re Pr D} {L}\right)^{1/3} \left(\frac{\mu_{bulk}} {\mu_{surface}}\right)^{0.14}\]
where:

Re = Reynolds number

Pr = Prandtl number

D = Pipe inner diameter

L = Pipe length

\(\mu_{bulk}\) = viscosity at bulk temperature

\(\mu_{surface}\) = viscosity at surface temperature

\(Re < 2300\) (for laminar flow)

\(0.6 \eqslantless Pr \eqslantless 5\)

\(0.0044 \eqslantless \left(\frac{\mu_{bulk}} {\mu_{surface}}\right) \eqslantless 9.75\)

All fluid properties are at bulk mean temp (\(T_{b}\)):

\(T_{b} = (T_{fluid,in} + T_{fluid,out})/2\)

except \(\mu_{surface}\) is at surface temperature

References

[1] Yunus A. Cengel and Afshin J. Ghajar, “Heat And Mass Transfer Fundamentals and Applications”, 6th Edition. New York, McGraw Hill Education, 2020.

Examples

First import the module internalflow.

>>> from pychemengg.heattransfer import internalflow as intflow 
>>> tube = intflow.CircularTube()
>>> tube.Nu_thermallyandhydrodynamicallydeveloping_laminar_siedertate(Re=1390, Pr=0.7228,
                                length=0.1, diameter=0.005, viscosity_bulk=1.963,
                                viscosity_surface=2.420)
6.664822962495227
Nu_thermallydeveloping_laminar_edwards(Re=None, Pr=None, length=None, diameter=None)[source]

Nusselt number for thermally developing laminar flow and constant tube surface temperature.

Parameters
Reint or float

Reynolds number for tube/pipe

Print or float

Prandtl number for the fluid.

lengthint or float

Length of tube

diameterint or float

Diameter of tube

Returns
Nuint or float

Average Nusselt number

Warning

A Nusselt number is returned based on the equation even if parameters (such as Re, Pr) do not fall in their respective allowable range limits (see above under ‘Notes’). However, if this happens, a warning is issued.

Notes

The following formula is used:

\[Nu = 3.66 + \cfrac {0.065 (D/L) Re Pr} {1 + 0.04[(D/L) Re Pr]^{2/3}}\]

where:

Re = Reynolds number

Pr = Prandtl number

D = Pipe inner diameter

L = Pipe length

\(Re < 2300\) (for laminar flow)

All fluid properties are at bulk mean temp (\(T_{b}\)):

\(T_{b} = (T_{fluid,in} + T_{fluid,out})/2\)

except \(\mu_{surface}\)

References

[1] Yunus A. Cengel and Afshin J. Ghajar, “Heat And Mass Transfer Fundamentals and Applications”, 6th Edition. New York, McGraw Hill Education, 2020.

Examples

First import the module internalflow.

>>> from pychemengg.heattransfer import internalflow as intflow 
>>> tube = intflow.CircularTube()
>>> tube.Nu_thermallydeveloping_laminar_edwards(Re=77.16, Pr=28750,
                                      length=1500, diameter=0.4)
13.729061335098443
Nu_uniformheatflux_laminar()[source]

Nusselt number for laminar flow in tube with constant heat flux.

Parameters
`None_required`‘None’
Returns
Nufloat

Nusselt number = 4.36

Notes

The following formula is used:

\[Nu = 4.36\]

References

[1] Yunus A. Cengel and Afshin J. Ghajar, “Heat And Mass Transfer Fundamentals and Applications”, 6th Edition. New York, McGraw Hill Education, 2020.

Examples

First import the module internalflow.

>>> from pychemengg.heattransfer import internalflow as intflow 
>>> tube = intflow.CircularTube()
>>> tube.Nu_uniformheatflux_laminar()
4.36
frictionfactor_laminar(Re=None)[source]

Computes friction factor for laminar flow in a pipe.

Parameters
Reint or float

Reynolds number

Returns
friction factorint or float

Friction factor for flowing fluid in pipe

Warning

A friction factor is returned based on the equation even if parameters (such as Re) do not fall in their respective allowable range limits (see above under ‘Notes’). However, if this happens, a warning is issued.

Notes

The following formula is used:

\[f = \frac{64}{Re}\]

where:

Re = Reynolds number

f = friction factor

\(Re < 2300\) (for laminar flow)

All fluid properties are at bulk mean temp (\(T_{b}\)):

\(T_{b} = (T_{fluid,in} + T_{fluid,out})/2\)

References

[1] Yunus A. Cengel and Afshin J. Ghajar, “Heat And Mass Transfer Fundamentals and Applications”, 6th Edition. New York, McGraw Hill Education, 2020.

Examples

First import the module internalflow.

>>> from pychemengg.heattransfer import internalflow as intflow 
>>> tube = intflow.CircularTube()
>>> tube.frictionfactor_laminar(636)
0.10062893081761007
frictionfactor_turbulent(Re=None, diameter=None, roughness=None, surfacetype=None)[source]

Computes friction factor for turbulent flow in a pipe.

Parameters
Reint or float

Reynolds number.

diameterint or float

Inner diameter of pipe.

roughnessint or float

Roughness of pipe.

surfacetypestr

Indicates if surface is to be considered “rough” or “smooth”. At least one of the two must be entered.

Returns
friction factorint or float

Friction factor for flowing fluid in pipe

Warning

A friction factor is returned based on the equation even if parameters (such as Re) do not fall in their respective allowable range limits (see above under ‘Notes’). However, if this happens, a warning is issued.

Notes

The following formula is used:

for “smooth” surface

\[f=(0.790 \ln Re - 1.64)^{-2} \hspace{5pt}(Petukhov\hspace{5pt}correlation)\]

for “rough surface”

\[\frac{1}{\sqrt{f}} = ( -2.0 \log_{10} \left( \frac{\epsilon /D}{3.7} + \frac{2.51}{Re \sqrt{f}}\right) \hspace{5pt}(Colebrook\hspace{5pt}correlation)\]

where:

Re = Reynolds number

f = friction factor

\(\epsilon\) = surface roughness of inside of pipes

All fluid properties are at bulk mean temp (\(T_{b}\)):

\(T_{b} = (T_{fluid,in} + T_{fluid,out})/2\)

References

[1] Yunus A. Cengel and Afshin J. Ghajar, “Heat And Mass Transfer Fundamentals and Applications”, 6th Edition. New York, McGraw Hill Education, 2020.

Examples

First import the module internalflow.

>>> from pychemengg.heattransfer import internalflow as intflow 
>>> tube = intflow.CircularTube()
>>> tube.frictionfactor_turbulent(Re=126400, diameter=2/12, 
                             roughness=7e-6, surfacetype="rough")
0.017397627070796194
hydrodynamic_entrylength_laminar(Re=None, diameter=None)[source]

Computes laminar hydrodynamic entry length.

Parameters
Reint or float

Reynolds number.

diameterint or float

Inner diameter of pipe.

Returns
entry lengthint or float

Hydrodynamic entry length.

Warning

A friction factor is returned based on the equation even if parameters (such as Re) do not fall in their respective allowable range limits (see above under ‘Notes’). However, if this happens, a warning is issued.

Notes

The following formula is used:

\[L_{h} = 0.05 Re D\]

where:

Re = Reynolds number

D = internal diameter of pipe

\(L_h\) = hydrodynamic entry length

All fluid properties are at bulk mean temp (\(T_{b}\)):

\(T_{b} = (T_{fluid,in} + T_{fluid,out})/2\)

References

[1] Yunus A. Cengel and Afshin J. Ghajar, “Heat And Mass Transfer Fundamentals and Applications”, 6th Edition. New York, McGraw Hill Education, 2020.

Examples

First import the module internalflow.

>>> from pychemengg.heattransfer import internalflow as intflow 
>>> tube = intflow.CircularTube()
>>> tube.hydrodynamic_entrylength_laminar(Re=636, diameter=0.3)
9.54
hydrodynamic_entrylength_turbulent(diameter=None)[source]

Computes turbulent hydrodynamic entry length.

Parameters
diameterint or float

Inner diameter of pipe.

Returns
entry lengthint or float

Hydrodynamic entry length.

Notes

The following formula is used:

\[L_{h} = 10 D\]

where:

D = internal diameter of pipe

\(L_h\) = hydrodynamic entry length

References

[1] Yunus A. Cengel and Afshin J. Ghajar, “Heat And Mass Transfer Fundamentals and Applications”, 6th Edition. New York, McGraw Hill Education, 2020.

Examples

First import the module internalflow.

>>> from pychemengg.heattransfer import internalflow as intflow 
>>> tube = intflow.CircularTube()
>>> tube.hydrodynamic_entrylength_turbulent(diameter=0.03)
0.3
pressuredrop(length=None, diameter=None, frictionfactor=None, density=None, velocity=None)[source]

Computes pressure drop for flow in a pipe.

Parameters
lengthint or float

Length of pipe.

diameterint or float

Diameter of pipe.

frictionfactor: `int or float`

Friction factor of flowing fluid in pipe.

densityint or float

Density of fluid.

velocityint or float

Velocity of fluid in pipe.

Returns
pressure dropint or float

Pressure drop from flowing fluid in pipe

Notes

The following formula is used:

\[\Delta P = f \frac{L}{D} \frac{\rho V_{avg}^2}{2}\]

where:

\(\rho\) = density

\(V_{avg}\) = average velocity

L = pipe length

D = pipe inner diameter

f = friction factor

\(\Delta P\) = pressure drop in pipe

All fluid properties are at bulk mean temp (\(T_{b}\)):

\(T_{b} = (T_{fluid,in} + T_{fluid,out})/2\)

References

[1] Yunus A. Cengel and Afshin J. Ghajar, “Heat And Mass Transfer Fundamentals and Applications”, 6th Edition. New York, McGraw Hill Education, 2020.

Examples

First import the module internalflow.

>>> from pychemengg.heattransfer import internalflow as intflow 
>>> tube = intflow.CircularTube()
>>> tube.pressuredrop(length=200, diameter=0.3, frictionfactor=0.1006,
                 density=888.1, velocity=2)
119123.81333333332
thermal_entrylength_laminar(Re=None, Pr=None, diameter=None)[source]

Computes laminar thermal entry length.

Parameters
Reint or float

Reynolds number.

Print or float

Prandtl number.

diameterint or float

Inner diameter of pipe.

Returns
entry lengthint or float

Thermal entry length.

Warning

A friction factor is returned based on the equation even if parameters (such as Re) do not fall in their respective allowable range limits (see above under ‘Notes’). However, if this happens, a warning is issued.

Notes

The following formula is used:

\[L_{t} = 0.05 Re Pr D\]

where:

Re = Reynolds number

Pr = Prandtl number

D = internal diameter of pipe

\(L_t\) = thermal entry length

All fluid properties are at bulk mean temp (\(T_{b}\)):

\(T_{b} = (T_{fluid,in} + T_{fluid,out})/2\)

References

[1] Yunus A. Cengel and Afshin J. Ghajar, “Heat And Mass Transfer Fundamentals and Applications”, 6th Edition. New York, McGraw Hill Education, 2020.

Examples

First import the module internalflow.

>>> from pychemengg.heattransfer import internalflow as intflow 
>>> tube = intflow.CircularTube()
>>> tube.thermal_entrylength_laminar(Re=636, Pr=10863, diameter=0.3)
103633.02
thermal_entrylength_turbulent(diameter=None)[source]

Computes turbulent thermal entry length.

Parameters
diameterint or float

Inner diameter of pipe.

Returns
entry lengthint or float

Hydrodynamic entry length.

Notes

The following formula is used:

\[L_{t} = 10 D\]

where:

D = internal diameter of pipe

\(L_t\) = thermal entry length

References

[1] Yunus A. Cengel and Afshin J. Ghajar, “Heat And Mass Transfer Fundamentals and Applications”, 6th Edition. New York, McGraw Hill Education, 2020.

Examples

First import the module internalflow.

>>> from pychemengg.heattransfer import internalflow as intflow 
>>> tube = intflow.CircularTube()
>>> tube.thermal_entrylength_turbulent(diameter=0.03)
0.3