Electromagnetic field solver

From Self-sufficiency
Jump to: navigation, search

Electromagnetic field solvers (or sometimes just field solvers) are specialized programs that solve (a subset of) Maxwell's equations directly. They form a part of the field of electronic design automation, or EDA, and are commonly used in the design of integrated circuits and printed circuit boards. They are used when a solution from first principles is needed, or the highest accuracy is required.


The extraction of parasitic circuit models is important for various aspects of physical verification such as timing, signal integrity, substrate coupling, and power grid analysis. As circuit speeds and densities have increased, the need has grown to account accurately for parasitic effects for larger and more complicated interconnect structures. In addition, the electromagnetic complexity has grown as well, from resistance and capacitance, to inductance, and now even full electromagnetic wave propagation. This increase in complexity has also grown for the analysis of passive devices such as integrated inductors. Electromagnetic behavior is governed by Maxwell's equations, and all parasitic extraction requires solving some form of Maxwell's equations. That form may be a simple analytic parallel plate capacitance equation, or may involve a full numerical solution for a complicated 3D geometry with wave propagation. In layout extraction, analytic formulas for simple or simplified geometry can be used where accuracy is less important than speed, but when the geometric configuration is not simple and accuracy demands do not allow simplification, numerical solution of the appropriate form of Maxwell's equations must be employed.

The appropriate form of Maxwell's equations is typically solved by one of two classes of methods. The first uses a differential form of the governing equations and requires the discretization (meshing) of the entire domain in which the electromagnetic fields reside. Two of the most common approaches in this first class are the finite difference (FD) and finite element (FEM) method. The resultant linear algebraic system (matrix) that must be solved is large but sparse (contains very few non-zero entries). Sparse linear solution methods, such as sparse factorization, conjugate-gradient, or multigrid methods can be used to solve these systems, the best of which require CPU time and memory of O(N) time, where N is the number of elements in the discretization. However most problems in electronic design automation (EDA) are open problems, also called exterior problems, and since the fields decrease slowly towards infinity, these methods can require extremely large N.

The second class of methods are integral equation methods which instead require a discretization of only the sources of electromagnetic field. Those sources can be physical quantities, such as the surface charge density for the capacitance problem, or mathematical abstractions resulting from the application of Green's theorem. When the sources exist only on two-dimensional surfaces for three-dimensional problems, the method is often called a boundary element method(BEM). For open problems, the sources of the field exist in a much smaller domain than the fields themselves, and thus the size of linear systems generated by integral equations methods are much smaller than FD or FEM, as illustrated for a small portion of two signal lines in Figure 1. Integral equation methods, however, generate dense (all entries are nonzero) linear systems which makes such methods preferable to FD or FEM only for small problems. Such systems require O(N^2) memory to store and O(N^3) to solve via direct Gaussian elimination or at best O(N^2) if solved iteratively. Increasing circuit speeds and densities require the solution of increasingly complicated interconnect, making dense integral equation approaches unsuitable due to these high growth rates of computational cost with increasing problem size.

In the past two decades, much work has gone into improving both the differential and integral equation approaches, as well as new approaches based on random-walk methods[1]. Methods of truncating the discretization required by the FD and FEM approaches has greatly reduced the number of elements required[2][3]. Integral equation approaches have become particularly popular for interconnect extraction due to sparsification techniques, also sometimes called matrix compression, acceleration, or matrix-free techniques, which have brought nearly O(N) growth in storage and solution time to integral equation methods [4] [5] [6] [7] [8] [9] [10].

In the IC industry, sparsified integral equation techniques are typically used to solve capacitance and inductance extraction problems. The random-walk methods have become quite mature for capacitance extraction. For problems requiring the solution of the full Maxwell's equations (full-wave), both differential and integral equation approaches are common.


  • Electronic Design Automation For Integrated Circuits Handbook, by Lavagno, Martin, and Scheffer, ISBN 0-8493-3096-3 A survey of the field of electronic design automation. This summary was derived (with permission) from Vol II, Chapter 26, High Accuracy Parasitic Extraction, by Mattan Kamon and Ralph Iverson.
  1. Y. L. Le Coz and R. B. Iverson. A stochastic algorithm for high speed capacitance extraction in integrated circuits. Solid State Electronics, 35(7):1005-1012, 1992.
  2. O. M. Ramahi and B. Archambeault (1995). "Adaptive absorbing boundary conditions in finite-difference time domain applications for EMC simulations". IEEE Trans. on Electromagnetic Compatibility,. 37 (4): 580–583. doi:10.1109/15.477343. 
  3. Lua error in package.lua at line 80: module 'Module:Citation/CS1/Suggestions' not found.
  4. L. Greengard. The Rapid Evaluation of Potential Fields in Particle Systems. M.I.T. Press, Cambridge, Massachusetts, 1988.
  5. V. Rokhlin. Rapid solution of integral equations of classical potential theory. Journal of Computational Physics, 60(2):187-207, September 15, 1985.
  6. Lua error in package.lua at line 80: module 'Module:Citation/CS1/Suggestions' not found.
  7. A. Brandt. Multilevel computations of integral transforms and particle interactions with oscillatory kernels. Computer Physics Communications, 65:24-38, 1991.
  8. Lua error in package.lua at line 80: module 'Module:Citation/CS1/Suggestions' not found.
  9. Lua error in package.lua at line 80: module 'Module:Citation/CS1/Suggestions' not found.
  10. Lua error in package.lua at line 80: module 'Module:Citation/CS1/Suggestions' not found.

See also

Further reading/External links