Rachael Bakaitis (Senior Thesis, August 2014,
Advisor: Kent Gee, Derek Thomas
This thesis is a direct continuation of work done by Kuhn et al. [J. Acoust. Soc. Am. 63, S1, S84 (1978)] and Bodon et al. [J. Acoust. Soc. Am. 133, 5, 3507 (2013)] concerning propagation of finite-amplitude, or nonlinear, waves from a baffled pipe. Band-limited Gaussian noise and 1 kHz, 1.5 kHz, and 2 kHz sinusoidal acoustic waves were driven with initial peak pressure amplitudes ranging from 98 dB to 163 dB through a 6.1 m long circular cylindrical PVC pipe with a 5.1 cm inner diameter and baffled end. The pipe end was open, allowing the driven sound to propagate from the pipe. The waveform was measured along its propagation path, including near the driver, inside the pipe, at the pipe’s face, and at radial distances outside the pipe as far as 1.3 m from the pipe opening. This thesis examines characteristics of the waveform and its changes along its propagating path through and outside the pipe. Characteristics discussed include shock wave formation inside the pipe, reflection near the pipe opening, amplitude at the pipe face, amplitude of its positive impulse and nonlinear asymmetry at distances outside the pipe, and the rate of amplitude decay of the propagated wave as it travels away from the pipe.
Spencer Lyon (Capstone, August 2013,
Advisor: Derek Thomas
I describe the creation of a Python interface to the HSF C++ library. HSF stands for hierarchal spline forests and the C++ library is used to represent surfaces or volumes of arbitrary complexity in terms of hierarchal splines. This library is under active development by BYU faculty in the Physics, Engineering, Mathematics, and Information Technology departments. I will defend the choice of using Python as the high-level interface. I will also describe projects that facilitate wrapping compiled languages (like C, C++ or Fortran) in Python. Among them are SWIG, Boost.Python, Cython, and a relatively new project – XDress. XDress blends an expressive typesystem, C/C++ source code parsers, and code generating utilities into an easy to use system for constructing Python wrappers for C or C++ code via Cython.