Hostname: page-component-745bb68f8f-f46jp Total loading time: 0 Render date: 2025-02-07T04:08:43.527Z Has data issue: false hasContentIssue false

Local flow characterization using bioinspired sensory information

Published online by Cambridge University Press:  31 March 2017

Brendan Colvert
Affiliation:
Department of Aerospace and Mechanical Engineering, University of Southern California, Los Angeles, CA 90089, USA
Kevin Chen
Affiliation:
Department of Aerospace and Mechanical Engineering, University of Southern California, Los Angeles, CA 90089, USA
Eva Kanso*
Affiliation:
Department of Aerospace and Mechanical Engineering, University of Southern California, Los Angeles, CA 90089, USA
*
Email address for correspondence: kanso@usc.edu

Abstract

Most marine creatures exhibit remarkable flow sensing abilities. Their task of discerning hydrodynamic cues from local sensory information is particularly challenging because it relies on local and partial measurements to accurately characterize the ambient flow. This is in contrast to classical flow characterization methods, which invariably depend on the ability of an external observer to reconstruct the flow field globally and identify its topological structures. In this paper, we develop a mathematical framework in which a local sensory array is used to identify select flow features. Our approach consists of linearizing the flow field around the sensory array and providing a frame-independent parameterization of the velocity gradient tensor which reveals both the local flow ‘type’ and ‘intensity’. We show that a simple bioinspired sensory system that measures differences in flow velocities is capable of locally characterizing the flow type and intensity. We discuss the conditions under which such flow characterization is possible. Then, to demonstrate the effectiveness of this sensory system, we apply it in the canonical problem of a circular cylinder in uniform flow. We find excellent agreement between the sensed and actual flow properties. These findings will serve to direct future research on optimal sensory layouts and dynamic deployment of sensory arrays.

Type
Papers
Copyright
© 2017 Cambridge University Press 

1 Introduction

Swimming organisms leverage a wide variety of sensory modalities that enable them to respond to changes in their environment. One such sensory modality is flow sensing. Flow sensing and response to hydrodynamic signals is exhibited at a wide variety of length and time scales. For example, harbour seals are capable of hydrodynamically tracking a moving object by following its wake (Dehnhardt et al. Reference Dehnhardt, Mauck, Hanke and Bleckmann2001). Fish use the lateral line sensory system to respond to a wide variety of flow stimuli (e.g. Montgomery, Baker & Carton Reference Montgomery, Baker and Carton1997; Engelmann et al. Reference Engelmann, Hanke, Mogdans and Bleckmann2000). At a smaller scale, copepods have incredibly diverse sensory structures (Yen & Nicoll Reference Yen and Nicoll1990; Boxshall, Yen & Strickler Reference Boxshall, Yen and Strickler1997) and exhibit responses to hydrodynamic signals in foraging, mating and escaping (Yen, Weissburg & Doall Reference Yen, Weissburg and Doall1998).

These sophisticated responses to hydrodynamic signals are the result of complex and intertwined mechanisms, including sensory and neural networks and actuation modalities, all coupled to the hydrodynamic environment. The physiological mechanisms underlying flow sensing are most likely tuned to the hydrodynamic signals that the environment presents to the organism (Dehnhardt et al. Reference Dehnhardt, Mauck, Hanke and Bleckmann2001; Ristroph, Liao & Zhang Reference Ristroph, Liao and Zhang2015; Colvert & Kanso Reference Colvert and Kanso2016). Concretely, by hydrodynamic signal, we mean the information contained in the fluid velocity, pressure or density fields. Flow sensors could independently probe one or more of these fields. One example of organisms with sensory systems that measure fluid velocity is the copepod; see, e.g., Yen & Strickler (Reference Yen and Strickler1996), where it is argued that copepods can access the full velocity vector. Another example is the fish lateral line system, which consists of two types of sensors that measure velocity (see, e.g., Kroese & Schellart Reference Kroese and Schellart1992) and pressure (see, e.g., Coombs & Van Netten Reference Coombs and Van Netten2005) along the fish body. Most fluid mechanics studies inspired by the fish lateral line focus on emulating its pressure sensing abilities. For instance, Venturelli et al. (Reference Venturelli, Akanyeti, Visentin, Ježov, Chambers, Toming, Brown, Kruusmaa, Megill and Fiorini2012) used an array of pressure sensors and found that by measuring the frequency content of the pressure time series, they could discern between vortex streets and uniform flows, as well as determine the position and orientation of the sensory array with respect to the axis of the vortex street. Fernandez (Reference Fernandez2011) combined a physics-based model with state-estimator theory to predict the position, size and speed of an upstream object. Colvert & Kanso (Reference Colvert and Kanso2016) postulated a behaviour-based model in conjunction with a physics-based potential flow model to study fish rheotactic behaviour – their alignment to an oncoming flow field. Less is known about local velocity sensing and its implications for deciphering the character of the local flow. In this study, we restrict our attention to the information contained in the velocity field itself. More specifically, we focus on local flow characterization using bioinspired sensory systems that measure only the ambient velocity field.

The classical approach to flow characterization relies on global reconstruction of the flow field by an external observer, using either experimental or computational methods, and identification of its global topological structure (e.g. Williamson & Roshko Reference Williamson and Roshko1988; Schnipper, Andersen & Bohr Reference Schnipper, Andersen and Bohr2009). Another means of flow characterization is to identify the flow ‘type’. Locally, all incompressible flows lie on a spectrum from extensional to rotational (Marrucci & Astarita Reference Marrucci and Astarita1967; Lagnado Reference Lagnado1985). These types of characterizations are used to delineate coherent flow structures (Jeong & Hussain Reference Jeong and Hussain1995; Haller Reference Haller2005). Global flow characterization yields valuable insight for engineering design, but it does not provide a suitable framework for an organism or an engineered vehicle with local sensory capabilities. In such applications, one has access to pointwise and discrete sensory measurements in a small subdomain of the velocity field. The objective is to use these local sensory measurements to compute desired flow properties. This inverse problem is difficult to solve because it typically involves incomplete information and could have zero or multiple solutions. Two general questions are important to answer with regard to the inverse problem: what are the desired flow properties that need to be computed and how can they be computed? The how part consists of deciding the physical quantities the sensors should measure, such as which components of velocity provide enough information, as well as the processing algorithms that decode the desired flow properties from the sensory measurements.

Figure 1. Problem set-up and summary of approach. (a) The goal is to develop a framework to detect select flow features by a local sensory array. (b) The fluid velocity field is linearized around the sensory array. (c) A simple bioinspired sensory system consists of two sensors and one sensory measurement, the difference between the two sensors. (d) The sensory measurements are decoded to detect the desired flow properties.

In this work, we consider an array of velocity sensors in a general incompressible velocity field $\boldsymbol{u}(\boldsymbol{x},t)$ ; see figure 1. We assume that the flow field evolves at a larger spatial scale than the dimensions of the sensory array. We further consider one-way coupling, where the sensory array detects the ambient flow but does not affect it. We begin by linearizing the velocity field around the sensory array and calculating the local strain rates and vorticity field. Then, inspired by Lagnado (Reference Lagnado1985), we introduce the notion of flow type and flow intensity and show how these flow properties are related to the local strain rates and vorticity. We consider a simple bioinspired sensory system consisting of two velocity sensors and one piece of sensory information, the difference in measurement between the two sensors. We find that, under certain conditions on the sensory measurements, we can derive decoding algorithms that allow for reconstruction of the local strain rates and vorticity field. We then go beyond reconstructing the strain rates and vorticity to identifying the flow type on the spectrum from extensional to rotational flow, thus providing a local characterization of the flow field. To illustrate these ideas, we virtually place this sensory system in three canonical flow fields – Lamb–Oseen vortex, Gaussian shear and flow past a circular cylinder – and test its performance. Numerical results show that the sensory system and processing scheme we develop accurately characterize the local flow. More generally, this local flow characterization is linked to the problem of inferring flow structure from sparse sensory information, which could involve a large number of sensors and sensory geometries and different sensor deployment strategies. The local flow information constructed from the present algorithm would then serve to guide the behavioural response and deployment strategy of the sensory system, as in Vergassola, Villermaux & Shraiman (Reference Vergassola, Villermaux and Shraiman2007).

2 Flow characterization

We consider a fluid environment with velocity field $\boldsymbol{u}(\boldsymbol{x},t)$ , where $\boldsymbol{x}$ is the Euclidean position vector measured relative to a fixed inertial frame and $t$ is the time. At a given instant in time, we expand the velocity field $\boldsymbol{u}$ about a particular location $\boldsymbol{x}_{o}$ , which we will later take to be the location of the sensory system, using the Taylor series

(2.1) $$\begin{eqnarray}\boldsymbol{u}=\boldsymbol{u}_{o}+(\boldsymbol{x}-\boldsymbol{x}_{o})\boldsymbol{\cdot }\unicode[STIX]{x1D735}\boldsymbol{u}+\mathit{O}(\Vert \boldsymbol{x}-\boldsymbol{x}_{o}\Vert ^{2}).\end{eqnarray}$$

Here, $\boldsymbol{u}_{o}$ is the velocity evaluated at $\boldsymbol{x}_{o}$ , and the velocity gradient tensor $\unicode[STIX]{x1D735}\boldsymbol{u}$ is evaluated at $\boldsymbol{x}_{0}$ . In figure 2, we show an example of the spatial decomposition of a nonlinear velocity field into a uniform component, a spatially linear component and a residual field representing the higher-order terms. In this work, we discard the higher-order terms and employ the linear approximation

(2.2) $$\begin{eqnarray}\boldsymbol{u}\approx \boldsymbol{u}_{o}+(\boldsymbol{x}-\boldsymbol{x}_{o})\boldsymbol{\cdot }\unicode[STIX]{x1D735}\boldsymbol{u}.\end{eqnarray}$$

The velocity gradient tensor $\unicode[STIX]{x1D735}\boldsymbol{u}$ is canonically decomposed into a symmetric strain-rate tensor $\unicode[STIX]{x1D64E}$ and a skew-symmetric vorticity tensor $\unicode[STIX]{x1D734}$ (e.g. Jeong & Hussain Reference Jeong and Hussain1995; Haller Reference Haller2005),

(2.3) $$\begin{eqnarray}\unicode[STIX]{x1D735}\boldsymbol{u}=\unicode[STIX]{x1D64E}+\unicode[STIX]{x1D734},\end{eqnarray}$$

where

(2.4a,b ) $$\begin{eqnarray}\unicode[STIX]{x1D64E}={\textstyle \frac{1}{2}}(\unicode[STIX]{x1D735}\boldsymbol{u}+\unicode[STIX]{x1D735}\boldsymbol{u}^{\text{T}})\quad \text{and}\quad \unicode[STIX]{x1D734}={\textstyle \frac{1}{2}}(\unicode[STIX]{x1D735}\boldsymbol{u}-\unicode[STIX]{x1D735}\boldsymbol{u}^{\text{T}}).\end{eqnarray}$$

The superscript $(\cdot )^{\text{T}}$ denotes the transpose operation. Given an incompressible two-dimensional flow field $\unicode[STIX]{x1D735}\boldsymbol{\cdot }\boldsymbol{u}=0$ , we can write

(2.5a,b ) $$\begin{eqnarray}\unicode[STIX]{x1D64E}=\frac{1}{2}\left[\begin{array}{@{}cc@{}}\unicode[STIX]{x1D70E} & \unicode[STIX]{x1D70F}\\ \unicode[STIX]{x1D70F} & -\unicode[STIX]{x1D70E}\end{array}\right]\quad \text{and}\quad \unicode[STIX]{x1D734}=\frac{1}{2}\left[\begin{array}{@{}cc@{}}0 & \unicode[STIX]{x1D714}\\ -\unicode[STIX]{x1D714} & 0\end{array}\right],\end{eqnarray}$$

where $\unicode[STIX]{x1D70E}$ and $\unicode[STIX]{x1D70F}$ are the strain rates and $\unicode[STIX]{x1D714}$ is the vorticity. Let $\Vert \unicode[STIX]{x1D64E}\Vert =\sqrt{\text{tr}(\unicode[STIX]{x1D64E}\unicode[STIX]{x1D64E}^{\text{T}})}$ and $\Vert \unicode[STIX]{x1D734}\Vert =\sqrt{\text{tr}(\unicode[STIX]{x1D734}\unicode[STIX]{x1D734}^{\text{T}})}$ denote the Frobenius norms of $\unicode[STIX]{x1D64E}$ and $\unicode[STIX]{x1D734}$ respectively; then,

(2.6a,b ) $$\begin{eqnarray}\Vert \unicode[STIX]{x1D64E}\Vert =\frac{1}{\sqrt{2}}\sqrt{\unicode[STIX]{x1D70E}^{2}+\unicode[STIX]{x1D70F}^{2}}\quad \text{and}\quad \Vert \unicode[STIX]{x1D734}\Vert =\frac{1}{\sqrt{2}}|\unicode[STIX]{x1D714}|.\end{eqnarray}$$

It should be noted that the Frobenius norm of a tensor is frame-invariant; that is to say, $\Vert \unicode[STIX]{x1D64D}\unicode[STIX]{x1D63C}\Vert =\Vert \unicode[STIX]{x1D63C}\Vert$ for any matrix $\unicode[STIX]{x1D63C}$ and rotation matrix $\unicode[STIX]{x1D64D}$ . It follows that any quantities derived from the norm of the tensor are also frame-invariant.

Figure 2. The Taylor decomposition of (a) a full flow field into (b) a constant component, (c) a linearly varying component and (d) higher order terms, where the velocity magnitude is shown in colour, with blue to red representing low to high speed. (e) Constant and linear components are combined into linearized flow for comparison with full nonlinear flow.

Since $\unicode[STIX]{x1D64E}$ is symmetric, it can be diagonalized by a rotation matrix $\unicode[STIX]{x1D64D}=[\begin{array}{@{}cc@{}}\boldsymbol{r}_{1} & \boldsymbol{r}_{2}\end{array}]$ composed of its normalized eigenvectors

(2.7a,b ) $$\begin{eqnarray}\boldsymbol{r}_{1}=\left[\begin{array}{@{}c@{}}\displaystyle \frac{\unicode[STIX]{x1D70E}+\sqrt{\unicode[STIX]{x1D70E}^{2}+\unicode[STIX]{x1D70F}^{2}}}{\sqrt{2(\unicode[STIX]{x1D70E}^{2}+\unicode[STIX]{x1D70F}^{2})+2\unicode[STIX]{x1D70E}\sqrt{\unicode[STIX]{x1D70E}^{2}+\unicode[STIX]{x1D70F}^{2}}}}\\ \displaystyle \frac{\unicode[STIX]{x1D70F}}{\sqrt{2(\unicode[STIX]{x1D70E}^{2}+\unicode[STIX]{x1D70F}^{2})+2\unicode[STIX]{x1D70E}\sqrt{\unicode[STIX]{x1D70E}^{2}+\unicode[STIX]{x1D70F}^{2}}}}\end{array}\right],\quad \boldsymbol{r}_{2}=\left[\begin{array}{@{}c@{}}\displaystyle \frac{\unicode[STIX]{x1D70E}-\sqrt{\unicode[STIX]{x1D70E}^{2}+\unicode[STIX]{x1D70F}^{2}}}{\sqrt{2(\unicode[STIX]{x1D70E}^{2}+\unicode[STIX]{x1D70F}^{2})-2\unicode[STIX]{x1D70E}\sqrt{\unicode[STIX]{x1D70E}^{2}+\unicode[STIX]{x1D70F}^{2}}}}\\ \displaystyle \frac{\unicode[STIX]{x1D70F}}{\sqrt{2(\unicode[STIX]{x1D70E}^{2}+\unicode[STIX]{x1D70F}^{2})-2\unicode[STIX]{x1D70E}\sqrt{\unicode[STIX]{x1D70E}^{2}+\unicode[STIX]{x1D70F}^{2}}}}\end{array}\right].\end{eqnarray}$$

The diagonalized strain-rate tensor takes the form

(2.8) $$\begin{eqnarray}\tilde{\unicode[STIX]{x1D64E}}=\frac{1}{\sqrt{2}}\left[\begin{array}{@{}cc@{}}\Vert \unicode[STIX]{x1D64E}\Vert & 0\\ 0 & -\Vert \unicode[STIX]{x1D64E}\Vert \end{array}\right],\end{eqnarray}$$

where $\tilde{(\cdot )}$ denotes a quantity written in the eigenbasis of $\unicode[STIX]{x1D64E}$ . Meanwhile, in the case of two-dimensional flows, $\unicode[STIX]{x1D734}$ is invariant under rotation and can be generally written in the form

(2.9) $$\begin{eqnarray}\tilde{\unicode[STIX]{x1D734}}=\text{sgn}(\unicode[STIX]{x1D714})\frac{1}{\sqrt{2}}\left[\begin{array}{@{}cc@{}}0 & \Vert \unicode[STIX]{x1D734}\Vert \\ -\Vert \unicode[STIX]{x1D734}\Vert & 0\end{array}\right].\end{eqnarray}$$

To this end, when expressed in the eigenbasis of $\unicode[STIX]{x1D64E}$ , the velocity gradient tensor takes the form

(2.10) $$\begin{eqnarray}\unicode[STIX]{x1D735}\tilde{\boldsymbol{u}}=\frac{1}{\sqrt{2}}\left[\begin{array}{@{}cc@{}}\Vert \unicode[STIX]{x1D64E}\Vert & \text{sgn}(\unicode[STIX]{x1D714})\Vert \unicode[STIX]{x1D734}\Vert \\ -\text{sgn}(\unicode[STIX]{x1D714})\Vert \unicode[STIX]{x1D734}\Vert & -\Vert \unicode[STIX]{x1D64E}\Vert \end{array}\right].\end{eqnarray}$$

The $(\unicode[STIX]{x1D70E},\unicode[STIX]{x1D70F},\unicode[STIX]{x1D714})$ parameterization of the velocity gradient tensor describes the magnitudes of various velocity gradients in the flow, namely stretch, shear and vorticity. However, each one fails independently to provide an easy means by which one can identify key characteristics of the flow such as its type. We then pose the question: is there a different parameterization where the parameters represent more meaningful quantities with regard to the local flow characterization?

Figure 3. Variation of flow type with parameter $\unicode[STIX]{x1D705}$ for (a) counter-clockwise rotation, (b) counter-clockwise shear, (c) extensional flow, (d) clockwise shear and (e) clockwise rotation.

We introduce two parameters, the flow type $\unicode[STIX]{x1D705}$ and flow intensity $\unicode[STIX]{x1D6FC}$ ,

(2.11a,b ) $$\begin{eqnarray}\unicode[STIX]{x1D705}=\text{sgn}(\unicode[STIX]{x1D714})\frac{\Vert \unicode[STIX]{x1D734}\Vert }{\Vert \unicode[STIX]{x1D64E}\Vert }\quad \text{and}\quad \unicode[STIX]{x1D6FC}=\sqrt{2}\sqrt{\Vert \unicode[STIX]{x1D734}\Vert ^{2}+\Vert \unicode[STIX]{x1D64E}\Vert ^{2}},\end{eqnarray}$$

where $\unicode[STIX]{x1D705}\in (-\infty ,\infty )$ describes the ratio of vorticity to strain and $\unicode[STIX]{x1D6FC}\in [0,\infty )$ describes the intensity of velocity gradients. Figure 3 illustrates the parameterization of flow type by $\unicode[STIX]{x1D705}$ on a spectrum from extensional to rotational. The velocity gradient tensor can be rewritten in terms of $\unicode[STIX]{x1D705}$ and $\unicode[STIX]{x1D6FC}$ as

(2.12) $$\begin{eqnarray}\unicode[STIX]{x1D735}\tilde{\boldsymbol{u}}=\frac{\unicode[STIX]{x1D6FC}}{2}\left[\begin{array}{@{}cc@{}}\displaystyle \frac{1}{\sqrt{\unicode[STIX]{x1D705}^{2}+1}} & \displaystyle \frac{\unicode[STIX]{x1D705}}{\sqrt{\unicode[STIX]{x1D705}^{2}+1}}\\ -\displaystyle \frac{\unicode[STIX]{x1D705}}{\sqrt{\unicode[STIX]{x1D705}^{2}+1}} & \displaystyle \frac{1}{\sqrt{\unicode[STIX]{x1D705}^{2}+1}}\end{array}\right].\end{eqnarray}$$

The $(\unicode[STIX]{x1D70E},\unicode[STIX]{x1D70F},\unicode[STIX]{x1D714})$ parameterization of the velocity gradient tensor for a two-dimensional incompressible flow is a three-parameter description of the gradients in the flow. We translate these parameters into type $\unicode[STIX]{x1D705}$ and intensity $\unicode[STIX]{x1D6FC}$ by

(2.13a,b ) $$\begin{eqnarray}\unicode[STIX]{x1D705}=\frac{\unicode[STIX]{x1D714}}{\sqrt{\unicode[STIX]{x1D70E}^{2}+\unicode[STIX]{x1D70F}^{2}}}\quad \text{and}\quad \unicode[STIX]{x1D6FC}=\sqrt{\unicode[STIX]{x1D70E}^{2}+\unicode[STIX]{x1D70F}^{2}+\unicode[STIX]{x1D714}^{2}}.\end{eqnarray}$$

In addition, we also consider the rotation angle $\unicode[STIX]{x1D713}$ that diagonalized the strain-rate tensor $\unicode[STIX]{x1D64E}$ , where

(2.14) $$\begin{eqnarray}\tan \unicode[STIX]{x1D713}=\frac{\unicode[STIX]{x1D70F}}{\unicode[STIX]{x1D70E}+\sqrt{\unicode[STIX]{x1D70E}^{2}+\unicode[STIX]{x1D70F}^{2}}}.\end{eqnarray}$$

The $(\unicode[STIX]{x1D705},\unicode[STIX]{x1D6FC},\unicode[STIX]{x1D713})$ parameterization has a distinct advantage over that of $(\unicode[STIX]{x1D70E},\unicode[STIX]{x1D70F},\unicode[STIX]{x1D714})$ in that each parameter has an intuitive significance that can be ascertained independently of the others. Perhaps more importantly, the values of $\unicode[STIX]{x1D705}$ and $\unicode[STIX]{x1D6FC}$ are frame-independent, since they are derived from $\Vert \unicode[STIX]{x1D64E}\Vert$ and $\Vert \unicode[STIX]{x1D734}\Vert$ , whereas $(\unicode[STIX]{x1D70E},\unicode[STIX]{x1D70F},\unicode[STIX]{x1D714})$ are fundamentally linked to a given frame of reference.

Figure 4. (a,d,g,j) Lamb–Oseen vortex, (b,e,h,k) Gaussian shear and (c,f,i,l) cylinder in uniform flow at $Re=60$ . (ac) Velocity vector field $\boldsymbol{u}$ and vorticity field $\unicode[STIX]{x1D714}$ . (df) Flow type $\unicode[STIX]{x1D705}$ , with the black contours depicting $\unicode[STIX]{x1D705}=\pm 1$ . (gi) Flow intensity $\unicode[STIX]{x1D6FC}$ . (jl) Flow orientation $\boldsymbol{r}_{1}$ vector field, with the colourmap showing the orientation angle $\unicode[STIX]{x1D713}/\unicode[STIX]{x03C0}$ . The cylinder data are taken from Chen, Tu & Rowley (Reference Chen, Tu and Rowley2012).

In figure 4, we demonstrate the advantage of this parameterization by examining the spatial variation of $(\unicode[STIX]{x1D705},\unicode[STIX]{x1D6FC},\unicode[STIX]{x1D713})$ for three canonical fluid flows: a Lamb–Oseen vortex, a Gaussian shear profile and a circular cylinder in uniform free stream at a Reynolds number of $Re=60$ . The Lamb–Oseen vortex is given by the velocity field $u_{\unicode[STIX]{x1D703}}=(1-\exp (-r^{2}/r_{c}^{2}))A/r$ , where $u_{\unicode[STIX]{x1D703}}$ is the azimuthal velocity, $r=\sqrt{x^{2}+y^{2}}$ is the radial dimension, $r_{c}=2$ is the vortex core size and $A=-3$ is the vortex strength, with all quantities defined in polar coordinates. The Gaussian shear flow is defined by the velocity field $u=B\exp (-y^{2}/y_{c}^{2})$ , where $u$ is the velocity in the $x$ direction, $y_{c}=5$ is the wake width and $B=5$ is the wake intensity. The cylinder data are from a Navier–Stokes simulation of uniform flow past a circular cylinder at $Re=60$ , originally published in Chen et al. (Reference Chen, Tu and Rowley2012). Figure 4(ac) depicts the velocity vectors and vorticity fields. Figures 4(df) and 4(gi) show that $\unicode[STIX]{x1D705}$ provides an intensity-independent measure of flow type, and, accordingly, $\unicode[STIX]{x1D6FC}$ provides a type-independent measure of flow intensity. Figure 4(jl) depicts the values of $\unicode[STIX]{x1D713}$ and the associated eigenvector $\boldsymbol{r}_{1}$ , which provides the local orientation in the direction of maximum stretch.

As an aside, for a two-dimensional flow, the type and intensity can be related to the canonical ‘ $Q$ -criterion’ (Hunt, Wray & Moin Reference Hunt, Wray and Moin1988). The $Q$ -criterion is often cited as a simple means of identification of vortical structures in a flow and is computed by

(2.15) $$\begin{eqnarray}Q={\textstyle \frac{1}{2}}(\Vert \unicode[STIX]{x1D734}\Vert ^{2}-\Vert \unicode[STIX]{x1D64E}\Vert ^{2}).\end{eqnarray}$$

In the type–intensity parameterization, $Q$ is given by

(2.16) $$\begin{eqnarray}Q=\frac{\unicode[STIX]{x1D6FC}^{2}}{4}\frac{\unicode[STIX]{x1D705}^{2}-1}{\unicode[STIX]{x1D705}^{2}+1}.\end{eqnarray}$$

There are two important items to note regarding the $(\unicode[STIX]{x1D705},\unicode[STIX]{x1D6FC},\unicode[STIX]{x1D713})$ parameterization and the $Q$ -criterion. First, the numerical value of $Q$ is inherently tied to both the type and the intensity of the flow, whereas $\unicode[STIX]{x1D705}$ and $\unicode[STIX]{x1D6FC}$ independently reveal the type and intensity. Second, since $Q$ depends on $\unicode[STIX]{x1D705}^{2}$ rather than $\unicode[STIX]{x1D705}$ directly, the $Q$ -criterion reveals the type of flow up to a sign. It cannot distinguish the sense of the vorticity, however.

We have shown that $(\unicode[STIX]{x1D705},\unicode[STIX]{x1D6FC},\unicode[STIX]{x1D713})$ provides a convenient parameterization of the velocity gradient tensor $\unicode[STIX]{x1D735}\boldsymbol{u}$ and that $(\unicode[STIX]{x1D70E},\unicode[STIX]{x1D70F},\unicode[STIX]{x1D714})$ can be used to compute this parameterization. Next, we devise a scheme by which a sensory system that measures local velocity differences can characterize the flow type and intensity.

3 Sensory system

We consider a sensory system consisting of two velocity sensors, located at $\boldsymbol{x}_{r}$ and $\boldsymbol{x}_{l}$ , a distance $l$ apart, as depicted in figure 5. Let $(\boldsymbol{b}_{1},\boldsymbol{b}_{2})$ be an orthonormal frame attached to the system such that $\boldsymbol{x}_{l}-\boldsymbol{x}_{r}=l\boldsymbol{b}_{2}$ and let $\unicode[STIX]{x1D703}$ denote the orientation of the $\boldsymbol{b}_{1}$ -axis measured from the inertial $x$ -direction. Each sensor samples the velocity field $\boldsymbol{u}$ in the $(\boldsymbol{b}_{1},\boldsymbol{b}_{2})$ frame such that the data from both sensors are combined to produce one sensory measurement $\boldsymbol{s}=\boldsymbol{u}(\boldsymbol{x}_{l})-\boldsymbol{u}(\boldsymbol{x}_{r})$ . By virtue of (2.2), $\boldsymbol{s}$ is given by

(3.1) $$\begin{eqnarray}\boldsymbol{s}=\boldsymbol{u}(\boldsymbol{x}_{l})-\boldsymbol{u}(\boldsymbol{x}_{r})=l\boldsymbol{b}_{2}\boldsymbol{\cdot }\unicode[STIX]{x1D735}\boldsymbol{u}.\end{eqnarray}$$

In component form, one has

(3.2) $$\begin{eqnarray}\displaystyle \left[\begin{array}{@{}c@{}}s_{1}\\ s_{2}\end{array}\right]=\frac{l}{2}\left[\begin{array}{@{}cc@{}}\unicode[STIX]{x1D70E} & \unicode[STIX]{x1D70F}+\unicode[STIX]{x1D714}\\ \unicode[STIX]{x1D70F}-\unicode[STIX]{x1D714} & -\unicode[STIX]{x1D70E}\end{array}\right]\left[\begin{array}{@{}c@{}}0\\ 1\end{array}\right]=\frac{l}{2}\left[\begin{array}{@{}c@{}}\unicode[STIX]{x1D70F}+\unicode[STIX]{x1D714}\\ -\unicode[STIX]{x1D70E}\end{array}\right]. & & \displaystyle\end{eqnarray}$$

The goal of the sensory system is to invert this computation to determine the components of $\unicode[STIX]{x1D735}\boldsymbol{u}$ from the sensory output $\boldsymbol{s}$ . The inverse problem, however, is not algebraically closed with one set of measurements. The vector $\boldsymbol{s}=s_{1}\boldsymbol{b}_{1}+s_{2}\boldsymbol{b}_{2}$ contains at most two independent quantities $s_{1}$ and $s_{2}$ , whereas $\unicode[STIX]{x1D735}\boldsymbol{u}$ is a tensor containing three independent quantities ( $\unicode[STIX]{x1D70E}$ , $\unicode[STIX]{x1D70F}$ and $\unicode[STIX]{x1D714}$ ). For this reason, it is necessary to take more than one set of independent measurements by changing the orientation of the sensory system.

Figure 5. Two-sensor system with sensory array extent $l$ . Velocity is measured in the body frame $(\boldsymbol{b}_{1},\boldsymbol{b}_{2})$ . Orientation with respect to the inertial frame is parameterized by the angle $\unicode[STIX]{x1D703}$ . The relative rotation between angles $\unicode[STIX]{x1D703}_{n}$ and $\unicode[STIX]{x1D703}_{m}$ is given by $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{m,n}=\unicode[STIX]{x1D703}_{n}-\unicode[STIX]{x1D703}_{m}$ .

Let $\unicode[STIX]{x1D703}_{n}$ and $\unicode[STIX]{x1D703}_{m}$ denote the orientation of the sensory system when the $n$ th and $m$ th samples are taken respectively. We define the angle $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{m,n}=\unicode[STIX]{x1D703}_{n}-\unicode[STIX]{x1D703}_{m}$ that parameterizes the relative rotation of the sensory array between the two angles (see figure 5). It is worth noting here that the sensory system has access to its relative rotation $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{m,n}$ but is not aware of its orientation $\unicode[STIX]{x1D703}_{n}$ and $\unicode[STIX]{x1D703}_{m}$ in inertial space. Let $(\boldsymbol{b}_{1},\boldsymbol{b}_{2})_{n}$ and $(\boldsymbol{b}_{1},\boldsymbol{b}_{2})_{m}$ denote the body frames associated with $\unicode[STIX]{x1D703}_{n}$ and $\unicode[STIX]{x1D703}_{m}$ respectively. Let $(\unicode[STIX]{x1D735}\boldsymbol{u})_{n}$ , $(\boldsymbol{s})_{n}$ and $(\unicode[STIX]{x1D735}\boldsymbol{u})_{m}$ , $(\boldsymbol{s})_{m}$ denote the velocity gradient tensor and sensory measurements in the $n$ and $m$ frames respectively. The sensory output in the $n$ frame is given by (3.1), which, when expressed in component form, yields the following system of linear equations:

(3.3) $$\begin{eqnarray}\left[\begin{array}{@{}c@{}}(s_{1})_{n}\\ (s_{2})_{n}\end{array}\right]=\frac{l}{2}\left[\begin{array}{@{}ccc@{}}0 & 1 & 1\\ -1 & 0 & 0\end{array}\right]\left[\begin{array}{@{}c@{}}\unicode[STIX]{x1D70E}_{n}\\ \unicode[STIX]{x1D70F}_{n}\\ \unicode[STIX]{x1D714}_{n}\end{array}\right].\end{eqnarray}$$

Clearly, given the strain rates and vorticity, one can directly evaluate the sensory measurement. However, we emphasize that the inverse problem – computing $(\unicode[STIX]{x1D70E}_{n},\unicode[STIX]{x1D70F}_{n},\unicode[STIX]{x1D714}_{n})$ from $((s_{1})_{n},(s_{2})_{n})$ – is not algebraically closed. Thus, we need additional sensory measurements $((s_{1})_{m},(s_{2})_{m})$ at $\unicode[STIX]{x1D703}_{m}$ and we need to relate $(\unicode[STIX]{x1D70E}_{n},\unicode[STIX]{x1D70F}_{n},\unicode[STIX]{x1D714}_{n})$ to $((s_{1})_{m},(s_{2})_{m})$ . The velocity gradients $(\unicode[STIX]{x1D735}\boldsymbol{u})_{m}$ and $(\unicode[STIX]{x1D735}\boldsymbol{u})_{n}$ are related by a change of coordinates,

(3.4) $$\begin{eqnarray}(\unicode[STIX]{x1D735}\boldsymbol{u})_{m}=\unicode[STIX]{x1D723}_{m,n}(\unicode[STIX]{x1D735}\boldsymbol{u})_{n}\unicode[STIX]{x1D723}_{m,n}^{\text{T}},\end{eqnarray}$$

where $\unicode[STIX]{x1D723}_{m,n}$ is the rotation matrix between the $n$ and $m$ frames,

(3.5) $$\begin{eqnarray}\unicode[STIX]{x1D723}_{m,n}=\left[\begin{array}{@{}cc@{}}\cos \unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{m,n} & \sin \unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{m,n}\\ -\text{sin}\,\unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{m,n} & \cos \unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{m,n}\end{array}\right].\end{eqnarray}$$

The sensory measurement $((s_{1})_{m},(s_{2})_{m})$ in the $m$ frame is obtained by substituting (3.4) into (3.1), yielding

(3.6) $$\begin{eqnarray}\boldsymbol{s}_{m}=l\boldsymbol{b}_{2}\boldsymbol{\cdot }(\unicode[STIX]{x1D723}_{m,n}(\unicode[STIX]{x1D735}\boldsymbol{u})_{n}\unicode[STIX]{x1D723}_{m,n}^{\text{T}}),\end{eqnarray}$$

which, upon further simplification, yields the sensory measurement in component form,

(3.7) $$\begin{eqnarray}\left[\begin{array}{@{}c@{}}(s_{1})_{m}\\ (s_{2})_{m}\end{array}\right]=\frac{l}{2}\left[\begin{array}{@{}ccc@{}}-\text{sin}\,2\unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{m,n} & \cos 2\unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{m,n} & 1\\ -\text{cos}\,2\unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{m,n} & -\text{sin}\,2\unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{m,n} & 0\end{array}\right]\left[\begin{array}{@{}c@{}}\unicode[STIX]{x1D70E}_{n}\\ \unicode[STIX]{x1D70F}_{n}\\ \unicode[STIX]{x1D714}_{n}\end{array}\right].\end{eqnarray}$$

We next discuss how to combine (3.3) and (3.7) to compute the desired flow characteristics from sensory measurements. This problem will depend on the capabilities of the sensory system, namely whether the velocity sensors can access $s_{1}$ , $s_{2}$ , or both.

Figure 6. (a) Sensors that measure $s_{1}=u(\boldsymbol{x}_{l})-u(\boldsymbol{x}_{r})$ are called orthogonal sensors and (b) sensors that measure $s_{2}=v(\boldsymbol{x}_{l})-v(\boldsymbol{x}_{r})$ are called parallel sensors. (c)  Full velocity sensors have access to both $u$ and $v$ . By definition, $u=\boldsymbol{u}\boldsymbol{\cdot }\boldsymbol{b}_{1}$ and $v=\boldsymbol{u}\boldsymbol{\cdot }\boldsymbol{b}_{2}$ .

Orthogonal sensors. We consider sensors that measure $s_{1}$ only. We refer to these sensors as orthogonal sensors because they measure the component of velocity orthogonal to the sensory array (see figure 6 a). Barring rank deficiency, the algebraic closure of the system necessitates, at a minimum, that three sensory samples are taken at $n$ , $n-1$ and $n-2$ . That is to say, our sensory information consists of the vector $[\begin{array}{@{}ccc@{}}(s_{1})_{n} & (s_{1})_{n-1} & (s_{1})_{n-2}\end{array}]^{\text{T}}$ . Using the first row of (3.3) and (3.7), we have that

(3.8) $$\begin{eqnarray}\left[\begin{array}{@{}c@{}}(s_{1})_{n}\\ (s_{1})_{n-1}\\ (s_{1})_{n-2}\end{array}\right]=\unicode[STIX]{x1D648}_{ortho}\left[\begin{array}{@{}c@{}}\unicode[STIX]{x1D70E}_{n}\\ \unicode[STIX]{x1D70F}_{n}\\ \unicode[STIX]{x1D714}_{n}\end{array}\right],\end{eqnarray}$$

where the measurement matrix $\unicode[STIX]{x1D648}_{ortho}$ is

(3.9) $$\begin{eqnarray}\unicode[STIX]{x1D648}_{ortho}=\frac{l}{2}\left[\begin{array}{@{}ccc@{}}0 & 1 & 1\\ -\text{sin}\,2\unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{n-1,n} & \cos 2\unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{n-1,n} & 1\\ -\text{sin}\,2\unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{n-2,n} & \cos 2\unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{n-2,n} & 1\end{array}\right].\end{eqnarray}$$

If $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{n-1,n},\unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{n-2,n}\neq 0\text{ mod }\unicode[STIX]{x03C0}$ and $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{n-1,n}\neq \unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{n-2,n}$ , $\unicode[STIX]{x1D648}_{ortho}$ has full column rank and we can compute the inverse (omitted here). The local strain rates $\unicode[STIX]{x1D70E}_{n}$ and $\unicode[STIX]{x1D70F}_{n}$ and the local vorticity $\unicode[STIX]{x1D714}_{n}$ can thus be determined by the system. This reconstruction of the values of $\unicode[STIX]{x1D70E}_{n}$ , $\unicode[STIX]{x1D70F}_{n}$ and $\unicode[STIX]{x1D714}_{n}$ relies on measurements at three distinct orientations, which may be disadvantageous in a time-dependent velocity field.

Parallel sensors. We now consider sensors that measure $s_{2}$ only. We denote these sensors as parallel sensors because they measure the component of velocity parallel to the sensory array (see figure 6 b). Once again, barring rank deficiency, the algebraic closure requires that our sensory information consists of the vector $[\begin{array}{@{}ccc@{}}(s_{2})_{n} & (s_{2})_{n-1} & (s_{2})_{n-2}\end{array}]^{\text{T}}$ . Using the second row of (3.3) and (3.7), we have that

(3.10) $$\begin{eqnarray}\left[\begin{array}{@{}c@{}}(s_{2})_{n}\\ (s_{2})_{n-1}\\ (s_{2})_{n-2}\end{array}\right]=\unicode[STIX]{x1D648}_{parallel}\left[\begin{array}{@{}c@{}}\unicode[STIX]{x1D70E}_{n}\\ \unicode[STIX]{x1D70F}_{n}\\ \unicode[STIX]{x1D714}_{n}\end{array}\right],\end{eqnarray}$$

where the measurement matrix $\unicode[STIX]{x1D648}_{parallel}$ is

(3.11) $$\begin{eqnarray}\unicode[STIX]{x1D648}_{parallel}=\frac{l}{2}\left[\begin{array}{@{}ccc@{}}-1 & 0 & 0\\ -\text{cos}\,2\unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{n-1,n} & -\text{sin}\,2\unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{n-1,n} & 0\\ -\text{cos}\,2\unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{n-2,n} & -\text{sin}\,2\unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{n-2,n} & 0\end{array}\right].\end{eqnarray}$$

The measurement matrix $\unicode[STIX]{x1D648}_{parallel}$ has maximum column rank $2$ , and therefore the velocity gradient cannot be uniquely determined. Here, we are unable to determine $\unicode[STIX]{x1D714}_{n}$ in the case of parallel sensors because it lies in the null space of $\unicode[STIX]{x1D648}_{parallel}$ . More importantly, this result holds true regardless of the number of sensory measurements (i.e. the length of the sensory information vector).

Full velocity sensors. If the sensory system has access to full velocity data, we will see that we only need to use two sample measurements at $n$ and $n-1$ . We concatenate the orthogonal and parallel sensory data at $n$ and $n-1$ into the vector $\left[\begin{array}{@{}cccc@{}}(s_{1})_{n} & (s_{2})_{n} & (s_{1})_{n-1} & (s_{2})_{n-1}\end{array}\right]^{\text{T}}$ . For simplicity, we define $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{n-1,n}=-\unicode[STIX]{x0394}\unicode[STIX]{x1D703}$ . Using both rows of (3.3) and (3.7), we have that

(3.12) $$\begin{eqnarray}\left[\begin{array}{@{}c@{}}(s_{1})_{n}\\ (s_{2})_{n}\\ (s_{1})_{n-1}\\ (s_{2})_{n-1}\end{array}\right]=\unicode[STIX]{x1D648}_{full}\left[\begin{array}{@{}c@{}}\unicode[STIX]{x1D70E}_{n}\\ \unicode[STIX]{x1D70F}_{n}\\ \unicode[STIX]{x1D714}_{n}\end{array}\right],\end{eqnarray}$$

where the measurement matrix $\unicode[STIX]{x1D648}_{full}$ is

(3.13) $$\begin{eqnarray}\unicode[STIX]{x1D648}_{full}=\frac{l}{2}\left[\begin{array}{@{}ccc@{}}0 & 1 & 1\\ -1 & 0 & 0\\ \sin 2\unicode[STIX]{x0394}\unicode[STIX]{x1D703} & \cos 2\unicode[STIX]{x0394}\unicode[STIX]{x1D703} & 1\\ -\text{cos}\,2\unicode[STIX]{x0394}\unicode[STIX]{x1D703} & \sin 2\unicode[STIX]{x0394}\unicode[STIX]{x1D703} & 0\end{array}\right].\end{eqnarray}$$

For $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}\neq 0$ , $\unicode[STIX]{x1D648}_{full}$ has full column rank. If the flow field $\boldsymbol{u}$ were truly linear, then $\unicode[STIX]{x1D70E}_{n}$ , $\unicode[STIX]{x1D70F}_{n}$ and $\unicode[STIX]{x1D714}_{n}$ could be uniquely determined from these sensory data. In the general case, however, the sensory data will also include $\mathit{O}(\Vert \boldsymbol{x}-\boldsymbol{x}_{o}\Vert ^{2})$ terms from the velocity field (2.1), and the linear system (3.12) is therefore overdetermined. Using the Moore–Penrose pseudoinverse (Golub & Van Loan Reference Golub and Van Loan1996, 257), we find that the least-squares solution is given by

(3.14) $$\begin{eqnarray}\left[\begin{array}{@{}c@{}}\unicode[STIX]{x1D70E}_{n}\\ \unicode[STIX]{x1D70F}_{n}\\ \unicode[STIX]{x1D714}_{n}\end{array}\right]=\unicode[STIX]{x1D648}_{full}^{+}\left[\begin{array}{@{}c@{}}(s_{1})_{n}\\ (s_{2})_{n}\\ (s_{1})_{n-1}\\ (s_{2})_{n-1}\end{array}\right],\end{eqnarray}$$

where $\unicode[STIX]{x1D648}_{full}^{+}=(\unicode[STIX]{x1D648}_{full}^{\text{T}}\unicode[STIX]{x1D648}_{full})^{-1}\unicode[STIX]{x1D648}_{full}^{\text{T}}$ , yielding

(3.15) $$\begin{eqnarray}\displaystyle & & \displaystyle \boldsymbol{M}_{full}^{+}=\frac{1}{2l}\nonumber\\ \displaystyle & & \displaystyle \quad \!\!\!\times \,\!\!\left[\begin{array}{@{}cccc@{}}-\text{sin}\,2\unicode[STIX]{x0394}\unicode[STIX]{x1D703} & -\text{cos}\,2\unicode[STIX]{x0394}\unicode[STIX]{x1D703}-3 & \sin 2\unicode[STIX]{x0394}\unicode[STIX]{x1D703} & -\text{cos}\,2\unicode[STIX]{x0394}\unicode[STIX]{x1D703}+1\\ -\text{cos}\,2\unicode[STIX]{x0394}\unicode[STIX]{x1D703}+1\!\!\! & -(\cos 2\unicode[STIX]{x0394}\unicode[STIX]{x1D703}+1)\cot \unicode[STIX]{x0394}\unicode[STIX]{x1D703}\!\!\! & \cos 2\unicode[STIX]{x0394}\unicode[STIX]{x1D703}-1\!\!\! & -(\cos 2\unicode[STIX]{x0394}\unicode[STIX]{x1D703}-3)\cot \unicode[STIX]{x0394}\unicode[STIX]{x1D703}\\ 2 & 2\cot \unicode[STIX]{x0394}\unicode[STIX]{x1D703} & 2 & -2\cot \unicode[STIX]{x0394}\unicode[STIX]{x1D703}\end{array}\right].\nonumber\\ \displaystyle & & \displaystyle\end{eqnarray}$$

Thus, for $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}\neq 0$ , the local strain rates $\unicode[STIX]{x1D70E}_{n}$ and $\unicode[STIX]{x1D70F}_{n}$ and the local vorticity $\unicode[STIX]{x1D714}_{n}$ can be obtained from the sensory system.

We now demonstrate how the sensory information can be used to characterize the flow locally. To this end, we will test the ability of the algorithm described in (3.15) to compute flow properties, while varying sensor parameters, in several canonical flow regimes.

Lamb–Oseen vortex. The non-dimensional flow profile for a Lamb–Oseen vortex is described by the velocity field $\boldsymbol{u}(\boldsymbol{x})=(1-\exp (-r^{2})/r^{2})(-y\boldsymbol{e}_{1}+x\boldsymbol{e}_{2})$ , where $r=\sqrt{x^{2}+y^{2}}$ . Accordingly, the flow type and intensity are given by

(3.16) $$\begin{eqnarray}\displaystyle & \displaystyle \unicode[STIX]{x1D705}=\frac{r^{2}}{r^{2}-\exp (r^{2})+1}, & \displaystyle\end{eqnarray}$$
(3.17) $$\begin{eqnarray}\displaystyle & \displaystyle \unicode[STIX]{x1D6FC}=\frac{2\exp (r^{2})}{r^{2}}\sqrt{2r^{4}-2r^{2}\exp (r^{2})+2r^{2}+\exp (2r^{2})+1}. & \displaystyle\end{eqnarray}$$

In figure 7, we plot $\unicode[STIX]{x1D705}$ and $\unicode[STIX]{x1D6FC}$ as a function of the vertical coordinate $y$ . We then apply the algorithm described in (3.15) to compute these flow properties first for fixed $l$ and varying $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}$ (figure 7 a,b) and then vice versa (figure 7 c,d). We see that the algorithm performs very well in capturing both flow type and intensity, and changing $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}$ has very little impact on performance. We also see that, for small $l$ , the algorithm performs very well, and for larger $l$ , the performance deteriorates. This result is understandable, given the fact that our primary assumption in the development of (3.15) was that the flow is locally linear, and this assumption of locality is violated for larger $l$ . However, since we did not place any restrictions on the size of $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}$ , we should expect that even for finite values of $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}$ , we can accurately recover the flow properties.

Figure 7. Lamb–Oseen vortex: flow type $\unicode[STIX]{x1D705}$ and intensity $\unicode[STIX]{x1D6FC}$ measurements for varying sensor parameters in a non-dimensional Lamb–Oseen vortex similar to that shown in figure 4(a,d,g,j). Analytical solutions are shown with dashed black lines. (a) Flow type and (b) intensity for fixed sensor length $l=1$ and varying $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}=\{0.1\unicode[STIX]{x03C0},0.3\unicode[STIX]{x03C0},0.5\unicode[STIX]{x03C0}\}$ . (c) Flow type and (d) intensity for fixed $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}=0.1\unicode[STIX]{x03C0}$ and varying $l=\{0.5,1,5\}$ .

Figure 8. Gaussian shear profile: flow type $\unicode[STIX]{x1D705}$ and intensity $\unicode[STIX]{x1D6FC}$ measurements for varying sensor parameters in a non-dimensional Gaussian shear profile similar to that shown in figure 4(b,e,h,k). Analytical solutions are shown with dashed black lines. (a) Flow type and (b) intensity for fixed sensor length $l=1$ and varying $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}=\{0.1\unicode[STIX]{x03C0},0.3\unicode[STIX]{x03C0},0.5\unicode[STIX]{x03C0}\}$ . (c) Flow type and (d) intensity for fixed $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}=0.1\unicode[STIX]{x03C0}$ and varying $l=\{0.5,1,5\}$ .

Figure 9. Flow behind a fixed cylinder: velocity gradients and flow parameters as a function of time for a sensory array placed at $\boldsymbol{x}_{o}=9\boldsymbol{e}_{1}+0\boldsymbol{e}_{2}$ in the cylinder flow shown in figure 4(c,f,i,l). True values for velocity gradients and parameters are computed via finite difference and shown as dashed black lines. Computed values using $\unicode[STIX]{x1D648}_{full}^{+}$ are shown for (a $\unicode[STIX]{x1D70E}$ , (b $\unicode[STIX]{x1D70F}$ , (c $\unicode[STIX]{x1D714}$ , (d $\unicode[STIX]{x1D705}$ and (e $\unicode[STIX]{x1D6FC}$ . The sensor system parameters are $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}=0.05\unicode[STIX]{x03C0}$ and $l=\{0.1,0.5,1\}$ . The data are adapted from Chen et al. (Reference Chen, Tu and Rowley2012).

Gaussian shear. The non-dimensional flow profile for a Gaussian shear is described by the velocity field $\boldsymbol{u}(\boldsymbol{x})=\exp (-y^{2})\boldsymbol{e}_{1}$ . Accordingly, the flow type and intensity are given by

(3.18a,b ) $$\begin{eqnarray}\unicode[STIX]{x1D705}=-\text{sgn}(y)\quad \text{and}\quad \unicode[STIX]{x1D6FC}=2\sqrt{2}|y|\exp (-y^{2}).\end{eqnarray}$$

Figure 8(a,b) compares the analytical solution for $\unicode[STIX]{x1D705}$ and $\unicode[STIX]{x1D6FC}$ with the results obtained from (3.15) for fixed $l$ and varying $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}$ , while in figure 8(c,d), we vary $l$ and fix $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}$ . As was the case with the Lamb–Oseen vortex, the impact of changing $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}$ is minimal in this canonical flow as well. We also see that the algorithm performs well for small  $l$ .

Cylinder in uniform flow. To test the performance in a time-varying flow, we use the computational model system of a cylinder in uniform flow shown in figure 4(c,f,i,l). We place the sensory system consisting of full velocity sensors in its wake. More specifically, we place two full velocity sensors at a separation distance $l$ at a distance $9$ units downstream from the cylinder centre, along the wake axis. We allow the flow to evolve in time, measure the velocity at each sensor and calculate the velocity difference. At each time step, we obtain the sensory measurements at orientation $\unicode[STIX]{x1D703}$ and $\unicode[STIX]{x1D703}-\unicode[STIX]{x0394}\unicode[STIX]{x1D703}$ . We then feed these sensory measurements to the pseudoinverse $\unicode[STIX]{x1D648}_{full}^{+}$ and plot its output values for strain rates and vorticity. Results are shown in figure 9(ac) for $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}=0.05\unicode[STIX]{x03C0}$ . Making use of (2.13) and (2.14), we see that from $\unicode[STIX]{x1D70E}_{n}$ , $\unicode[STIX]{x1D70F}_{n}$ and $\unicode[STIX]{x1D714}_{n}$ , we can compute $\unicode[STIX]{x1D705}_{n}$ to characterize the local flow type and $\unicode[STIX]{x1D6FC}_{n}$ to determine its local intensity (figure 9 d,e). We also plot the true values of $\unicode[STIX]{x1D70F}$ , $\unicode[STIX]{x1D70E}$ , $\unicode[STIX]{x1D714}$ , $\unicode[STIX]{x1D705}$ and $\unicode[STIX]{x1D6FC}$ evaluated directly at the location of the sensory array. By comparing these results, we see that the pseudoinverse provides reasonable estimates for all quantities. For quantitative comparison, we compute the root mean square error (e.g. $\bar{\unicode[STIX]{x1D705}}=1/T\int _{0}^{T}(\unicode[STIX]{x1D705}-\unicode[STIX]{x1D705}_{sensor})^{2}\,\text{d}t$ ) for each time series for each value of $l$ ; results are given in table 1. We emphasize that the flow type $\unicode[STIX]{x1D705}$ and intensity $\unicode[STIX]{x1D6FC}$ are frame-independent quantities characteristic of the flow itself and not the frame of reference of the sensory array.

Table 1. Root mean square errors for strain rates ( $\unicode[STIX]{x1D70E}$ , $\unicode[STIX]{x1D70F}$ ), vorticity ( $\unicode[STIX]{x1D714}$ ), flow type ( $\unicode[STIX]{x1D705}$ ) and intensity ( $\unicode[STIX]{x1D6FC}$ ) for the time series in figure 9. The sensor separation distance $l$ is varied between 0.1 and 1.

4 Conclusions

We provided a framework for locally characterizing flows by examining the velocity gradient tensor. We canonically decomposed $\unicode[STIX]{x1D735}\boldsymbol{u}$ into the symmetric strain-rate tensor $\unicode[STIX]{x1D64E}$ and the skew-symmetric vorticity tensor $\unicode[STIX]{x1D734}$ . By re-parameterizing these tensors in terms of flow type $\unicode[STIX]{x1D705}$ and intensity $\unicode[STIX]{x1D6FC}$ , we showed that all flows can be locally characterized on a spectrum from extensional to rotational. We illustrated the use of these parameters in three canonical flows: a Lamb–Oseen vortex, a Gaussian shear profile and a circular cylinder in uniform free stream at $Re=60$ .

We developed a biologically inspired sensory system that measures the difference in flow velocity. We considered three different types of velocity sensors: orthogonal, parallel and full. This notation refers to the velocity component(s) that the sensors measure in a frame attached to the sensory array. We found that parallel sensors are not capable of uniquely determining all flow properties, irrespective of how many times they sample the ambient flow. More specifically, we found that using parallel velocity sensors, the sensory system is unable to calculate the local vorticity. We then showed that, when the sensors have access to the orthogonal component or full velocity vector, the sensory system is able to unambiguously compute all three flow properties. However, in the case of the full velocity vector, this takes only two independent measurements. We derived a ‘filter’ that solves the inverse problem to obtain the local strain rates and vorticity from the sensory measurements. Finally, we demonstrated how this filter can be used in conjunction with the $(\unicode[STIX]{x1D705},\unicode[STIX]{x1D6FC},\unicode[STIX]{x1D713})$ parameterization of the velocity gradient tensor. To illustrate the capabilities of this sensory system, we used it to probe several canonical flow fields. We showed that the sensory scheme we developed provided good agreement with direct measurements of the velocity gradients, types and intensities of the flow.

This framework provides an effective method of measuring strain rates and vorticity from local sensory information and for computing the local flow type. However, we must take careful note of several limitations. We assumed that the sensor does not disturb the ambient flow. This assumption is only valid in certain flow regimes when the dimensions $l$ of the submerged sensory system are small relative to those of the flow structures. It is worth noting that, to generate the numerical results in figure 9, we relaxed this requirement by taking the sensor dimension to be equal to $1$ (the same as the cylinder radius) and obtained good agreement between the actual and sensed flow properties. Further, there is an inherent assumption regarding the time scale of the sensory system and the time scale at which the flow field is evolving. Because we sample the flow twice at $\unicode[STIX]{x1D703}_{n}$ and $\unicode[STIX]{x1D703}_{n}-\unicode[STIX]{x0394}\unicode[STIX]{x1D703}$ to reconstruct the flow properties, the frequency at which we sample must be much greater than that at which the velocity field fluctuates. Finally, the relative angle $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}$ must be properly tuned to the flow field that is being sensed. When choosing $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}$ , one must be aware that if $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}$ is too small, the computation of strain rates and vorticity becomes ill-conditioned. In sum, careful selection of the sensory length scale $l$ and relative sampling angle $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}$ will be important to ensure that the sensed flow properties are close to the actual ones. We posit that, for a given flow field, these parameters can be finely tuned to provide optimal flow information, and that the parameter studies we performed with the canonical flows of the Lamb–Oseen vortex and Gaussian shear can provide guidance on these choices.

The analyses performed here were illustrated with two-dimensional flows, but the use of $\unicode[STIX]{x1D705}$ and $\unicode[STIX]{x1D6FC}$ to uniquely characterize flows holds in the three-dimensional case as well. For any velocity field, there are three tensor invariants that can be computed for $\unicode[STIX]{x1D735}\boldsymbol{u}$ . One of these is always $0$ due to incompressibility, since $\unicode[STIX]{x1D64E}$ is traceless, and the other invariants can be uniquely mapped to $\unicode[STIX]{x1D705}$ and $\unicode[STIX]{x1D6FC}$ . The remaining independent parameters of $\unicode[STIX]{x1D735}\boldsymbol{u}$ are due to the orientations of the principal axes of strain and rotation. For the 2D case, we denote this by $\unicode[STIX]{x1D713}$ , the angle of the principal axes of strain – the principal axis of rotation is always orthogonal to the plane. For the 3D case, there are six independent parameters describing the orientations of the principal axes of strain and rotation. In both of these cases, we see that flow type and intensity uniquely characterize all flows, up to their principal axes of strain and rotation.

In future studies, we will develop quantifiable metrics for assessing the performance of a given sensory array in relation to the specific flow field it senses. Definition of quantitative metrics of sensory performance will be an indispensable step for assessing and comparing the performance of distinct sensory arrays and sensing strategies (static versus dynamic), as well as for optimizing the layout of the sensory platform. In dynamically deployed sensors, as is the case in biological swimmers, we will investigate how the sensory information can be incorporated in a feedback loop to determine the motion of the sensory array. In particular, it will become increasingly important to develop strategies to more intelligently guide the dynamic deployment of the sensory array, using techniques from estimation theory (e.g. Vergassola et al. Reference Vergassola, Villermaux and Shraiman2007), machine learning (e.g. Gazzola et al. Reference Gazzola, Tchieu, Alexeev, de Brauer and Koumoutsakos2016) and compressive sensing (e.g. Candes Reference Candes2008).

Acknowledgements

The work of E.K. and B.C. is partially supported by the ONR grant 14-001 (to E.K.). B.C. also acknowledges support from the Department of Defense (DoD) through the National Defense Science and Engineering Graduate Fellowship (NDSEG) Program. K.C. was supported by the Viterbi Postdoctoral Fellowship provided by the Viterbi School of Engineering at the University of Southern California.

References

Boxshall, G. A., Yen, J. & Strickler, R. J. 1997 Functional significance of the sexual dimorphism in the cephalic appendages of Euchaeta rimana Bradford. Bull. Mar. Sci. 61, 387398.Google Scholar
Candes, E. J. 2008 The restricted isometry property and its implications for compressed sensing. C. R. Mathematique 346 (9), 589592.Google Scholar
Chen, K. K., Tu, J. H. & Rowley, C. W. 2012 Variants of dynamic mode decomposition: boundary condition, Koopman, and Fourier analyses. J. Nonlinear Sci. 22, 887915.CrossRefGoogle Scholar
Colvert, B. & Kanso, E. 2016 Fishlike rheotaxis. J. Fluid Mech. 793, 656666.CrossRefGoogle Scholar
Coombs, S. & Van Netten, S. 2005 The hydrodynamics and structural mechanics of the lateral line system. Fish Biomechanics, Fish Physiology. vol. 23, pp. 103139. Academic.CrossRefGoogle Scholar
Dehnhardt, G., Mauck, B., Hanke, W. & Bleckmann, H. 2001 Hydrodynamic trail-following in harbor seals (Phoca vitulina). Science 293, 102104.Google Scholar
Engelmann, J., Hanke, W., Mogdans, J. & Bleckmann, H. 2000 Neurobiology: hydrodynamic stimuli and the fish lateral line. Nature 408 (6808), 5152.Google Scholar
Fernandez, V. I. 2011 Performance analysis for lateral-line-inspired sensor arrays. PhD thesis, Massachusetts Institute of Technology.Google Scholar
Gazzola, M., Tchieu, A. A., Alexeev, D., de Brauer, A. & Koumoutsakos, P. 2016 Learning to school in the presence of hydrodynamic interactions. J. Fluid Mech. 789, 726749.CrossRefGoogle Scholar
Golub, G. H. & Van Loan, C. F. 1996 Matrix Computations, 3rd edn. Johns Hopkins University Press.Google Scholar
Haller, G. 2005 An objective definition of a vortex. J. Fluid Mech. 525, 126.Google Scholar
Hunt, J. C. R., Wray, A. A. & Moin, P. 1988 Eddies, streams, and convergence zones in turbulent flows. In Proceedings of the Summer Program 1988, pp. 193208. Center for Turbulence Research.Google Scholar
Jeong, J. & Hussain, F. 1995 On the identification of a vortex. J. Fluid Mech. 285, 6994.Google Scholar
Kroese, A. B. & Schellart, N. A. 1992 Velocity- and acceleration-sensitive units in the trunk lateral line of the trout. J. Neurophys. 68 (6), 22122221.CrossRefGoogle ScholarPubMed
Lagnado, R. R. 1985 The stability of two-dimensional linear flows. PhD thesis, California Institute of Technology.Google Scholar
Marrucci, G. & Astarita, G. 1967 Linear, steady, two-dimensional flows of viscoelastic liquids. AIChE J. 13, 931935.Google Scholar
Montgomery, J. C., Baker, C. F. & Carton, A. G. 1997 The lateral line can mediate rheotaxis in fish. Nature 389 (6654), 960963.Google Scholar
Ristroph, L., Liao, J. C. & Zhang, J. 2015 Lateral line layout correlates with the differential hydrodynamic pressure on swimming fish. Phys. Rev. Lett. 114, 018102.Google Scholar
Schnipper, T., Andersen, A. & Bohr, T. 2009 Vortex wakes of a flapping foil. J. Fluid Mech. 633, 411423.CrossRefGoogle Scholar
Venturelli, R., Akanyeti, O., Visentin, F., Ježov, J., Chambers, L. D., Toming, G., Brown, J., Kruusmaa, M., Megill, W. M. & Fiorini, P. 2012 Hydrodynamic pressure sensing with an artificial lateral line in steady and unsteady flows. Bioinspir. Biomim. 7, 036004.Google Scholar
Vergassola, M., Villermaux, E. & Shraiman, B. I. 2007 ‘Infotaxis’ as a strategy for searching without gradients. Nature 445 (7126), 406409.Google Scholar
Williamson, C. H. K. & Roshko, A. 1988 Vortex formation in the wake of an oscillating cylinder. J. Fluids Struct. 2, 355381.CrossRefGoogle Scholar
Yen, J. & Nicoll, N. T. 1990 Setal array on the first antennae of a carnivorous marine copepod, Euchaeta norvegica. J. Crustac. Biol. 10, 218224.CrossRefGoogle Scholar
Yen, J. & Strickler, J. R. 1996 Advertisement and concealment in the plankton: What makes a copepod hydrodynamically conspicuous? Invertebrate Biology 115 (3), 191205.CrossRefGoogle Scholar
Yen, J., Weissburg, M. J. & Doall, M. H. 1998 The fluid physics of signal perception by mate-tracking copepods. Phil. Trans. R. Soc. Lond. B 353, 787804.Google Scholar
Figure 0

Figure 1. Problem set-up and summary of approach. (a) The goal is to develop a framework to detect select flow features by a local sensory array. (b) The fluid velocity field is linearized around the sensory array. (c) A simple bioinspired sensory system consists of two sensors and one sensory measurement, the difference between the two sensors. (d) The sensory measurements are decoded to detect the desired flow properties.

Figure 1

Figure 2. The Taylor decomposition of (a) a full flow field into (b) a constant component, (c) a linearly varying component and (d) higher order terms, where the velocity magnitude is shown in colour, with blue to red representing low to high speed. (e) Constant and linear components are combined into linearized flow for comparison with full nonlinear flow.

Figure 2

Figure 3. Variation of flow type with parameter $\unicode[STIX]{x1D705}$ for (a) counter-clockwise rotation, (b) counter-clockwise shear, (c) extensional flow, (d) clockwise shear and (e) clockwise rotation.

Figure 3

Figure 4. (a,d,g,j) Lamb–Oseen vortex, (b,e,h,k) Gaussian shear and (c,f,i,l) cylinder in uniform flow at $Re=60$. (ac) Velocity vector field $\boldsymbol{u}$ and vorticity field $\unicode[STIX]{x1D714}$. (df) Flow type $\unicode[STIX]{x1D705}$, with the black contours depicting $\unicode[STIX]{x1D705}=\pm 1$. (gi) Flow intensity $\unicode[STIX]{x1D6FC}$. (jl) Flow orientation $\boldsymbol{r}_{1}$ vector field, with the colourmap showing the orientation angle $\unicode[STIX]{x1D713}/\unicode[STIX]{x03C0}$. The cylinder data are taken from Chen, Tu & Rowley (2012).

Figure 4

Figure 5. Two-sensor system with sensory array extent $l$. Velocity is measured in the body frame $(\boldsymbol{b}_{1},\boldsymbol{b}_{2})$. Orientation with respect to the inertial frame is parameterized by the angle $\unicode[STIX]{x1D703}$. The relative rotation between angles $\unicode[STIX]{x1D703}_{n}$ and $\unicode[STIX]{x1D703}_{m}$ is given by $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}_{m,n}=\unicode[STIX]{x1D703}_{n}-\unicode[STIX]{x1D703}_{m}$.

Figure 5

Figure 6. (a) Sensors that measure $s_{1}=u(\boldsymbol{x}_{l})-u(\boldsymbol{x}_{r})$ are called orthogonal sensors and (b) sensors that measure $s_{2}=v(\boldsymbol{x}_{l})-v(\boldsymbol{x}_{r})$ are called parallel sensors. (c)  Full velocity sensors have access to both $u$ and $v$. By definition, $u=\boldsymbol{u}\boldsymbol{\cdot }\boldsymbol{b}_{1}$ and $v=\boldsymbol{u}\boldsymbol{\cdot }\boldsymbol{b}_{2}$.

Figure 6

Figure 7. Lamb–Oseen vortex: flow type $\unicode[STIX]{x1D705}$ and intensity $\unicode[STIX]{x1D6FC}$ measurements for varying sensor parameters in a non-dimensional Lamb–Oseen vortex similar to that shown in figure 4(a,d,g,j). Analytical solutions are shown with dashed black lines. (a) Flow type and (b) intensity for fixed sensor length $l=1$ and varying $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}=\{0.1\unicode[STIX]{x03C0},0.3\unicode[STIX]{x03C0},0.5\unicode[STIX]{x03C0}\}$. (c) Flow type and (d) intensity for fixed $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}=0.1\unicode[STIX]{x03C0}$ and varying $l=\{0.5,1,5\}$.

Figure 7

Figure 8. Gaussian shear profile: flow type $\unicode[STIX]{x1D705}$ and intensity $\unicode[STIX]{x1D6FC}$ measurements for varying sensor parameters in a non-dimensional Gaussian shear profile similar to that shown in figure 4(b,e,h,k). Analytical solutions are shown with dashed black lines. (a) Flow type and (b) intensity for fixed sensor length $l=1$ and varying $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}=\{0.1\unicode[STIX]{x03C0},0.3\unicode[STIX]{x03C0},0.5\unicode[STIX]{x03C0}\}$. (c) Flow type and (d) intensity for fixed $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}=0.1\unicode[STIX]{x03C0}$ and varying $l=\{0.5,1,5\}$.

Figure 8

Figure 9. Flow behind a fixed cylinder: velocity gradients and flow parameters as a function of time for a sensory array placed at $\boldsymbol{x}_{o}=9\boldsymbol{e}_{1}+0\boldsymbol{e}_{2}$ in the cylinder flow shown in figure 4(c,f,i,l). True values for velocity gradients and parameters are computed via finite difference and shown as dashed black lines. Computed values using $\unicode[STIX]{x1D648}_{full}^{+}$ are shown for (a$\unicode[STIX]{x1D70E}$, (b$\unicode[STIX]{x1D70F}$, (c$\unicode[STIX]{x1D714}$, (d$\unicode[STIX]{x1D705}$ and (e$\unicode[STIX]{x1D6FC}$. The sensor system parameters are $\unicode[STIX]{x0394}\unicode[STIX]{x1D703}=0.05\unicode[STIX]{x03C0}$ and $l=\{0.1,0.5,1\}$. The data are adapted from Chen et al. (2012).

Figure 9

Table 1. Root mean square errors for strain rates ($\unicode[STIX]{x1D70E}$, $\unicode[STIX]{x1D70F}$), vorticity ($\unicode[STIX]{x1D714}$), flow type ($\unicode[STIX]{x1D705}$) and intensity ($\unicode[STIX]{x1D6FC}$) for the time series in figure 9. The sensor separation distance $l$ is varied between 0.1 and 1.