The present invention generally relates to computer implemented methods for solving Maxwell's equations and in particular, to a computer implemented method for determining electrical and magnetic field effects.
Electronic circuit designs are getting smaller and more complex in geometry, while their operating frequencies are getting higher. As a result, electronic circuit designers rely on numerical simulation to predict electrical and magnetic fields of their designs before manufacturing. Currently available simulation tools, however, fail to solve many practical problems due to large computer memory requirements and long computation times.
For a given electronic circuit design, electrical and magnetic fields may be calculated using Maxwell's equations:
∇×{right arrow over (E)}=−jω{right arrow over (B)}
∇×{right arrow over (H)}=jω{right arrow over (D)}+{right arrow over (J)}
∇·{right arrow over (D)}=ρ
∇·{right arrow over (B)}=0 (1)
where E is the electrical field, H is the magnetic field, D is the electric flux density, B is the magnetic flux density, J is the current density, ω is the angular frequency, ρ is the electric charge density, and j={square root}{square root over (−1)}.
Numerical methods such as the finite element method or the integral equation method can be used to solve the Maxwell equations. For details on the finite element method, see, e.g., Silvester, P. P., and Ferrari, R. L, “Finite Elements for Electrical Engineers”, 3rd ed., Cambridge University Press, Chapter 9, 1996. For details on the integral equation method, see, e.g., Sun, D. K., Lee, J. F., and Cendes, Z. J., “ALPS-A New fast Frequency-Sweep Procedure for Microwave Devices,” IEEE Trans. Microwave Theory Tech., pp. 398-402, 2001.
Using these numerical techniques, the Maxwell equations may be transformed into a set of algebraic simultaneous equations:
([Ko]−ω[K1]−ω2[Mo]){x}=ω{b} (2)
where [Ko], [K1], and [M0] are known matrices, {x} is the unknown electrical field, and {b} is a known electrical excitation.
Computer simulation may then be performed to solve equation (2) for the electrical field, {x}, at all frequencies of interest. Upon obtaining the electrical field, {x}, the corresponding magnetic field can be calculated using Maxwell's equations (1).
The Pade Via Lanczos Method
When analyzing an electronic circuit design, it may be necessary to calculate the electrical and magnetic fields at, for example, about 1,000 different frequencies to cover the application frequency range. One way to do this is to first calculate the electrical field, {x} in equation (2), at just one frequency point and then, expand the solution at this frequency to other frequencies. This frequency expansion technique is known as the “Pade via the Lanczos” method, or alternatively, the Krylov subspace method.
In 103, Lanczos Matrices of [K0]−1[K1] are then determined, where [K0]−1 is the inverse matrix of [K0] and [K0]−1=[U]−1[L]−1. For an example of how the Lanczos Matrices may be determined, see, e.g., Z. Bai, J. Demmel, J. Dongarra, A. Ruhe and H. van der Vorst, editors, “Templates for the solution of Algebraic Eigenvalue Problems: A Practical Guide,” SIAM, Philadelphia, pp. 189-196, 2000.
In 104, the Pade via Lanczos frequency expansion is then performed. For examples of how the Pade via Lanczos frequency expansion may be performed, see, e.g., Feldmann, P., and Freund, R. W., “efficient Linear Circuit Analysis by Pade Approximation via the Lanczos Process,” IEEE trans. Computer-Aided Design, Vol. 34, pp. 639-649, 1995; Bracken, J. E., Sun, D. K., and Cendes, Z. J., “S-domain Methods for Simultaneous Time and Frequency Characterization of Electromagnetic Devices,” IEEE Trans. Microwave Theory Tech., pp. 1277-1290, 1998; and Sun, D. K., Lee, J. F., and Cendes, Z. J., “ALPS-A New fast Frequency-Sweep Procedure for Microwave Devices,” IEEE Trans. Microwave Theory Tech., pp. 398-402, 2001.
The LU decomposition of matrix [K0] performed in 102, however, is not only very slow but also very memory intensive. As a result, it is generally not practical to simulate a typical electronic circuit design using the Pade via the Lanczos method.
The NMGAV Method
Another method for solving Maxwell's equations is the Nested Multi-Grid, Vector (A) and Scalar (V) Potential Preconditioner (NMGAV) method. Details on this method may be found in Zhu, Yu, “Methodologies and Methods for Fast Finite-Element Analysis of Electromagnetic Devices and Systems”, Ph.D. Thesis, University of Illinois at Urbana-Champaign, Chapter 7, 2002 (the “Zhu reference.
The NMGAV method uses an iterative procedure to find solutions instead of using a direct matrix solver. In an iterative solution method, the solution is approximated iteratively until the residual (i.e., difference between the exact and approximated solutions) is very small. A good iterative solver can converge sooner than others.
In the computation of Maxwell's equations, there may be spurious modes that significantly slow down the convergence of an iterative solver, however. For details and examples of such spurious modes, see, e.g., Dyczij-Edlinger, R., Peng, G., and Lee, J. F., “Stability Conditions for Using TVFEMs to Solve Maxwell Equations in the Frequency Domain,” International Journal of Numerical Modeling: Electronic Networks, Devices and Fields, Vol. 13, Issue 2-3, pp.245-260, 2000.
The NMGAV method uses the AV preconditioner and the nested multi-grid method to screen out the spurious modes. As a result, a convergent solution can be obtained in less than, for example, 30 iterations, versus thousands of iterations by other iterative methods. As a result of its quick convergence, the NMGAV method can calculate electrical and magnetic solutions at a single frequency two orders of magnitude faster than the corresponding portion of the Pades via Lanczos method described above. In addition to its speed advantage, computer memory requirements for this method are relatively quite small. This is because no matrix inversion or decomposition is needed in this method. Also, because of its low memory requirement, the NMGAV method is practical for solving large problems.
An example of the NMGAV method follows:
Although the NMGAV method can speed up the solution of the simultaneous equations (2) at a single frequency by, for example, two orders of magnitude with a relatively much smaller computer memory requirement than the corresponding portion of the Pade via Lanczos method, solutions at all the frequencies of interest have to be calculated one by one. Repeating the solution process many times (such as, for example, 1,000 times) for the entire frequency range more than gives back the gain in the single frequency solution speed.
On the other hand, although the Pade via Lanczos method can obtain solutions at all frequencies by solving the simultaneous equations (2) only once, it requires an LU decomposition of the matrix [K0] in the set of algebraic simultaneous equations (2), which is not only computationally slow but also computer memory intensive, making the Pade via Lanczos method impractical for large problems.
Accordingly, it is an object of one or more aspects of the present invention is to provide a computer implemented method for determining electrical and magnetic fields that is computationally faster than the Pade via Lanczos and NMGAV methods.
Another object of one or more aspects of the present invention is to provide a computer implemented method for determining electrical and magnetic fields that requires less memory than the Pade via Lanczos method.
Still another object of one or more aspects of the present invention is to provide a computer implemented method for determining electrical and magnetic fields that provides results substantially the same as or of better accuracy than the Pade via Lanczos and NMGAV methods.
These and additional objects are accomplished by the various aspects of the present invention, wherein briefly stated, one aspect is a method for determining electrical and magnetic field effects, comprising: determining Lanczos matrices by performing a preconditioned conjugate gradient using a nested multi-grid, vector and scalar potential preconditioner; and performing a Pade via Lanczos frequency expansion to determine electrical and magnetic field effects over a frequency range.
Another aspect is an apparatus for determining electrical and magnetic field effects, comprising a processor configured to: determine Lanczos matrices by performing a preconditioned conjugate gradient using a nested multi-grid, vector and scalar potential preconditioner; and perform a Pade via Lanczos frequency expansion to determine electrical and magnetic field effects over a frequency range.
Still another aspect is a computer readable medium encoded with a method executable on a computer for determining electrical and magnetic field effects, comprising: determining Lanczos matrices by performing a preconditioned conjugate gradient using a nested multi-grid, vector and scalar potential preconditioner; and performing a Pade via Lanczos frequency expansion to determine electrical and magnetic field effects over a frequency range.
Additional objects, features and advantages of the various aspects of the present invention will become apparent from the following description of its preferred embodiment, which description should be taken in conjunction with the accompanying drawings.
In 301, the set of algebraic simultaneous equations (2) is formed from Maxwell's equations (1) using a conventional technique, such as the finite element method, the boundary element method, or the integral equation method.
In 302, an initial expansion frequency ωo is selected and the set of algebraic simultaneous equations (2) are re-written as follows:
([Ko]−ωo[K1]−ωo2[Mo]){x}−(ω−ωo)([K1]+2ωo[Mo]){x}−(ω−ωo)2[Mo]{x}=ω{b}
or
([Ao]−s[A1]−s2[A2]){x}=(1+s){bo} (3)
where
[Ao]=[MEE]=[Ko]−ωo[K1]−ωo2[Mo] (5)
[A1]=ωo[K1]+2ωo2[Mo] (6)
[A2]=ωo2[Mo] (7)
{bo}=ωo{b} (8)
Preferably, the initial expansion frequency ωo is approximately in the middle of the application frequency range of interest.
By using the HZR mass lumping method (as described, for example, in Cook, R. D., “Concept and Applications of Finite Element Analysis”, John Wiley & Sons, pp. 370-373, 1976), the matrix [Mo] can be approximated by a diagonal matrix [mo]. The HZR mass lumping method is useful in this case to get accurate solutions, especially when prism elements are used (as described, for example, in Sacks, Z. S. and Lee, J. F., “A Finite Element Time Domain Method Using Prism Elements for Microwave Cavities,” IEEE Trans. Electromagnetic Compatibilities, Nov. 1995).
Solving the set of equations (3) with a Lanczos solver has been found to be very slow. This is because it is desirable to capture the smallest eigenvalues of equations (3) to reach a solution convergence, but the Lanczos method captures far more largest eigenvalues than smallest eigenvalues.
Therefore, the set of equations (3) are rearranged as follows to accelerate the solution convergence.
(└A′o┘−s└A′1┘−s2└A′2┘){y}=(1+s){b′o} (9)
where
[A′o]=[A2]−1 (11)
[A′1]=[A2]−1[A1][A0]−1 (12)
[A′2]=[A0]−1 (13)
{b′o}=[A2]−1{bo} (14)
{x}=[A0]−1{y} (15)
By solving equation (9) for electrical fields {y}, the electrical fields {x} which are to be determined for equation (3) may be solved through equation (15).
In 303, the Lanczos matrices are constructed by performing a preconditioned conjugate gradient (PCG) method using the NMGAV method for the preconditioner. For details on the PCG method, see, e.g., Barrett, R. et al., “Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods,” SIAM, Philadephia, p. 15, 1994.
[A′0]=[A2]−1 is the preconditioner in the following PCG method. The relationship of [A′0]−1=[A2] is used in the PCG method.
The Lanczos Matrices are then constructed, for example, as follows:
Equation (16) is an important contribution and aspect of the present invention that serves to bridge the PCG (using NMGAV) and Pade via Lanczos methods so that the NMGAV method can be employed to quickly determine a solution at an expansion frequency and the Pade via Lanczos method may be employed to perform frequency expansion around the expansion frequency for the application frequency range without repeatedly performing the NMGAV method as described in reference to
The sign of each of the off diagonal terms in step 1 is determined by the famous Lanczos relationship of [A′2][Q]=[A0]−1[Q]=[R][T], where the Lanczos matrices [Q] and [R] are obtained above during the PCG method.
In the above calculation for the signs of the off diagonal terms, not all elements of the vectors are required. Only one non-zero element of the vectors, such as the element associated with a port, will be sufficient. Determining the signs of the off diagonal terms is an important step in the entire process. Without doing this, the final solutions may not be right.
In 304, a Pade via Lanczos frequency expansion is performed to calculate solutions at frequencies in the application frequency range. Applying the Lanczos congruent transformation to equation (9) and using the following Lanczos relationships:
[Ao]−1[Q]−[R][Tm]=[A2]−1[Q][Tm] (21)
[Q]T[A2]−1[Q]=[I] (22)
we have
[Q]T([A′0]−s[A′1]−s2[A′2])[Q]{z}=(1+s)[Q]T{b′0} (22)
or
([T0]−s[T1]−s2[T2]){z}−(1+s)[Q]T{b′o} (23)
where
{y}=[Q]{z}
[T0]=[Q]T[A′0][Q]=[I]
[T1]=[Q]T[A′1][Q]=[Q]T[A2]−1[A1][A2]−1[Q][Tm]
[T2]=[Q]T[A′2][Q]=[Tm] (24)
In the above equations, [T1] can be obtained very quickly because [A2]=ωo2[mo] is a diagonal matrix.
Therefore,
Since the PCG method converges very quickly (e.g., about 50 iterations), dimensions of [I], [T1], and [Tm] are very small (e.g., less than 50). As a result, inversion of the matrix ([I]−s[T1]−s2[Tm]) at any frequency s can be computed very quickly with any matrix inversion numerical method. Inversion of [A2]=ωo2[m] is trivial, since it is a diagonal matrix.
One way to ensure that equation (25) is correct is to check the solution at the expansion frequency ωo (or s=0). At s=0,
which is indeed the solution of equation (3) at s=0.
Referring to
L1=1.651 mm, L2=1.143 mm, L3=0.635 mm
Now referring to
For both methods, the finite element model used for the interconnect structure consisted of the following:
As can be readily seen from the figure, S-parameter S12 and S11 solutions, 501 and 502, obtained by using the proposed frequency expansion method are very close to the s-parameter solutions S12 and S11, 511 and 512, calculated by the point-by-point NMGAV method (taken at 0.2 GHz increments). Agreement between the two solutions is especially excellent near the expansion point of 10.5 GHz, which happens to be approximately in the middle of the application frequency range of 1 GHz (lower limit frequency) to 20 GHz (upper limit frequency).
However, the computer time used by the proposed frequency expansion method was found to be considerably less than that of the point-by-point NMGAV method. For example, using a Pentium 4 (3.0 GHz) computer with 2.0 GB of DRAM, the point-by-point NMGAV method took 2,302.7 seconds whereas the proposed frequency expansion method only took 218.5 seconds for a speedup ratio of 10.53.
As is apparent from the various references cited and incorporated herein by reference, the proposed frequency expansion method as described in reference to
Although the various aspects of the present invention have been described with respect to a preferred embodiment, it will be understood that the invention is entitled to full protection within the full scope of the appended claims.
Appendix A—Derivation of the Relationship between Lanczos and PCG Methods.
We first review the Lanczos method for solving Ax−λMx=0.
The residual vector of the approximation solution can be written as
(A−ΛmM)[Vm]∝vm+1 (A8)
In the Lanczos method
VmTMVm=Im or (vi, vj)M=δij (A9)
AVm=MVmTm+residual Tm≈VmTAVm (A10)
We then outline the PCG (preconditioned conjugate gradient) method for Ax=b with M as the preconditioner
In the above method, rj is residual of Ax=b, while zj is residual of the preconditioned system M−1Ax=M−1b. From Eq (A8), it can be deduced that zj in the PCG method is proportional to vj+1, and thus wj+1, in the Lanczos method. From Eqs (A2) and (A3) we have
From Eq (A2), we have
(wj+1, vj)M=0=(M−1Avj+1, vj)M−ηj+1(vj, vj)M=(M−1Avj+1, vj)M−ηj+1
Therefore,
This application claims priority to U.S. provisional application Ser. No. 60/551,294 filed Mar. 8, 2004, which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60551294 | Mar 2004 | US |