I would like to compute Q-criterion and visualise it through multiple slices. Doing this in Ascent would require me to create a pipeline and a scene for each slice.
My current reading of the functionality is each pipeline would have to independently compute Q-criterion for each slice leading to a significant redundancy. Unless there’s a way to share one pipeline output (Q-criterion) with many downstream pipelines (slices).
Is there another way to?
My current approach below. I dislike it because of potential redundancy, but I am also forced to change the name of qcrit on different slices to avoid variable name repetition which is similar to this problem but I think harder to avoid. Please let me know if there’s a better way of doing it currently?
field-velocity = u, v, w
pipeline-qslice-xy = [{'type': 'qcriterion', 'field': 'velocity',
'output-name': 'qcrit', 'use-cell-gradient': 'false'},
{'type': 'slice',
'point': {'x': 0.0, 'y': 0.0, 'z': 0.0},
'normal': {'x': 0.0, 'y': 0.0, 'z': 1.0}}]
scene-qcrit-xy = {'type': 'pseudocolor', 'pipeline': 'qslice-xy',
'field': 'qcrit',
'render-1': {'image-width': 1024,
'image-name': 'qcrit-xy-{t:.4f}'}}
pipeline-qslice-yz = [{'type': 'qcriterion', 'field': 'velocity',
'output-name': 'qcrit2', 'use-cell-gradient': 'false'},
{'type': 'slice',
'point': {'x': 0.0, 'y': 0.0, 'z': 0.0},
'normal': {'x': 1.0, 'y': 0.0, 'z': 0.0}}]
scene-qcrit-yz = {'type': 'pseudocolor', 'pipeline': 'qslice-yz',
'field': 'qcrit2',
'render-1': {'image-width': 1024,
'image-name': 'qcrit-yz-{t:.4f}'}}