Skip to content

open-pulse/OpenPulse

Repository files navigation

OpenPulse logo

OpenPulse: Open Source Software for Pulsation Analysis of Pipeline Systems

v2.1.3 May 2026

OpenPulse is a software written in Python for numerical modelling of low-frequency acoustically induced vibration in gas pipeline systems. It allows to create or/and import the geometry of the pipe system, insert materials properties, set standardized or customized 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 geometry interface adjustments: the user can draw geometry following the conventions of popular piping software.
  • Adjustments and validation of the reciprocating compressor model.
  • New reciprocating pump model for applications with liquids such as oil, fuels, and water.
  • New interface and visualization tools (enhanced symbols for boundary condition, excitation, etc).
  • Project file management improvements: structural and acoustic results can now be saved and retrieved.
  • Enhanced animation of results (real and imaginary parts, phase monitoring, etc).
  • Beam theory validity check assistant.
  • Adjustments and validation of the pulsation suppression device editor.

New geometry interface

OpenPulse logo

Enhanced FE/FETM modeling and representation

OpenPulse logo

Pulsation suppression device editor

OpenPulse logo

Enhanced results visualisation

OpenPulse logo OpenPulse logo

Installing through an executable

  • Install OpenPulse for Windows and Linux downloading the executables here.

Installing through your Python IDE

  • Install Python 3.9.0 or later (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). Start by installing the uv module using the command:

pip install uv

then enter the following command to install all dependencies:

uv sync

Note: if some warning was logged repeat the command 'uv sync' before trying to run OpenPulse.

  • Run OpenPulse. In the same folder, enter the following command in the terminal:
uv run pulse

Conda environment

Download and install the conda-forge (conda-forge). It is recommended to check the option Add Miniforge3 to my PATH environment variable in the program installation setup. Once conda-forge was installed, it is possible to enable the MUMPS solver in Vibra. To enable this solver we need to use conda instead of poetry. To generate the conda environment, just run:

conda env create -f environment.yml

If you are using Windows, the following commands will only work on cmd, and not on powershell. To make this work propperly on powershell too, you need to run

conda init powershell

And then restart the powershell window.

After environment generation, we can activate and run Vibra by running the following commands:

conda activate pulse

Finally, enter the following command to execute the application:

python -m pulse

If some package changed since the generation, the environment can be updated using the following command:

conda env update --f environment.yml --prune

Creating a Windows installer (for maintainers)

First you need to install InnoSetup with the following command:

winget install -e --id JRSoftware.InnoSetup

You may also need to add it to your Windows path.

Then, run the following commands (these may take a while):

poetry run pyinstaller pulse.spec --noconfirm
ISCC.exe /O"dist" /F"open-pulse-setup-x64" "pulse.iss"

Your installer will appear inside the dist folder, named as open-pulse-setup-x64.

Documentation

Article published: Mechanical Systems and Signal Processing - Volume 186, 1 March 2023

ISMA2020 - International Conference on Noise and Vibration Engineering

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

FIA 2020/22 - 12o Congresso Iberoamericano de Acústica

EEA Forum Acusticum 2023 - 10th Convention of the European Acoustics Association

OpenSD 2025 - The 2nd Open-source Scientific Computing in Structural Dynamics Conference and Summer School

OpenPulse logo OpenPulse logo

Next events

  • Internoise 2025, 24 - 27 August, São Paulo, Brazil.

Questions

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

Authors

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

MOPT logo

**

About

OpenPulse: Open Source Software for Pulsation Analysis of Pipeline Systems

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors