pipenostics

Heat loss, corrosion diagnostics, and predictive maintenance of pipeline systems. The package is designed for engineers who are involved in exploratory or routine calculations.

https://github.com/omega1x/pipenostics

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.3%) to scientific vocabulary

Keywords

district-heating heat-losses inline-inspection remaining-useful-life
Last synced: 9 months ago · JSON representation

Repository

Heat loss, corrosion diagnostics, and predictive maintenance of pipeline systems. The package is designed for engineers who are involved in exploratory or routine calculations.

Basic Info
Statistics
  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • Open Issues: 2
  • Releases: 0
Topics
district-heating heat-losses inline-inspection remaining-useful-life
Created about 6 years ago · Last pushed 9 months ago
Metadata Files
Readme Changelog

README.md

pipenostics

License: GPLv3 pipenostics status badge R-CMD-check pages-build-deployment CodeFactor codecov

R-package for diagnostics, reliability and predictive maintenance of pipeline systems.


Intro

The package aggregates some of the separate knowledge regarding engineering, reliability, diagnostics, and predictive maintenance of pipeline systems. At the moment, the package includes utilities for processing corrosion data commonly collected by inline inspection, as well as empirical models for calculating local thermal-hydraulic conditions in district heating networks. Additionally, the package provides a variety of useful tools and datasets that can assist with solving a range of related issues.

Installation

For the stable version install from CRAN:

R install.packages("pipenostics")

For the latest version leverage r-universe:

R install.packages("pipenostics", repos = "https://omega1x.r-universe.dev")

Usage examples

Corrosion diagnostics

By using of b31crvl() simply imitate the output of CRVL.BAS which is the honored software for determining the allowable length and maximum allowable working pressure presented in ASME B31G-1991:

```R library(pipenostics)

b31crvl(maop = 910, d = 30, wth = .438, smys = 52000, def = .72, depth = .1, l = 7.5) ```

txt -- Calculated data -- Intermediate factor (A) = 1.847 Design pressure = 1093 PSI; Safe pressure = 1093 PSI Pipe may be operated safely at MAOP, 910 PSI With corrosion length 7.500 inch, maximum allowed corrosion depth is 0.2490 inch; A = 1.847 With corrosion depth 0.100 inch, maximum allowed corrosion length is Inf inch; A = 5.000

Probability of failure

Let's consider a pipe in district heating network with

R diameter <- 762 # [mm] wall_thickness <- 10 # [mm] UTS <- 434.3697 # [MPa]

which transfers heat-carrier (water) at

R operating_pressure <- 0.588399 # [MPa] temperature <- 95 # [°C]

During inline inspection four corroded areas (defects) are detected with:

R depth <- c(2.45, 7.86, 7.93, 8.15) # [mm]

whereas the length of all defects is not greater 200 mm:

R length <- rep(200, 4) # [mm] print(length)

R [1] 200 200 200 200

Corrosion rates in radial and in longitudinal directions are not well-known and may vary in range .01 - .30 mm/year:

R rar = function(n) stats::runif(n, .01, .30) / 365 ral = function(n) stats::runif(n, .01, .30) / 365

Then probabilities of failure (POFs) related to each corroded area are near:

R 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")

txt pipenostics::mepof: process case [4/4] - 100 % . All done, thanks!

R print(pof)

R [1] 0.000000 0.252935 0.368741 0.771299

So, the POF of the pipe is near

R print(max(pof))

R [1] 0.771299

The value of POF changes in time. So, in a year after inline inspection of the pipe we can get something near

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

txt pipenostics::mepof: process case [4/4] - 100 % . All done, thanks!

R print(pof)

R [1] 0.000000 0.526646 0.647422 0.928825

For entire pipe we get something near:

R print(max(pof))

R [1] 0.928825

Two years ago before inline inspection the pipe state was rather good:

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

txt pipenostics::mepof: process case [4/4] - 100 % . All done, thanks!

R print(pof)

R [1] 0.000000 0.040849 0.072734 0.272358

For entire pipe we get something near:

R print(max(pof))

R [1] 0.272358

Regime tracing

Let's consider the next 4-segment tracing path:

Suppose we have the next sensor readings for forward tracing:

R t_fw <- 130 # [°C] p_fw <- 0.588399 # [MPa] g_fw <- 250 # [ton/hour]

Let's discharges to network for each pipeline segment are somehow determined as

R discharges <- seq(0, 30, 10) # [ton/hour] print(discharges)

R [1] 0 10 20 30

Then the calculated regime (red squares) for forward tracing is

R regime_fw <- m325traceline(t_fw, p_fw, g_fw, discharges, forward = TRUE) print(regime_fw)

```R $temperature [1] 129.1799 128.4269 127.9628 127.3367

$pressure [1] 0.5878607 0.5874226 0.5872143 0.5870330

$flow_rate [1] 250 240 220 190 ```

ℹ Read article Concepts and useful notes for a deeper dive into the topic.

Owner

  • Name: Yuri Possokhov
  • Login: omega1x
  • Kind: user

PhD, AI Senior Developer

GitHub Events

Total
  • Issues event: 1
  • Watch event: 1
  • Push event: 3
Last Year
  • Issues event: 1
  • Watch event: 1
  • Push event: 3

Committers

Last synced: about 3 years ago

All Time
  • Total Commits: 81
  • Total Committers: 3
  • Avg Commits per committer: 27.0
  • Development Distribution Score (DDS): 0.062
Top Committers
Name Email Commits
omega1x o****x@g****m 76
Yuri Possokhov p****f@g****m 3
devpro d****o@g****m 2

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 21
  • Total pull requests: 2
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 2 days
  • Total issue authors: 2
  • Total pull request authors: 1
  • Average comments per issue: 0.19
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 2
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • omega1x (18)
  • llrs (1)
Pull Request Authors
  • omega1x (4)
Top Labels
Issue Labels
enhancement (15) documentation (2) bug (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 163 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
  • Total maintainers: 1
cran.r-project.org: pipenostics

Diagnostics, Reliability and Predictive Maintenance of Pipeline Systems

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 163 Last month
Rankings
Forks count: 28.8%
Dependent packages count: 29.8%
Stargazers count: 35.2%
Dependent repos count: 35.5%
Average: 43.6%
Downloads: 88.6%
Maintainers (1)
Last synced: 9 months ago

Dependencies

DESCRIPTION cran
  • R >= 3.5.0 depends
  • checkmate * imports
  • covr * suggests
  • testthat >= 3.0.0 suggests
.github/workflows/code-coverage.yml actions
  • actions/checkout v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/R-CMD-check.yml actions
  • actions/checkout v4 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite