Skip to main content
eScholarship
Open Access Publications from the University of California

UC San Diego

UC San Diego Electronic Theses and Dissertations bannerUC San Diego

Fast Implementation and Real-Time Application of the Finite-Difference Time-Domain Method for 2-D Plates

No data is associated with this publication.
Abstract

In this paper, I first develop real-time applications including virtual instruments and plate reverb using the Kirchhoff plate model with loss and tensioning terms. Finite-difference time-domain (FDTD) methods are employed, and they are implemented on central processing units (CPUs) and optimized by loop unrolling or advanced vector extensions (AVX), enabling these programs to be executed in real time at fast speeds. Then I present a numerical method for solving the biharmonic equation using finite difference methods, which can be used for solving part of the von-Kármán plate equation. With the simply supported boundary condition, the linear system could be regarded as a composition of two Poisson's equations, and these Poisson's equations are solved by the Thomas algorithm for a series of tridiagonal systems after transpositions and linear transformations for vectors in the systems and all non-empty blocks of the Laplacian matrix. We also point out that the matrix decomposition used for these linear transformations has a closed-form formula, which is easy to be pre-computed and also space-saving. Furthermore, since this solver is computed block by block and does not need sparse matrix operations, this method is good for single instruction multiple data (SIMD) parallelization using AVX intrinsics on CPUs, which makes it possible to execute at fast speeds for real-time music applications. We also show that this solver for the simply supported boundary condition can also be easily adapted for other boundary conditions using Woodbury matrix identity with a little extra complexity. Numerical experiments show that the C++ implementation of this method is faster than decomposition-based solvers (like LU or Cholesky decomposition) of some well-known C++ libraries at the scale of applications in the field of musical acoustics. Finally, applications such as virtual plate instruments and plate reverb using FDTD schemes are developed as puredata (Pd) externals which can serve as objects in puredata, a real-time graphical programming environment for audio and graphics. In these applications, multiple inputs (excitation or audio signal) and outputs whose positions are free to change in real time are allowed, and physical parameters can be dynamically manipulated in real time, allowing users the ability to produce both realistic sound and new sounds not possible to generate in the real world. Additionally, these Pd externals can also be used as modules to build Pd patches, which provides more possibilities for experimental artists.

Main Content

This item is under embargo until April 5, 2025.