Time of Flight Diffraction (TOFD) Inspection of Steel Block with Defect


In this tutorial we will learn how to set up a simple 2D model of and we will perform a Time of Flight Diffraction (TOFD) inspection of a steel block containing a defect. This model will be created using primitives in Designer.

We will learn:

  • How to set up a 2D model
  • How to assign a time dependent load
  • How to create the 2D geometry using simple geometry shapes
  • How to solve the model to calculate the max acoustic pressure

2D model to simulate a Time of Flight Diffraction (TOFD) inspection of a steel block containing a defect. This model will be created using primitives in Designer.

Model Definition

Characteristics of the model


Steel block of dimensions 28mm x 15mm

Two probes of dimensions 9mm x 4.096mm with a slope at an 18 degrees angle

Mesh Size:


Simulation Time:

5e-05 seconds 

Output Results:

-Time history of acoustic pressure at [ 24, 18 ] mm

- Max data array of acoustic pressure

Material Data

Name Stainless Steel, Generic Rexolite
Code Name stst rxlt
Density 7890 kg.m-3 1060 kg.m-3
Bulk Velocity 5790 ms-1 2340 ms-1
Shear Velocity 3100 ms-1 1100 ms-1

Why This Simulation?

Time of flight diffraction (TOFD) can be used in a variety of applications. It's primary use is rapid weld testing of circumferential and axial weld seams this is also known as perpendicular TOFD scanning. The TOFD method of ultrasonic testing is a sensitive and accurate method of non-destructive testing (NDT).

We will simulate a mechanically generated wave propagating into a steel test block.

Step by Step Video Tutorial

Here is a video tutorial in which you will find all the tutorial in video:

Note: The Designer interface has changed slightly since this video was recorded. The text that follows has been updated to reflect the interface changes.

The full simulation process is detailed in the next section

The Simulation Process

We will now go through the steps to build this model and perform a simulation

Step 1 - Create a New Project

Before we begin we must create a new project.

  1. In the Home tab of the ribbon, click New Project. The New Project window shows.
  2. Type a name for the project.
  3. If desired, change the save location and/or project file name by clicking  beside Project File.
  4. For Analysis, select Mechanical Dynamic.
  5. For Model Type, select 2D Model.
  6. Select the Advanced checkbox.
  7. For Distance, select mm.
  8. Click OK.

Project Settings

  1. Click Project Settings 
  2. Expand the Frequency of Interest tab (click the toggle box)
  3. Set value to 5e6 Hz

Step 2 - Add the Materials from the Material DB

First we will add the materials needed from the material database. We will use Steel in this tutorial.

  1. Click Project Materials to open the Material Database
  2. Expand the Misc tab
  3. Double click 'Rexolite - rxlt' to add this to Project Materials
  4. Expand the Metal tab and double click 'Stainless Steel - stst' to add this to Project Materials
  5. Click Done to close the Material Database

Step 3 - Create Basic Geometry Shapes

We will make use of the geometric primitives available in Designer. We will use the Rectangle primitive twice.

Primitive 1

  1. Click to add a Rectangle to the workspace
  2. Click primitive_1
  3. Change material to stst
  4. Set End (mm): X (mm) = 28 and Y (mm) = 15

Note: After making changes to X and Y right click the workspace and select Reset View

Primitive 2

  1. Right click primitive_1 and select Duplicate Selection
  2. Click primitive_2
  3. Change material from steel to void
  4. Set Begin (mm): X (mm) = 13.75 and Y (mm) = 5
  5. Set End (mm): X (mm)  = 14.25 and Y (mm) = 10

Primitive 3

  1. Click to add a Polygon to the workspace
  2. Change material to rxlt
  3. Set number of points to 5
  4. Set X (m) = 2 and Y (m) = 15
  5. Set X (m) = 2 and Y (m) = 17.5
  6. Set X (m) = 6.5 and Y (m) = 19
  7. Set X (m) = 11 and Y (m) = 19
  8. Set X (m) = 11 and Y (m) = 15

Note: At the moment, polygon type of shapes do not support unit transformation to mm, thus input has to be in m unit.

Primitive 4

  1. Click to add a Polygon to the workspace
  2. Change material to rxlt
  3. Set number of points to 5
  4. Set X (m) = 26 and Y (m) = 15
  5. Set X (m) = 17 and Y (m) = 15
  6. Set X (m) = 17 and Y (m) = 19
  7. Set X (m) = 21.5 and Y (m) = 19
  8. Set X (m) = 26 and Y (m) = 17.5

Note: At the present moment, polygon type of shapes do not support unit transformation to mm, thus input has to be in m unit.

Step 4 - Define a Time Function

