https://github.com/andr1976/ramdecom

Pipeline decompression wavespeed calculation

https://github.com/andr1976/ramdecom

Science Score: 23.0%

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

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 10 DOI reference(s) in README
  • Academic publication links
    Links to: acs.org, zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.8%) to scientific vocabulary

Keywords

co2 pipelines rupture transport
Last synced: 6 months ago · JSON representation

Repository

Pipeline decompression wavespeed calculation

Basic Info
  • Host: GitHub
  • Owner: andr1976
  • License: mit
  • Language: TeX
  • Default Branch: main
  • Homepage:
  • Size: 14.7 MB
Statistics
  • Stars: 4
  • Watchers: 1
  • Forks: 0
  • Open Issues: 1
  • Releases: 2
Topics
co2 pipelines rupture transport
Created over 3 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog Contributing License Code of conduct

README.md

DOI Python application license Streamlit App codecov

RAMDECOM

Calculation routine to calculate the decompression wave speed for pipeline design to ensure adequate pipe thickness and/or Charpy-V hardness so a running fracture can be arrested. The program is mainly targeted for CO2, but almost any fluid can be modelled.

This code is developed by Anders Andreasen and is open source and published under an MIT license . For pure fluids, calculations can be made using open source tools only (CoolProp). However, if calculations shall be made for mixtures a REFPROP license and installation is required.

Installation

The code is still under heavy development and official releases and pip/conda packages have not been prepared yet. Installation is done by cloning the code to a local directory and running

cd directory pip install -e .

This way a dynamic link is created in the local site-packages directory. Any changes to the code will be dynamically updated, so no need to run pip install -e every time the code is updated.

Usage

Import main class

from ramdecom import wavespeed

Define input

input = {} input['eos'] = 'HEOS' input['fluid'] = 'CO2' input['pressure'] = 130e5 input['temperature'] = 320

The equation of state can either be HEOS for the CoolProp pure component Helmholtz energy formulation or REFPROP. For mixtures only REFPROP works. In case REFPROP is selected additional optional input for specifying either the GERG-2008 or the Peng-Robinson equation of state can be given. The follwoing optional input can also be provided:

input['extrapolate'] = True

which will extrapolate the end point in the decompression curve to zero pressure.

input['pressure_step'] = 1e5

defines the step length when stepping down from the initial pressure along the isentropic path. The default value is 1 bar and has been found to be adequate.

input['pressure_break'] = 1e5

can break the isentropic decompression calculation e.g. if the calculation routine in the thermodyanmic backend raises an exception. By breaking before the exception is raised, partial results can be inspected and visualised.

Ininitialize and run

ws = wavespeed.WaveSpeed(input) ws.run()

Plotting

ws.plot_decom(filename='out.png',data=data)

If the optional input data (experimental data or other calculation for comparison) is provided this shall be a nx2 array with decompression wave speed in the first column and pressure in the second column. If the optional input filename is not provided the plot is displayed on-screen without being saved to file.

Other data output

A data file with calculation results can be saved to csv

ws.get_result_file() The results are saved to decom_result.csv or if the optional input filename is given, it is saved to the provided path.

Methods and theory

Some basic theory and description of the code is included with the draft paper located in

ramdecom\paper\

Further some relevant references for further reading:

[1] http://pubs.acs.org/doi/abs/10.1021/ie4033999

[2] https://pubs.acs.org/doi/10.1021/acsomega.1c01360

[3] https://doi.org/10.18434/T4/1502528

[4] https://doi.org/10.1016/j.psep.2018.08.034

[5] https://doi.org/10.1115/1.4031941

[6] https://doi.org/10.1115/1.4034016

Owner

  • Name: Anders Andreasen
  • Login: andr1976
  • Kind: user
  • Location: Esbjerg, Denmark
  • Company: Ramboll Energy

Chemical Engineer, working within process and energy technology

GitHub Events

Total
  • Push event: 1
  • Fork event: 1
  • Create event: 1
Last Year
  • Push event: 1
  • Fork event: 1
  • Create event: 1

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 101
  • Total Committers: 2
  • Avg Commits per committer: 50.5
  • Development Distribution Score (DDS): 0.129
Past Year
  • Commits: 3
  • Committers: 1
  • Avg Commits per committer: 3.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
andr1976 5****6 88
Anders Andreasen a****a@r****m 13
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: about 2 years ago

All Time
  • Total issues: 1
  • Total pull requests: 6
  • Average time to close issues: N/A
  • Average time to close pull requests: less than a minute
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • 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
  • kamsyuen (1)
Pull Request Authors
  • andr1976 (6)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

requirements.txt pypi
  • Cerberus >=1.3.3
  • CoolProp >=6.4.1
  • PyYAML >=5.4.1
  • matplotlib >=3.3.3
  • numpy >=1.19.5
  • pandas >=1.1.4
  • pytest *
  • setuptools *
  • streamlit >=0.89
.github/workflows/python_app.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • codecov/codecov-action v1 composite