I don't have yt code, but I agree that this would be a useful standard derived field to add.  As for the methodology, the shock detection algorithm that is used in a lot of codes looks for regions where there is compression and a pressure jump (to separate shocks from rarefactions).  Most PPM or similar hydro codes (even those that are not directionally split) will do this check in 1-d when determining whether to apply flattening to shocks (to prevent their self-steepening from making them too steep), and then look in all directions to figure out if a zone should be flattened.  You want to do a single multi-d shock detection, which will mean computing the velocity divergence and the pressure jump in the normal direction.  Here's the code we use in Castro which inherits some ideas from other codes (Flash, and the ppm papers).  Look for the subroutine shock().


On Tue, Jun 23, 2015 at 11:51 AM, Yuan Li <yuan@astro.columbia.edu> wrote:
Dear all,

I am trying to figure out a way to mask out cells that contain shocks. One way I can think of is to create a derived field by identifying shocks. It seems that there are different ways of finding shocks: Enzo has a refinement criterion (refine by shocks) and there is also shock finding written by Sam. 

Has anybody tried to find shocks using yt? I would appreciate it if you would like to share your code/experience/advice. Thank you!


yt-users mailing list

Michael Zingale
Associate Professor

Dept. of Physics & Astronomy • Stony Brook University • Stony Brook, NY 11794-3800
phone:  631-632-8225
e-mail: Michael.Zingale@stonybrook.edu
web: http://www.astro.sunysb.edu/mzingale