Next Article in Journal
On Leonardo Pisano Hybrinomials
Next Article in Special Issue
A Continuous-Time Network Evolution Model Describing 2- and 3-Interactions
Previous Article in Journal
A Bayesian-Deep Learning Model for Estimating COVID-19 Evolution in Spain
Previous Article in Special Issue
Optimal Prefetching in Random Trees
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Monte Carlo Algorithms for the Extracting of Electrical Capacitance

Department of Applied Mathematics, Vologda State University, Lenina 15, 160000 Vologda, Russia
*
Author to whom correspondence should be addressed.
Submission received: 28 October 2021 / Revised: 13 November 2021 / Accepted: 14 November 2021 / Published: 17 November 2021
(This article belongs to the Special Issue Stability Problems for Stochastic Models: Theory and Applications II)

Abstract

:
We present new Monte Carlo algorithms for extracting mutual capacitances for a system of conductors embedded in inhomogeneous isotropic dielectrics. We represent capacitances as functionals of the solution of the external Dirichlet problem for the Laplace equation. Unbiased and low-biased estimators for the capacitances are constructed on the trajectories of the Random Walk on Spheres or the Random Walk on Hemispheres. The calculation results show that the accuracy of these new algorithms does not exceed the statistical error of estimators, which is easily determined in the course of calculations. The algorithms are based on mean value formulas for harmonic functions in different domains and do not involve a transition to a difference problem. Hence, they do not need a lot of storage space.

1. Introduction

The problems of finding potentials and mutual capacitances for complex three-dimensional objects have become widespread with the development of high-frequency electrical engineering. In the case of one or two conductors, they can still be solved analytically, but solving problems for systems of a large number of conductors of complex shape causes significant difficulties. The more the operation frequency is, the more impact on the system of parasitic capacitance and induction. This is true for radio frequency communication devices, as well as very large-scale integration circuits and multilayer printed-circuit boards [1,2].
In inhomogeneous media with permittivity ε ( x ) the electrostatic potential φ ( x ) satisfies the boundary value problem:
Δ φ = 0 , x R 3 \ ( Γ i Γ d ) ; φ ( x ) | x | 0 ; φ | Γ i = φ i , φ i = const ; φ + ( x ) = φ ( x ) , x Γ d ; ε + φ + ( x ) n = ε φ ( x ) n , x Γ d ; Γ i ε φ n d S = q i .
Here Γ i denotes the conductor surfaces, Γ d is the union of the dielectric interfaces, n is the external normal to Γ d ,   | x | is Euclidean length of x, φ + and φ are the values of the potential on different sides dielectric interfaces, ε + and ε are the permittivity constants on different sides dielectric interfaces, φ i are values of the potential on the Γ i ,   d S is the differential element of area, and q i is the charge on Γ i (Figure 1).
Charges linearly depend on potentials [3]: q i = j = 1 m C i j φ j . Here, C i j is mutual electrostatic capacitance for the conductors i and j, it is known that C i j = C j i . Hence, C i j is equal to the charge q i , when all potential φ k = 0 , if k j , and φ j = 1 .
The analytical solution is only available for simple geometries [3], and could not be used for real-life tasks. Another way is to use pattern-matching algorithms, but there is dependency on available patterns and the quality of geometry approximation with patterns [2,4].
The methods used most for computing capacitances in complicated three-dimensional geometries are the boundary-element technique (for example, [5,6,7]) and Monte Carlo methods (for example, [8,9,10,11]).
The boundary element method is used to solve the system of integral equations of potential theory for the charge density on the surfaces of conductors. The charge on the conductor is then calculated by integrating the density. The main drawbacks of these methods are the necessity of approximation of the conductor’s surface, high random access memory requirements, and additional computational error when equations are solved using the iterative technique.
The Monte Carlo method is used to solve the Dirichlet boundary value problem (1). Capacitance is calculated using the Gaussian formula through the normal derivative of the potential. Monte Carlo algorithms for a boundary value problem are based on the representation of its solution in the form of the mathematical expectation of some random variable, which in mathematical statistics is called an unbiased estimator. A common drawback for Monte Carlo methods isthe necessity of a large number of simulations, but usually they are highly parallelizable and have low random access memory requirements.
There are various formulas for the average value for the potential, which determine both the estimate itself and the type of Random Walk along the trajectories of which it is calculated.
One of the first works on using Monte Carlo method for real-life capacitance extraction is [8]. This article describes Random Walk on Cubes methods for rectilinear conductors in a homogeneous medium. The proposed algorithm uses the mean value theorem for the potential at the center of a cube. To simplify the procedure for modeling a Random Walk, the problem was discretized. The development of the method of Random Walk on Cubes in various directions (multiple dielectrics, non-Manhattan polygonal shapes, optimizations) can be found, for example, in [12,13,14]. Besides the statistical error of Monte Carlo approximations, Walk on Cubes have additional bias because of the approximation of Green’s function for cubes using the Fourier series.
In [15], Random Walk on Boundary was described for calculating conductor’s capacitance in free space, in [9] Random Walk on Spheres and Walk on Boundary were used for estimating electrostatic properties of molecules, including cases for different (constant) permittivities. These methods were extended in [16] for analysis on multidielectric integrated circuits of arbitrary geometry from a scanning electron microscopy image. Besides the statistical error of Monte Carlo approximations, there is additional bias, because of various discretizations, that could not be estimated along with the calculations.
In this article we discuss algorithms of the Monte Carlo method that do not require discretization of the boundary value problem. Consequently, there is no approximation error in them. Due to this, it is possible to estimate the error of the approximate solution of the problem during the calculations. Furthermore, Random Walks in unbounded regions may not reach the boundary of the conductors in a finite time with a positive probability. Forced completion of the trajectory leads to a bias in the estimate of the potential, which authors usually do not take into account. Our proposed algorithms are free from this drawback.
In our previous work [10,11], we developed algorithms for mutual capacitance calculation in homogeneous media on trajectories of a Walk on Spheres and in inhomogeneous media on trajectories of a Walk on Hemispheres, when dielectric interfaces are polyhedral. We summarize the main results of these works here.
In this paper, we also consider a new version of the Walk on Hemispheres and its application to the calculation of electrostatic capacitances for systems with various dielectric interfaces, including non-Manhattan geometries.
Using the examples of conductor systems for which the capacitances are calculated analytically [3], it is shown that the accuracy of the Monte Carlo approximation is within the statistical error. In more complex examples, the simulation results are compared with the results of calculating these capacitances using the programs FastCap2 and FFTCap [6,17,18].
The paper is organized as follows. Section 2 introduces a description of the problem. Section 3 describes different kinds of unbiased estimators for the capacitance. It begins with a description of previously proposed algorithms in Section 3.1 and Section 3.2, followed by the description of a new version of the Walk on Hemispheres in Section 3.3, and finishes with a description of the generic algorithm for capacitance extraction with these methods in Section 3.4. Section 4 contains the numerical results for capacitance extraction, where we compare the results of the proposed algorithms with analytical solutions or other programs. Section 5 concludes the paper.

