Calculate normative values of heat flux that is legally affirmed by Minenergo Order 325 to be emitted by steel pipe of district heating system with water as a heat carrier.

m325nhl( year = 1986, laying = "underground", exp5k = TRUE, insulation = 0, d = 700, temperature = 110, len = 1, duration = 1, beta = FALSE, extra = 2 )

year | year when the pipe is put in operation after laying or total overhaul.
Type: |
---|---|

laying | type of pipe laying depicting the position of pipe in space: `air` ,`channel` ,`room` ,`tunnel` ,`underground` .
Type: |

exp5k | pipe regime flag: is pipe operated more that 5000 hours per year?
Type: |

insulation | insulation that covers the exterior of pipe: `0` no insulation `1` foamed polyurethane or analogue `2` polymer concrete
Type: |

d | internal diameter of pipe, [ |

temperature | temperature of heat carrier (water) inside the pipe, [ |

len | length of pipe, [ |

duration | duration of heat flux emittance, [ |

beta | should they consider additional heat losses of fittings?
Type: |

extra | number of points used for temperature extrapolation: |

Heat flux emitted by pipe during `duration`

, [*kcal*].
If `len`

of pipe is 1 *m* and `duration`

of heat flux
emittance is set to 1 *hour* then the return value is in the same
units as value of heat flux, [*kcal/m/h*], accepted by
Minenergo Order 325.
Type: `assert_double`

.

Temperature extrapolation and pipe diameter interpolation are leveraged
for better accuracy. Both are linear as it dictated by
Minenergo Order 325.
Nevertheless, one could control the extrapolation behavior by `extra`

argument: use lower values of `extra`

for soft curvature near extrapolation
edges, and higher values for more physically reasoned behavior in far regions
of extrapolation.

Other Minenergo:
`m278hlair()`

,
`m278hlcha()`

,
`m278hlund()`

,
`m278insdata`

,
`m278inshcm()`

,
`m278soildata`

,
`m325beta()`

,
`m325dropt()`

,
`m325nhldata`

,
`m325testbench`

with(m325nhldata, { ## Linear extrapolation adopted in Minenergo's Order 325 using last two points: temperature <- seq(0, 270, 10) # [°C] flux <- m325nhl(1980, "underground", TRUE, 0, 73, temperature) # [kcal/m/h] plot(temperature, flux, type = "b") ## Consider heat losses of fittings: stopifnot( ## when beta becomes 1.15 all( round( m325nhl(1980, "underground", d = 73, temperature = 65, beta = c(FALSE, TRUE)), 3 ) == c(65.500, 75.325) ), ## when beta becomes 1.2 all( round( m325nhl(2000, "channel", d = 73, temperature = 65, beta = c(FALSE, TRUE)), 3 ) == c(17.533, 21.040) ) ) })