Table of Contents
Fetching ...

Fast Differentiable Modal Simulation of Non-linear Strings, Membranes, and Plates

Rodrigo Diaz, Mark Sandler

TL;DR

This work presents a fast, differentiable, GPU-accelerated modal framework for simulating nonlinear vibrations of strings, membranes, and plates, implemented in Python with JAX to enable gradient-based inverse modelling even for complex nonlinearities such as the von Kármán plate. By deriving and implementing modular modal expansions and differentiable time integrators, the authors achieve scalable performance that outpaces CPU and some GPU baselines, while preserving physical interpretability through parameters like tension, bending stiffness, and coupling tensors. They validate the approach with loss-function-guided inverse problems on synthetic and real data, demonstrating parameter recovery for tension, stiffness, damping, and geometry, though they also highlight challenges from ill-posedness and initialization sensitivity. Beyond real-time synthesis and dataset generation, the framework provides a bridge between classical physics-based modelling and differentiable computation, enabling future hybrid physics-dynamics approaches and differentiable FEM extensions, all released as open source.

Abstract

Modal methods for simulating vibrations of strings, membranes, and plates are widely used in acoustics and physically informed audio synthesis. However, traditional implementations, particularly for non-linear models like the von Kármán plate, are computationally demanding and lack differentiability, limiting inverse modelling and real-time applications. We introduce a fast, differentiable, GPU-accelerated modal framework built with the JAX library, providing efficient simulations and enabling gradient-based inverse modelling. Benchmarks show that our approach significantly outperforms CPU and GPU-based implementations, particularly for simulations with many modes. Inverse modelling experiments demonstrate that our approach can recover physical parameters, including tension, stiffness, and geometry, from both synthetic and experimental data. Although fitting physical parameters is more sensitive to initialisation compared to other methods, it provides greater interpretability and more compact parameterisation. The code is released as open source to support future research and applications in differentiable physical modelling and sound synthesis.

Fast Differentiable Modal Simulation of Non-linear Strings, Membranes, and Plates

TL;DR

This work presents a fast, differentiable, GPU-accelerated modal framework for simulating nonlinear vibrations of strings, membranes, and plates, implemented in Python with JAX to enable gradient-based inverse modelling even for complex nonlinearities such as the von Kármán plate. By deriving and implementing modular modal expansions and differentiable time integrators, the authors achieve scalable performance that outpaces CPU and some GPU baselines, while preserving physical interpretability through parameters like tension, bending stiffness, and coupling tensors. They validate the approach with loss-function-guided inverse problems on synthetic and real data, demonstrating parameter recovery for tension, stiffness, damping, and geometry, though they also highlight challenges from ill-posedness and initialization sensitivity. Beyond real-time synthesis and dataset generation, the framework provides a bridge between classical physics-based modelling and differentiable computation, enabling future hybrid physics-dynamics approaches and differentiable FEM extensions, all released as open source.

Abstract

Modal methods for simulating vibrations of strings, membranes, and plates are widely used in acoustics and physically informed audio synthesis. However, traditional implementations, particularly for non-linear models like the von Kármán plate, are computationally demanding and lack differentiability, limiting inverse modelling and real-time applications. We introduce a fast, differentiable, GPU-accelerated modal framework built with the JAX library, providing efficient simulations and enabling gradient-based inverse modelling. Benchmarks show that our approach significantly outperforms CPU and GPU-based implementations, particularly for simulations with many modes. Inverse modelling experiments demonstrate that our approach can recover physical parameters, including tension, stiffness, and geometry, from both synthetic and experimental data. Although fitting physical parameters is more sensitive to initialisation compared to other methods, it provides greater interpretability and more compact parameterisation. The code is released as open source to support future research and applications in differentiable physical modelling and sound synthesis.
Paper Structure (14 sections, 17 equations, 5 figures)

This paper contains 14 sections, 17 equations, 5 figures.

Figures (5)

  • Figure 1: Error comparison between numerical integration methods. Top: Simulation of the tension-modulated string from initial conditions using DOP853 (RK), the FTM-based method (TF), and the Störmer-Verlet method (SV). Bottom: Error computed as the magnitude STFT difference between each method and the reference DOP853 integrator. The simulation was performed for a tension-modulated string with 40 modes.
  • Figure 2: Benchmark comparison of different implementations. Top: von Kármán plate model, Bottom: tension modulated plate model (Berger). Performance is measured for simulations of 10, 50, and 100 modes, each running for 1 second at 44,100 Hz. A dotted line is shown to indicate real-time performance, above the line is slower than real-time. Results are displayed as box plots obtained from 50 repeated runs per configuration.
  • Figure 3: Loss landscapes with respect to the normalized bending stiffness $\hat{D}$. Three losses are considered: log-magnitude ($\mathcal{L}_{\text{log}}$), spectral convergence ($\mathcal{L}_{\text{sc}}$), and spectral optimal transport ($\mathcal{L}_{\text{sot}}$). The time-domain MSE ($\mathcal{L}_{\text{time}}$) is included for comparison. The vertical dotted line indicates the optimal value of $\hat{D}$ for the target response. The losses are scaled for better visualization.
  • Figure 4: Inverse modelling experiments. (a) Semi-log plot of the fit to a real plucked string. (b) Semi-log plot of the fit to a real struck thick plate. (c) Spectrogram of the target and optimised responses of a synthetic simulation of the von Kármán plate model.
  • Figure 5: Spectrograms of the target and optimised forced responses from simulations of the von Kármán plate model. Top: Matching the response at a single point on the plate, by optimising only the normalised bending stiffness ($\hat{D}_{\text{target}} = 5.8328$, $\hat{D}_{\text{initial}} = 10$, $\hat{D}_{\text{optimised}} = 5.8329$). Bottom: Matching the response by optimising only the coupling coefficients $H$, initialised with random values from a normal distribution.