2. Integral Representation for the Capacitance

Using Gauss’s theorem we have
C i j = Γ ε φ n d S ,
where Γ is the surface containing the i-th conductor inside and separating it from others conductors and interfaces.
Using the Poisson formula, we obtain the following representation for the normal derivative of the potential on the shell Γ :
φ ( x ) n = 1 4 π r 2 S r 3 r 2 ( y x , n ) φ ( y ) d y S ,
where x is a point on the shell around the i-th conductor, r is distance from point x to the nearest conductor or interface, S r is sphere of radius r centered at point x, y is a point on S r (Figure 2).
Finally, replacing the normal derivative φ / n by its integral representation in the ball, which lies entirely in the region with the dielectric constant ε , we obtain an integral representation of the mutual capacitance of the i-th and j-th conductors:
C i j = 1 σ Γ Γ ε r 2 S r 3 σ Γ 4 π r 2 ( y x , n ) φ ( y ) d y S d x S ,
where σ Γ is a surface area Γ .

3. Unbiased Estimators for the Capacitance

Using Formula (4) we have unbiased estimator for capacitance C i j
ξ = 3 ε ( X ) σ Γ r ( ω , n ) φ ( X + r ω ) .
Here, a random point X is uniformly distributed on Γ , r = r ( X ) , and ω is an isotropic vector (random unit vector). It remains to estimate the potential at the point Y = X + r ( X ) ω . This can be done using the mean value formula
φ ( x ) = Q φ ( y ) P ( x , d y ) , x Q ,
where Q = R 3 \ D , and D is the set of interior points of all conductors. The unbiased estimators for φ ( Y ) are constructed on trajectories of Random Walk { Y k } k = 0 , ( Y 0 = Y ) , in space Q. The kernel P ( x , d y ) must be stochastic or sub-stochastic. It determines the distribution of the next point of the Random Walk over the current point.
Let
ξ 0 = 3 ε ( X ) σ Γ r ( ω , n ) .
If at time k the “weight” W k = P ( Y k , Q ) < 1 , then the current value of the estimator is multiplied by the “weight”: ξ k + 1 = W k ξ k . The Random Walk stops at time ν , when it reaches the δ -boundary of the conductors, that is, when the distance dist ( Y k , D ¯ ) from point Y k to the boundary of the conductors becomes less than the δ . Hence, it must satisfy the condition P { ν < } = 1 . We define estimator ξ δ = ξ ν , if dist ( Y ν , Γ j ) < δ , and zero, otherwise. If the boundary D is smooth enough, then | C i j E ξ δ | < c δ , for some constant c . In practice, the estimator ξ δ is simulated in a reasonable time, only if E ξ ν < . Having received a sufficient number of realizations of the estimator ξ δ and calculating their arithmetic mean, we obtain an approximate value of the capacitance C i j .
We will now describe some of the types of Random Walks used to calculate the capacitances of conductors.

3.1. Random Walk on Spheres for the External Dirichlet Problem

Random Walk on Spheres (WoS) is used to solve the external Dirichlet problem for the Laplace equation [19], and allows for the calculation of the capacitances of conductors in a homogeneous medium [10]. Let all the conductors lie inside a sphere S R of radius R centered at the origin. Let ρ ( y ) be a continuous function such that c · dist ( y , D ¯ ) ρ ( y ) dist ( y , D ¯ ) for some constant c > 0 .
By the mean value theorem for harmonic functions, we obtain φ ( x ) = E φ ( x + ρ ( x ) ω ) for x R 3 \ D ¯ . Let { ω k } k = 1 be a sequence of independent isotropic vectors. Then we get a Random Walk
Y k + 1 = Y k + ρ ( Y k ) ω k + 1 , Y 0 = Y , W k = 1 , k = 0 , 1 , 2 , .
To restrict the region of the Random Walk, we use the Poisson formula for | x | > R :
φ ( x ) = 1 4 π R S R | x | 2 R 2 | x y | 3 d y S .
Namely, if | Y k | > R , then “weight” W k = R / | Y k | , and Y k + 1 is distributed on the sphere S R with density
p ( Y k , y ) = | Y k | 2 R 2 | Y k y | 3 · | Y k | 4 π R 2
It is proved [19] that the Random Walk on Spheres reaches the δ -neighborhood of the boundary of the conductors in a finite time. The formulas for simulating the Random Walk are also given.

3.2. Random Walk on Hemispheres

The Random Walk on Hemispheres (WoH) algorithm was proposed in [20] for solving various boundary value problems for the Laplace and Poisson equations. It allows for the calculation of capacitances when dielectric interfaces are polyhedral [11]. In cases when surfaces of the conductors are also polyhedral, the algorithm gives unbiased statistical estimators of the capacitances. We will now briefly describe this algorithm.
Let all the conductors and dielectric interfaces lie inside a sphere S R of radius R centered at the origin. If | Y k | > R , then Y k + 1 S R and has a distribution density (8). “Weight” W k = R / | Y k | .
Now, let Y k Γ d l , where Γ d l is a component of the dielectric interface. Next, we choose the maximum r , such, that 0 < r < dist ( Y k , D ¯ Γ d \ Γ d l ) and part of the Γ d l , lying in sphere S r ( Y k ) , is plane. The sphere is divided into two parts S r + ( Y k ) and S r ( Y k ) lying in media with permittivity constants ε + and ε , respectively. The point Y k + 1 is uniformly distributed in S r + ( Y k ) or in S r ( Y k ) with probability ε + / ( ε + + ε ) and ε / ( ε + + ε ) respectively (Figure 4).
If Y k Γ d and | Y k | R , then Y k + 1 is distributed on a sphere or hemisphere. The center of the hemisphere Y ^ k must be in a plane containing a face of the conductor surface or interface and is the orthogonal projection of Y k onto this plane.
Hemisphere radius r k = | Y k Y ^ k | / β , where 0 < β < 1 is a fixed constant. The hemisphere must be contained in a medium with a dielectric constant ε ( Y k ) . The distribution density of the point Y k + 1 on the hemisphere is the normal derivative of the Green’s function for the half of the ball
p ( Y k , y ) = 2 r k β 4 π 1 | Y k y | 3 1 β | Y k * ¯ y | 3 , y H , r k 4 π 1 β 2 1 | Y k y | 3 1 | Y k ¯ y | 3 , y S .
Here H is the plane part, and S is the spherical part of the hemisphere. The point Y k ¯ is symmetric to Y k relative to plane H. The point Y k * lies outside of the sphere S and it is inverse to the point Y k ( | Y ^ k Y k | · | Y ^ k Y k * | = r 2 ) (Figure 5).
If it is impossible to construct such a hemisphere, then Y k + 1 is distributed uniformly on a sphere of radius r k = dist ( Y k , D ¯ Γ d ) , centered at Y k .
Von Neumann’s Acceptance-Rejection Method can be used to simulate density (9). To do this, we write the density in the form
p ( Y k , y ) = 1 4 π cos φ Y k y Y k y 2 · k 1 ( Y k , y ) ,
where φ Y k y is the angle between the vector y Y k and the external normal to the surface of the hemisphere at the point y.
The first factor in this formula is the distribution density of the point Z on the surface of the hemisphere and the vector ω = ( Z Y k ) / | Z Y k | is isotropic one. The second factor does not exceed the constant M = max ( M 1 , M 2 ) , where
M 1 = 2 β 1 + β 2 1 β 1 + β 2 3 , M 2 = 1 + β 2 1 + β 1 β 1 1 β 1 + β 3 .
To select the next point of the random walk, we simulate an isotropic vector ω and a random variable α with uniform distribution on [ 0 , 1 ] . Then we define the point Z, in which the ray emerging from the Y k in the direction ω crosses the hemisphere. If α M < k 1 ( Y k , Z ) , then Y k + 1 = Z . Otherwise, it is necessary to repeat the simulation until the inequality is true (Figure 6).

3.3. Random Walk on Hemispheres for a Convex Dielectric Interfaces (RWHC)

Let γ be a connected convex part of some dielectric interface Γ d l lying inside a sphere S r ( x ) of radius r , centered at point x . For all y Γ d l we choose the direction of the normal vector n y so, that the surface Γ d l lies in the half-space ( z y , n y ) 0 . Surface γ divides the sphere into two parts S + and S , lying in media with permittivity constants ε + and ε , respectively, and ( z y , n y ) 0 for all z S .
The potential φ ( x ) is a harmonic function for the part of the ball bounded by surfaces S , γ and part of the ball bounded by surfaces S + , γ also. Using the second Green’s formula for a harmonic function in a bounded domain, we obtain the following Theorem.
Theorem 1.
Let λ = ε + / ε and let φ x y be the angle between vectors n y , y x . Then the potential φ ( y ) satisfies the mean value formulas:
φ ( x ) = 1 1 + λ · 1 2 π r 2 S φ ( y ) d y S + λ 1 + λ · 1 2 π r 2 S + φ ( y ) d y S + + 1 λ 1 + λ · 1 2 π γ cos φ x y | x y | 2 φ ( y ) d y S , x γ ,
φ ( x ) = 1 4 π r 2 S φ ( y ) d y S + λ · 1 4 π r 2 S + φ ( y ) d y S + + ( 1 λ ) · 1 4 π γ cos φ x y | x y | 2 φ ( y ) d y S , x γ , ε ( x ) = ε ,
φ ( x ) = 1 4 π r 2 S + φ ( y ) d y S + 1 λ · 1 4 π r 2 S φ ( y ) d y S 1 1 λ · 1 4 π γ cos φ x y | x y | 2 φ ( y ) d y S , x γ , ε ( x ) = ε + .
If λ < 1 , the Formula (11) defines the stochastic kernel. To simulate the transition from the surface γ , we chose with the probability λ / ( 1 + λ ) a random direction ω , that satisfies the condition ( ω , n x ) > 0 , and define Y = x + r ω . With probability 1 / ( 1 + λ ) , we simulate a random direction ω satisfying the condition ( ω , n x ) < 0 . We calculate Y = x + r ω . If Y S , we change Y to a point Z γ , which is visible from x in the direction ω (Figure 7).
If λ < 1 , the Formula (12) defines the stochastic kernel also. To simulate the transition from x , we simulate a random direction ω and calculate Y = x + r ω . If Y S , than with probability 1 λ we change Y to a point Z γ , which is visible from x in the direction ω (Figure 8).
If λ > 1 , the Formula (13) defines the stochastic kernel, if any ray outgoing from point x intersects γ at no more than one point. The modeling procedure is similar to the algorithm for the Formula (12).
Thus, Formulas (11)–(13) make it possible to simulate transitions from a region with a higher dielectric constant to a region with a lower dielectric constant. To pass from point x through the interface Γ d l , it is sufficient to take such r dist ( x , D ¯ Γ d \ Γ d l ) that S r ( x ) Γ d l . Reverse transitions can be provided using, for example, formulas for solving external and internal Dirichlet problems for standard domains. The exit from the “bad” point x can be done by Random Walk on Spheres or Hemispheres in the set Q ( x ) = { y | ε ( y ) = ε ( x ) } . As always, from distant points of the external medium there is a transition to the sphere S R .

3.4. Algorithm for Mutual Capacitance Calculation

On this basis we could describe algorithm for capacitance estimation as follows:
  • For each conductor i select shell Γ i , that separate it from other conductors and dielectric interfaces.
  • Select radius R for, centered at the origin, “outer” sphere, that contains all conductors and shells.
  • Select point X uniformly on Γ i and Y uniformly on sphere of radius r = r ( X ) = dist ( X , k = 1 , k i n Γ k ) centered at X. Set ξ 0 as shown in (7).
  • From point Y started appropriate kind of Walk on Hemispheres (see Section 3.2 and Section 3.3).
  • If at some step n process exit outside of sphere S R , next point is selected at sphere S R and “weight” updated, as described in Section 3.1.
  • Otherwise, if at some step n, Y n located at flat surface of k-th conductor or at δ -neighborhood of non-flat surface of k-th conductor, estimation ξ n included into C i k accumulator and number of trajectories, that used this conductor for evaluation is incremented by 1. (Because C i j = C j i , we could use the same accumulator and counter for both of them.) Values in other accumulators C i j are not changed, but the number of trajectories for j-th conductor is also incremented by 1 with the exception of nested conductors: if j-th conductor is inside i-th, its number of trajectories is not changed.
  • If the number of evaluated trajectories is not sufficient, return to step 3.
  • The approximation for capacitance C i k is calculated as value stored in the corresponded accumulator divided by the stored number of trajectories for this accumulator. If the system contains nested conductors, the self-capacitance of external conductor m is updated as C m m = C m m j : D j D m C j m (here sum is taken by numbers of conductors that are located inside m-th).

4. Results

4.1. Mutual Capacitance of Two Spheres in Free Space

Mutual capacitance for two spheres could be calculated analytically [3]. When spheres are not nested:
C 1 , 1 = 4 π ε r 1 r 2 sinh α n = 1 1 r 2 sinh ( n α ) + r 1 sinh [ ( n 1 ) α ] ; C 1 , 2 = 4 π ε r 1 r 2 sinh α d n = 1 1 sinh ( n α ) ; C 2 , 2 = 4 π ε r 1 r 2 sinh α n = 1 1 r 1 sinh ( n α ) + r 2 sinh [ ( n 1 ) α ] ; cosh α = d 2 r 1 2 r 2 2 2 r 1 r 2
where r 1 and r 2 are radii, d—distance between sphere centers. For nested spheres ( r 2 > r 1 ):
C 1 , 1 = 4 π ε r 1 r 2 sinh α n = 1 1 r 2 sinh ( n α ) r 1 sinh [ ( n 1 ) α ] ; C 1 , 2 = C 1 , 1 ; cosh α = d 2 r 1 2 r 2 2 2 r 1 r 2 .
In Table 1 results of mutual capacitance estimation for two non-nested spheres using Walk on Spheres are presented. Here and below Δ is error estimation, calculated as triple square root of ratio of sample variance to number of trajectories, Time is “wall time” of calculation, and Memory is a peak memory usage. Calculations were performed on one personal computer (PC) with central processing unit (CPU) “AMD Ryzen 7 2700 Eight-Core Processor 3.20 GHz”. Monte Carlo simulations were performed in parallel by eight worker processes on one PC using the Message Passing Interface, and memory usage is at its peak for one worker process. FastCap2 and FFTCap are 32-bit single-threaded applications, so no parallel execution were used for them. It should also be noted that we have not used additional optimizations, so the calculation time could be improved for the Monte Carlo case, for example, by using a different pseudo random number generator or using optimizations in distance calculations.
1st sphere radius:5;
1st sphere center:(1, 2, 3);
1st sphere shell radius:8;
2nd sphere radius:3;
2nd sphere center:(10, 13, 12);
2nd sphere shell radius:8;
“External” sphere radius:31.155;
δ : 10 8 .
Usually, the bias order is the same as the order of δ , so, in this and following examples, error of methods is equal to statistical error. We will say that results of the estimation are matched, when the modulus of difference between the Monte Carlo estimation and the reference solution are not more than the statistical error ( | r e f e s t | Δ ). As we can see in the Table 1, the analytical solution and our estimation are matched, so the algorithm is working correctly.
In Table 2, results of mutual capacitance estimation for two nested spheres using Walk on Spheres (WoS) are presented. There is no formula for C 22 in the case of two nested spheres in [3], so we do not show the estimation results for this value.
1st sphere radius:3;
1st sphere center:(10, 13, 12);
1st sphere shell radius:5;
2nd sphere radius:31;
2nd sphere center:(1, 2, 3);
2nd sphere shell radius:35;
“External” sphere radius:42.616;
δ : 10 8 .
Estimation results in Table 2 are within statistical error, so analytical solution and our estimation are matched.

4.2. Capacitance of “Coated” Sphere

In Table 3 and Table 4, results of capacitance estimation for the conductive sphere of radius a encased in concentric spherical dielectric of radius b with relative permittivity ε using RWHC are presented. In this example, the external sphere radius is equal to the dielectric shell radius. Analytical solutions for this case is 16 π 2 ε ε 0 a b ε a + b a [3]. Also here we compare results with FastCap2 (FC2) [18] (correspondent sphere discretization was made using spheregen tool from [21] with refine depth 5).
Comparing values in columns 2, 4, 5 of Table 3 we conclude that the analytical solution and RWHC estimation are matched in all cases. However, comparing columns 2 and 3, we can see that the estimation error for FC2 grows up with ε (as it is stated in [7]). So we can state, that RWHC working correctly with high permittivities too, but more number of simulation may be needed to get estimation with desired statistical error.
Table 4 shows that RWHC is used more often than boundary-element technique-based methods, such as FC2, but use much less memory.

4.3. Mutual Capacitance of Two Spheres in Spherical Dielectric

In the Table 5 and Table 6 results of mutual capacitance estimation using FC2 (correspondent sphere discretization was made using spheregen tool from [21] with refined depth 5) and RWHC for two conductive spheres in spherical dielectric (Figure 9) are presented. In this case external sphere radius is set to the dielectric shell radius.
1st sphere radius:5;
1st sphere center:(1, 2, 3);
1st sphere shell radius:6;
2nd sphere radius:3;
2nd sphere center:(10, 3, 11);
2nd sphere shell radius:4;
Dielectric ball radius:20;
δ : 10 8 .
In this case we have no analytical solutions for reference, so we compare our results with FC2. But we also have no error estimation for FC2 result, so we could not guarantee that the difference will be within statistical margin of error. Comparing results in columns 2 and 3 of Table 5 we could say that the estimations are matched, but it is not true for columns 2 and 4. In previous cases we ascertained that RWHC is matched with the analytical solution. Also, in this case, we can see that results in columns 3 and 4 are matched. So we can state that in this case the estimation error with FC2 is more than with RWHC on 10 8 trajectories.
In Table 6 we can see that RWHC is better both in time and memory. This is due to the fact that for FC2 spheres should be approximated with a large number of panels. Also, we can see that with the refinement depth we used, we have almost reached the memory limit for the original 32-bit fastcap application, so we cannot compare to these results with better discretization.

4.4. Mutual Capacitance of Two Spheres in Spherical Dielectrics

In Table 7 and Table 8, results of mutual capacitance estimation using FC2 (correspondent sphere discretization was made using the spheregen tool from [21] with refined depth 5) and RWHC for two conductive spheres, each in its own spherical dielectric, (Figure 10) are presented.
1st sphere radius:5;
1st sphere center:(1, 2, 3);
1st dielectric radius:9;
1st dielectric center:(2, 3, 4);
Relative permittivity of 1st dielectric:2;
2nd sphere radius:3;
2nd sphere center:(10, −3, 20);
2nd dielectric radius:6;
2nd dielectric center:(10, −4, 20);
Relative permittivity of 2nd dielectric:5;
External sphere radius:30;
δ : 10 8 .
There are no reference analytical solutions in this case either. Using the results from Table 7, we have reached the same conclusion as in the previous case.

4.5. Mutual Capacitance of Parallel “Pins”

In Table 9 and Table 10, the results of the mutual capacitance estimation using FFTCap [17,18] (correspondent discretization was made using cubegen tool from [18] with 5 panels per side) and Walk on Hemispheres for 81 conductive “pins” placed in uniform lattice points (Figure 11) are presented. The full capacitance matrix has dimensions of 81 × 81 , so we show only a few values in the table.
Pin size: 1 × 1 × 10 ;
Cell size: 2 × 2 ;
Shell offset: 0.05 ;
β : 0.5 ;
“External” sphere radius: 14.786 ;
δ : 10 16 .
In this case objects have flat faces, so this task is “good” for FFTCap and we can take this solution as reference. The results from Table 9 shows that the estimations are matched. Also, we could see that, besides matching statistical error, the results for WoH estimation when i = 1 , j = 81 have a larger statistical error than in other cases (about 6%). This is due to the fact that these conductors are located in opposite corners of the lattice, so only a small number of trajectories started near the first conductor will end on 81st. In this case, to get an estimation with the desired statistical error, more simulations may be required. For example, with 10 8 trajectories we get the value of 6.0515 · 10 3 and statistical error of 1.087 · 10 4 (less than 2%).
Also we could estimate difference with FFTCap results by norm: let A—FFTCap result matrix, B—WoH result matrix for 10 7 trajectories from each conductor, then A B F A F 0.009 , where A F is Frobenius norm of matrix A.

4.6. Mutual Capacitance of Rectangular Parallelepipeds in Dielectric Shells

In Table 11 and Table 12, the results of mutual capacitance estimation using FC2 (correspondent sphere discretization was made using the spheregen tool from [21] with 10 and 15 panels per side) and Walk on Hemispheres for three conductive rectangular parallelepipeds in parallelepipedic dielectrics (Figure 12) are presented.
Conductor size: 10 × 10 × 1 ;
Dielectric size: 12 × 12 × 3 ;
C 1 origin: ( 1 , 1 , 1 ) ;
D i e l 1 origin: ( 0 , 0 , 0 ) ;
ε 1 :2;
C 2 origin: ( 1 , 1 , 4 ) ;
D i e l 2 origin: ( 0 , 0 , 3 ) ;
ε 2 :4;
C 3 origin: ( 1 , 1 , 7 ) ;
D i e l 3 origin: ( 0 , 0 , 6 ) ;
ε 3 :3;
Shell offset: 0.25 ;
β : 0.5 ;
“External” sphere radius: 19.714 ;
δ : 10 8 .
As before, we can compare the RWHC results with the FC2 estimation. In Table 11, the results are not matched between FC2 and RWHC with 10 8 trajectories when i = 2 , j = 1 . Because WoH results are matched for 10 6 and 10 8 trajectories and FC2 results with 15 panels per side are closer to our estimation than results with 10 panels per side, we could assume that this discrepancy is related to an FC2 estimation error, as in example Section 4.3.

4.7. Mutual Capacitance of “Woven Bus”

In Table 13 and Table 14, the results of mutual capacitance estimation using FFTCap [18] (correspondent discretization was made using wovengen tool from [21] with 10 panels per side) and Walk on Hemispheres for 9 × 9 woven bus [7] (Figure 13) are presented.
Width:1;
Segment length:8;
Distance between wovens:1;
Shell offset: 0.1 ;
β : 0.5 ;
δ : 10 8 .
The results in Table 13 match. The difference with FFTCap results also could be evaluated by norm: let A—FFTCap result matrix, B—WoH result matrix for 10 8 trajectories from each conductor, then A B F A F 0.001 .

5. Conclusions

