|
| 1 | +import matplotlib.pyplot as plt |
| 2 | +import grid_plot as gp |
| 3 | + |
| 4 | +def simplegrid(): |
| 5 | + |
| 6 | + # grid info |
| 7 | + xmin = 0.0 |
| 8 | + xmax = 1.0 |
| 9 | + |
| 10 | + nzones = 2 |
| 11 | + ng = 0 |
| 12 | + |
| 13 | + gr = gp.FVGrid(nzones, xmin=xmin, xmax=xmax) |
| 14 | + |
| 15 | + |
| 16 | + #------------------------------------------------------------------------ |
| 17 | + # plot a domain without ghostcells |
| 18 | + gr.draw_grid(draw_end=False, edge_ticks=False) |
| 19 | + |
| 20 | + gr.label_center(0, r"$i$") |
| 21 | + gr.label_center(1, r"$i+1$") |
| 22 | + |
| 23 | + gr.label_edge(1, r"$q_{i+\myhalf}$") |
| 24 | + |
| 25 | + |
| 26 | + # draw waves |
| 27 | + # u - c |
| 28 | + plt.plot([gr.xr[0], gr.xr[0]-0.75*gr.dx], [0,1.0], color="C0", ls="-") |
| 29 | + plt.text(gr.xr[0]-0.75*gr.dx, 1.0+0.05, "$\lambda^{(-)} =\, u - c$", |
| 30 | + horizontalalignment="center") |
| 31 | + |
| 32 | + # u |
| 33 | + plt.plot([gr.xr[0], gr.xr[0]-0.2*gr.dx], [0,1.0], color="C0", ls="-") |
| 34 | + plt.text(gr.xr[0]-0.2*gr.dx, 1.0+0.05, "$\lambda^{(\circ)} =\, u$", |
| 35 | + horizontalalignment="center") |
| 36 | + |
| 37 | + # u + c |
| 38 | + plt.plot([gr.xr[0], gr.xr[0]+0.4*gr.dx], [0,1.0], color="C0", ls="-") |
| 39 | + plt.text(gr.xr[0]+0.4*gr.dx, 1.0+0.05, "$\lambda^{(+)} =\, u + c$", |
| 40 | + horizontalalignment="center") |
| 41 | + |
| 42 | + |
| 43 | + plt.plot([gr.xl[0], gr.xr[0]], [0.3, 0.3], color="C1", linewidth=2) |
| 44 | + plt.text(gr.xc[0], 0.33, r"$\langle q \rangle_i$", color="C1") |
| 45 | + |
| 46 | + plt.plot([gr.xl[1], gr.xr[1]], [0.6, 0.6], color="C1", linewidth=2) |
| 47 | + plt.text(gr.xc[1], 0.63, r"$\langle q \rangle_{i+1}$", color="C1") |
| 48 | + |
| 49 | + gr.clean_axes(padding=False) |
| 50 | + plt.ylim(-0.2,1.2) |
| 51 | + |
| 52 | + plt.tight_layout() |
| 53 | + |
| 54 | + f = plt.gcf() |
| 55 | + f.set_size_inches(6, 3.5) |
| 56 | + |
| 57 | + |
| 58 | + plt.savefig("riemann-waves-jump.png", dpi=150) |
| 59 | + |
| 60 | +if __name__== "__main__": |
| 61 | + simplegrid() |
0 commit comments