TubeBank

class pychemengg.heattransfer.externalflow.TubeBank(config='inline', totalrows=None, tubes_per_row=None, transverse_pitch=None, longitudanal_pitch=None, length=None, outer_tubediameter=None, T_infinity=None, velocity_infinity=None)[source]

Bases: object

Models a bank of tubes.

Parameters
configstr

Tube pitch arrangement (“inline” or “staggered”; Default:”inline”).

totalrowsint or float

Number of rows. Row: A line of tubes in direction perpendicular to the flow of fluid over the tubes.

tubes_per_rowint or float

Number of tubes in each row.

transverse_pitchint or float

Center-to-center distance between consecutive tubes within a row measured in a direction perpendicular to external flow of fluid.

longitudanal_pitchint or float

Center-to-center distance between tubes in consecutive rows measured in a direction parallel to external flow of fluid .

lengthint or float

Length of tubes (If not provided, assume = 1).

outer_tubediameterint or float

Diameter of tubes.

T_infinityint or float

Temperature of external fluid before it enters tube bank.

velocity_infinityint or float

Velocity of external fluid before it enters tube bank.

Examples

First import the module externalflow.

Units used in this example: SI system.

However, any consistent units can be used.

>>> from pychemengg.heattransfer import externalflow as extflow 
>>> tubebundle = extflow.TubeBank(config="staggered", totalrows=7, tubes_per_row=8,
                         transverse_pitch=31.3e-3, longitudanal_pitch=34.3e-3,
                         length=1, outer_tubediameter=16.4e-3,
                         T_infinity=15, velocity_infinity=6)
# This will create an instance of 'TubeBank'.
Attributes
See “Parameters”. Additional attributes are listed below.
diagonal_pitchint or float

Diagonal distance between tubes in adjacent rows.

viscosityint or float

Viscosity of external fluid at mean temperature of fluid.

specificheatint or float

Specific heat of external fluid at mean temperature of fluid.

thermalconductivityint or float

Thermal conductivity of external fluid at mean temperature of fluid.

density_surfaceint or float, optional

Density of fluid at surface temperature of tubes. Optional if Prandtl number at surface temperature will not be computed.

viscosity_surfaceint or float, optional

Viscosity of fluid at surface temperature of tubes. Optional if Prandtl number at surface temperature will not be computed.

specificheat_surfaceint or float, optional

Specific heat of fluid at surface temperature of tubes. Optional if Prandtl number at surface temperature will not be computed.

thermalconductivity_surfaceint or float, optional

Thermal conductivity of fluid at surface temperature of tubes. Optional if Prandtl number at surface temperature will not be computed.

T_outint or float

Temperature of external fluid at outlet of tube bank.

T_surfaceint or float

Temperature of tube surface.

Print or float

Prandtl number for the fluid.

Reint or float

Reynolds number for the fluid.

Nuint or float

Nusselt number for the fluid-tube bank heat exchange.

maxvelocityint or float

Maximum velocity of external fluid in tube bank.

Pr_surfaceint or float

Prandtl number at surface temperature of tubes.

LMTDint or float

Log mean temperature difference between fluid “in”/”out” and tube surface temperatures.

pressuredropint or float

Pressure drop when external fluid flows in tube bank.

__init__(config='inline', totalrows=None, tubes_per_row=None, transverse_pitch=None, longitudanal_pitch=None, length=None, outer_tubediameter=None, T_infinity=None, velocity_infinity=None)[source]

Methods

__init__([config, totalrows, tubes_per_row, …])

calc_LMTD()

Use this to calculate log mean temperature difference (LMTD).

calc_Nu()

Use this to calculate Nusselt number for external fluid flow in the tube bank.

calc_Pr()

Use this to calculate fluid Prandtl number at \(T_{mean}\).

calc_Pr_surface()

Use this to calculate fluid Prandtl number at \(T_{surface}\).

calc_Re()

Use this to calculate Reynolds number for external fluid flow in the tube bank.

calc_maxvelocity()

Use this to calculate maximum velocity of fluid in tube bank.

calc_pressuredrop()

Use this to calculate pressure drop for fluid flow in the tube bank.

set_Pr(Pr)

Use this to input fluid Prandtl number at \(T_{mean}\).

