dustdevils
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| dustdevils [2025/03/31 16:07] – admin | dustdevils [2025/04/12 19:29] (current) – admin | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ==== Dustdevils | + | ===== Dust devils |
| - | This page shows a revisit to {{ : | + | This page shows a revisit to {{ : |
| + | It is a substantial upgrade to [[https:// | ||
| To reproduce these simulations, | To reproduce these simulations, | ||
| - | [[https:// | + | [[https:// |
| - | In cell number 28, set '' | + | |
| + | To reproduce the visualizations, | ||
| + | |||
| + | In the notebook, in cell number 28, set '' | ||
| < | < | ||
| # choose an integer, see choices for nexp below | # choose an integer, see choices for nexp below | ||
| Line 32: | Line 36: | ||
| If you then select 'Run All Cells" for the ipython notebook, the simulation will be complete | If you then select 'Run All Cells" for the ipython notebook, the simulation will be complete | ||
| in about 20 minutes (with my i7 chip). | in about 20 minutes (with my i7 chip). | ||
| - | hi-resolution, | + | hi-resolution, |
| In cell 30, the buoyancy is initialized with | In cell 30, the buoyancy is initialized with | ||
| Line 39: | Line 43: | ||
| + .00001*np.cos(6*np.pi*xb/ | + .00001*np.cos(6*np.pi*xb/ | ||
| </ | </ | ||
| - | I am not sure why that that is apparently different from the idealized choices in Fiedler and Kanak, | + | I am not sure why that is apparently different from the idealized choices in Fiedler and Kanak, |
| - | but it makes the point about **symmetry breaking**. | + | but it makes the point about //symmetry breaking// needed to produce the vertical vorticity of the extreme |
| + | events, which are akin to dust devils. | ||
| + | |||
| + | |||
| + | ==== time history of extremes ==== | ||
| + | |||
| + | Try | ||
| + | < | ||
| + | ./hist.py R4096g0w4 1 400 | ||
| + | </ | ||
| + | if all went okay, | ||
| + | < | ||
| + | ./hist.py R4096g0w4 1 40 > R4096g0w4.hist | ||
| + | </ | ||
| + | |||
| + | And then | ||
| + | < | ||
| + | ./ | ||
| + | </ | ||
| + | |||
| + | That should produce the following image, which shows a dust devil event just prior to t=30. | ||
| - | === time history of extremes === | ||
| ^{{ : | ^{{ : | ||
| | some extreme values at the surface | | | some extreme values at the surface | | ||
| - | === vertical vorticity at the lowest level === | + | |
| + | ==== vertical vorticity at the lowest level ==== | ||
| + | < | ||
| + | mkdir pngs | ||
| + | ./ | ||
| + | ./ | ||
| + | ./ | ||
| + | </ | ||
| + | |||
| + | That will produce '' | ||
| {{ : | {{ : | ||
| - | === isosurface animation === | + | ==== isosurface animation |
| - | The extreme event (a.k.a. | + | The extreme event (a.k.a. |
| + | |||
| + | < | ||
| + | mkdir vista | ||
| + | ./ | ||
| + | ./ | ||
| + | ./ | ||
| + | </ | ||
| {{ : | {{ : | ||
| - | === Some interactive images at $t=29.8$ === | + | ==== Some interactive images at $t=29.8$ ==== |
| + | |||
| + | < | ||
| + | ./ | ||
| + | open scene.html | ||
| + | </ | ||
| Use your mouse, have fun ... | Use your mouse, have fun ... | ||
| {{url> | {{url> | ||
| $\zeta=-40$ (purple) | $\zeta=-40$ (purple) | ||
| + | |||
| + | I did not finish implementing the command line options for '' | ||
| + | but the source code can be easily edited to select the desired isosurfaces. | ||
| + | (You may want to copy '' | ||
| + | |||
| + | Change these lines: | ||
| + | < | ||
| + | # plotter.add_mesh(contours_w_neg, | ||
| + | # plotter.add_mesh(contours_w_pos, | ||
| + | plotter.add_mesh(contours_p1, | ||
| + | # plotter.add_mesh(contours_p2, | ||
| + | # plotter.add_mesh(contours_p3, | ||
| + | # plotter.add_mesh(contours_p4, | ||
| + | plotter.add_mesh(contours_p5, | ||
| + | plotter.add_mesh(edges, | ||
| + | plotter.add_mesh(origin_marker, | ||
| + | plotter.add_text(time, | ||
| + | # plotter.add_mesh(contour_2d, | ||
| + | plotter.add_mesh(slice_plane, | ||
| + | </ | ||
| + | to | ||
| + | < | ||
| + | plotter.add_mesh(contours_w_neg, | ||
| + | plotter.add_mesh(contours_w_pos, | ||
| + | # plotter.add_mesh(contours_p1, | ||
| + | # plotter.add_mesh(contours_p2, | ||
| + | # plotter.add_mesh(contours_p3, | ||
| + | plotter.add_mesh(contours_p4, | ||
| + | plotter.add_mesh(contours_p5, | ||
| + | plotter.add_mesh(edges, | ||
| + | plotter.add_mesh(origin_marker, | ||
| + | plotter.add_text(time, | ||
| + | # plotter.add_mesh(contour_2d, | ||
| + | plotter.add_mesh(slice_plane, | ||
| + | </ | ||
| + | |||
| + | And again: | ||
| + | |||
| + | < | ||
| + | ./ | ||
| + | open scene.html | ||
| + | </ | ||
| {{url> | {{url> | ||
| $w=.5$ (green), $w=-.5$ (grey) , $c=6$ (red) | $w=.5$ (green), $w=-.5$ (grey) , $c=6$ (red) | ||
| + | The suitably renamed '' | ||
dustdevils.1743455259.txt.gz · Last modified: by admin
