Computational Electromagnetics

#raggedright423#

We had developed a parallel code to solve computational electromagnetic problems. Computational electromagnetics is widely used in industrial, research, and defense applications. However, many important problems are intractable with conventional techniques and vector supercomputers. For practical applications, the problem size must be dramatically increased, turnaround time must be reduced, and solution accuracy must be improved. A promising approach for overcoming these limitations is the use of integral equation methods (IEMs) implemented on massively parallel computers. Integral methods offer several advantages over traditional finite-element techniques. Integral methods require no discretization of the nonactive regions, thus saving considerable time. Integral methods also take into account far-field boundary conditions automatically. In addition, integral methods remove the need for keeping track of which elements are moving or stationary. However, integral equation methods give rise to dense matrices for which the solution time with direct methods scales as #tex2html_wrap_inline456# and the memory requirements scale as #tex2html_wrap_inline458#, where n is the number of degrees of freedom in the integral equation formulation. In addition, IEMs have a matrix definition time that scales as #tex2html_wrap_inline462# and can be significant. Historically, this has meant that in practice IEMs have either taken too much computation time compared with finite-element programs to achieve the same level of accuracy, or have not used enough elements to obtain accurate solutions. It is our feeling, however, that the advent of parallel processing computers will lead to renewed interest in IEMs for computational electromagnetic problems. CORAL is a program that has been used to solve nonlinear three-dimensional magnetostatics problems using integral equation methods. The sequential version of CORAL uses LU decomposition (Crout's algorithm) with back substitution to solve the linear systems that arise each nonlinear iteration. We have developed a parallel version of CORAL. The two key steps that we have parallelized are the matrix generation and the linear equation solver. We used the <#177#> Chameleon<#177#> message-passing system, developed at Argonne, for the message-passing parts of the program. The systems of linear equations were solved using the parallel iterative methods in the Parallel Simplified Linear Equation Solvers package (<#178#> PSLES<#178#>), which provides easy access to state-of-art methods for solving systems of linear equations (see Section #secpetsc#179>). All of the results reported here were calculated using the Generalized Minimal Residual method with block diagonal preconditioning. Preliminary timings on the IBM SP1 are shown in Table~#coral#180>. This table shows solution time in seconds as a function of the number of processors for four different problems. The first column is the number of processors used. The other columns report total solution time (seconds) as a function of the number of processors used for solving four different nonlinear problems with matrices of order 579, 972, 1629, and 2278, respectively. These runs were made using an <#181#> unoptimized<#181#> version of the program and running the EUIH message-passing software with the high-performance switch.

#table182#
Table: Solution time for four problems