1 Introduction
2 Methodology
2.1 Feature-based mesh adaptation sensors
-
The Q-criterion, first introduced in [30], is the first sensor to be considered for comparison. This sensor utilizes the rotational and strain rate tensors and can be defined in non-dimensional form; see [6], as:Here, \(\textbf{S}\) and \(\mathbf {\Omega }\) represent the strain and rotational rate tensors, respectively, which can be calculated as \(\textbf{S}=(\textbf{J}+\textbf{J}^T)/2\) and \(\mathbf {\Omega }=(\textbf{J}-\textbf{J}^T)/2\), where \(\textbf{J}=\nabla \textbf{U}\) denotes the gradient of the velocity field \(\textbf{U}=(u,v,w)\). Furthermore, it is worth emphasizing that the Q-criterion has been effectively utilized in previous studies, see [6], specifically for the purpose of mesh adaptation. The sensor f serves to identify rotations within the flow field. More precisely, when \(f\rightarrow -\frac{1}{2}\), the Q-criterion indicates areas of higher strain rate than vorticity in the flow, while values of \(f>>-\frac{1}{2}\) indicate dominance of rotation. The specific demarcation between these regions can be established using a threshold value, where values of \(f<K\) indicate an irrotational region, while values of \(f>K\) indicate a rotational region. As a result, the Q-criterion effectively partitions the flow into two distinct regions. The non-dimensional form of the Q-criterion has the advantage of minimizing the variability in Q-criterion values across different test cases. For instance, in [6], the authors employed a refinement threshold of \(K=1\) in their simulations. This threshold is designed to be applicable across a wide range of flow fields without the need for user intervention. However, a small change in the threshold value K significantly changes the detected regions, as will be shown in Sect. 3.2.$$\begin{aligned} f=\frac{1}{2}\left( \frac{||\mathbf {\Omega }||^2}{||\textbf{S}||^2}-1\right) . \end{aligned}$$(1)
-
Next, we consider the “new \(\Omega\) method”, introduced in [31], specifically designed to detect vortices in wake flows. This sensor quantifies the ratio of the norm of the vorticity tensor to the sum of the norms of the vorticity tensor and the strain rate tensor:In this context, as \(g\rightarrow 0\), it indicates an irrotational region, while \(g>> 0\) implies high rotational regions. By employing this sensor, rotational-dominated regions which require mesh refinement [7] can be determined. Identification of elements within the domain that need refinement is achieved by adjusting a threshold \(K \in [0, 1]\) based on the function \(g>K\) or \(g<K\). The “new \(\Omega\) method” is also designed to minimize user intervention in the definition of the threshold value. A constant value of \(K=0.52\) is used in [31] for different test cases. Later, in [7], the authors employed a slightly different refinement threshold \(K=0.7\). In both cases, it is claimed that the threshold does not need much adjustment between simulations. However, the effectiveness of this identification method depends on the strength of the vortical structures in the flow, as will be shown in Sect. 3.2.$$\begin{aligned} g =\frac{||\mathbf {\Omega }||^2}{||\mathbf {\Omega }||^2+||\textbf{S}||^2+\epsilon }, \quad \epsilon =10^{-3}. \end{aligned}$$(2)
-
Finally, we consider the new Gaussian mixture model (GMM) clustering technique introduced in [1], where the principal invariants of the strain and rotational rate tensors were used as input to the GMM (see Appendix A for details on the GMM) to identify the two flow regions (a viscous rotational and inviscid irrotational region). The potential of this method for mesh adaptation has not previously been investigated. The feature space used as input to the GMM relies on Galilean invariants of the flow. The feature space is \({E=\left\{ Q_{\textbf{S}},R_{\textbf{S}},Q_{{\mathbf {\Omega }}}\right\} }\), where \(Q_{\textbf{S}}\) and \(R_{\textbf{S}}\) are the two principal invariants of the strain rate tensor \(\textbf{S}\) defined as$$\begin{aligned} Q_{\textbf{S}}&=\frac{1}{2}\left( (\textrm{tr}(\textbf{S}))^2 -\textrm{tr}(\textbf{S}^2)\right) , \end{aligned}$$(3)The first invariant of the strain rate tensor \(Q_{\textbf{S}}\) is relevant in indicating regions with a high local viscous dissipation rate of the kinetic energy \(\epsilon = -4\mu Q_{\textbf{S}}\) [34], where \(\mu\) is the dynamic viscosity of the flow. \(R_{\textbf{S}}\) is the second strain rate tensor invariant and indicates strain production or destruction [35]. The rotational rate tensor \(\mathbf {\Omega }\) has one invariant defined as:$$\begin{aligned} R_{\textbf{S}}&=-\frac{1}{3}\textrm{det}(\textbf{S}). \end{aligned}$$(4)\(Q_{\mathbf {\Omega }}\) indicates rotational regions in the flow field, as it is proportional to enstrophy density \(\xi\) [34]. The GMM generates two variables, \(p_v\) and \(p_i\), which represent the probability that each point in the mesh belongs to a viscous rotational or inviscid irrotational region. It is important to note that the feature space used in this method consists of variables that are discriminative for the viscous-dominated rotational regions. As a result, this method operates based on the observation that variables in the feature space have higher values in viscous rotational regions and lower values in inviscid irrotational regions. A point is classified as viscous if \(p_v \ge p_i\), and inviscid otherwise. More detailed information can be found in [1]. Unlike previous sensors, this method does not require any user-defined threshold. As a result, the effectiveness of this identification is not influenced by the strength of vortices within the flow, as will be shown in Sect. 3.2.$$\begin{aligned} Q_{\mathbf {\Omega }}=-\frac{1}{2}\left( \textrm{tr} ({\mathbf {\Omega }}^2)\right) . \end{aligned}$$(5)
2.2 Cluster-based adaptation
2.3 High-order discontinuous Galerkin solver
3 Results and discussion
3.1 Description of test cases
-
Reynolds 100: in the second case, we analyze the clustering and mesh adaptation algorithm for an unsteady laminar case. We choose the flow past a circular cylinder at \(Re=100\), which is unsteady with a shedding frequency of \(T=6U_{c}/D\) non-dimensional time units. Various researchers have studied this flow regime in the context of numerical simulations [41‐45] and are used for comparison. We use a mesh that comprises 1282 hexahedral elements.
-
Reynolds 3900: this case has been extensively considered by numerous researchers within the numerical [46, 47] and experimental spectrum [46, 48, 49]. For this case, we use a 2nd order mesh of 20,736 hexahedral elements. The mesh has been extruded in the spanwise direction as \(L_z/D=\pi\) and subdivided into 16 elements along this direction. To minimize aliasing errors and ensure robustness, we have employed a split-form discretization approach along with Pirozzoli averaging [50] and a Smagorinsky closure model. These techniques help to improve the accuracy and stability of the method.
3.2 Preliminary assessment of the feature-based adaptation sensors
3.2.1 Analysis of the effect of the user-defined threshold
-
Q-criterion: We performed the detection of flow regions using various thresholds denoted as K for the Q-criterion in three different test cases: \(Re=40\), \(Re=100\) and \(Re=3900\). The results are shown in Figs. 1, 2, and 3. For reference, we include the regions detected by the clustering technique, which employs GMM with the feature space denoted as E in Figs. 1d, 2d, and 3d. Initially, setting the threshold at \(K=1\), as suggested in [6], resulted in the selection of very few elements suitable for adaptation across our test cases, as observed in Figs. 1c, 2c and 3c. Subsequently, to ensure a similar number of selected elements for refinement as the clustering technique, we adjusted the threshold values for the Q-criterion. Specifically, for \(Re=40\), we set \(K=-0.453\), for \(Re=100\), \(K=-0.193\), and for \(Re=3900\), \(K=-0.4679\). This adjustment effectively increased the number of elements marked for refinement, as depicted in Figs. 1a, 2a and 3a. However, the region marked for refinement is significantly different when using the Q-criterion with these thresholds or when using the clustering technique. In an attempt to automate the threshold selection process for the Q-criterion, we implemented the GMM algorithm utilizing the Q-criterion as feature space, resulting in values of \(K=-0.4909\) for \(Re=40\), \(K=0.343\) for \(Re=100\), and \(K=0.4014\) for \(Re=3900\). The marked elements identified for refinement through this automated process are illustrated in Figs. 1b, 2b and 3b. For \(Re=100\) and \(Re=3900\), where we observe more vortices, our automated approach yielded threshold values closer to those denoted in the literature. However, at \(Re=40\), where the flow remains steady, the GMM automatic threshold selection differs significantly from the literature. This suggests that the literature threshold value struggles to accurately distinguish regions in cases of steady flow.
-
New \(\Omega\) method: Similar to the Q-criterion, we performed the detection of flow regions using various thresholds for the new \(\Omega\) method in the three test cases. The results are shown in Figs. 4, 5 and 6. For reference, we also include the regions detected by the clustering technique, which employs GMM with the feature space denoted as E in Figs. 4d, 5d and 6d. Initially, we set the threshold at \(K=0.7\), as suggested in [7], which results in the selection of very few elements for adaptation across our test cases, as observed in Figs. 4c, 5c and 6c. Subsequently, to ensure a comparable number of selected elements for refinement as the clustering technique, we adjusted the threshold values. Specifically, for \(Re=40\), we set \(K=0.1\), for \(Re=100\), \(K=0.04625\), and for \(Re=3900\), \(K=0.03278\). This adjustment effectively increased the number of elements marked for refinement, as depicted in Figs. 4a, 5a and 6a. Also in this case, the regions marked for refinement are different for the new \(\Omega\) method with these thresholds and the clustering technique. Subsequently, the use of the GMM algorithm to automatically determine thresholds for the new \(\Omega\) method yielded values of \(K=0.0156\) for \(Re=40\), \(K=0.0013\) for \(Re=100\), and \(K=0.0003\) for \(Re=3900\). The resulting marked elements for refinement using this automatic process are depicted in Figs. 4b, 5b and 6b. Similarly to the case of the Q-criterion, at \(Re=40\) where the flow remains steady, there is significant disparity between the threshold selected by the GMM and the literature default. The disparity persists at \(Re=100\), where the automated threshold also includes more elements for refinement than the literature default. This discrepancy arises because elements in the far field exhibit similar levels of new \(\Omega\) as some elements in the wake, making it difficult to differentiate between them. This behavior is more noticeable at \(Re=3900\), resembling the \(Re=100\) case, where a large number of far-field elements are included for refinement due to difficulties in distinguishing between their new \(\Omega\) levels. This section demonstrates the considerable variability in the detected regions when altering the thresholds of traditional feature-based sensors (such as the Q-criterion and the new \(\Omega\) method). On the contrary, our proposed GMM clustering with the feature space E constitutes an unsupervised method that circumvents the need to manually set a threshold value. It can automatically detect cells close to the wall and wake regions for adaptation. These are the crucial areas that include viscous/turbulent effects within the flow. The following section will dive into a comparative analysis to evaluate the validity of the identified adaptation regions of the clustering technique against these traditional feature-based sensors.
3.2.2 Assessment of the quality of the adapted regions
3.2.3 Analysis of the effect of the initial mesh resolution
3.3 Adaptation results
3.3.1 Flow past a cylinder at \(Re=40\)
\(P_{\textrm{cluster}}\) | \(P_{\textrm{inviscid}}\) | Adapted | DoF | Comp. time (s) | Reduction | \(\textrm{C}_{d}\) | |
---|---|---|---|---|---|---|---|
DoF | Comp. Time | ||||||
1 | 1 | No | 5472 | ✗ | ✗ | ✗ | ✗ |
2 | 2 | No | 18468 | \({3.78\times 10^{3}}\) | 78% | 83% | 1.5062 |
3 | 3 | No | 43776 | \({7.90\times 10^{3}}\) | 49% | 64% | 1.5264 |
4 | 4 | No | 85500 | \({2.21\times 10^{4}}\) | – | – | 1.5221 |
4 | 1 | Yes | 27936 | \({1.50\times 10^{4}}\) | 67% | 32% | 1.5214 |
4 | 2 | Yes | 38460 | \({1.58\times 10^{4}}\) | 55% | 29% | 1.5225 |
4 | 3 | Yes | 55488 | \({1.79\times 10^{4}}\) | 35% | 19% | 1.5222 |
3.3.2 Flow past a cylinder at \(Re=100\)
\(P_{\textrm{cluster}}\) | \(P_{\textrm{inviscid}}\) | Adapted | \(\textrm{C}_{d}\) | \(\textrm{C}_{l}\) | St |
---|---|---|---|---|---|
1 | 1 | No | \(1.2039 \pm 0.0010\) | ± 0.1243 | 0.1395 |
2 | 2 | No | \(1.4050 \pm 0.0075\) | ± 0.3023 | 0.1623 |
3 | 3 | No | \(1.3534 \pm 0.0094\) | ± 0.3214 | 0.1643 |
4 | 4 | No | \(1.3468 \pm 0.0096\) | ± 0.3259 | 0.1642 |
4 | 1 | Yes | \(1.3450 \pm 0.0096\) | ± 0.3245 | 0.1642 |
4 | 2 | Yes | \(1.3468 \pm 0.0096\) | ± 0.3259 | 0.1642 |
4 | 3 | Yes | \(1.3468 \pm 0.0096\) | ± 0.3259 | 0.1642 |
\(P_{\textrm{cluster}}\) | \(P_{\textrm{inviscid}}\) | Adapted | DoF | Comp. time (s) | Reduction | |
---|---|---|---|---|---|---|
DoF | Comp. time | |||||
1 | 1 | No | 10256 | \({{4.90\times 10^{2}}}\) | 84% | 85% |
2 | 2 | No | 23076 | \({1.11\times 10^{3}}\) | 64% | 66% |
3 | 3 | No | 41024 | \({2.12\times 10^{3}}\) | 36% | 36% |
4 | 4 | No | 64100 | \({3.31\times 10^{3}}\) | – | – |
4 | 1 | Yes | 25082 | \({2.66\times 10^{3}}\) | 61% | 20% |
4 | 2 | Yes | 34372 | \({2.71\times 10^{3}}\) | 46% | 18% |
4 | 3 | Yes | 47378 | \({3.24\times 10^{3}}\) | 26% | 2% |
3.3.3 Flow past a cylinder at \(Re=3900\)
\(\textrm{St}\) | \(\textrm{C}_{d}\) | \(\textrm{L}_{r}/ D\) | \(\textrm{L}_{z}/ D\) | |
---|---|---|---|---|
Uniform P1 | 0.172 | 2.2394 | 0.97 | \({\pi }\) |
Uniform P2 | 0.219 | 1.1213 | 1.37 | \({\pi }\) |
Uniform P3 | 0.202 | 0.7844 | 1.36 | \(\pi\) |
Uniform P4 | 0.203 | 0.9513 | 1.64 | \(\pi\) |
Cluster-Adapt P4-P2 | 0.204 | 0.9506 | 1.63 | \(\pi\) |
Parnadeau et al. [46] | 0.208 | – | 1.56 | \(\pi\) |
Snyder and Degrez [51] | 0.207 | 1.09 | 1.30 | \(\pi\) |
Kravchenko and Moin [52] | 0.210 | 1.04 | 1.35 | \(\pi\) |
Breuer [53] | – | 1.07 | 1.20 | \(\pi\) |
Franke and Frank [54] | 0.209 | 0.98 | 1.64 | \(\pi\) |
(DNS) Ma et al. [47] | 0.219 | 1.59 | – | \(\pi\) |
Ouvrard et al. [55] | 0.223 | 0.94 | 1.56 | \(\pi\) |
\(\textrm{DoFs}\) | Reduction of DoFs | Reduction of comp. time | |
---|---|---|---|
Uniform P1 | 0.17M | 93% | 94% |
Uniform P2 | 0.56M | 78% | 82% |
Uniform P3 | 1.33M | 49% | 56% |
Uniform P4 | 2.60M | – | – |
Cluster-adapt P4–P2 | 1.55M | 41% | 33% |
4 Numerical experiments
\(\textrm{DoFs}\) | Reduction of DoFs | Reduction of comp. time | |
---|---|---|---|
Uniform P1 | 0.59M | 93.6% | 92.7% |
Uniform P2 | 1.99M | 78.2% | 86.5% |
Uniform P3 | 4.72M | 48.7% | 54.1% |
Uniform P4 | 9.22M | – | – |
Cluster-adapt P4–P1 | 3.58M | 61% | 43% |