Skip to content

OpenPulse: Open Source Software for Pulsation Analysis of Pipeline Systems

License

Notifications You must be signed in to change notification settings

WRKampi/OpenPulse

 
 

Repository files navigation

OpenPulse logo

OpenPulse: Open Source Software for Pulsation Analysis of Pipeline Systems

v1.0 April 8th 2022

OpenPulse is a software written in Python for numerical modelling of low-frequency acoustically induced vibration in gas pipeline systems. It allows to import the geometry of the pipe system (lines in IGES and STEP formats), insert materials properties, set sections, and import pressure/acceleration/force loads (from measurements or theory). OpenPulse performs an acoustic time-harmonic response analysis of the respective 1D acoustic domain using the Finite Element Transfer Matrix Method (FETM). The resulting pressure field is applied as a distributed load over the respective structural piping system, modeled with the Timoshenko beam theory and the Finite Element Method (FEM), in order to run a structural time-harmonic response analysis. In addition to simply boundary conditions as constraints on displacements, OpenPulse allows to insert lumped springs, masses and dampers along the domain.

After defining the FEM mesh for the model, you can plot the piping system geometry and run simulations such as modal analysis and harmonic analysis. It is possible to plot deformed shapes, frequency plots of acoustical and structural responses, stress fields and local stresses of desired sections.

What's new?

  • New interface and visualization tools (optimization of animation and several new resources);
  • Enhancements of project files management;
  • New acoustic elements considering mean flow;
  • Enhanced orifice plate (considering mean flow effects);
  • New structural elements: expansion joint, flange and valve (integrated with acoustic analysis);
  • Gas properties obtained through a fluid thermodynamic database (mixtures enabled);
  • Enhanced animation of results (animation and saving set-up).

OpenPulse logo

Example Gif

Installing

  • Install Python 3.7.7 (download).

  • Install OpenPulse. Clone or download OpenPulse files. In the case of download, unzip the received file and open a terminal in the main folder (preferably, use PowerShell as administrator). So, enter the command:

pip install -r requirements.txt
  • Run OpenPulse. In the same folder, enter the following command in the terminal:
python pulse.py

Requirements

Python v. 3.7.7 
scipy
matplotlib
numpy
PyQt5
vtk
gmsh-sdk
h5py

Build your own version

  • Before building the software you should update the version at OpenPulse/pulse/__init__.py.

  • Now you need to setup a new virtual environment to make sure only the needed packages will be part of the executable. Do it running python -m venv envpulse and then envpulse/Scripts/activate.

  • After that we can install the required packages using pip install -r requirements.txt.

  • Now we are ready to go, just run python setup.py bdist_msi.

  • Your package will be created at OpenPulse/dist/OpenPulse-x.y.z.msi.

  • When everything is done you can deactivate the virtual environment. Do it just running deactivate.

Documentation

ISMA2020 - International Conference on Noise and Vibration Engineering

ASA Meeting 2020 - The 179th Meeting of the Acoustical Society of America

Next events

  • The 12th Congresso Iberoamericano de Acústica. August 28 - 31, 2022. FIA2020/2022.

Questions

If you have any questions you can open a new issue with the tag 'question'.

Authors

The authors are members of MOPT - Multidisciplinary Optimization Group, from Federal University of Santa Catarina (Florianópolis, SC, Brazil).

Olavo M. Silva - Engineer; Jacson G. Vargas - Engineer; Diego M. Tuozzo - Engineer; Lucas V. Q. Kulakauskas - Engineer; Ana P. Rocha - Engineer; Andre F. Fernandes - Computer Scientist; José L. Souza - Computer Scientist; Eduardo Hülse - Tests and support.

alt text

**

About

OpenPulse: Open Source Software for Pulsation Analysis of Pipeline Systems

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%