Let us worry about your assignment instead!

We Helped With This MATLAB Programming Assignment: Have A Similar One?

More InfoDifferential Equations Assignment Help

Short Assignment Requirements

Dispersion Solver in matlab programming. Numerical methods. Using characteristic equations root finding methods in wave propagation. Creating a script.

Assignment Description

ME 309 – Numerical Analysis of Engineering Systems

Course project: dispersion solver

Christoph Schaal

Department of Mechanical Engineering California State University, Northridge


I Application of ultrasonic nondestructive testing (NDT)

I Locate disbonds and delaminations in structural components using guided waves


Concept: NDT of plate structures using guided ultrasonic waves


I Understand wave propagation in the monitored structure

I Analyze scattering phenomena for various defects

I Implement reliable damage detection (signal processing)

Tracking of wave in signal

I Propagation velocity cg of wave

I Distance d between actuator and sensor

I Time of arrival tA = d/cg

Anti-symmetric wave motion of A0 wave at f = 200kHz

Symmetric wave motion of S0 wave at f = 200kHz

Problem statement

The characteristic equations for Lamb waves for antisymmetric and symmetric wave motion in isotropic plates can be expressed in the form

tan(βH)/tan(αH) + (k − β ) /(4αβk ) = 0


                                                  2          2

tan(βH)/tan(αH) + 4αβk /(k − β2)2 = 0 ,


                                                                              2              2 2                       2


                      α = qk12 − k2 ,            β = qk22 − k2 ,        kj = cωj ,    for      j = 1,2 ,              (3)

where H is half the plate thickness, ω = 2πf is the angular frequency, k is the wavenumber and c1 and c2 are the P- and S-wave speeds, respectively.

Goal: Create a user-friendly program to find the propagation velocities of the fundamental waves A0 and S0 within the frequency range of 1kHz to 500kHz for any material and plate thickness. Write a quick-start guide to explain the program to a lay user.

Problem statement

Work flow

I The user enters (or selects) geometry and material properties

I The program calculates and displays c1 and c2 (see Eqs. (1) and (2) in 2015 jsv rayl paper)

I The program calculates the “first” real root k of each dispersion equation for a fine grid of frequencies and outputs the results in a plot

I The program calculates and outputs the corresponding group velocities cg

(see Eq. (13) in 2015 spie dispersion paper) in another plot

I In addition, the user should also be able to select a frequency for which the programs outputs the values for the wavenumbers and group velocities

I Submit via Canvas

Solving dispersion equations


I Use the geometry and material properties of the reference solution

I Plot the residuum of the two dispersion equations for varying values of k at one frequency, e.g. f = 100kHz.

I Implement an appropriate root-finding algorithm to find the (largest) real value of k that yields zero residuum for a given f

I Compare your result with the reference solution

I Repeat this process for other frequencies in the range of interest I Test your program for other geometry and/or material properties (one additional set of parameters is enough)

I Note: the residuum of dispersion equations can be complex, and the equations also have an infinite number of complex roots (these are not considered in this project)

User interface

I Create a GUI (graphical user interface) for the program

I Explore Matlab GUIDE (similar to UserForms in VBA)

I Design GUI where user can input parameters

I User can select desired plot: either f (k) or cg(f ) or frequency to output the values of k and cg at this frequency

I Dispersion solver is executed upon request

I Use proper labels

I Use proper units

Quick-start guide

I max. 2-page document

I Use screenshots of your program

I Write for a non-technical audience

I Make sure everything is legible, and figures are of high quality

I Check spelling and grammar

I Don’t forget ...

I Submit as PDF via Canvas

Grade breakdown

Due date: at the beginning of the last class





Code quality


Quick-start guide





Customer Feedback

"Thanks for explanations after the assignment was already completed... Emily is such a nice tutor! "

Order #13073

Find Us On

soc fb soc insta

Paypal supported