Calculate *drop* or *recovery* of consumption in pipe using
geometric factors.

The calculated value may be positive or negative. When it is positive they
have the *drop*, i.e. the decrease of consumption in the outlet of pipe
under consideration. When the calculated value is negative they have the
*recovery*, i.e. the increase of consumption in the outlet of pipe under
consideration. In both cases to calculate consumption on the outlet of pipe
under consideration simply subtract the calculated value from the
sensor-measured consumption on the inlet.

`dropg(adj = 0, d = 700, consumption = 250)`

- adj
diameters of adjacent pipes through which discharges to and recharges from network occur, [

*mm*].Types:

`assert_double`

total diameter of all adjacent pipes (total diameter case)

`assert_list`

of`assert_double`

a set of diameters of adjacent pipes (particular diameter case)

Positive values of diameters of adjacent pipes correspond to discharging process through those pipe, whereas negative values of diameters mean recharging. See

*Details*and*Examples*for further explanations.- d
diameter of pipe under consideration, [

*mm*]. Type:`assert_double`

.- consumption
sensor-measured amount of heat carrier (water) that is transferred through the inlet of pipe during a period, [

*ton/hour*]. Type:`assert_double`

.

consumption *drop* or *recovery* at the outlet of pipe,
[*ton/hour*], numeric vector. The value is positive for *drop*,
whereas for *recovery* it is negative. In both cases to calculate
consumption on the outlet of pipe under consideration simply subtract the
calculated value from the sensor-measured consumption on the inlet.
Type: `assert_double`

.

It is common that sensor-measured consumption undergoes discharges to
network and recharges from it. For calculation of consumption *drop* or
*recovery* the next configuration of district heating network segment is
assumed:

Usually, there are no additional sensors that could measure consumption in each flow fork. In that case they only may operate with geometric factors, i.e. assuming that flow rate is proportional to square of pipe diameter.

The simple summation of flow rates over all adjacent pipes produces
the required consumption *drop* or *recovery* located on the
outlet of the pipe under consideration. Since there is concurrency between
discharges and recharges the diameters of discharge pipes are regarded
positive whereas diameters of recharge pipes must be negative.

Be careful when dealing with geometric factors for large amount of recharges
from network: there are no additional physical constraints and thus the
calculated value of *recovery* may have non-sense.

```
# Let consider pipes according to network segment scheme depicted in figure
# in ?dropg help-page.
# Typical large diameters of pipes under consideration, [mm]:
d <- as.double(unique(subset(pipenostics::m325nhldata, diameter > 700)$diameter))
# Let sensor-measured consumption in the inlet of the pipe
# under consideration be proportional to d, [ton/hour]:
consumption <- .125*d
# Let consider total diameter case when total diameters of adjacent pipes are no
# more than d, [mm]:
adj <- c(450, -400, 950, -255, 1152)
# As at may be seen for the second and fourth cases they predominantly have
# recharges from network.
# Let calculate consumption on the outlet of the pipe under consideration,
# [ton/hour]
result <- consumption - dropg(adj, d, consumption)
print(result)
#> [1] 75.96439 134.72222 65.70302 180.80580 78.05995
# [1] 75.96439 134.72222 65.70302 180.80580 78.05995
# For more clarity they may perform calculations in data.table.
```