Resolvent analysis#
Resolvent analysis is a linear systems approach used to understand how a dynamical system responds to harmonic forcing. The method starts by linearizing the governing equations around a steady base state, then analyzing how the system amplifies input disturbances at different frequencies. By treating the linearized operator as a transfer function, one can identify which inputs (forcings) lead to the strongest outputs (responses). This is done using a singular value decomposition of the resolvent operator, which reveals the most amplified structures and quantifies the gain. The method captures both modal and nonmodal amplification, making it especially powerful for studying flows with strong non-normal behavior.
References:
Definition of the Resolvent Operator#
We start with a general nonlinear equation, written in compact form as
where \(\mathbf{q} = [\mathbf{u}, p, \rho, ...]^{T} \in \mathbb{R}^N \) is the state vector, \(\mathcal{N}\) denotes the nonlinear operator of the system (e.g. Navier-Stokes), \(\mathcal{B}\) is a restriction operator.
We decompose the flow field into a time-invariant base flow, \(\overline{\mathbf{q}} \in \mathbb{R}^N\), representing either a time-averaged state or a fixed-point solution, and a perturbation, \(\mathbf{q}' \in \mathbb{R}^N\), such that
Considering a stationary base flow we arrive at a linear time-invariant dynamical system describing the perturbation:
where
represents the nonlinear operator linearized around the about the base flow \(\overline{\mathbf{q}}\) while the forcing \(\mathbf{f}' = \mathcal{N}(\overline{\mathbf{q}})+O(|\mathbf{q'}|^2)+\mathbf{g} \in \mathbb{R}^N\) collects the nonlinear operator acting on the base flow and the nonlinear terms as well as an external forcing \(\mathbf{g}\) (Rolandi et al. 2024).
We consider a harmonic forcing
Inserting in the linear time-invariant dynamical system and discretization leads to the matrix formulation
where \(\mathbf{A}, \mathbf{B}\) are the discrete versions of the Jacobian \(\mathcal{L}\) and restriction matrix \(\mathcal{B}\), respectively.
For resolvent analysis, this can be rearranged as
defining the resolvent operator
\(\mathbf{R}\) acts as a transfer function that maps a given forcing \(\hat{\mathbf{f}}\) to the linear response \(\hat{\mathbf{q}}\).
Optimal forcing-response analysis#
In the resolvent analysis, also optimal forcing-response analysis, the goal is to identify optimal input-output pairs \((\hat{\mathbf f}(\omega), \hat{\mathbf q}(\omega))\) maximizing amplification at a given frequency \(\omega\).
This is formalized in the maximization of the resolvent gains \(\sigma\):
where \(\|\cdot \|\) is a suitable energy norm detailed later.
We solve this optimisation problem by performing the singular value decomposition (SVD) of the resolvent operator
This yields
right singular vector: |
\(\mathbf{F} = \left[ \hat{\mathbf{f}}_1, \hat{\mathbf{f}}_2, ..., \hat{\mathbf{f}}_N \right]\ \in \mathbb{C}^{N\times N}\) |
optimal forcing |
left singular vector: |
\(\mathbf{Q} = \left[ \hat{\mathbf{q}}_1, \hat{\mathbf{q}}_2, ..., \hat{\mathbf{q}}_N \right]\ \in \mathbb{C}^{N\times N}\) |
optimal response |
singular values: |
\(\mathbf{\Sigma} = \mathrm{diag}(\sigma_1, \sigma_2, ..., \sigma_N )\ \in \mathbb{R}^{N\times N}\) |
resolvent gain |
Note
The gain is sorted by decreasing order \(\sigma_1\geq\sigma_2\geq ... \geq \sigma_N\geq 0\), with the resolvent spectral norm \(\| \textbf{R} \| =\sigma_1\).
Note
In FELiCS, the values returned in the ‘gains.csv’ file are the gain squared: \(\sigma^2\).
FELiCS implementation#
In FELiCS, the resolvent implementation contains some additional utilities. They stem from more detailed definitions of the response and forcing norms. For example, it is possible to define spatial regions, in which the norm should be computed (“spatial restrictors”) or weight spatial regions differently. In the following, it is described how those limiters are oncorporated in the resolvent formulation.
Additional weighting and limiter operators#
Applying a discretization scheme and considering a finite element method weighting:
Inner product and energy norm#
The inner product in the discretized domain is written as:
The gain squared is defined using this energy norm:
Currently, two norms are available by default in FELiCS:
TKE: The turbulent kinetic energy norm is defined as \(k = \int_{\Omega} \frac{1}{2}\bar{\rho}(u'^2+v'^2+w'^2)dx\), where \(u',\,v',\,w'\) are the components of the fluctuation velocity vector.
Chu: The Chu norm for compressible fluctuations (see George & Sujith 2011), defined as \(k=\int_{\Omega}\frac{1}{2}\bar{\rho}(u'^2+v'^2+w'^2)+\frac{1}{2}\frac{R\bar{T}}{\bar{\rho}}\rho'^2+\frac{1}{2}\frac{c_p\bar{\rho}}{\gamma\bar{T}}T'^2 dx\), where \(R\) is the gas constant, \(\gamma\) is the ratio of specific heats at constant pressure and volume, and \(c_p\) is the specific heats at constant pressure.
The discretized form of these expressions are contained in the \(\mathbf{W}_f\) and \(\mathbf{W}_r\) operators, defining the norm for the forcing and response terms, respectively.
Note
The current version of the Chu norm implemented in FELiCS is only compatible with the state vector defined as \(\mathbf{q}=[\rho, u, T]^T\).
Equivalent eigenvalue problem#
We introduce the resolvent in the expression for the gains
Note
For real operators, such as \(\mathbf{P}_f,\, \mathbf{W}_{FEM}, \,...\) the Hermitian transpose is just the transpose.
Finally, we can also re-write the HEVP in terms of the linear operator:
After solving the HEVP, the full forcing vectors are obtained from \(\hat{\mathbf{f}}=\mathbf{P}_f\hat{\boldsymbol{\eta}}\) and the response vectors are re-computed by applying \(\hat{\mathbf{q}} = \mathbf{R} \hat{\mathbf{f}}\).
Note
Based on the above, the forcing vectors \(\hat{\mathbf{f}}\) obtained from FELiCS have a unit norm over the (forcing) domain, while the response vectors \(\hat{\mathbf{q}}\) have a norm equal to \(\sigma\).