Calculate values of heat flux emitted by pipeline segment mounted in channel as a function of construction, operation, and technical condition specifications according to Appendix 5.1 of Minenergo Method 278.

This type of calculations is usually made on design stage of district heating network (where water is a heat carrier) and is closely related to building codes and regulations.

```
m278hlcha(
t1 = 110,
t2 = 60,
t0 = 5,
insd1 = 0.1,
insd2 = insd1,
d1 = 0.25,
d2 = d1,
lambda1 = 0.09,
lambda2 = 0.07,
k1 = 1,
k2 = k1,
lambda0 = 1.74,
z = 2,
b = 0.5,
h = 0.5,
len = 1,
duration = 1
)
```

- t1
temperature of heat carrier (water) inside the supplying pipe, [

*°C*]. Type:`assert_double`

.- t2
temperature of heat carrier (water) inside the returning pipe, [

*°C*]. Type:`assert_double`

.- t0
temperature of environment, [

*°C*]. In case of channel laying this is the temperature of subsoil. Type:`assert_double`

.- insd1
thickness of the insulator which covers the supplying pipe, [

*m*]. Type:`assert_double`

.- insd2
thickness of the insulator which covers the returning pipe, [

*m*]. Type:`assert_double`

.- d1
external diameter of supplying pipe, [

*m*]. Type:`assert_double`

.- d2
external diameter of returning pipe, [

*m*]. Type:`assert_double`

.- lambda1
thermal conductivity of insulator which covers the supplying pipe [

*W/m/°C*]. Type:`assert_double`

.- lambda2
thermal conductivity of insulator which covers the returning pipe [

*W/m/°C*]. Type:`assert_double`

.- k1
technical condition factor for insulator of supplying pipe, []. Type:

`assert_double`

.- k2
technical condition factor for insulator of returning pipe, []. Type:

`assert_double`

.- lambda0
thermal conductivity of environment, [

*W/m/°C*]. In case of channel laying this is the thermal conductivity of subsoil. Type:`assert_double`

.- z
channel laying depth, [

*m*]. Type:`assert_double`

.- b
channel width, [

*m*]. Type:`assert_double`

.- h
channel height, [

*m*]. Type:`assert_double`

.- len
length of pipeline segment, [

*m*]. Type:`assert_double`

.- duration
duration of heat flux emittance, [

*hour*]. Type:`assert_double`

.

Heat flux emitted by pipeline segment during `duration`

, [*kcal*].
If `len`

of pipeline segment is 1 *m* and `duration`

of
heat flux emittance is set to 1 *hour* then the return value is equal
to that in [*kcal/m/h*] units and so comparable with values of
heat flux listed in

Minenergo Order 325.
Type: `assert_double`

.

`k1`

and `k2`

factor values equal to one mean the best technical
condition of insulation of appropriate pipes, whereas for poor technical
state factor values tends to five or more.

Nevertheless, when `k1`

and `k2`

both equal to one the calculated
heat flux [*kcal/m/h*] is sometimes higher than that listed in
Minenergo Order 325.
One should consider that situation when choosing method for heat loss
calculations.

Other Minenergo:
`m278hlair()`

,
`m278hlund()`

,
`m278insdata`

,
`m278inshcm()`

,
`m278soildata`

,
`m325beta()`

,
`m325dropt()`

,
`m325nhldata`

,
`m325nhl()`

,
`m325testbench`

```
m278hlcha()
#> [1] 86.92977
#
## Naive way to find out technical state (factors k1 and k2) for pipe
## segments constructed in 1980:
optim(
par = c(1.5, 1.5),
fn = function(x) {
# functional to optimize
abs(
m278hlcha(k1 = x[1], k2 = x[2]) -
m325nhl(year = 1980, laying = "channel", d = 250, temperature = 110)
)
},
method = "L-BFGS-B",
lower = 1.01, upper = 4.4
)$par
#> [1] 4.285442 4.323628
# [1] 4.285442 4.323628
```