FINITE ELEMENT MODELLING OF PULSED BESSEL BEAMS AND X–WAVES USING DIFFPACK Åsmund Ødegård, Paul D Fox, Sverre Holm, Aslak Tveito Department of Informatics University of Oslo P.O.Box 1080, Blindern N-0316 Oslo, Norway INTRODUCTION This article reports some preliminary results in the development of a finite element simulator for ultrasonic fields using the numerical programming library Diffpack. In our present work, we are combining the study of linearly–based limited diffraction beams (Bessel beams and X–Waves) with the development of a finite element package for analysis of linear and nonlinear media in order to compare how such waves behave in the two cases. The medium may be either homogeneous or inhomogeneous. The main content of this paper is on the linear model, but we also include some recent developments on propagation in nonlinear medium. PROPAGATION MODELS, BESSEL BEAMS AND X–WAVES Bessel beams (Durnin, 1987) and X-Waves (Lu and Greenleaf, 1992) are limited diffraction solutions to the lossless linear wave equation (1) in which is the speed of sound. One variant of Bessel beams and X-Waves are those of order zero "!#%$ '&)(*,+-! /.%021436587)9*:<; =>.#?#?@.@A=>.@B)C (2) B "!#%$D E YX B[Z\.^] ( (3) ! FHJI GKMLON B ( P ,$RQTS F K VU G W These exhibit B circular symmetry and are therefore well suited to implementation on annular arrays. Here ( is a constant, _ is the frequency, ! is the distance from the center line of K the transducer, $ is the propagation distance from the transducer surface, and , + are design ` E _a + parameters with . See (Lu, 1997; Holm, 1998; Fox and Holm, 1999) for details of design and implementation. For the purposes of simulation, we use the real parts . The domain of of (2), (3) to generate the transducer surface pressure excitation at computation is taken to be a box over positive time and with initial condition Odfe h g ( 6( ( ( ifj Gfj\k ifj $bc (4) i (5) where is the steady state (atmospheric) pressure. The boundary of the domain is then divided into two parts, and such that is the part of the boundary on which the ultrasound transducer is located, and is the remainder. The waves in (2,3) are generated , and in the latter region we adopt a first order non-reflecting boundary on the transducer (Engquist and Majda, 1977) fj ifj\k il hifjDk (6) The longterm objective of our work is then to compare how the Bessel beams and X– Waves behave under the idealised lossless linear conditions of (1) and the more complex lossy nonlinear propagation conditions defined in (Makarov and Ochmann, 1996; Makarov and Ochmann, 1997) by the system o pm L m Lx}i~ (|)( }i~ r |)( ps = na q m Lxw y%mz (7) rt s vu O Y L |)( w m (8) m u (9) r |)(* m{*pm (10) = m w Here, is the velocity potential, |)( is the density, is the absorption parameter and aTq is e for positive time. the nonlinearity parameter. The problem is solved on some domain nmh m L y{ By ignoring the nonlinear terms and the lossy term in the relation (8), we get the simpler relation y{ (|)( m (11) which may be used as a replacement for the pressure — velocity potential relation (8). We assume that the system is at rest initially. Further, we may combine the initial condition for the pressure (4) and the pressure — velocity potential relation (11) to obtain a second initial condition for the velocity potential, m g ( m (6 h (12) m g ( OD { (13) ifj , we combine the relation (11) and the wave–expresOn the transducer boundary m ] sions (2,3) to set the boundary condition in terms of the velocity potential Since the nonlinear model is an extension of the linear model, we also adopt the absorbing boundary conifj\k , for the nonlinear model, i.e dition (6) on the rest of the boundary, m m l hifjDk (14) NUMERICAL METHOD Our approach is to use a Galerkin finite element method in the space domain, combined with a finite difference approximation of the time derivatives. Consider the linear model (1). Assume that is the pressure at time Then a semi-discrete scheme for the problem is given by l T 2] h] r L 7 (15) Assume that *@ is a finite element basis for the solution space such that g g ] now Multiply (15) with 0 and apply integration by parts to the second order derivative C in space, using the non–reflecting boundary condition (6). This yields a set of equations for the unknowns: 2\ k g 02 l L G 0 (16) n [ 0n l 0 L r { 7 0 P 6] ]6] C k G ZD is defined as the integral of the functions and Z over the Here the inner product " solution domain ZD Z " ¡ ¢ w For the linear case, the problem then formulates into a linear problem of the type at each time step, which is solved with e.g. a Krylov subspace method such as Conjugate Gradients. For the nonlinear case, we obtain a nonlinear discrete problem which is solved with an iterative method, e.g. Newton–Raphson iterations, at each time step. Consider now the nonlinear model (7). The same approach as for the linear case are used. For the time–derivatives, we use centred differences. Then a semi–discrete scheme for the problem is given by nm G m pm L G{ £ ¤ ¤ pm l© a r r m L m 7 L = r anq m vu ¥s L = r anq m vu ¥s Lxw nm-¦ ,§ Lxw nm ¦ 7 ,§ [¨ ] 6 ª ,§ (17) The –power on the brackets, means that all expression inside the bracket should be evaluated at . This is performed by taking the mean value of the space–derivatives and using centred differences for the derivatives of time. Assume now that is a finite element basis for the solution space such that . Expand the brackets in (17), multiply with and apply integration by parts to the second order derivatives in space, using the non–reflecting boundary condition (14). If we assume that and is computed, this yields a nonlinear problem for m- m- g « m- * m ¬ m 7 %­ m m 7 m D O 0 ¬ where ¬ is the function with components 0 r 2 m Ym 7 / 0n l ® m 0 v¯ N m 7 r m L m °U 0n± L £ ² ¯ N pm L r pm pm ³m 7 / m 7 U 0 ± (18) L r = aT q ¯ N m ´ r m m ³m 7 / m U 0 ± w L 2 N m L r m ³m 7 U 0T l rw ¯ N pm ³pm 7 U 0 ± ¨ P O ]6]6] Ch] m 7 and m ( . Hence, assume that m- 7 Using the initial conditions (12, 13), we can initialise m are computed. If we set m °µ ( m a hopefully better approximation to m can and be computed by Newton–Raphson iterations ¬ m °µ ³m °µ r ]6]·]¸] & ! where ! ¬ ¶yO ¬ (19) 0 a m . Further, and are the µ 0 Here & is the Jacobi matrix with components & & ­ m m m ° µ 7 respective expressions evaluated at . When some convergence criterion on m- °µ m the residual ! is fulfilled, we set . DIFFPACK SIMULATOR The simulator is implemented using the numerical Finite Element computational library Diffpack (Langtangen, 1999). This package is well suited to the simulation of ultrasound fields due to its versatility in structure and adaptability to simulation of different propagation conditions. The simulator is implemented as a class in C++, derived from the Finite Element solver class in Diffpack, and handles both pulsed and continuous wave 3D simulations. Inhomogeneous media are handled by introducing the speed of sound as a field over the finite element grid. The Diffpack library also includes support for parallel computations, through the mpi– system. We have used this system to implement a parallel version of the linear simulator. RESULTS, CONCLUSION AND FURTHER WORK As examples of the linear work we illustrate small scale nearfield simulations for pulsed Bessel beams (7-lobes) and X-Waves from a 6mm diameter transducer. The fields are solved in an box measuring 10mm wide x 10mm high x 7mm deep. For the X–Wave, we use (Lu and Greenleaf, 1992) and . A 2.5MHz transducer in water (speed of sound ) produces a wavelength . The finite element grid was defined to provide 10 times oversampling of this wavelength, needing approximately nodes. The solver then requires 1140MB of memory to solve this problem. The time step is set such that the wave is sampled at 20 times the frequency, which gives for the given nominal frequency of 2.5MHz. In Figures 1a and 1b we show snapshots of the pulsed Bessel beams and X-Waves travelling through a homogeneous medium. The figures depict x–y plane cuts through the center of ´e B ] ¼ C C (¹º )» C ? »² a K »¾½ ¿ À 4] Á C¼C r ] r » àr ] 7\Ä (a) Bessel beam (b) X–Wave Figure 1: Snapshots of pulsed beams. Direction of travel : bottom right to top left the transducer for each case. The CPU time used to solve the problem for the pulsed Bessel beam travelling through the domain, was 1.66 hours and for the X–Wave was 4.35 hours. These computations were done on an SGI/Cray Origin 2000 computer with the scalar linear solver. The same computations were also carried out on a Beowulf cluster1, using 18 processors. The CPU time used to solve the problem for the pulsed Bessel beam was then 3.04 minutes and for the X–Wave it was 3.33 minutes. This leads us to conclude that the CPU time used to solve the model for linear acoustic waves, using finite element methods, is not a problem anymore, because the method is suitable for implementation on parallel computers. The problem with the huge memory demands is still not solved. In Figures 2a and 2b, the maximum field intensity at each point in space for the same pulses having passed through a medium is given. Here, a change in medium from human ) to muscle ( ) is included in the form of an abrupt boundary fat ( change angled at 45 degrees from bottom right to top left. In both cases the diffraction effects at the boundary are visible. Notably we observe the nondiffracting property of the Bessel beam close to the transducer surface degrading considerably upon impact with the boundary. ÅÆÈÇ6É)Ê^˾ÌÍ^Î (a) Bessel beam ÅÆÀÇ@Ï^ËDÇ6ÌÍ^Î (b) X–Wave Figure 2: Maximum intensities in inhomogeneous media. Direction of travel : bottom to top 1 A cluster of 24 Dual 500MHz Pentium-III computers with 512MB memory each and running the operating system Linux C¼CÐÒ= ѾC¼C aTq Figure (3)a shows a snapshot of the pulsed Bessel beam in nonlinear medium, while Figure (3) shows the maximum field intensity. This is a 2D simulation in a domain, with a 6mm wide transducer. For the parameters in the model we have used and Our initial results therefore suggest that finite elements exhibit strong potential for flexible and realistic simulation of ultrasound pulses, although techniques to reduce the memory demands of the current solver also need to be investigated in order to enable solution of large scale systems. ] 4] Ó C ? » w ² 7  a (a) Snapshot C¼eT] |Ô ^^)¶\Õ a (b) Maximum intensities Figure 3: 2D simulation in a nonlinear medium. References Durnin, J.: 1987, ‘Exact solutions for nondiffracting beams’. J. Opt. Soc. Am 4(4). Engquist, B. and A. Majda: 1977, ‘Absorbing boundary conditions for the numerical simulation of waves’. Mathematics of computation 31(139). Fox, P. and S. Holm: 1999, ‘Effects of parameter mismatch in ultrasonic Bessel transducers’. Proc. IEEE Norwegian Signal Processing Symposium NORSIG’99. Holm, S.: 1998, ‘Bessel and conical beams and approximation in annular arrays’. IEEE Transaction on Ultrasonics, Ferroelectrics and Frequency control 45(3). Langtangen, H. P.: 1999, Computational Partial Differential Equations, Numerical methods and Diffpack programming, Vol. 2 of Lecture notes in computational science and engineering. Springer– Verlag. Lu, J.-Y.: 1997, ‘Designing limited diffraction beams’. IEEE Transaction on Ultrasonics, Ferroelectrics and Frequency control 44(1). Lu, J.-Y. and J. Greenleaf: 1992, ‘Nondiffracting X–waves — exact solutions to free–space scalar wave equation and their finite aperture realizations’. IEEE Transaction on Ultrasonics, Ferroelectrics and Frequency control 39(1). Makarov, S. and M. Ochmann: 1996, ‘Nonlinear and thermoviscous phenomena in Acoustics, Part I’. ACUSTICA - acta acustica 82. Makarov, S. and M. Ochmann: 1997, ‘Nonlinear and thermoviscous phenomena in Acoustics, Part II’. ACUSTICA - acta acustica 83.