pyva is the free software framework to calculate and predict the vibroacoustics of technical systems using deterministic (FEM), random (SEA) and the combination of both hybrid FEM/SEA.
It is a Python library for Vibroacoustic simulation available on github.
All examples, systems and models from the book Vibroacoustic Simulation – An Introduction to SEA and hybrid methods are created using this toolbox.
About pyva
In its DNA this free software establishes the logics of hybrid FEM/SEA simulation. The toolbox comprises several implemented methods, data structures and algorithms to present the theory in a practical way.
The main goals are …
- to establish a data structure that deals with typical data of vibroacoustic simulation as transfer matrices, system matrices, signals, shape function etc.
- to implement an API for SEA-methods that can be easily used and extended
- to implement an API for hybrid FEM/SEA-methods
- to implement an API for acoustic and elastodynamic material models
- to implement system descriptions for deterministic and random systems
- to provide an open framework to allow further extensions
Worked Out Examples
The best entry into the use of pyva is the examples section. Here, several cases of sound isolation, room-wall-room set-ups or one-dimensional networks are given. This includes many examples linked to the specific chapters in the book.
A typical code example is shown in the following:
# Example with 3 layups for sound absorption
import numpy as np
import matplotlib.pyplot as plt
import pyva.models as mods
import pyva.systems.infiniteLayers as iL
# my packages
import pyva.properties.materialClasses as matC plt.close('all')
omega = 2*np.pi*np.logspace(1,4,100)
# default fluid
air = matC.Fluid(eta = 0.0)
Documentation
pyva comes with a detailed online documentation.
The API documentation is done in the code providing details about the required methods and classes and follows the numpy documentation scheme to allow for direct support in modern IDEs as Spyder.
Installation
The software can be installed from the python packaging index (pypi) using the pip installer:
pip install pyva-toolbox
The code is hosted on github. More details of the installation procedure are given on the pyva-website.
Contributions
pyva in the current status is far from being complete. It is mainly a framework and there are lots of things to do. So, if your are interested in contributing, debugging or correcting thia python software please contact me and join the development team at github.