given byx 1 = 1.7 + [0.074 (2ξ 1 − 1) + 0.536] cos [ 2πξ 2 + s<strong>in</strong> −1 (0.416) s<strong>in</strong>(2πξ 2 ) ] ,x 2 = 1.66 [0.074 (2ξ 1 − 1) + 0.536] s<strong>in</strong>(2πξ 2 ),(53)for 0 ≤ ξ 1 , ξ 2 ≤ 1. We seek the solution of∇ 2 Φ(x) = ρ(x), x ∈ Ω, (54)satisfy<strong>in</strong>g homogeneous Dirichlet boundary conditions <strong>in</strong> the radial (ξ 1 ) directionΦ(X(0, ξ 2 )) = Φ(X(1, ξ 2 )) = 0, 0 ≤ ξ 2 ≤ 1, (55)and periodic boundary conditions <strong>in</strong> the azimuthal (ξ 2 ) direction. To test theaccuracy of our discretization, we employ a manufactured solution procedureand compute a right-hand side ρ correspond<strong>in</strong>g to a predeterm<strong>in</strong>ed, analyticallyprescribed solution. After form<strong>in</strong>g and solv<strong>in</strong>g the l<strong>in</strong>ear system result<strong>in</strong>gfrom our discretization us<strong>in</strong>g the right-hand side so obta<strong>in</strong>ed, we can computethe discretization error s<strong>in</strong>ce the exact solution is known. In particular, we setΦ(x) = ˜Φ(X −1 (x)), where˜Φ(ξ 1 , ξ 2 ) = 4ξ 1 (1 − ξ 1 ) [1 + 0.1 s<strong>in</strong>(8πξ 2 )] . (56)Us<strong>in</strong>g (56), we apply the divergence theorem to compute the <strong>in</strong>tegral of ρ overa mapped grid cell X(V ) as∫X(V )ρ(x)dx =∑ 2∑∫±=+,− d=1A ± d(J −1 N T N∇ ξ ˜Φ ) d dA ξ. (57)S<strong>in</strong>ce the mapp<strong>in</strong>g (53) is prescribed us<strong>in</strong>g simple analytic formulas, the transformationmatrix N and its Jacobian J are also explicitly available. Theone-dimensional <strong>in</strong>tegrals <strong>in</strong> (57) are evaluated us<strong>in</strong>g the DQAG <strong>in</strong>tegratorfrom QUADPACK [13], which implements a globally adaptive Gauss-Kronrodquadrature to prescribed relative and absolute tolerances. For the convergenceresults presented below, the relative and absolute tolerances were set to 10 −12to reduce the quadrature error well below the discretization errors be<strong>in</strong>g measured,yield<strong>in</strong>g a nearly exact evaluation of the the <strong>in</strong>tegral (57).The discretization described above was implemented <strong>in</strong> a test code us<strong>in</strong>g theChombo <strong>in</strong>frastructure [14]. The result<strong>in</strong>g l<strong>in</strong>ear system was solved us<strong>in</strong>g apreconditioned conjugate gradient (PCG) solver from the Hypre library [15].The Hypre PCG solver accommodates the 5×5 stencil generated by the fourthorderdiscretization at each grid cell. Given the positive-def<strong>in</strong>ite, self-adjo<strong>in</strong>tproperty of the l<strong>in</strong>ear operator, a possible alternative approach would havebeen to employ a multigrid solver. We do not, however, have a multigrid solveravailable that can accommodate a 5×5 stencil, <strong>in</strong>clud<strong>in</strong>g the multigrid solversavailable <strong>in</strong> Hypre. We therefore employ the Hypre PFMG multigrid solver16
10 −2 N10 −310 −410 −510 −6Error10 −710 −810 −9L1 norm errorL2 norm errorMax norm errorN −410 −1010 −1110 1 10 2 10 3Fig. 5. Test problem convergence study.applied to a standard second-order discretization of (54) as a preconditionerfor CG. Beyond the issue of solver availability, it is generally acknowledgedthat the comb<strong>in</strong>ation of a Krylov method with multigrid precondition<strong>in</strong>g yieldsa more robust solver, especially with variable coefficients.Figure 5 shows the L 1 , L 2 and max norm errors <strong>in</strong> the discrete solution of(54) us<strong>in</strong>g an N × N computational grid with N = 16, 32, 64, 128, 256 and512, plotted aga<strong>in</strong>st N −4 . By L 1 and L 2 norms, we mean the discrete normscomputed us<strong>in</strong>g the solution error evaluated at cell centers, rather than cont<strong>in</strong>uousnorms computed us<strong>in</strong>g a reconstruction of the discrete solution overgrid cells. The fourth-order convergence rate is clearly observed. In each casethe PCG iteration was performed to a tolerance of 10 −10 on the relative L 2residual norm (the L 2 norm of the residual relative to that of the right handside). The multigrid preconditioner was solved to a relative tolerance of 10 −2<strong>in</strong> each iteration. Table 1 shows the relative residual at each iteration togetherwith an estimate of the local convergence rate for the f<strong>in</strong>est grid N = 512. Apseudocolor plot of the N = 512 solution is shown on the right-hand side ofFigure 4.17