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

SEA model of two rooms coupled by concrete floor and wall
SEA model of two rooms coupled by concrete floor and wall

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

Overview of pyva modules from documentation website
Overview of pyva modules

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.

Scroll to Top