Refining automated ultrasonic inspections with simulation models
CHAPTER 3. FORWARD MODEL TO EVALUATE SCAN QUALITY
by Michael Garton
|
CHAPTER 1. INTRODUCTION: |
CHAPTER 4. MODELING EXAMPLES |
CHAPTER 5. CONCLUSION |
|
|
It should be stressed that although the examples were worked with the Gauss-Hermite beam model, this choice is not essential and a different beam model can be substituted into the same process.
The GHBM can model longitudinal or shear waves in isotropic or simple anisotropic media. This particular software implementation can represent elliptical or rectangular transducers. The transducers can have planar, cylindrical, spherical, or bi-cylindrical focal types. It is restricted to bicylindrically curved interfaces whose curvatures do not vary significantly over the footprint of the beam. The transducer is approximated as a piston source with unit displacement across its face. The GHBM makes the paraxial approximation, which involves an expansion of the transducer wave field about a fixed central ray direction. It is known that the paraxial approximation breaks down in the near field and at medium to high incident angles on interfaces when real beams are known to be highly non-symmetric. The effect of this approximation has been explored by Lerch et al [5]. Another approximation in the GHBM is its method of treating mode conversion at interfaces. In the GHBM approach the beam is simply turned to follow the central Snell's law ray, and the amplitude terms are multiplied by the appropriate transmission or reflection coefficient, while the phase curvature is multiplied by a factor that accounts for the effects of the interface on the wave-front curvatures. This transmission method works well for flat or mildly curved surfaces at low to medium incident angles. At high angles and or tightly curved surfaces, however, portions of the incident beam not near the central ray will have an incident angle that is significantly different from the central ray and the Gauss-Hermite will fail. However, such cases are often rather exceptional and the Gauss-Hermite works extremely well in many practical cases.
The original creators of the software algorithms
that implement the GHBM were Bruce Thompson, Tim Gray, Byron Newberry,
Frank Margetan, and Ali Minachi [3,4].
The algorithms can be likened to the series solution methods of
differential equations. At the transducer face, the GHBM solves for
coefficients of the basis functions which will be the terms in the
series. In a typical analysis, 10 to 25 terms are used. To propagate
the field, these coefficients and extensions of the basis functions are
all that is needed. Evaluating the field is therefore accomplished by
simply summing up the basis functions at the point of interest. Because
only a summation needs to be performed at single frequency field point,
the GHBM is very fast on a typical workstation. In fact, at a single
frequency, the entire field on a particular cutting plane through the
beam can be evaluated in real time. The GHBM was originally coded in
FORTRAN. This version was rewritten in C++ to increase supportability,
allow dynamic memory management, and speed integration with other
modern software.
The measurement model also includes a process for
calibration. A reference time domain waveform from a known simple
scatterer is obtained using the same transducer, pulser setting, and
wiring that the user wants to simulate. The reference waveform is
transformed into the frequency domain and corrections made for
diffraction effects [8]. The resulting frequency
spectrum is then an effective system efficiency as a function of
frequency. When this measured efficiency factor is used in the
measurement model, quantitative predications of waveforms received from
flaws can be made.
When combined with some computer graphics output,
the CAD solid model has many uses in modeling. First of all, the user
can visualize the geometry. He or she can position the transducer
relative to the part in 3-D space. Secondly, intersections of vectors
and the geometry can be calculated. At these intersections, properties
of the surfaces can be sampled. The beam model needs normal vectors,
tangents, and principal curvatures. It also needs to know if a given
point lies on the exterior, surface or interior of the object. The
point test is used to keep track of field locations relative to the
probe, part, and flaw.
![]() Figure 2. Coordinate system description for scan path generation |
The scan path generator uses the two dimensional (u, v) parameter space of the scan motion coordinates to drive the three dimensional locations of the transducer. In most cases, this coordinate system was coincident with the
parametric directions from the CAD surfaces. To
create a nominal scan, a Cartesian grid is dropped onto parameter
space. The two dimensional parameter space locations of the grid are
evaluated to create three dimensional global space points on the
surface. Also the first two derivatives of the surface are calculated
at each of the grid points. The derivatives are used to calculate
tangents and then normal vectors at the surface points. The transducer
can be placed with its axis on the surface normal, tilted by a
specified incident angle, and translated upwards by a specified length
of the water path. This method will define a grid of transducer
locations and orientations in global space. The second derivatives of
the surface are used to calculate surface curvatures for the beam
model. If the Cartesian grid that is dropped on to parameter space had
constant increments of u and v, then the resulting array of global
space positions, in general, will not have a constant increment of
global space between them. An intelligent control algorithm was created
to change the parameter space grid as necessary to achieve the desired
real space step size.
|
Table 5. Elements of the voxelizer
|
|
The solid model can be made up of any number of
trimmed non-uniform-rational-b-spline surfaces. The software user then
defines the desired voxel resolution of the volumetric elements inside
the voxelizer. The software automatically creates a bounding box that
just encloses the solid model with its sides parallel to the global
Cartesian axes. The voxelizer creates a working plane parallel to one
of the box sides. A grid is created on the plane with the resolution
previously specified by the user. From each point in the grid, a ray is
created normal to the plane and intersected with the solid model. The
intersection points are stored in a memory efficient data structure.
Field quantities will be calculated along each ray at increments equal
to the voxel resolution. The voxelizer was designed with a high
priority on memory efficiency, because the required data sets are
proportional to the volume of the object. The number of voxels used in
a typical run is 10,000 to 1,000,000. The Cartesian location of each of
the voxel points along the ray is not stored to save memory. The
voxelizer can quickly calculate the subset of points along a ray that
are inside the geometry. By always calculating the points in the same
order, it can recalculate the position for a given field value whenever
required. This allows random access storage and retrieval of field
quantities at any point in the part without storing the location itself.
| | UTonline | |