04/19/23 ELEN 689 1
Finite Difference Method For conductor exterior, solve Laplacian
equation
In 2D:il m
k
j
04/19/23 ELEN 689 2
Uniform Grid
i, ji–1, j i+1, j
i, j+1
i, j–1
04/19/23 ELEN 689 3
Basic Properties Consider two conductors
Let v=f(Q). From Gauss’ law
if we double the amount of charge, E will also double since the equation is linear
Therefore, v and Q are linearly related, or Q=Cv
–Q +Q S
Really?
04/19/23 ELEN 689 4
Multiple Conductors Consider conductors 1, 2, …, n
Apply the above argument for every pair of conductors i and j
Q1Q2 Qn
04/19/23 ELEN 689 5
Capacitance Matrix
04/19/23 ELEN 689 6
BEM Review Partition conductor surfaces into panels Build coefficient matrix P, where
and G is Green’s function, such as
Solve linear system Pq=v Add charges to get capacitance
04/19/23 ELEN 689 7
Make It Faster Discretization: O(n) Compute P: O(n2) O(n)
Since P is size nn, P can not be constructed explicitly
Solve Pq=v: O(n3) O(n) Iterative methods
04/19/23 ELEN 689 8
Fast Multipole Methods N-body problem: Given n particles
in 3D space, compute all forces between the particles
Fast multipole algorithms Appel 85 Rokhlin 86, Greengard & Rokhlin 87 O(n) time
04/19/23 ELEN 689 9
Basic Idea of Multipole A cluster of charges at distance
can be approximated by a single charge
Reduce operations from k2 to k Form all clusters recursively in
O(n) time — hard part!k chargespotential
at k points
04/19/23 ELEN 689 10
Solve Ax=b Iteratively Approximate Ax–b=0:
Bottleneck: Matrix-vector product Ax A is not used elsewhere
Initial solution x
Compute Ax
If Ax–b > t/b,
modify x
04/19/23 ELEN 689 11
Example: Jacobi Method
04/19/23 ELEN 689 12
Example: Jacobi Method Transformation
Ax = b Dx=Dx–Ax+b x = (I–D–1A)x+D–1b Iterations
x(i+1)= (I–D–1A) x(i)+D–1b x(0) = 0, x(1) = D–1b, x(2) = (I–D–1A) x(1)+D–1b, …
If diagonal dominate, then the method converges
Better iterative methods exist that converge under weaker conditions
04/19/23 ELEN 689 13
Fast Algorithm HiCap Conductor surface refinement:
Adaptively partition conductor surfaces into small panels according to a user supplied threshold
Approximate P and store it in a hierarchical data structure of size O(n) The data structure permits O(n) time matrix-
vector product Px for any n-vector x Solve linear system Pq=v using iterative
methods
04/19/23 ELEN 689 14
Adaptive Panel Partition If interaction between Ai Aj > ,
refine Ai and Aj. Otherwise, record Pij in P.
A
H
C
B
I
J
C
EF G
M NL
J
1 2 3 4 5
04/19/23 ELEN 689 15
Representation of Matrix P
A
D
G
H
CB
E
F
I J
K L
M N
P is stored as links in a hierarchical data structure
04/19/23 ELEN 689 16
Example If area/dist 1, refine the panel
C
B
I
J
A H
CB I J4
1
4
2
1/5
1/71/5
1/3
04/19/23 ELEN 689 17
Example (cont’d) If area/dist 1, refine the panel
C
EF G
M NL
J
A
D
G
H
CB
E
F
I J
K L
M N
4
1
4
2
1/5
1/71/5
A
B C
D E
H
I J
K L
A
B
C
D
E
H
I
J
L
K NM 1/4.6
Full 8x8
matrix P:
1/5.51/4.6
A
B C
D E
H
I J
K L
A
B
C
D
E
H
I
J
L
K1/5
Implicitly
stored P:
04/19/23 ELEN 689 20
Properties of P P positive, symmetric, positive definite
Positive definite: xPx > 0 for all x If fully expanded, P is size nn P can be approximated by O(n) block
entries, where n is the number of panels This is because each panel interacts with
constant number of other panels The block entries allow O(n) time
matrix-vector product Px for any x
04/19/23 ELEN 689 21
Mat-Vec Pq, Step 1 Compute charge for all panels
A
B C
D E
F G
H
I J
K L
M N
04/19/23 ELEN 689 22
Mat-Vec Pq, Step 2
A
B C
D E
F G
H
I J
K L
M N
Compute potential for all panels
04/19/23 ELEN 689 23
Mat-Vec Pq, Step 3 Distribute potential to leaf panels
A
B C
D E
F G
H
I J
K L
M N
04/19/23 ELEN 689 24
Solving Linear Systems Use fast iterative methods GMRES Each iteration requires a matrix-
vector product Pq that can be completed in O(n) time
Solution obtained in 10-20 iterations, regardless of n
04/19/23 ELEN 689 25
Error and Time Complexity Error of approximation is
controlled by Time complexity is O(n) because
step takes O(n) time
04/19/23 ELEN 689 26
Multi-layer Dielectric Kernel independent
methods Multi-layer Green’s function
Kernel dependent methods Discretize dielectric-dielectric
interface Introduce interface variables
and modify linear system Expensive
m2m2 m2
m1
m3
=3.9
=8.0
=4.0
=4.1
04/19/23 ELEN 689 27
Other Dielectric Problems Conformal
dielectric Voids Air gap
m1
m3
m2 m2
04/19/23 ELEN 689 28
Comparison of Methods FastCap: O(n)
Kernel dependent (1/r) Random Walk
Kernel independent, QuickCap Pre-corrected FFT: O(nlogn)
Kernel independent Singular Value Decomposition: O(nlogn)
Kernel independent, Assura RCX HiCap: O(n)
Kernel independent