Calculate normative heat loss of the supplying pipe mounted in underground 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.

## Usage

```
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
)
```

## Arguments

- 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
outside diameter of supplying pipe, [

*m*]. Type:`assert_double`

.- d2
outside 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 supplying pipe, [

*m*]. Type:`assert_double`

.- duration
duration of heat loss, [

*hour*]. Type:`assert_double`

.

## Value

Normative heat loss of supplying cylindrical pipe mounted in channel during `duration`

, [*kcal*].
If `len`

of pipe is 1 *m* (meter) as well as `duration`

is set to
1 *h* (hour) (default values) then the return value is also the

*specific heat loss power*, [*kcal/m/h*] and so comparable with those
prescribed by Minenergo Order 325.
Type: `assert_double`

.

## Details

`k1`

and `k2`

factor values equal to `1`

mean the best technical
condition of insulation of appropriate pipes, whereas for poor technical
state factor values tends to `5`

or more.

Nevertheless, when `k1`

and `k2`

both equal to `1`

the calculated
*specific heat loss power* [*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.

## See also

Other Minenergo:
`m278hlair()`

,
`m278hlund()`

,
`m278insdata`

,
`m278inshcm()`

,
`m278soildata`

,
`m325beta()`

,
`m325nhl()`

,
`m325nhldata`

,
`m325testbench`

## Examples

```
library(pipenostics)
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
```