We developed some new numerical algorithms for extracting capacitances. These algorithms do not use the approximation of the Laplace operator by its difference counterpart. Their computational error is determined by the sum of the statistical error and the value of the estimator bias. The statistical error is determined in the course of calculations. The systematic error of the estimator is equal to the error when we approximate the potential at points lying near the boundary of the conductor by values at the boundary. This error is controlled by the parameter δ .
The Random Walk on Spheres algorithm is universal in the case of a homogeneous dielectric. It works for conductors with any geometry.
The Random Walk on Hemispheres is applied when dielectric interfaces are polyhedral. In cases when surfaces of the conductors are also polyhedral, the algorithm gives unbiased statistical estimators of the capacitances. The accuracy of this algorithm is equal to the statistical error of the estimators, which is easily determined in the course of calculations.
The Modified Random Walk on Hemispheres algorithm works for convex dielectric interfaces.
Computational experiments show that the algorithms are effective. For systems where capacitances are calculated analytically [3], it is shown that the accuracy of the Monte Carlo approximation is within the statistical error (see Table 1, Table 2 and Table 3). In more complex examples, to prove that the Monte Carlo estimation results are correct, we have matched them with the results of the calculation of the capacitances using the non-Monte Carlo methods implemented in the FastCap2 and FFTCap programs [18] (see Table 5, Table 7, Table 9, Table 11 and Table 13). The algorithm also works correctly in cases when the ratio of the permittivities is 100 or more (see Table 3).
Monte Carlo simulation times for different cases were presented with numerical results, but these are not final and could be improved upon, even with the same configuration of PC, by using another implementation of the pseudo random number generator, for example, or using a function for calculating distance that is optimized for a particular task. For example, by using another implementation of pseudo random number generator, or using function for calculating distance, that is optimized for particular task.

Author Contributions

Investigation, A.K., A.S. All authors contributed equally to this work. All authors have read and agreed to the published version of the manuscript.

Funding

The research was funded by Russian Science Foundation grant 19-11-00020.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data sharing is not applicable to this article.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Kamon, M.; McCormick, S.; Shepard, K. Interconnect parasitic extraction in the digital IC design methodology. In Proceedings of the 1999 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051), San Jose, CA, USA, 7–11 November 1999; pp. 223–230. [Google Scholar] [CrossRef] [Green Version]
  2. Bezrukov, A.; Rusakov, A.; Tkachev, D.; Khapaev, M. Methods of the parasitic extraction of interconnect in the integral circuits. In Problems of Perspective Microelectronic Systems Development; Stempkovsky, A., Ed.; Institute for Design Problems in Microelectronics of Russian Academy of Sciences (IPPM RAS): Moscow, Russia, 2005; pp. 45–50. (In Russian) [Google Scholar]
  3. Smythe, W. Static and Dynamic Electricity, 2nd ed.; McGraw-Hill: New York, NY, USA; Toronto, ON, Canada; London, UK, 1950. [Google Scholar]
  4. Yu, W.; Song, M.; Yang, M. Advancements and Challenges on Parasitic Extraction for Advanced Process Technologies. In Proceedings of the 2021 26th Asia and South Pacific Design Automation Conference (ASP-DAC), Tokyo, Japan, 18–21 January 2021; pp. 841–846. [Google Scholar]
  5. Nabors, K.; Kim, S.; White, J. Fast capacitance extraction of general three-dimensional structures. IEEE Trans. Microw. Theory Tech. 1992, 40, 1496–1506. [Google Scholar] [CrossRef]
  6. Nabors, K.; White, J. Multipole-accelerated capacitance extraction algorithms for 3-D structures with multiple dielectrics. IEEE Trans. Circuits Syst. Fundam. Theory Appl. 1992, 39, 946–954. [Google Scholar] [CrossRef]
  7. Tausch, J.; White, J. Capacitance extraction of 3-D conductor systems in dielectric media with high-permittivity ratios. IEEE Trans. Microw. Theory Tech. 1999, 47, 18–26. [Google Scholar] [CrossRef] [Green Version]
  8. Iverson, R.B.; Le Coz, Y.L. A floating random-walk algorithm for extracting electrical capacitance. Math. Comput. Simul. 2001, 55, 59–66. [Google Scholar] [CrossRef]
  9. Simonov, N.A.; Mascagni, M. Random walk algorithms for estimating electrostatic properties of large molecules. In The International Conference on Computational Mathematics; Mikhailov, G.A., Il’in, V.P., Laevsky, Y.M., Eds.; ICM&MG Publisher: Novosibirsk, Russia, 2004; pp. 352–358. [Google Scholar]
  10. Kuznetsov, A.N.; Sipin, A.S. Universal Monte-Carlo algorithm for extracting electrical capacitancies. Mat. Model. 2009, 21, 41–52. (In Russian) [Google Scholar]
  11. Kuznetsov, A.N. Calculation of mutual capacitances for system of conductors in dielectric media using “walk on hemispheres”. Mat. Model. 2015, 27, 86–95. (In Russian) [Google Scholar]
  12. Yu, W.; Zhuang, H.; Zhang, C.; Hu, G.; Liu, Z. RWCap: A Floating Random Walk Solver for 3-D Capacitance Extraction of Very-Large-Scale Integration Interconnects. IEEE Trans.-Comput.-Aided Des. Integr. Circuits Syst. 2013, 32, 353–366. [Google Scholar] [CrossRef]
  13. Xu, Z.; Zhang, C.; Yu, W. Floating Random Walk-Based Capacitance Extraction for General Non-Manhattan Conductor Structures. IEEE Trans.-Comput.-Aided Des. Integr. Circuits Syst. 2017, 36, 120–133. [Google Scholar] [CrossRef]
  14. Yang, M.; Yu, W. Floating Random Walk Capacitance Solver Tackling Conformal Dielectric With On-the-Fly Sampling on Eight-Octant Transition Cubes. IEEE Trans.-Comput.-Aided Des. Integr. Circuits Syst. 2020, 39, 4935–4943. [Google Scholar] [CrossRef]
  15. Mascagni, M.; Simonov, N.A. Random walk on the boundary methods for computing reaction rate and capacitance. In The International Conference on Computational Mathematics; Mikhailov, G., Il’in, V., Laevsky, Y., Eds.; ICM&MG Publisher: Novosibirsk, Russia, 2002; pp. 238–242. [Google Scholar]
  16. Bernal, F.; Acebrón, J.A.; Anjam, I. A Stochastic Algorithm Based on Fast Marching for Automatic Capacitance Extraction in Non-Manhattan Geometries. SIAM J. Imaging Sci. 2014, 7, 2657–2674. [Google Scholar] [CrossRef] [Green Version]
  17. Phillips, J.R.; White, J.K. A precorrected-FFT method for electrostatic analysis of complicated 3-D structures. IEEE Trans.-Comput.-Aided Des. Integr. Circuits Syst. 1997, 16, 1059–1072. [Google Scholar] [CrossRef] [Green Version]
  18. Computer Codes Produced and Supported by the RLE Computational Prototyping Group. Available online: https://www.rle.mit.edu/cpg/research_codes.htm (accessed on 3 January 2011).
  19. Ermakov, S.M.; Nekrutkin, V.V.; Sipin, A.S. Random Processes for Classical Equations of Mathematical Physics; Kluwer Academic Publishers: Dordrecht, The Netherlands; Boston, MA, USA; London, UK, 1989. [Google Scholar] [CrossRef]
  20. Ermakov, S.M.; Sipin, A.S. The “walk in hemispheres” process and its applications to solving boundary value problems. Vestn. St. Petersburg Univ. Math. 2009, 42, 155–163. [Google Scholar] [CrossRef]
  21. Fast Field Solvers FastCap2. Available online: https://www.fastfieldsolvers.com/fastcap2.htm (accessed on 26 July 2021).
