Calculate probability of failure (POF) of the corroded pipe taking into account its actual level of defectiveness and exploiting Monte-Carlo simulation within Principle of maximum entropy.
Consistent estimate of POF for pipeline systems plays a critical role in optimizing their operation. To prevent pipeline failures due to actively growing defects it is necessary to be able to assess the pipeline system failure operation probability during a certain period, taking into account its actual level of defectiveness. The pipeline limit state comes when the burst pressure, considered as a random variable, reaches an unacceptable level, or when the defect depth, also a random variable, exceeds the predetermined limit value.
That is why in the method they consider two possible failures for a single pipeline cross section with the on-surface and longitudinally oriented defect of the metal-loss type:
a decrease of the value of failure pressure down to the operating pressure.
increase of the corrosion depth (defect) up to the specified ultimate permissible fraction of pipe wall thickness.
Since up to now no methods existed which would give absolutely correct POF assessments they suggest simple fiddling with random values of affecting factors without deeping into intrinsic mechanisms of corrossion. For this purpose they choose classical Monte-Carlo simulation within the Principle of maximum entropy. The latter allows to avoid doubtful and excessive preferences and detalization when choosing probability distribution models for failure factors and for inline inspection measurements.
mepof( depth = seq(0, 10, length.out = 100), l = seq(40, 50, length.out = 100), d = rep(762, 100), wth = rep(10, 100), strength = rep(358.5274, 100), pressure = rep(0.588, 100), temperature = rep(150, 100), rar = function(n) stats::runif(n, 0.01, 0.3)/365, ral = function(n) stats::runif(n, 0.01, 0.3)/365, days = 0, k = 0.8, method = "b31g", n = 1e+06 )
depth | maximum depth of the corroded area measured during inline inspection,
[mm]. Type: |
---|---|
l | maximum longitudinal length of corroded area measured during
inline inspection, [mm]. Type: |
d | nominal outside diameter of the pipe, [mm]. Type: |
wth | nominal wall thickness of the pipe, [mm]. Type: |
strength | one of the next characteristics of steel strength, [MPa]:
Type: |
pressure | absolute pressure
of substance (i.e. heat carrier) inside the pipe measured near defect
position, [MPa]. In most cases this is a nominal operating pressure.
Type: |
temperature | temperature of substance (i.e. heat carrier) inside the pipe measured near
defect position, [°C]. In case of district heating network this is
usually a calculated value according to actual or normative thermal-hydraulic
regime. Type: |
rar | random number generator for simulating of distribution of radial corrosion
rate in pipe wall, [mm/day]. The only
argument |
ral | random number generator for simulating of distribution of longitudinal corrosion
rate in pipe wall, [mm/day]. The only
argument |
days | number of days that have passed after or preceded the inline inspection, [].
Negative values are for retrospective assumptions whereas positives are for
failure prognosis. Type: |
k | alarm threshold for leakage failure. It usually |
method | method for calculating failure pressure:
Type: |
n | number of observations to generate for
Monte-Carlo simulations,
Type: |
Probability of pipe failure for each corroded area measured during
inline inspection. Type: assert_double
.
If NA
s returned use another method
for calculating failure pressure.
Since for all influence factors they can more or less assume range limits,
the uniform distribution gets the maximum entropy in this context
(see JCGM 101:2008).
That is why parameters of corrosion defects measured during the
inline inspection as well as regime parameters and engineering
characteristics of pipe segment - all they are simulated by
runif
.
runif
-limits for depth of corrosion defect are associated
with precision of commonly applied measurement instruments. For traditionally
exploited ultrasonic control those limits are well-known and can reach up to
10 % of pipe wall thickness. Whereas uncertainty of defect longitudinal
length may be more than enough constrained with 5 %.
Recommendations for choosing stochastic characteristics of pipe
engineering factors (i.e. crossection diameter, wall thickness and material
strength) are taken from aggregated review of Timashev et al. but
gently transformed for compatibility with
Principle of maximum entropy,
i.e. runif
.
Uncertainties of regime parameters in stohastic models are set minimized by regarding only precision of metering devices which commonly applied in district heating networks. For temperature it is about 2 °C.
Since the rate of corrosion processes in the pipe wall is a consequence of physical and chemical processes occurring at the atomic scale, it depends on a large number of environmental factors differently and ambiguously. That is why various deterministic and stochastic models can be potentially involved in POF assessment. For that purpose radial and longitudinal corrosion rate can be independently formulated as random value generation functions. They only admit that change in depth and length of corrosion defects in time is close to linear for the generated value of corrosion rate.
S. Timashev and A. Bushinskaya, Diagnostics and Reliability of Pipeline Systems, Topics in Safety, Risk, Reliability and Quality 30, DOI 10.1007/978-3-319-25307-7.
BIPM. Guides in Metrology (GUM). JCGM 101:2008. Evaluation of measurement data – Supplement 1 to the Guide to the expression of uncertainty in measurement – Propagation of distributions using a Monte Carlo method.
# \donttest{ # Let's consider a pipe in district heating network with diameter <- 762 # [mm] wall_thickness <- 10 # [mm] UTS <- 434.3697 # [MPa] # which transfers heat-carrier (water) at operating_pressure <- 0.588399 # [MPa]. temperature <- 95 # [°C] # During inline inspection four corroded areas (defects) are detected with: depth <- c(2.45, 7.86, 7.93, 8.15) # [mm] # whereas the length of all defects is not greater 200 mm: length <- rep(200, 4) # [mm] # Corrosion rates in radial and in longitudinal directions are not well-known and # may vary in range .01 - .30 mm/year: rar = function(n) stats::runif(n, .01, .30) / 365 ral = function(n) stats::runif(n, .01, .30) / 365 # Then POFs related to each corroded area are near: pof <- mepof(depth, length, rep(diameter, 4), rep(wall_thickness, 4), rep(UTS, 4), rep(operating_pressure, 4), rep(temperature, 4), rar, ral, method = "dnv")#> pipenostics::mepof: process case [1/4] - 25 % processed. pipenostics::mepof: process case [2/4] - 50 % processed. pipenostics::mepof: process case [3/4] - 75 % processed. pipenostics::mepof: process case [4/4] - 100 % . All done, thanks!#> [1] 0.000000 0.251964 0.367513 0.771093#> [1] 0.771093# 0.771595 # The value of POF changes in time. So, in a year after inline inspection of # the pipe we can get something near pof <- mepof(depth, length, rep(diameter, 4), rep(wall_thickness, 4), rep(UTS, 4), rep(operating_pressure, 4), rep(temperature, 4), rar, ral, method = "dnv", days = 365)#> pipenostics::mepof: process case [1/4] - 25 % processed. pipenostics::mepof: process case [2/4] - 50 % processed. pipenostics::mepof: process case [3/4] - 75 % processed. pipenostics::mepof: process case [4/4] - 100 % . All done, thanks!#> [1] 0.000000 0.526552 0.647950 0.928970#> [1] 0.92897# 0.929099 # Two years ago before inline inspection the pipe state was rather good: pof <- mepof(depth, length, rep(diameter, 4), rep(wall_thickness, 4), rep(UTS, 4), rep(operating_pressure, 4), rep(temperature, 4), rar, ral, method = "dnv", days = -2 * 365)#> pipenostics::mepof: process case [1/4] - 25 % processed. pipenostics::mepof: process case [2/4] - 50 % processed. pipenostics::mepof: process case [3/4] - 75 % processed. pipenostics::mepof: process case [4/4] - 100 % . All done, thanks!#> [1] 0.000000 0.040453 0.072486 0.270790#> [1] 0.27079# 0.271751 # }