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).
-
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
Python v. 3.9
scipy
matplotlib
numpy
PyQt5
vtk
gmsh-sdk
h5py
ctREFPROP
-
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 thenenvpulse/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
.
-
You can read the API reference here.
-
Theory Reference for 1D Acoustics, Structural Vibration of Timoshenko Beams using FEM, Weak Fluid-Structure-Coupling FETM-FEM, Solution Types (May, 15th 21), Matrix Assembly Technique using Python and Stress Stiffening (Prestress).
-
Project page on Researchgate.
- 12o Congresso Iberoamericano de Acústica. August 28 - 31, 2022. FIA2020/2022.
If you have any questions you can open a new issue with the tag 'question'.
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.
**