Figure 1. Domain for the boundary value problem.
Figure 1. Domain for the boundary value problem.
Mathematics 09 02922 g001
Figure 2. First steps of Random Walk on Spheres for estimation of C 1 j . Here Γ i are conductor’s surfaces, Γ is a shell around first conductor.
Figure 2. First steps of Random Walk on Spheres for estimation of C 1 j . Here Γ i are conductor’s surfaces, Γ is a shell around first conductor.
Mathematics 09 02922 g002
Figure 3. Random Walk on Spheres. Return on external sphere S R .
Figure 3. Random Walk on Spheres. Return on external sphere S R .
Mathematics 09 02922 g003
Figure 4. Random Walk on Hemispheres. Exit from interface.
Figure 4. Random Walk on Hemispheres. Exit from interface.
Mathematics 09 02922 g004
Figure 5. Random Walk on Hemispheres. Symmetrical points on hemisphere.
Figure 5. Random Walk on Hemispheres. Symmetrical points on hemisphere.
Mathematics 09 02922 g005
Figure 6. Random Walk on Hemispheres. Jump on hemisphere.
Figure 6. Random Walk on Hemispheres. Jump on hemisphere.
Mathematics 09 02922 g006
Figure 7. RWHC. Jump from convex part of interface.
Figure 7. RWHC. Jump from convex part of interface.
Mathematics 09 02922 g007
Figure 8. RWHC. Jump from dielectric with higher permittivity.
Figure 8. RWHC. Jump from dielectric with higher permittivity.
Mathematics 09 02922 g008
Figure 9. Two spheres in dielectrical shell.
Figure 9. Two spheres in dielectrical shell.
Mathematics 09 02922 g009
Figure 10. Two spheres in dielectrical shells.
Figure 10. Two spheres in dielectrical shells.
Mathematics 09 02922 g010
Figure 11. 9 × 9 conductive pins.
Figure 11. 9 × 9 conductive pins.
Mathematics 09 02922 g011
Figure 12. Rectangular parallelepipeds in dielectric shells.
Figure 12. Rectangular parallelepipeds in dielectric shells.
Mathematics 09 02922 g012
Figure 13. 9 × 9 woven bus.
Figure 13. 9 × 9 woven bus.
Mathematics 09 02922 g013
Table 1. Mutual capacitance estimation for two non-nested spheres, C i , j / 4 π ε 0 .
Table 1. Mutual capacitance estimation for two non-nested spheres, C i , j / 4 π ε 0 .
Method 1 , 1 Δ 1 , 2 Δ 2 , 2 Δ TimeMemory
Analytical 5.29133 0.94883 3.18564
WoS, 10 5 5.14975 2.711 · 10 1 0.93335 5.799 · 10 2 3.24719 1.268 · 10 1 11 Mb
WoS, 10 7 5.2965 5 2.717 · 10 2 0.94894 5.805 · 10 3 3.19233 1.263 · 10 2 40 s11 Mb
Table 2. Mutual capacitance estimation for two nested spheres, C i , j / 4 π ε 0 .
Table 2. Mutual capacitance estimation for two nested spheres, C i , j / 4 π ε 0 .
Method1,1 Δ 1,2 Δ TimeMemory
Analytical 3.47735 3.47735
WoS, 10 5 3.48643 1.531 · 10 1 3.53438 1.292 · 10 1 11 Mb
WoS, 10 7 3.47455 1.531 · 10 2 3.47807 1.289 · 10 2 30 s11 Mb
Table 3. Capacitance estimation for coated sphere, C / 4 π ε 0 .
Table 3. Capacitance estimation for coated sphere, C / 4 π ε 0 .
a = 1 , b = 3 Anal.FC2RWHC, 10 6 Δ RWHC, 10 8 Δ
ε = 2 1.5000 1.5018 1.4813 3.111 · 10 2 1.4994 3.114 · 10 3
ε = 10 2.5000 2.5872 2.4403 1.889 · 10 1 2.5094 1.889 · 10 2
ε = 100 2.9411 4.3926 2.7198 2.055 2.8966 2.055 · 10 1
Table 4. Capacitance estimation for coated sphere. Time and memory usage.
Table 4. Capacitance estimation for coated sphere. Time and memory usage.
FC2RWHC, 10 8
a = 1 , b = 3 , ε = 2
Time, s9158
Memory, Mb89911
a = 1 , b = 3 , ε = 10
Time, s9148
Memory, Mb89911
a = 1 , b = 3 , ε = 100
Time, s9147
Memory, Mb90011
Table 5. Mutual capacitance estimation for two spheres in dielectric shell, C i , j / 4 π ε 0 .
Table 5. Mutual capacitance estimation for two spheres in dielectric shell, C i , j / 4 π ε 0 .
i , j FC2RWHC, 10 6 Δ RWHC, 10 8 Δ
ε = 2
1 , 1 9.8444 9.9718 1.597 · 10 1 9.8192 1.598 · 10 2
1 , 2 3.3396 3.3463 2.254 · 10 2 3.3440 2.260 · 10 3
2 , 2 6.0965 6.1454 6.760 · 10 2 6.0968 6.755 · 10 3
ε = 10
1 , 1 33.262 33.440 8.264 · 10 1 32.890 8.270 · 10 2
1 , 2 21.038 21.045 1.317 · 10 1 21.118 1.318 · 10 2
2 , 2 25.380 25.424 3.495 · 10 1 25.276 3.494 · 10 2
Table 6. Mutual capacitance estimation for two spheres in dielectric shell. Time and memory usage.
Table 6. Mutual capacitance estimation for two spheres in dielectric shell. Time and memory usage.
FC2RWHC, 10 8
ε = 2
Time, min133
Memory, Mb171011
ε = 10
Time, min143
Memory, Mb171211
Table 7. Mutual capacitance estimation for two spheres in dielectric shells, C i , j / 4 π ε 0 .
Table 7. Mutual capacitance estimation for two spheres in dielectric shells, C i , j / 4 π ε 0 .
i , j FC2RWHC, 10 6 Δ RWHC, 10 8 Δ
1 , 1 7.0277 7.0672 1.655 · 10 1 7.0255 1.654 · 10 2
1 , 2 1.8095 1.7865 2.002 · 10 2 1.8003 1.997 · 10 3
2 , 2 5.5841 5.6409 1.866 · 10 1 5.4919 1.866 · 10 2
Table 8. Mutual capacitance estimation for two spheres in dielectric shells. Time and memory usage.
Table 8. Mutual capacitance estimation for two spheres in dielectric shells. Time and memory usage.
FC2RWHC, 10 8
Time, s17296
Memory, Mb177511
Table 9. Mutual capacitance of 9 × 9 conductive pins, C i , j / 4 π ε 0 .
Table 9. Mutual capacitance of 9 × 9 conductive pins, C i , j / 4 π ε 0 .
i , j FFTCapWoH, 10 5 Δ WoH, 10 7 Δ
1 , 1 3.9865 3.9447 2.874 · 10 1 4.0079 2.855 · 10 2
1 , 2 1.3384 1.3553 7.000 · 10 2 1.3545 7.048 · 10 3
1 , 81 5.9305 · 10 3 7.2766 · 10 3 3.514 · 10 3 5.9480 · 10 3 3.455 · 10 4
Table 10. Mutual capacitance of 9 × 9 conductive pins. Time and memory usage.
Table 10. Mutual capacitance of 9 × 9 conductive pins. Time and memory usage.
FFTCapWoH, 10 7
Time, min1034
Memory, Mb23912
Table 11. Mutual capacitance of rectangular parallelepipeds in dielectric shells, C i , j / 4 π ε 0 .
Table 11. Mutual capacitance of rectangular parallelepipeds in dielectric shells, C i , j / 4 π ε 0 .
i , j FC2, n = 10 FC2, n = 15 WoH, 10 6 Δ WoH, 10 8 Δ
1 , 1 17.491 17.468 17.650 8.663 · 10 1 17.452 8.661 · 10 2
2 , 1 14.252 14.247 14.144 2.377 · 10 1 14.218 2.374 · 10 2
2 , 2 34.100 34.092 34.381 1.736 34.030 1.737 · 10 1
3 , 1 0.848 0.855 0.875 5.204 · 10 2 0.861 5.164 · 10 3
3 , 2 18.284 18.264 18.094 2.898 · 10 1 18.223 2.899 · 10 2
3 , 3 21.787 21.766 21.827 1.314 21.676 1.314 · 10 1
Table 12. Mutual capacitance of rectangular parallelepipeds in dielectric shells. Time and memory usage.
Table 12. Mutual capacitance of rectangular parallelepipeds in dielectric shells. Time and memory usage.
FC2, n = 10 FC2, n = 15 WoH, 10 8
Time, s483840
Memory, Mb27059111
Table 13. Mutual capacitance of “woven bus”, C i , j / 4 π ε 0 .
Table 13. Mutual capacitance of “woven bus”, C i , j / 4 π ε 0 .
FFTCapWoH, 10 6 Δ WoH, 10 8 Δ
1 , 1 8.7662 8.7338 3.565 · 10 1 8.7480 3.566 · 10 2
1 , 2 5.1204 · 10 2 5.3310 · 10 2 8.066 · 10 3 5.1310 · 10 2 8.013 · 10 4
1 , 18 1.0981 1.1145 5.534 · 10 2 1.0996 5.476 · 10 3
Table 14. Mutual capacitance of “woven bus”. Time and memory usage.
Table 14. Mutual capacitance of “woven bus”. Time and memory usage.
FFTCapRWHC, 10 8
Time, min16176
Memory, Mb186312
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Kuznetsov, A.; Sipin, A. Monte Carlo Algorithms for the Extracting of Electrical Capacitance. Mathematics 2021, 9, 2922. https://0-doi-org.brum.beds.ac.uk/10.3390/math9222922

AMA Style

Kuznetsov A, Sipin A. Monte Carlo Algorithms for the Extracting of Electrical Capacitance. Mathematics. 2021; 9(22):2922. https://0-doi-org.brum.beds.ac.uk/10.3390/math9222922

Chicago/Turabian Style

Kuznetsov, Andrei, and Alexander Sipin. 2021. "Monte Carlo Algorithms for the Extracting of Electrical Capacitance" Mathematics 9, no. 22: 2922. https://0-doi-org.brum.beds.ac.uk/10.3390/math9222922

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop