page_title: Flow visualization
section_title: Methods of visualization
hierarchical_section_title: Flow visualization / Methods of visualization
caption_attribution_description: English: Shadowgram of the turbulent plume of hot air rising from a home-barbecue gas grill.
context_page_description: Flow visualization or flow visualisation in fluid dynamics is used to make the flow patterns visible, in order to get qualitative or quantitative information on them.
context_section_description: In experimental fluid dynamics, flows are visualized by three methods: 
  Surface flow visualization: This reveals the flow streamlines in the limit as a solid surface is approached.  Colored oil applied to the surface of a wind tunnel model provides one example (the oil responds to the surface shear stress and forms a pattern).
  Particle tracer methods: Particles, such as smoke or microspheres, can be added to a flow to trace the fluid motion.  We can illuminate the particles with a sheet of laser light in order to visualize a slice of a complicated fluid flow pattern.  Assuming that the particles faithfully follow the streamlines of the flow, we can not only visualize the flow but also measure its velocity using the particle image velocimetry or particle tracking velocimetry methods.  Particles with densities that match that of the fluid flow will exhibit the most accurate visualization.
  Optical methods: Some flows reveal their patterns by way of changes in their optical refractive index.  These are visualized by optical methods known as the shadowgraph, schlieren photography, and interferometry. More directly, dyes can be added to (usually liquid) flows to measure concentrations; typically employing the light attenuation or laser-induced fluorescence techniques.
  In scientific visualization flows are visualized with two main methods:
  Analytical methods that analyse a given flow and show properties like streamlines, streaklines, and pathlines. The flow can either be given in a finite representation or as a smooth function.
  Texture advection methods that "bend" textures (or images) according to the flow. As the image is always finite (the flow through could be given as a smooth function), these methods will visualize approximations of the real flow.
caption: Shadowgraph of the turbulent plume of hot air rising from a home-barbecue gas grill. Photograph by Gary S. Settles, Floviz Inc.
exif: {"Image Make": "NIKON CORPORATION", "Image Model": "NIKON D90", "Image Orientation": "Horizontal (normal)", "Image Software": "Adobe Photoshop CS3 Windows", "Image DateTime": "2008:11:22 09:10:51", "Image YCbCrPositioning": "Co-sited", "Image ExifOffset": "2270", "GPS GPSVersionID": "[2, 2, 0, 0]", "Image GPSInfo": "4898", "Image XPComment": "[32, 0, 32, 0, 32, 0, 32, 0, 32, 0, 32, 0, 32, 0, 32, 0, 32, 0, 32, 0, ... ]", "Image Padding": "[]", "EXIF ExposureTime": "1/1000", "EXIF FNumber": "28/5", "EXIF ExposureProgram": "Manual", "EXIF ISOSpeedRatings": "200", "EXIF ExifVersion": "0221", "EXIF DateTimeOriginal": "2008:11:20 18:52:47", "EXIF DateTimeDigitized": "2008:11:20 18:52:47", "EXIF ComponentsConfiguration": "YCbCr", "EXIF CompressedBitsPerPixel": "4", "EXIF ExposureBiasValue": "0", "EXIF MaxApertureValue": "49/10", "EXIF MeteringMode": "Pattern", "EXIF LightSource": "Unknown", "EXIF Flash": "Flash did not fire", "EXIF FocalLength": "70", "EXIF SubSecTime": "00", "EXIF SubSecTimeOriginal": "00", "EXIF SubSecTimeDigitized": "00", "EXIF FlashPixVersion": "0100", "EXIF ColorSpace": "sRGB", "EXIF ExifImageWidth": "2418", "EXIF ExifImageLength": "2848", "EXIF SensingMethod": "One-chip color area", "EXIF FileSource": "Digital Camera", "EXIF SceneType": "Directly Photographed", "EXIF CVAPattern": "[0, 2, 0, 2, 1, 2, 0, 1]", "EXIF CustomRendered": "Normal", "EXIF ExposureMode": "Manual Exposure", "EXIF WhiteBalance": "Auto", "EXIF DigitalZoomRatio": "1", "EXIF FocalLengthIn35mmFilm": "105", "EXIF SceneCaptureType": "Standard", "EXIF GainControl": "None", "EXIF Contrast": "Normal", "EXIF Saturation": "Normal", "EXIF Sharpness": "Normal", "EXIF SubjectDistanceRange": "0", "EXIF Padding": "[]"}