We will now add a Ricker Wavelet drive function for later use as out loads require a time function be set.

  1. Click '+' to open the Define Input Drive Function window 
  2. Change to Ricker Wavelet 
  3. Set Drive Frequency to 5e6 Hz (same as Frequency of Interest)
  4. Click Insert to close the window. A record called timefunc_1 will be added to the window

Step 5 - Choose the Right Mesh Size

We will now change the mesh settings to use 15 elements per wavelength

  1. Select Configuration
  2. Set Definitions to Wavelength Based
  3. Set Elements Per Wavelength to 15
  4. Set Mesh Velocity to Defined
  5. Set Mesh Velocity Value to 2350

Step 6 - Create the load

  1. Expand Boundary Conditions and, beside Loads, click +.
  2. For Creation Mode, select Geometry Interface.
  3. For Geometry, select primitive_3 (rxlt) or click it in the model.
  4. For Interfacing Item, select Background (void).
  5. Click Create Load.

Upon clicking Create Load a record load_1 will be added to the Model Tree after this you can close the Load Definition window.

Edit Load Properties 

With load_1 selected in the Model Tree, do the following in the Properties window:

  1. Expand Interface Definition.
  2. For Minimum (mm) > X (mm), type 3.
  3. For Minimum (mm) > Y (mm), type 15.
  4. Set Maximum (mm) > X (mm), type 5.
  5. Set Maximum (mm) > Y (mm), type 19.

Step 7 - Define the Boundary Conditions

  1.  Click Domain Boundaries
  2. Set X minimum to Absorbing
  3. Set X Maximum to Absorbing 
  4. Set Y Minimum to Free
  5. Set Y Maximum to Free

Step 8 - Define the Analysis Simulation Time

We will now set the model simulation time to be 1.6e-5 seconds

  1. Click Analysis 
  2. Change Simulation Run Time (s) to 1.6e-5

Step 9 - Define the Output Results

We will now define 2 outputs, a time history of the acoustic pressure on the front of the defect will be recorded and the maximum pressure array will be outputted

Output 1

  1. Click '+' this will create a new output 
  2. Change Output Type to Field Data
  3. Change Array Type to Acoustic pressure
  4. Change Field Type to Maximum

Output 2

  1. Click '+' this will create a new output 
  2. Change Output Type to Time History 
  3. Change Array Type to Acoustic pressure
  4. Set X = 24 and Y = 18

Step 10 - Run the Model on the Cloud

At this point the model is completely set up and it can now be run on the cloud.

  1. Click Run on Cloud 
  2. The option to rename your job. This is how it will appear in the storage
  3. Click Estimate 
  4. Click Run

Step 11 - Check the Simulation Results

The simulation results will need to be downloaded from the cloud storage in order to analyse the results in the post processor. More experience users may also be able to process Time Histories in Review.

  1. Click Storage this opens the window shown above
  2. Locate the job 
  3. Click Download and click Download all

Choose an appropriate save location when the file explorer pops up and click Select Folder to close the window.

Switch to the Post Processor 

  1. Click this icon to access the Post Processor 

Open Result

  1. Click File Explorer
  2. Expand the job simulation folder. Open the flxdato file and the flxhst file (double click them)
  3. Click Results Manager 

Plot Time History 

  1. Double click aprs to plot acoustic pressure 
  2. Set plot title to Acoustic Pressure Recorded at Output (optional title)
  3. Set Y-Axis Label to Acoustic Pressure 

Plot Data Array (Maximum Pressure)

  1.  Click Reset Viewport and choose Reset All Viewports
  2. Double click apmx to plot the maximum pressure data array

Model Graphics

  1. Click Model Graphics 
  2. Click Surface Plot
  3. Click the workspace and move to rotate the model

Try for Yourself 

Now that we have introduced you to the tutorial try have a play around with some of the settings, add some other outputs, or use this model as a starting point for your own.

0 out of 0 found this helpful


  • Hey, I executed all the steps and at last when I click "Run", it throws an error: "Sorry, job failed to start. Authentication failed". I am sure its not related to the this particular tutorial.
    What seems to be the problem and how can I go about it?



    I just signed out and signed in again and the problem seems to be solved.

    Comment actions Permalink
  • Hello,

    I am trying to conduct a 3D simulation of the same model. I am not able to create the geometry of the 2 rexolite wedges in 3D. I cannot find a primitive to create a polygon.

    The reason I want to create the geometry and not export it from CAD is because I want to create a paramteric sweep for the center of the receiver at different distances between the transmitter and receiver to see the amplitude drop as the distance increases.

    please assist me in this regard

    Robin James

    Comment actions Permalink
  • Hey Robin,

    What version of the software are you using?

    There should be a 3D polygon primitive in the Designer mode that you can use to create the rexolite wedges. The polyhedron option will create a poly that you can edit.

    Best regards,

    Comment actions Permalink

Please sign in to leave a comment.