Graphics Reference
In-Depth Information
In three dimensions,
E ( i,j,k ) =
( A ( i− 1 ,j,k ) , ( i,j,k ) /E ( i− 1 ,j,k ) ) 2
A ( i,j,k ) , ( i,j,k )
( A ( i,j− 1 ,k ) , ( i,j,k ) /E ( i,j− 1 ,k ) ) 2
( A ( i,j,k− 1) , ( i,j,k ) /E ( i,j,k− 1) ) 2 .
In these equations, we replace terms referring to a non-fluid cell (or cell
that lies off the grid) with zero. Also note that the superscript two is an
exponent, nothing to do with time steps: those entries of E are squared.
4.3.4 Modified Incomplete Cholesky
Incomplete Cholesky is a great preconditioner that can effectively reduce
our iteration count when solving the pressure equations and is often the
default choice when preconditioning any general matrix. But, for almost
no extra cost, we can do better for our particular A ! A slight tweak to IC,
modified incomplete Cholesky (MIC), scales significantly better: if our grid
is n grid cells wide, we'll only need O ( n 1 / 2 ) iterations, with a fairly low
hidden constant. Modified incomplete cholesky works exactly like incom-
plete Cholesky, except instead of discarding those unwanted non-zeros, we
account for them by adding them to the diagonal of L .
To make this more precise, MIC(0) constructs a lower-triangular matrix
L with the same non-zero pattern as the lower triangle of A , such that
The off-diagonal non-zero entries of A are equal to the corresponding
ones of ( LL T ).
The sum of each row of A is equal to the sum of each row of ( LL T ).
This boils down to a slightly different calculation for the diagonal entries:
the modified L is also equal to FE 1 + E , just for a different E .Intwo
dimensions,
( A ( i− 1 ,j ) , ( i,j ) /E ( i− 1 ,j ) ) 2
( A ( i,j− 1) , ( i,j ) /E ( i,j− 1) ) 2
A ( i,j ) , ( i,j )
A ( i− 1 ,j ) , ( i,j ) A ( i− 1 ,j ) , ( i− 1 ,j +1) /E ( i− 1 ,j )
E ( i,j ) =
A ( i,j− 1) , ( i,j ) A ( i,j− 1) , ( i +1 ,j− 1) /E ( i,j− 1)
Search WWH ::




Custom Search