gpu.labelCenter(gr, nzones / 2 + 1, r"$i+1$") gpu.labelCenter(gr, nzones / 2 - 2, r"$i-2$") gpu.labelCenter(gr, nzones / 2 + 2, r"$i+2$") n = 0 while (n < nzones): gpu.drawCellAvg(gr, n, a[n], color="0.5") n += 1 # compute the parabolic coefficients ap, am, a6 = gpu.ppm(a, nolimit=1) lap, lam, la6 = gpu.ppm(a) n = 2 while (n < nzones - 2): gpu.drawParabola(gr, n, ap[n], am[n], a6[n], color="r", ls=":") gpu.drawParabola(gr, n, lap[n], lam[n], la6[n], color="r") #pylab.scatter([gr.xl[n], gr.xr[n]], [am[n], ap[n]]) n += 1 pylab.axis([gr.xmin - 0.5 * gr.dx, gr.xmax + 0.5 * gr.dx, -0.25, 1.2]) pylab.axis("off") pylab.subplots_adjust(left=0.05, right=0.95, bottom=0.05, top=0.95) f = pylab.gcf() f.set_size_inches(8.0, 2.0) pylab.savefig("piecewise-parabolic.eps") pylab.savefig("piecewise-parabolic.png")
pylab.clf() gpu.drawGrid(gr, centerOnly=1) gpu.labelCenter(gr, nzones/2-1, r"$i$") gpu.labelCenter(gr, nzones/2, r"$i+1$") # compute the parabolic coefficients ap, am, a6 = gpu.ppm(a, nolimit=1) lap, lam, la6 = gpu.ppm(a) n = gr.nx/2-1 while (n <= gr.nx/2): gpu.drawParabola(gr, n, lap[n], lam[n], la6[n], color="r") n += 1 nn = gr.nx/2-1 sigma = 0.6 gpu.ppmTraceLeft(gr, nn, lap[nn], lam[nn], la6[nn], sigma, color="0.75") pylab.plot([gr.xr[gr.nx/2-1]-sigma*gr.dx, gr.xr[gr.nx/2-1]], [1.2, 1.2], color="k") pylab.plot([gr.xr[gr.nx/2-1]-sigma*gr.dx, gr.xr[gr.nx/2-1]-sigma*gr.dx], [1.15, 1.25], color="k") pylab.plot([gr.xr[gr.nx/2-1], gr.xr[gr.nx/2-1]], [1.15, 1.25], color="k") pylab.text(gr.xr[gr.nx/2-1]-0.5*sigma*gr.dx, 1.3, r"$\sigma_{i}^{(\nu)} \Delta x$", horizontalalignment="center") pylab.text(gr.xr[gr.nx/2-1]-0.5*sigma*gr.dx, 0.4, r"$\mathcal{I}_+^{(\nu)}$", color="r", horizontalalignment="center") pylab.axis([gr.xl[gr.nx/2-1]-0.5*gr.dx,gr.xr[gr.nx/2]+0.5*gr.dx, -0.25, 1.4])
gpu.labelCenter(gr, nzones/2+2, r"$i+2$") n = 0 while (n < nzones): gpu.drawCellAvg(gr, n, a[n], color="0.5") n += 1 # compute the parabolic coefficients ap, am, a6 = gpu.ppm(a, nolimit=1) lap, lam, la6 = gpu.ppm(a) n = 2 while (n < nzones-2): gpu.drawParabola(gr, n, ap[n], am[n], a6[n], color="r", ls=":") gpu.drawParabola(gr, n, lap[n], lam[n], la6[n], color="r") #pylab.scatter([gr.xl[n], gr.xr[n]], [am[n], ap[n]]) n += 1 pylab.axis([gr.xmin-0.5*gr.dx,gr.xmax+0.5*gr.dx, -0.25, 1.2]) pylab.axis("off") pylab.subplots_adjust(left=0.05,right=0.95,bottom=0.05,top=0.95) f = pylab.gcf() f.set_size_inches(8.0,2.0)