library(pipenostics)
## Consider a 1-meter length pipe with
pipe_diameter <- 700.0 # [mm]
pipe_dating <- 1980
pipe_laying <- "underground"
## Linear extrapolation adopted in Minenergo's Order 325 using last two points:
operation_temperature <- seq(0, 270, 10)
qs <- m325nhl(
year = pipe_dating, laying = pipe_laying, d = pipe_diameter,
temperature = operation_temperature
) # [kcal/m/h]
plot(
operation_temperature,
qs,
type = "b",
main = "Minenergo's Order 325. Normative heat loss of pipe",
sub = sprintf(
"%s pipe of diameter %i [mm] laid in %i",
pipe_laying, pipe_diameter, pipe_dating
),
xlab = "Temperature, [°C]",
ylab = "Specific heat loss power, [kcal/m/h]"
)
## Consider heat loss due fittings:
operation_temperature <- 65 # [°C]
fittings_qs <- m325nhl(
year = pipe_dating, laying = pipe_laying, d = pipe_diameter,
temperature = operation_temperature, beta = c(FALSE, TRUE)
) # [kcal/m/h]
print(fittings_qs); stopifnot(all(round(fittings_qs ,1) == c(272.0, 312.8)))
# [1] 272.0 312.8 # [kcal/m/h]
## Calculate heat flux:
operation_temperature <- c(65, 105) # [°C]
qs <- m325nhl(
year = pipe_dating, laying = pipe_laying, d = pipe_diameter,
temperature = operation_temperature
) # [kcal/m/h]
print(qs)
# [1] 272.00 321.75 # [kcal/m/h]
pipe_diameter <- pipe_diameter * 1e-3 # [m]
factor <- 2.701283 # [kcal/h/W]
flux <- qs/factor/pipe_diameter -> a # heat flux, [W/m^2]
print(flux)
# [1] 143.8470 170.1572 # [W/m^2]
## The above line is equivalent to:
flux <- flux_loss(qs, pipe_diameter) -> b
stopifnot(all.equal(a, b, tolerance = 5e-6))
Run the code above in your browser using DataLab