set_Pr_surface(Pr_surface)

Use this to input fluid Prandtl number at \(T_{surface}\).

set_Re(Re)

Use this to input Reynolds number.

set_T_out([T_out])

Use this to input external fluid outlet temperature from tube bank.

set_T_surface([T_surface])

Use this to input tube surface temperature.

set_fluid_properties([density, viscosity, …])

Use this to input fluid properties.

set_maxvelocity(maxvelocity)

Use this to input maximum velocity of fluid in tube bank.

calc_LMTD()[source]

Use this to calculate log mean temperature difference (LMTD).

Parameters
`None_required`‘None’

Attributes that are already defined are used in calculation.

Returns
LMTDint or float

Log mean temperature difference between \(T_{infinity}\), \(T_{out}\), and \(T_{surface}\).

See also

heatcommonmethods.LMTD

This function is used to compute LMTD for the tube bank.

Notes

The following formula is used.

\[LMTD = \cfrac {(T_{surface} - T_{infinity}) - (T_{surface} - T_{out})} {ln[(T_{surface} - T_{infinity})/(T_{surface} - T_{out})]}\]

where:

\(T_{infinity}\) = inlet temperature of fluid before it enters tube bank

\(T_{out}\) = outlet temperature of fluid as it exits tube bank

\(T_{surface}\) = surface temperature of tubes in tube bank

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

Units used in this example: SI system.

However, any consistent units can be used.

>>> from pychemengg.heattransfer import externalflow as extflow
>>> tubebundle = extflow.TubeBank(config="staggered", totalrows=7, tubes_per_row=8,
                                 transverse_pitch=31.3e-3, longitudanal_pitch=34.3e-3,
                                 length=1, outer_tubediameter=16.4e-3,
                                 T_infinity=15, velocity_infinity=6)
>>> tubebundle.set_T_surface(70)
>>> tubebundle.set_T_out(70-44.5)
>>> tubebundle.calc_LMTD()
49.56477500080964
# Temperatures are in Celsius
calc_Nu()[source]

Use this to calculate Nusselt number for external fluid flow in the tube bank.

Parameters
`None_required`‘None’

Attributes that are already defined are used in calculation.

Returns
Reint or float

Nusselt number for external fluid flow in the tube bank.

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 correlation by Zukauskas ([1]), and reproduced in [2] was used.

\[Nu = F C Re^{m} Pr^{n} {\left(\frac{Pr}{Pr_{surface}}\right)}^{0.25}\]

where:

C, m, n : depend on Re and tube arrangement (“inline” vs “staggered”)

F : correction factor \(\eqslantless 1\) “F” depends on the number of tube rows. If tube rows < 16, F < 1.0. A look up table can be used to compute and interpolate F as a function of tube rows, however, the values are only valid for Re > 1000.

\(0.7 \eqslantless Pr \eqslantless 500\)

\(0 \eqslantless Re_x \eqslantless 2*10^6\)

Nu = Nusselt number

Fluid properties are at mean fluid temp (\(T_{mean}\)):

\(T_{mean} = (T_{infinity} + T_{out})/2\)

\(T_{infinity}\) = inlet temperature of fluid before it enters tube bank

\(T_{out}\) = outlet temperature of fluid as it exits tube bank

References

[1] A. Zukauskas, “Heat Transfer From Tubes in Cross Flow.” In “Handbook of Single Phase Convective Heat Transfer.” S. Kakac, R.K. Shah, and W. Aung (Eds.), New York: Wiley Interscienc, 1987.

[2] 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 externalflow.

Units used in this example: SI system.

However, any consistent units can be used.

>>> from pychemengg.heattransfer import externalflow as extflow
>>> tubebundle = extflow.TubeBank(config="staggered", totalrows=7, tubes_per_row=8,
                                 transverse_pitch=31.3e-3, longitudanal_pitch=34.3e-3,
                                 length=1, outer_tubediameter=16.4e-3,
                                 T_infinity=15, velocity_infinity=6)
>>> tubebundle.set_fluid_properties(thermalconductivity=0.027484, 
                                density=1.108152, 
                                viscosity=1.92152e-05, 
                                specificheat=1007.6, 
                                thermalconductivity_surface=0.029482,
                                density_surface=1.018296,
                                viscosity_surface=2.04896e-05,
                                specificheat_surface=1008.7)
