Lamb Wave Dispersion in Plates


This example shows how to produce dispersion curves in an aluminium plate using a review script.

Dispersion curves obtained from OnScale results in phase velocity against frequency representation.

Plate waves are similar to surface waves except they can only be generated in materials a few wavelengths thick. Lamb waves are some of the more commonly waves used in Non-Destructive Testing (NDT), they are complex vibrational waves that propagate parallel to the surface of the material throughout it's thickness. Lamb waves exhibit velocity dispersion; their velocity of propagation is dependent on the frequency and the elastic properties and density of the test material. Lamb waves are generated at an incident angle in which the parallel component of the wave velocity in the source equals that of the test materials velocity.

The two most common modes of particle vibration are symmetrical and asymmetrical and are commonly denoted as S0, S1,...SN and A0, A1,...AN respectively.


  •  Time Histories (XY Graphs)
    • Drive input signal
    • Y Displacement recorded every 5 elements along the x-axis

Runtime Statistics

Model size

360000 elements

Solve Time

60 s (2 CPU)

Core Hours


Memory Usage

74 MB

Recommended CPU Configuration



Accompanied with this example is a review script (.revinp), once the input file has run to completion, download the flex history output and open the attached review file in the same directory to post process locally. This will perform a 2-D Fourier Transform (FT) on the resultant time histories generated. The 2 plots generated will display the dispersion curve shown above as well as the dispersion curve plotted in the wave number vs frequency representation.


The following input files are required to run this model, click here to download the input files:

Download: Lamb Wave Dispersion

1 out of 1 found this helpful

1 comment

  • This is a nice example.

    As the code currently is, the loading commands don't allow for the simulation of pure asymmetric and symmetric mode shapes. There are two loading commands that should allow this in the code are commented so.

    I found the commands at the end of this page do this better.


    Euan Foster

    c Lamb Waves

    c following section generates antisymmetric modes
    c pdef ptop func
    c vctr vtop 0. 1. 0.
    c sdef ptop vtop $i1 $ipres $j2 $j2

    c pdef pbot func
    c vctr vbot 0. 1. 0.
    c sdef pbot vbot $i1 $ipres $j1 $j1

    c Following two commands generate only create symmetric modes
    c pdef ptop func
    c vctr vtop 0. 1. 0.
    c sdef ptop vtop $i1 $ipres 31 31

    c pdef pbot func
    c vctr vbot 0. -1. 0.
    c sdef pbot vbot $i1 $ipres 30 30

    c All modeshapes
    pdef ptop func
    vctr vtop 0. -1. 0.
    sdef ptop vtop $i1 $ipres $j2 $j2

    Comment actions Permalink

Please sign in to leave a comment.