We outline the FAS method here since it is more general than the standard linear multigrid solver which requires a linear differential equation (such as the Poisson equation) [15]. The FAS technique can handle nonlinear problems (like the Poisson-Boltzmann Eq.), and reduces to the linear multigrid solver algorithm for linear problems. It can also be used for eigenvalue problems [23] and when grid refinements [22] are required for higher resolution in one part of space.
Represent the desired solution on the finest grid as:
| Ll Ul = fl, | (18) |
where Ll is the Laplacian on the finest grid level l, Ul is the exact numerical solution on l, and fl corresponds to a constant times the charge density in the Poisson equation, or includes the nonlinear terms in the PB equation. The coarser levels are labelled by the index k, with k=1 the coarsest level. The grid spacing decreases by a factor of two for each succeeding k level. The current approximation to the solution on l is the lower case ul. It is common in the FAS method to use a nested cycle, where approximations are first obtained on coarser scales k=1,2,3,... before proceeding to the final MG cycles on the fine scale l. A diagram of a nested cycle is shown in Figure 1.
The first step is then to iterate on the coarse level with the equation:
| L1 u1 = f1, | (19) |
The charge density on the coarse levels is obtained by restricting the density from finer scales. The error can be monitored by computing the residual
| rk = fk - Lkuk. | (20) |
on each scale. The approximate solution u1 is then interpolated to the k=2 level for a new set of iterations there. Then begins the first CGC cycle. The approximate solution u2 and charge density f2 are restricted back to the k=1 level. Relaxations (typically on the order of two) are performed to approximately solve the equation:
| (21) |
where
| (22) |
which is the defect correction on k=1, and I21 is the restriction operator from k=2 to k=1 (I12 is the interpolation operator from k=1 to k=2). With this addition, it is apparent that if the exact solution is inserted from the k=2 level, no correction will be made. Thus it `tricks' the problem on the coarse scale into looking as much like the fine scale as possible.
Once the iterations are performed on the coarse scale, it is time for the important CGC step, represented by:
| (23) |
Finally, a few iterations are conducted on the k=2 level again
to smooth the short wavelength errors introduced by the CGC.
Then the problem is passed to the next k=3 level.
This process is repeated until the solution is obtained to the
desired accuracy on the finest scale. The only change necessary
when the process goes to the k=l=3 level is that for the
defect correction on the k=1 level, an extra term
in
must be included
for the defect correction from the previous k=2 level.
We illustrate the multigrid convergence with some numerical results for the Poisson-Boltzmann equation later (cf. Sect. 5.1.2).