>>> tubebundle.calc_maxvelocity()
12.604026845637584
>>> tubebundle.calc_Re()
11920.860149026319
>>> tubebundle.calc_Pr()
0.7044547926066074
>>> tubebundle.calc_Pr_surface()
0.7010331565022726
>>> tubebundle.calc_Nu()
81.26988497431279
calc_Pr()[source]

Use this to calculate fluid Prandtl number at \(T_{mean}\).

Parameters
`None_required`‘None’

Attributes that are already defined are used in calculation.

Returns
Print or float

Prandtl number for the fluid.

See also

set_Pr

If Prandtl number is known it can alternatively be set using the method ‘set_Pr’.

Notes

The following formula is used:

where:

\(\mu\) = viscosity of fluid

\(C_p\) = specific heat of fluid

k = thermal conductivity

Pr = Prandtl number

Fluid properties are at mean fluid temp (\(T_{mean}\)):

\(T_{mean} = (T_{infinity} + T_{out})/2\)

\(T_{infinity}\) = inlet temperature of fluid before it enters tube bank

\(T_{surface}\) = outlet temperature of fluid as it exits tube bank

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

Units used in this example: SI system.

However, any consistent units can be used.

>>> from pychemengg.heattransfer import externalflow as extflow
>>> tubebundle = extflow.TubeBank(config="staggered", totalrows=7, tubes_per_row=8,
                         transverse_pitch=31.3e-3, longitudanal_pitch=34.3e-3,
                         length=1, outer_tubediameter=16.4e-3,
                         T_infinity=15, velocity_infinity=6)
>>> tubebundle.set_fluid_properties(thermalconductivity=0.027484,
                                    density=1.108152,
                                    viscosity=1.92152e-05,
                                    specificheat=1007.6)
>>> tubebundle.calc_Pr()
0.7044547926066074
>>>
calc_Pr_surface()[source]

Use this to calculate fluid Prandtl number at \(T_{surface}\).

Parameters
`None_required`‘None’

Attributes that are already defined are used in calculation.

Returns
Print or float

Prandtl number for the fluid.

See also

set_Pr_surface

If Prandtl number at surface temperature is known it can alternatively be set using the method ‘set_Pr_surface’.

Notes

The following formula is used:

where:

\(\mu\) = viscosity of fluid

\(C_p\) = specific heat of fluid

k = thermal conductivity

Pr = Prandtl number

Fluid properties are at surface temperature of tubes (\(T_{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 externalflow.

Units used in this example: SI system.

However, any consistent units can be used.

>>> from pychemengg.heattransfer import externalflow as extflow
>>> tubebundle = extflow.TubeBank(config="staggered", totalrows=7, tubes_per_row=8,
                         transverse_pitch=31.3e-3, longitudanal_pitch=34.3e-3,
                         length=1, outer_tubediameter=16.4e-3,
                         T_infinity=15, velocity_infinity=6)
>>> tubebundle.set_fluid_properties(thermalconductivity_surface=0.029482,
                                    density_surface=1.018296,
                                    viscosity_surface=2.04896e-05,
                                    specificheat_surface=1008.7)
>>> tubebundle.calc_Pr_surface()
0.7010331565022726
>>>
calc_Re()[source]

Use this to calculate Reynolds number for external fluid flow in the tube bank.

Parameters
`None_required`‘None’

Attributes that are already defined are used in calculation.

Returns
Reint or float

Reynold number for external fluid flow in the tube bank.

See also

set_Re

If Reynolds number is known it can alternatively be set using the method ‘set_Re’.

Notes

The following formula is used:

\[Re = \frac {D V_{max} \rho} {\mu}\]

where:

\(D\) = outside diameter of tubes

\(V_{max}\) = maximum velocity of fluid in tube bank

\(\rho\) = fluid density

\(\mu\) = fluid viscosity

Re = Reynolds number

Fluid properties are at mean fluid temp (\(T_{mean}\)):

\(T_{mean} = (T_{infinity} + T_{out})/2\)

\(T_{infinity}\) = inlet temperature of fluid before it enters tube bank

\(T_{surface}\) = outlet temperature of fluid as it exits tube bank

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

Units used in this example: SI system.

However, any consistent units can be used.

>>> from pychemengg.heattransfer import externalflow as extflow
>>> tubebundle = extflow.TubeBank(config="staggered", totalrows=7, tubes_per_row=8,
                         transverse_pitch=31.3e-3, longitudanal_pitch=34.3e-3,
                         length=1, outer_tubediameter=16.4e-3,
                         T_infinity=15, velocity_infinity=6)
>>> tubebundle.set_fluid_properties(thermalconductivity=0.027484,
                                    density=1.108152,
                                    viscosity=1.92152e-05,
                                    specificheat=1007.6)
>>> tubebundle.calc_Re()
11920.860149026319
calc_maxvelocity()[source]

Use this to calculate maximum velocity of fluid in tube bank.

Parameters
`None_required`‘None’

Attributes that are already defined are used in calculation.

Returns
maxvelocityint or float

Maximum velocity of the fluid in the tube bank.

See also

set_maxvelocity

If maximum velocity is known it can alternatively be set using the method ‘set_maxvelocity’.

Notes

The following formula are used:

if config == “inline”:

\[V_{max} = \left( \frac {S_T} {S_T - D} \right) V_\infty\]

if config == “staggered”:

the greater of the following two:

\[V_{max} = \left( \frac {S_T} {S_T - D} \right) V_\infty\\[15pt] |or|\\[15pt] V_{max} = \left( \frac {S_T} {2(S_D - D)} \right) V_\infty\]

where:

\(S_T\) = transverse pitch

\(S_D\) = diagonal pitch

\(D\) = outside diameter of tubes

\(V_\infty\) = velocity of fluid at inlet of tube bank

\(V_{max}\) = maximum velocity of fluid in tube bank

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

Units used in this example: SI system.

However, any consistent units can be used.

>>> from pychemengg.heattransfer import externalflow as extflow
>>> tubebundle = extflow.TubeBank(config="staggered", totalrows=7, tubes_per_row=8,
                         transverse_pitch=31.3e-3, longitudanal_pitch=34.3e-3,
                         length=1, outer_tubediameter=16.4e-3,
                         T_infinity=15, velocity_infinity=6)
>>> tubebundle.calc_maxvelocity()
>>> 12.604026845637584
>>>
calc_pressuredrop()[source]

Use this to calculate pressure drop for fluid flow in the tube bank.

Parameters
`None_required`‘None’

Attributes that are already defined are used in calculation.

Returns
pressure dropint or float

Pressure drop for external fluid flow in the tube bank.

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 correlation by Zukauskas and Ulinskas([1]) was used. This correlation is used in textbooks as a graphical plot. For example in [2].

\[\Delta P = Eu \cfrac{\rho V_{max}^2}{2} N_L\]

where:

\(\Delta P\) = Pressure drop

Eu = Euler number

\(\rho\) = density of fluid

\(V_{max}\) = maximum fluid velocity in tube bank

\(N_L\) = number of tube rows

Fluid properties are at mean fluid temp (\(T_{mean}\)):

\(T_{mean} = (T_{infinity} + T_{out})/2\)

\(T_{infinity}\) = inlet temperature of fluid before it enters tube bank

\(T_{out}\) = outlet temperature of fluid as it exits tube bank

References

[1] A. Zukauskas, “Heat Transfer From Tubes in Cross Flow.” In “Handbook of Single Phase Convective Heat Transfer.” S. Kakac, R.K. Shah, and W. Aung (Eds.), New York: Wiley Interscienc, 1987.

[2] 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 externalflow.

Units used in this example: SI system.

However, any consistent units can be used.

>>> from pychemengg.heattransfer import externalflow as extflow
>>> tubebundle = extflow.TubeBank(config="staggered", totalrows=7, tubes_per_row=8,
                                 transverse_pitch=31.3e-3, longitudanal_pitch=34.3e-3,
                                 length=1, outer_tubediameter=16.4e-3,
                                 T_infinity=15, velocity_infinity=6)
>>> tubebundle.set_fluid_properties(thermalconductivity=0.027484, 
                                density=1.108152, 
                                viscosity=1.92152e-05, 
                                specificheat=1007.6, 
                                thermalconductivity_surface=0.029482,
                                density_surface=1.018296,
                                viscosity_surface=2.04896e-05,
                                specificheat_surface=1008.7)
>>> tubebundle.calc_maxvelocity()
12.604026845637584
>>> tubebundle.calc_Re()
11920.860149026319
>>> tubebundle.calc_Pr()
0.7044547926066074
>>> tubebundle.calc_Pr_surface()
0.7010331565022726
>>> tubebundle.calc_Nu()
81.26988497431279
>>> tubebundle.calc_pressuredrop()
211.3578929319506
set_Pr(Pr)[source]

Use this to input fluid Prandtl number at \(T_{mean}\).

Parameters
Print or float

Prandtl number of external fluid.

Returns
`None`‘None’

This method simply assign Prandtl number to keyword attribute. It does not return anything.

See also

calc_Pr

Prandtl number can alternatively be computed using the method ‘calc_Pr’.

Examples

First import the module externalflow.

Units used in this example: SI system.

However, any consistent units can be used.

>>> from pychemengg.heattransfer import externalflow as extflow 
>>> tubebundle = extflow.TubeBank(config="staggered", totalrows=7, tubes_per_row=8,
                         transverse_pitch=31.3e-3, longitudanal_pitch=34.3e-3,
                         length=1, outer_tubediameter=16.4e-3,
                         T_infinity=15, velocity_infinity=6)
# This will create an instance of 'TubeBank'.
# Next set Prandtl number like so:-
>>> tubebundle.set_Pr(0.705)
>>>
set_Pr_surface(Pr_surface)[source]

Use this to input fluid Prandtl number at \(T_{surface}\).

Parameters
Print or float

Prandtl number of external fluid.

Returns
`None`‘None’

This method simply assign Prandtl number to keyword attribute. It does not return anything.

See also

calc_Pr_surface

Prandtl number at surface temperature can alternatively be computed using the method ‘calc_Pr_surface’.

Examples

First import the module externalflow.

Units used in this example: SI system.

However, any consistent units can be used.

>>> from pychemengg.heattransfer import externalflow as extflow 
>>> tubebundle = extflow.TubeBank(config="staggered", totalrows=7, tubes_per_row=8,
                         transverse_pitch=31.3e-3, longitudanal_pitch=34.3e-3,
                         length=1, outer_tubediameter=16.4e-3,
                         T_infinity=15, velocity_infinity=6)
# This will create an instance of 'TubeBank'.
# Next set Prandtl number like so:-
>>> tubebundle.set_Pr_surface(0.701)
>>>
set_Re(Re)[source]

Use this to input Reynolds number.

Parameters
Reint or float

Reynolds number of external fluid flow.

Returns
`None`‘None’

This method simply assign Reynolds number to keyword attribute. It does not return anything.

See also

calc_Re

Reynolds number can alternatively be computed using the method ‘calc_Re’.

Examples

First import the module externalflow.

Units used in this example: SI system.

However, any consistent units can be used.

>>> from pychemengg.heattransfer import externalflow as extflow 
>>> tubebundle = extflow.TubeBank(config="staggered", totalrows=7, tubes_per_row=8,
                         transverse_pitch=31.3e-3, longitudanal_pitch=34.3e-3,
                         length=1, outer_tubediameter=16.4e-3,
                         T_infinity=15, velocity_infinity=6)
# This will create an instance of 'TubeBank'.
# Next set Reynolds number like so:-
>>> tubebundle.set_Re(13943)
>>>
set_T_out(T_out=None)[source]

Use this to input external fluid outlet temperature from tube bank.

Parameters
T_outint or float

Temperature of fluid at outlet of tube bank.

Returns
`None`‘None’

This method simply assigns fluid outlet temperature to keyword attribute. It does not return anything.

Examples

First import the module externalflow.

Units used in this example: SI system.

However, any consistent units can be used.

>>> from pychemengg.heattransfer import externalflow as extflow 
>>> tubebundle = extflow.TubeBank(config="staggered", totalrows=7, tubes_per_row=8,
                         transverse_pitch=31.3e-3, longitudanal_pitch=34.3e-3,
                         length=1, outer_tubediameter=16.4e-3,
                         T_infinity=15, velocity_infinity=6)
# This will create an instance of 'TubeBank'.
# Next set fluid outlet temperatue like so:-
>>> tubebundle.set_T_out(114.5)
>>>
set_T_surface(T_surface=None)[source]

Use this to input tube surface temperature.

Parameters
T_surfaceint or float

Temperature of tube surface.

Returns
`None`‘None’

This method simply assign tube surface temperature to keyword attribute. It does not return anything.

Examples

First import the module externalflow.

Units used in this example: SI system.

However, any consistent units can be used.

>>> from pychemengg.heattransfer import externalflow as extflow 
>>> tubebundle = extflow.TubeBank(config="staggered", totalrows=7, tubes_per_row=8,
                         transverse_pitch=31.3e-3, longitudanal_pitch=34.3e-3,
                         length=1, outer_tubediameter=16.4e-3,
                         T_infinity=15, velocity_infinity=6)
# This will create an instance of 'TubeBank'.
# Next set tube surface temperatue like so:-
>>> tubebundle.set_T_surface(70)
>>>
set_fluid_properties(density=None, viscosity=None, specificheat=None, thermalconductivity=None, density_surface=None, viscosity_surface=None, specificheat_surface=None, thermalconductivity_surface=None)[source]

Use this to input fluid properties.

Parameters
viscosityint or float

Viscosity of external fluid at mean temperature of fluid.

specificheatint or float

Specific heat of external fluid at mean temperature of fluid.

thermalconductivityint or float

Thermal conductivity of external fluid at mean temperature of fluid.

density_surfaceint or float, optional

Density of fluid at surface temperature of tubes. Optional if Prandtl number at surface temperature will not be computed.

viscosity_surfaceint or float, optional

Viscosity of fluid at surface temperature of tubes. Optional if Prandtl number at surface temperature will not be computed.

specificheat_surfaceint or float, optional

Specific heat of fluid at surface temperature of tubes. Optional if Prandtl number at surface temperature will not be computed.

thermalconductivity_surfaceint or float, optional

Thermal conductivity of fluid at surface temperature of tubes. Optional if Prandtl number at surface temperature will not be computed.

Returns
`None`‘None’

This method simply assigns different fluid properties to keyword attributes. It does not return anything.

Notes

All properties are at \(T_{mean} = (T_{infinity} + T_{out})/2\). Exception: some properties with _surface are at tube surface temperature \(T_{surface}\).

Examples

First import the module externalflow.

Units used in this example: SI system.

However, any consistent units can be used.

>>> from pychemengg.heattransfer import externalflow as extflow 
>>> tubebundle = extflow.TubeBank(config="staggered", totalrows=7, tubes_per_row=8,
                         transverse_pitch=31.3e-3, longitudanal_pitch=34.3e-3,
                         length=1, outer_tubediameter=16.4e-3,
                         T_infinity=15, velocity_infinity=6)
# This will create an instance of 'TubeBank'.
# Next set fluid properties like so:-
>>> tubebundle.set_fluid_properties(thermalconductivity=0.027484,
                                 density=1.108152,
                                 viscosity=1.92152e-05,
                                 specificheat=1007.6)
>>>
set_maxvelocity(maxvelocity)[source]

Use this to input maximum velocity of fluid in tube bank.

Parameters
maxvelocityint or float

Maximum velocity of external fluid flow.

Returns
`None`‘None’

This method simply assign maximum velocity to keyword attribute. It does not return anything.

See also

calc_maxvelocity

Maximum velocity can alternatively be computed using the method ‘calc_maxvelocity’.

Examples

First import the module externalflow.

Units used in this example: SI system.

However, any consistent units can be used.

>>> from pychemengg.heattransfer import externalflow as extflow 
>>> tubebundle = extflow.TubeBank(config="staggered", totalrows=7, tubes_per_row=8,
                         transverse_pitch=31.3e-3, longitudanal_pitch=34.3e-3,
                         length=1, outer_tubediameter=16.4e-3,
                         T_infinity=15, velocity_infinity=6)
# This will create an instance of 'TubeBank'.
# Next set Reynolds number like so:-
>>> tubebundle.set_maxvelocity(12.6)
>>>