tag:blogger.com,1999:blog-76904871344761785152024-03-14T00:57:27.398-07:00CFD and others...Computational fluid dynamics, and a personal outlook on anythingZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.comBlogger27125tag:blogger.com,1999:blog-7690487134476178515.post-82194455296735937822023-12-24T23:25:00.000-08:002023-12-24T23:25:28.572-08:00Note on RANS, Hybrid RANS/LES, WRLES, WMLES and SGS Models<p style="text-align: justify;"> In the computation of turbulent flow, there are three main approaches: Reynolds averaged Navier-Stokes (RANS), large eddy simulation (LES), and direct numerical simulation (DNS). LES and DNS belong to the scale-resolving methods, in which some turbulent scales (or eddies) are resolved rather than modeled. In contrast to LES, all turbulent scales are modeled in RANS.</p><p style="text-align: justify;">Another scale-resolving method is the hybrid RANS/LES approach, in which the boundary layer is computed with a RANS approach while some turbulent scales outside the boundary layer are resolved, as shown in Figure 1. In this figure, the red arrows denote resolved turbulent eddies and their relative size. </p><p style="text-align: justify;">Depending on whether near-wall eddies are resolved or modeled, LES can be further divided into two types: wall-resolved LES (WRLES) and wall-modeled LES (WMLES). To resolve the near-wall eddies, the mesh needs to have enough resolution in both the wall-normal (y+ ~ 1) and wall-parallel directions (x+ and z+ ~ 10-50) in terms of the wall viscous scale as shown in Figure 1. For high-Reyolds number flows, the cost of resolving these near-wall eddies can be prohibitively high because of their small size. </p><p style="text-align: justify;">In WMLES, the eddies in the outer part of the boundary layer are resolved while the near-wall eddies are modeled as shown in Figure 1. The near-wall mesh size in both the wall-normal and wall-parallel directions is on the order of a fraction of the boundary layer thickness. Wall-model data in the form of velocity, density, and viscosity are obtained from the eddy-resolved region of the boundary layer and used to compute the wall shear stress. The shear stress is then used as a boundary condition to update the flow variables. </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguoQ9Rf-bA1I7fz_Ny_2_sBpd04XgcRbrquUyMNqGexkhlsENnsJKYIU2ppf3CfpQ96LzRhVJ6ezk9BdwhTyn9XnANGqNKo2ZuzvLUWF0Cw18kSI8vn40iajJqYkJOB5AaT_6QBp7wGil2PNS5p_Ly53aCmfY8h4aYiOMxdWI6CrSw2TmQI8leHLA9Kho/s1984/rans_wmles_wrles.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="762" data-original-width="1984" height="216" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguoQ9Rf-bA1I7fz_Ny_2_sBpd04XgcRbrquUyMNqGexkhlsENnsJKYIU2ppf3CfpQ96LzRhVJ6ezk9BdwhTyn9XnANGqNKo2ZuzvLUWF0Cw18kSI8vn40iajJqYkJOB5AaT_6QBp7wGil2PNS5p_Ly53aCmfY8h4aYiOMxdWI6CrSw2TmQI8leHLA9Kho/w562-h216/rans_wmles_wrles.png" width="562" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;">Figure 1. An illustration of RANS, hybrid RANS/LES, WRLES, and WMLES approaches</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: justify;">I discussed the role of sub-grid scale (SGS) models for WRLES in an earlier blog post in 2017. For adaptive high-order methods such as the discontinuous Galerkin (DG), spectral difference (SD), and flux reconstruction/correction procedure via reconstruction (FR/CPR) methods, the best results are obtained without any explicit SGS models (called implicit LES or ILES) because of the embedded numerical dissipation. With enough mesh resolution, the physical and numerical dissipations appear sufficient to stabilize WRLES.</div><div class="separator" style="clear: both; text-align: justify;"><br /></div><div class="separator" style="clear: both; text-align: justify;">In WMLES, the near-wall turbulent scales are severely under-resolved. As a result, ILES is usually not stable without other stabilizing techniques such as filtering, limiting et al. We recently experimented with explicit SGS models such as the Smagorinsky, WALE, and Vreman models for WMLES. Through comparison with channel flow DNS data, the Vreman model was found to achieve the most accurate and consistent results. </div><div class="separator" style="clear: both; text-align: justify;"><br /></div><div class="separator" style="clear: both; text-align: justify;">In summary, we advocate ILES for WRLES and the Vreman model for WMLES with adaptive high-order methods such as DG, SD, and FR/CPR. </div><br /> <p></p><p> </p>ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com0tag:blogger.com,1999:blog-7690487134476178515.post-22831355338732952012022-12-26T15:38:00.002-08:002022-12-26T21:54:25.405-08:00Is High-Order Wall-Modeled Large Eddy Simulation Ready for Prime Time?<p>During the past summer, AIAA successfully organized the 4th High Lift Prediction Workshop (HLPW-4) concurrently with the 3rd Geometry and Mesh Generation Workshop (GMGW-3), and the results are documented on a NASA <a href="https://hiliftpw.larc.nasa.gov/" target="_blank">website</a>. For the first time in the workshop's history, scale-resolving approaches have been included in addition to the Reynolds Averaged Navier-Stokes (RANS) approach. Such approaches were covered by three Technology Focus Groups (TFGs): High Order Discretization, Hybrid RANS/LES, Wall-Modeled LES (WMLES) and Lattice-Boltzmann.</p><p>The benchmark problem is the well-known NASA high-lift Common Research Model (CRM-HL), which is shown in the following figure. It contains many difficult-to-mesh features such as narrow gaps and slat brackets. The Reynolds number based on the mean aerodynamic chord (MAC) is 5.49 million, which makes wall-resolved LES (WRLES) prohibitively expensive.</p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj14ZTpqwOiC_ISdRWRi_xdGHuzPbQWmyR_YM-Kbr7HM69Caw7QoRAnDob3mmcdwVZAUX-9d6Co2_8n6rsNO8TthrprXbGR-ShQiVmUapf_FmfHvlaWGDigxvtHhe_1TXhnIAy3AAo_7tGesEtXbeFFHvLlclPhMPk5DDq7sAJWhHRyTda-0-XAyVYL/s905/CRM_geom_2_zoom.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="514" data-original-width="905" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj14ZTpqwOiC_ISdRWRi_xdGHuzPbQWmyR_YM-Kbr7HM69Caw7QoRAnDob3mmcdwVZAUX-9d6Co2_8n6rsNO8TthrprXbGR-ShQiVmUapf_FmfHvlaWGDigxvtHhe_1TXhnIAy3AAo_7tGesEtXbeFFHvLlclPhMPk5DDq7sAJWhHRyTda-0-XAyVYL/w400-h228/CRM_geom_2_zoom.png" width="400" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">The geometry of the high lift Common Research Model</td></tr></tbody></table><p></p><p>University of Kansas (KU) participated in two TFGs: High Order Discretization and WMLES. We learned a lot during the productive discussions in both TFGs. Our workshop results demonstrated the potential of high-order LES in reducing the number of degrees of freedom (DOFs) but also contained some inconsistency in the surface oil-flow prediction. After the workshop, we continued to refine the WMLES methodology. With the addition of an explicit subgrid-scale (SGS) model, the wall-adapting local eddy-viscosity (WALE) model, and the use of an isotropic tetrahedral mesh produced by the Barcelona Supercomputing Center, we obtained very good results in comparison to the experimental data. </p><p>At the angle of attack of 19.57 degrees (free-air), the computed surface oil flows agree well with the experiment with a 4th-order method using a mesh of 2 million isotropic tetrahedral elements (for a total of 42 million DOFs/equation), as shown in the following figures. The pizza-slice-like separations and the critical points on the engine nacelle are captured well. Almost all computations produced a separation bubble on top of the nacelle, which was not observed in the experiment. This difference may be caused by a wire near the tip of the nacelle used to trip the flow in the experiment. The computed lift coefficient is within 2.5% of the experimental value. A movie is shown <a href="https://www.youtube.com/watch?v=4e8fu1UIOXY" target="_blank">here</a>. </p><p></p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1ZWY13Wsj_cuMM9IW90By1_alv25lg-HvS3yS7Jbz4pPCXPxd-BsfQq4sO8e-tEUmgy4_ynGn8PbFoPx6g_7PU2r-aL_ROv447Jx2UpURui8Ce0DhGYRGe5A7ypt8NRRhRFajWOcWwdlOdzwylRmKEJXghN25LSX4v6Kob1wlYODvq1xNilquONuo/s2253/compare1.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="915" data-original-width="2253" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1ZWY13Wsj_cuMM9IW90By1_alv25lg-HvS3yS7Jbz4pPCXPxd-BsfQq4sO8e-tEUmgy4_ynGn8PbFoPx6g_7PU2r-aL_ROv447Jx2UpURui8Ce0DhGYRGe5A7ypt8NRRhRFajWOcWwdlOdzwylRmKEJXghN25LSX4v6Kob1wlYODvq1xNilquONuo/w519-h212/compare1.png" width="519" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Comparison of surface oil flows between computation and experiment </td></tr></tbody></table><br /><p></p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRFhbqXSVYXBxU3Rt5t0ks1d0ray6QGXhAfDvMxXqENa70LowyVBVKwuRIU6PXb3D2SRYitC8DGV3CcP3pIb7mx6LhIEkErcV7p1OIlMMe_nD6s1ipN1K9Ht3siQLDPIOFG2qtUahGQ6JphhJ1Oore7u7J1IfoJF4k-s4ru2afNtg7ryt9q3ohaSPn/s1077/compare.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="631" data-original-width="1077" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRFhbqXSVYXBxU3Rt5t0ks1d0ray6QGXhAfDvMxXqENa70LowyVBVKwuRIU6PXb3D2SRYitC8DGV3CcP3pIb7mx6LhIEkErcV7p1OIlMMe_nD6s1ipN1K9Ht3siQLDPIOFG2qtUahGQ6JphhJ1Oore7u7J1IfoJF4k-s4ru2afNtg7ryt9q3ohaSPn/w400-h234/compare.png" width="400" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Comparison of surface oil flows between computation and experiment <br /><br /></td></tr></tbody></table>Here are some lessons we learned from this case. Besides the space and time discretization methods, the computational mesh and the SGS model strongly affect WMLES results. <div><ul style="text-align: left;"><li>Since we obtain wall model data from the 2nd element away from the wall, it is important that isotropic elements be used near solid walls to ensure that turbulent eddies are resolved well there. That's why we prefer tetrahedral elements for complex geometries since one can always generate isotropic elements. In other words, inviscid meshes are preferred for WMLES!<br /><br /></li><li>For very under-resolved turbulent flow, the use of an explicit SGS model such as WALE produces more accurate and robust results than a shock-capturing limiter. It is quite difficult to determine the appropriate amount of limiting. </li></ul><div>The recent progress has been documented in an <a href="https://doi.org/10.2514/1.J061641" target="_blank">AIAA Journal paper</a>, and an upcoming conference paper in SciTech 2023. The latest high-order results indicate that high-order LES can reduce the total DOFs by an order of magnitude compared to 2nd order methods. We believe it is ready for prime time for high-lift configurations, turbomachinery, and race car aerodynamics. You are welcome to try high-order WMLES by getting the flow solver from <a href="http://www.hocfd.com" target="_blank">www.hocfd.com</a>. </div><div><br /><div> </div></div></div>ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com0tag:blogger.com,1999:blog-7690487134476178515.post-77587243818985367962021-06-28T14:55:00.003-07:002021-06-28T14:59:50.867-07:00A Benchmark for Scale Resolving Simulation with Curved Walls<p>Multiple international workshops on high-order CFD methods (e.g., <a href="https://cfd.ku.edu/hiocfd.html" target="_blank">1</a>, <a href="https://www.dlr.de/as/desktopdefault.aspx/tabid-8170/28275_read-35550/" target="_blank">2</a>, <a href="https://www1.grc.nasa.gov/research-and-engineering/hiocfd/" target="_blank">3</a>, <a href="https://how4.cenaero.be/" target="_blank">4</a>, <a href="https://how5.cenaero.be/" target="_blank">5</a>) have demonstrated the advantage of high-order methods for scale-resolving simulation such as large eddy simulation (LES) and direct numerical simulation (DNS). The most popular benchmark from the workshops has been the Taylor-Green (TG) vortex case. I believe the following reasons contributed to its popularity:</p><ul style="text-align: left;"><li>Simple geometry and boundary conditions;</li><li>Simple and smooth initial condition; <br /></li><li>Effective indicator for resolution of disparate space/time scales in a turbulent flow.<br /></li></ul><p>Using this case, we are able to assess the relative efficiency of high-order schemes over a 2nd order one with the 3-stage SSP Runge-Kutta algorithm for time integration. The 3rd order FR/CPR scheme turns out to be 55 times faster than the 2nd order scheme to achieve a similar resolution. The results will be presented in the upcoming 2021 AIAA Aviation Forum.</p><p>Unfortunately the TG vortex case cannot assess turbulence-wall interactions. To overcome this deficiency, we recommend the well-known Taylor-Couette (TC) flow, as shown in Figure 1.</p><p style="text-align: center;"><img alt="" height="202" src="data:image/png;base64,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" width="357" /> </p><p style="text-align: center;">Figure 1. Schematic of the Taylor-Couette flow (r_i/r_o = 1/2)<br /></p><p>The problem has a simple geometry and boundary conditions. The Reynolds number (Re) is based on the gap width and the inner wall velocity. When Re is low (~10), the problem has a steady laminar solution, which can be used to verify the order of accuracy for high-order mesh implementations. We choose Re = 4000, at which the flow is turbulent. In addition, we mimic the TG vortex by designing a smooth initial condition, and also employing enstrophy as the resolution indicator. Enstrophy is the integrated vorticity magnitude squared, which has been an excellent resolution indicator for the TG vortex. Through a p-refinement study, we are able to establish the DNS resolution. The DNS data can be used to evaluate the performance of LES methods and tools. </p><p style="text-align: center;"><img alt="" height="260" src="data:image/png;base64,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" width="377" /> </p><p style="text-align: center;">Figure 2. Enstrophy histories in a p-refinement study <br /></p>A movie showing the transition from a regular laminar flow to a turbulent one is posted <a href="https://www.youtube.com/watch?v=kVp1F3fE_gY" target="_blank">here</a>. One can clearly see vortex generation, stretching, tilting, breakdown in the transition process. Details of the benchmark problem has been published in <a href="https://doi.org/10.1186/s42774-021-00071-0" target="_blank">Advances in Aerodynamics</a>. <br />ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com1tag:blogger.com,1999:blog-7690487134476178515.post-50819592564737623942021-01-01T15:00:00.002-08:002021-01-01T19:09:55.301-08:00The Darkest Hour Before Dawn<div class="separator" style="text-align: center;"><p style="margin-left: 1em; margin-right: 1em;"></p></div><p>Happy 2021!</p><p>The year of 2020 will be remembered in history more than the year of 1918, when the last great pandemic hit the globe. As we speak, daily new cases in the US are on the order of 200,000, while the daily death toll oscillates around 3,000. According to many infectious disease experts, the darkest days may still be to come. In the next three months, we all need to do our very best by wearing a mask, practicing social distancing and washing our hands. We are also seeing a glimmer of hope with several recently approved COVID vaccines.</p><p>2020 will be remembered more for what Trump tried and is still trying to do, to overturn the results of a fair election. His accusations of wide-spread election fraud were proven wrong in Georgia and Wisconsin through multiple hand recounts. If there was any truth to the accusations, the paper recounts would have uncovered the fraud because computer hackers or software cannot change paper votes. </p><p><span><span data-dobid="hdw">Trump's dictatorial habits were there for the world to see in the last four years. Given another 4-year term, he might just turn a democracy into a Trump dictatorship. That's precisely why so many voted in the middle of a pandemic. Biden won the popular vote by over 7 million, and won the electoral college in a landslide. Many churchgoers support Trump because they dislike Democrats' stances on abortion, LGBT rights, et al. However, if a Trump dictatorship becomes reality, religious freedom may not exist any more in the US. </span></span></p><p><span><span data-dobid="hdw">Is the darkest day going to be January 6th, 2021, when Trump will make a last-ditch effort to overturn the election results in </span></span><span><span data-dobid="hdw"><span class="aCOpRe"><span>the Electoral College certification process<i></i></span></span>? Everybody knows it is futile, but it will give Trump another opportunity to extort money from his supporters. </span></span></p><p><span><span data-dobid="hdw">But, the dawn will always come. Biden will be the president on January 20, 2021, and the pandemic will be over, perhaps as soon as 2021.</span></span></p><p><span><span data-dobid="hdw">The future of CFD is, however, as bright as ever. On the front of large eddy simulation (LES), high-order methods and GPU computing are making LES more efficient and affordable. See a recent <a href="https://www.olcf.ornl.gov/2020/08/10/sparks-fly-in-marriage-of-ges-genesis-code-and-the-summit-supercomputer/">story from GE</a>.</span></span></p><p style="text-align: center;"><span data-dobid="hdw"></span></p><p style="text-align: center;"><span data-dobid="hdw"><img alt="the darkest hour is just before dawn..." class="img-responsive" height="248" src="https://media.allauthor.com/images/poster/original/1529849606324-the-darkest-hour-is-just-before-dawn.jpg" title="The darkest hour is just before dawn... - Image Quote" width="441" /></span></p>ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com3tag:blogger.com,1999:blog-7690487134476178515.post-84793317667799378192020-06-21T13:14:00.002-07:002020-06-21T13:43:19.174-07:00Facts, Myths and Alternative Facts at an Important JunctureWe live in an extraordinary time in modern human history. A global pandemic did the unthinkable to billions of people: a nearly total lock-down for months. Like many universities in the world, KU closed its doors to students since early March of 2020, and all courses were offered online.<br />
<br />
Millions watched in horror when George Floyd was murdered, and when a 75 year old man was shoved to the ground and started bleeding <span class="ILfuVd"><span class="e24Kjd">from the back of his skull...</span></span><br />
<br />
Meanwhile, Trump and his allies routinely ignore facts, fabricate alternative facts, and advocate often-debunked conspiracy theories to push his agenda. The political system designed by the founding fathers is assaulted from all directions. The rule of law and the free press are attacked on a daily basis. One often wonders how we managed to get to this point, and if the political system can survive the constant sabotage...It appears the struggle between facts, myths and alternative facts hangs in the balance. <br />
<br />
In any scientific discipline, conclusions are drawn, and decisions are made based on verifiable facts. Of course, we are humans, and honest mistakes can be made. There are others, who push alternative facts or misinformation with ulterior motives. Unfortunately, mistaken conclusions and wrong beliefs are sometimes followed widely and become accepted myths. Fortunately, we can always use verifiable scientific facts to debunk them.<br />
<br />
There have been many myths in CFD, and quite a few have been rebutted. Some have continued to persist. I'd like to refute several in this blog. I understand some of the topics can be very controversial, but I welcome fact-based debate.<br />
<br />
<b>Myth No. 1</b> - My LES/DNS solution has no numerical dissipation because a central-difference scheme is used.<br />
<br />
A central finite difference scheme is indeed free of numerical dissipation in space. However, the time integration scheme inevitably introduces both numerical dissipation and dispersion. Since DNS/LES is unsteady in nature, the solution is not free of numerical dissipation. <br />
<br />
<b>Myth No. 2</b> - You should use non-dissipative schemes in LES/DNS because upwind schemes have too much numerical dissipation.<br />
<br />
It sounds reasonable, but far from being true. We all agree that fully upwind schemes (the stencil shown in Figure 1) are bad. Upwind-biased schemes, on the other hand, are not necessarily bad at all. In fact, in a numerical test with the Burgers equation [1], the upwind biased scheme performed better than the central difference scheme because of its smaller dispersion error. In addition, the numerical dissipation in the upwind-biased scheme makes the simulation more robust since under-resolved high-frequency waves are naturally damped. <br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-XPMvpIolsLs/Xu-Yd5xK7-I/AAAAAAAABDQ/wBpZtelFy9c3UwdaCxqw4QHbz4R2CXC7QCLcBGAsYHQ/s1600/stencil.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="222" data-original-width="469" height="151" src="https://1.bp.blogspot.com/-XPMvpIolsLs/Xu-Yd5xK7-I/AAAAAAAABDQ/wBpZtelFy9c3UwdaCxqw4QHbz4R2CXC7QCLcBGAsYHQ/s320/stencil.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figure 1. Various discretization stencils for the red point</td></tr>
</tbody></table>
The Riemann solver used in the DG/FR/CPR scheme also introduces a small amount of dissipation. However, because of its small dispersion error, it out-performs the central difference and upwind-biased schemes. This study shows that both dissipation and dispersion characteristics are equally important. Higher order schemes clearly perform better than a low order non-dissipative central difference scheme. <br />
<br />
<b>Myth No. 3</b> - Smagorisky model is a physics based sub-grid-scale (SGS) model.<br />
<br />
There have been numerous studies based on experimental or DNS data, which show that the SGS stress produced with the Smagorisky model does not correlate with the true SGS stress. The role of the model is then to add numerical dissipation to stablize the simulations. The model coefficient is usually determined by matching a certain turbulent energy spectrum. The fact suggests that the model is purely numerical in nature, but calibrated for certain numerical schemes using a particular turbulent energy spectrum. This calibration is not universal because many simulations produced worse results with the model.<br />
<br />
<div class="separator" style="clear: both; text-align: justify;">
</div>
<div class="separator" style="clear: both; text-align: justify;">
<a href="https://www.sciencedirect.com/science/article/pii/S0021999118304790" target="_blank">[1]
Mohammad Alhawwary and Z.J.Wang, Fourier analysis and evaluation of DG,
FD and compact difference methods for conservation laws, Journal of
Computational Physics 373 (2018) 835–862.</a></div>
<span class="one-click-content css-1p89gle e1q3nk1v4" data-linkid="nn1ov4" data-term="something"></span>ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com5tag:blogger.com,1999:blog-7690487134476178515.post-22814000092703057672019-12-27T13:15:00.000-08:002019-12-30T14:08:07.491-08:00What Happens When You Run a LES on a RANS Mesh?<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
Surely, you will get garbage because there is no way your LES will have any chance of resolving the turbulent boundary layer. As a result, your skin friction will be way off. Therefore, your drag and lift will be a total disaster.<br />
<br />
To actually demonstrate this point of view, we recently embarked upon a numerical experiment to run an implicit large eddy simulation (ILES) of the NASA CRM high-lift configuration from the <a href="https://hiliftpw.larc.nasa.gov/index-workshop3.html" target="_blank">3rd AIAA High-Lift Prediction Workshop</a>. The flow conditions are: Mach = 0.2, Reynolds number = 3.26 million based on the mean aerodynamic chord, and the angle of attack = 16 degrees.<br />
<br />
A quadratic (Q2) mesh was generated by Dr. Steve Karman of Pointwise, and is shown in Figure 1.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-GJzS2HlwkRI/XgZgzRW4c6I/AAAAAAAAA_4/NByz8eDCJ6ArK9LsXjex1Og4eT4DB4cNQCLcBGAsYHQ/s1600/CRM-HL-geometry_mesh.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="967" data-original-width="1087" height="177" src="https://1.bp.blogspot.com/-GJzS2HlwkRI/XgZgzRW4c6I/AAAAAAAAA_4/NByz8eDCJ6ArK9LsXjex1Og4eT4DB4cNQCLcBGAsYHQ/s200/CRM-HL-geometry_mesh.png" width="200" /></a><a href="https://1.bp.blogspot.com/-HiyGLAYgl34/XgZg6i-I1sI/AAAAAAAAA_8/43wTDWaOx70s2ICuCrhRkScimmIEAOAOACLcBGAsYHQ/s1600/CRM-HL-geometry_mesh_closeup.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="967" data-original-width="1087" height="177" src="https://1.bp.blogspot.com/-HiyGLAYgl34/XgZg6i-I1sI/AAAAAAAAA_8/43wTDWaOx70s2ICuCrhRkScimmIEAOAOACLcBGAsYHQ/s200/CRM-HL-geometry_mesh_closeup.png" width="200" /></a></div>
<div style="text-align: left;">
Figure 1. Quadratic mesh for the NASA CRM high-lift configuration (generated by <a href="https://www.pointwise.com/" target="_blank">Pointwise</a>)</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
The mesh has roughly 2.2 million mixed elements, and is highly clustered near the wall with an average equivalent y+ value smaller than one. A p-refinement study was conducted to assess the mesh sensitivity using our high-order LES tool based on the FR/CPR method, hpMusic. Simulations were performed with solution polynomial degrees of p = 1, 2 and 3, corresponding to 2nd, 3rd and 4th orders in accuracy respectively. No wall-model was used. Needless to say, the higher order simulations captured finer turbulence scales, as shown in Figure 2, which displays the iso-surfaces of the Q-criteria colored by the Mach number. </div>
<div style="text-align: left;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-HuDjn9mCS5c/XgZlljkVAnI/AAAAAAAABAM/ltWmM3mXo7ANAgC3FcGmGmItnaJw6DazACLcBGAsYHQ/s1600/CRM_Iso_Q_Mach_p1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="967" data-original-width="1087" height="176" src="https://1.bp.blogspot.com/-HuDjn9mCS5c/XgZlljkVAnI/AAAAAAAABAM/ltWmM3mXo7ANAgC3FcGmGmItnaJw6DazACLcBGAsYHQ/s200/CRM_Iso_Q_Mach_p1.png" width="200" /></a><a href="https://1.bp.blogspot.com/-bQQ-3_8p9YY/XgZm0wbfywI/AAAAAAAABAo/20va7sY5rzs4z26Kc_xmN5_W5H7zFLN9ACLcBGAsYHQ/s1600/CRM_Iso_Q_Mach_p1_bottom.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="967" data-original-width="1087" height="177" src="https://1.bp.blogspot.com/-bQQ-3_8p9YY/XgZm0wbfywI/AAAAAAAABAo/20va7sY5rzs4z26Kc_xmN5_W5H7zFLN9ACLcBGAsYHQ/s200/CRM_Iso_Q_Mach_p1_bottom.png" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">p = 1</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-u_CppJ6Hs6s/XgZll2KraXI/AAAAAAAABAU/nQ_HNANTf4MuNzfvSk_R7DrTlZKBACHyACLcBGAsYHQ/s1600/CRM_Iso_Q_Mach_p2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="967" data-original-width="1087" height="177" src="https://1.bp.blogspot.com/-u_CppJ6Hs6s/XgZll2KraXI/AAAAAAAABAU/nQ_HNANTf4MuNzfvSk_R7DrTlZKBACHyACLcBGAsYHQ/s200/CRM_Iso_Q_Mach_p2.png" width="200" /></a><a href="https://1.bp.blogspot.com/-dCDeJCPD3A8/XgZnjBZdKfI/AAAAAAAABAw/qA0pZ-qPVHQTsmErQe_R9aq93nDX-WDEgCLcBGAsYHQ/s1600/CRM_Iso_Q_Mach_p2_bottom.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="967" data-original-width="1087" height="177" src="https://1.bp.blogspot.com/-dCDeJCPD3A8/XgZnjBZdKfI/AAAAAAAABAw/qA0pZ-qPVHQTsmErQe_R9aq93nDX-WDEgCLcBGAsYHQ/s200/CRM_Iso_Q_Mach_p2_bottom.png" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">p = 2</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-kPrqZgSKfag/XgZllhzWwxI/AAAAAAAABAQ/BYTFZRHK1xUEN5aHLZKiimJ9hhBZCEMqgCLcBGAsYHQ/s1600/CRM_Iso_Q_Mach_p3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="967" data-original-width="1087" height="177" src="https://1.bp.blogspot.com/-kPrqZgSKfag/XgZllhzWwxI/AAAAAAAABAQ/BYTFZRHK1xUEN5aHLZKiimJ9hhBZCEMqgCLcBGAsYHQ/s200/CRM_Iso_Q_Mach_p3.png" width="200" /></a><a href="https://1.bp.blogspot.com/-hmaMTd_04Sk/XgZnjAwFAqI/AAAAAAAABA0/CmJPkifz-vc-E25NxW22SriIschpTZbtgCLcBGAsYHQ/s1600/CRM_Iso_Q_Mach_p3_bottom.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="967" data-original-width="1087" height="177" src="https://1.bp.blogspot.com/-hmaMTd_04Sk/XgZnjAwFAqI/AAAAAAAABA0/CmJPkifz-vc-E25NxW22SriIschpTZbtgCLcBGAsYHQ/s200/CRM_Iso_Q_Mach_p3_bottom.png" width="200" /></a><a href="https://1.bp.blogspot.com/-kPrqZgSKfag/XgZllhzWwxI/AAAAAAAABAQ/BYTFZRHK1xUEN5aHLZKiimJ9hhBZCEMqgCLcBGAsYHQ/s1600/CRM_Iso_Q_Mach_p3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">p = 3</td></tr>
</tbody></table>
<div style="text-align: center;">
Figure 2. Iso-surfaces of the Q-criteria colored by the Mach number</div>
<div style="text-align: left;">
<br />
Clearly the flow is mostly laminar on the pressure side, and transitional/turbulent on the suction side of the main wing and the flap. Although the p = 1 simulation captured the least scales, it still correctly identified the laminar and turbulent regions. </div>
<div style="text-align: left;">
<br />
The drag and lift coefficients from the present p-refinement study are compared with experimental data from NASA in Table I. Although the 2nd order results (p = 1) are quite different than those of higher orders, the 3rd and 4th order results are very close, demonstrating very good p-convergence in both the lift and drag coefficients. The lift agrees better with experimental data than the drag, bearing in mind that the experiment has wind tunnel wall effects, and other small instruments which are not present in the computational model. </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: center;">
Table I. Comparison of lift and drag coefficients with experimental data</div>
<div align="center">
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="height: 16.45pt; mso-yfti-firstrow: yes; mso-yfti-irow: 0;"><td style="border: solid windowtext 1.0pt; height: 16.45pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 114.3pt;" valign="top" width="152"><div align="center" class="MsoNormal" style="text-align: center;">
<br /></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; height: 16.45pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 114.3pt;" valign="top" width="152"><div align="center" class="MsoNormal" style="text-align: center;">
C<sub>L</sub></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; height: 16.45pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 114.3pt;" valign="top" width="152"><div align="center" class="MsoNormal" style="text-align: center;">
C<sub>D</sub></div>
</td>
</tr>
<tr style="height: 16.45pt; mso-yfti-irow: 1;">
<td style="border-top: none; border: solid windowtext 1.0pt; height: 16.45pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 114.3pt;" valign="top" width="152"><div align="center" class="MsoNormal" style="text-align: center;">
p = 1</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 16.45pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 114.3pt;" valign="top" width="152"><div align="center" class="MsoNormal" style="text-align: center;">
2.020</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 16.45pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 114.3pt;" valign="top" width="152"><div align="center" class="MsoNormal" style="text-align: center;">
0.293</div>
</td>
</tr>
<tr style="height: 15.85pt; mso-yfti-irow: 2;">
<td style="border-top: none; border: solid windowtext 1.0pt; height: 15.85pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 114.3pt;" valign="top" width="152"><div align="center" class="MsoNormal" style="text-align: center;">
p = 2</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 15.85pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 114.3pt;" valign="top" width="152"><div align="center" class="MsoNormal" style="text-align: center;">
2.411</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 15.85pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 114.3pt;" valign="top" width="152"><div align="center" class="MsoNormal" style="text-align: center;">
0.282</div>
</td>
</tr>
<tr style="height: 16.45pt; mso-yfti-irow: 3;">
<td style="border-top: none; border: solid windowtext 1.0pt; height: 16.45pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 114.3pt;" valign="top" width="152"><div align="center" class="MsoNormal" style="text-align: center;">
p = 3</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 16.45pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 114.3pt;" valign="top" width="152"><div align="center" class="MsoNormal" style="text-align: center;">
2.413</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 16.45pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 114.3pt;" valign="top" width="152"><div align="center" class="MsoNormal" style="text-align: center;">
0.283</div>
</td>
</tr>
<tr style="height: 16.45pt; mso-yfti-irow: 4; mso-yfti-lastrow: yes;">
<td style="border-top: none; border: solid windowtext 1.0pt; height: 16.45pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 114.3pt;" valign="top" width="152"><div align="center" class="MsoNormal" style="text-align: center;">
Experiment</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 16.45pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 114.3pt;" valign="top" width="152"><div align="center" class="MsoNormal" style="text-align: center;">
2.479</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 16.45pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 114.3pt;" valign="top" width="152"><div align="center" class="MsoNormal" style="text-align: center;">
0.252</div>
</td>
</tr>
</tbody></table>
</div>
<br />
<br />
This exercise seems to contradict the common sense logic stated in the beginning of this blog. So what happened? The answer is that in this high-lift configuration, the dominant force is due to pressure, rather than friction. <i><b>In fact, 98.65% of the drag and 99.98% of the lift are due to the pressure force</b></i>. For such flow problems, running a LES on a RANS mesh (with sufficient accuracy) may produce reasonable predictions in drag and lift. More studies are needed to draw any definite conclusion. We would like to hear from you if you have done something similar.<br />
<br />
This study will be presented in the forthcoming <a href="https://www.aiaa.org/events-learning/event/2020/01/06/default-calendar/SciTech2020" target="_blank">AIAA SciTech conference</a>, to be held on January 6th to 10th, 2020 in Orlando, Florida. <br />
<br />
<br />ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com2tag:blogger.com,1999:blog-7690487134476178515.post-25212677531441657242018-12-15T14:22:00.001-08:002018-12-17T22:14:36.016-08:00Not All Numerical Methods are Born Equal for LES Large eddy simulations (LES) are notoriously expensive for high Reynolds number problems because of the disparate length and time scales in the turbulent flow. Recent high-order CFD <a href="http://zjwang.com/" target="_blank">workshops</a> have demonstrated the accuracy/efficiency advantage of high-order methods for LES.<br />
<br />
The ideal numerical method for implicit LES (with no sub-grid scale models) should have very low dissipation AND dispersion errors over the resolvable range of wave numbers, but dissipative for non-resolvable high wave numbers. In this way, the simulation will resolve a wide turbulent spectrum, while damping out the non-resolvable small eddies to prevent energy pile-up, which can drive the simulation divergent.<br />
<br />
We want to emphasize the equal importance of both numerical <i>dissipation and dispersion, </i>which can be generated from both the space and time discretizations. It is well-known that standard central finite difference (FD) schemes and energy-preserving schemes have no numerical dissipation in space. However, numerical dissipation can still be introduced by time integration, e.g., explicit Runge-Kutta schemes. <i> </i><br />
<br />
We recently analysed and compared several 6th-order spatial schemes for LES: the standard central FD, the upwind-biased FD, the filtered compact difference (FCD), and the discontinuous Galerkin (DG) schemes, with the same time integration approach (an Runge-Kutta scheme) and the same time step. The FCD schemes have an 8th order filter with two different filtering coefficients, 0.49 (weak) and 0.40 (strong). We first show the results for the linear wave equation with 36 degrees-of-freedom (DOFs) in Figure 1. The initial condition is a Gaussian-profile and a periodic boundary condition was used. The profile traversed the domain 200 times to highlight the difference.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-sVa5gZF8fb8/XBVxB7mG5DI/AAAAAAAAA34/3AF7qaXOnw4csf-ef3uy74sHXV2f95HaACLcBGAs/s1600/Picture1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="327" data-original-width="532" height="245" src="https://2.bp.blogspot.com/-sVa5gZF8fb8/XBVxB7mG5DI/AAAAAAAAA34/3AF7qaXOnw4csf-ef3uy74sHXV2f95HaACLcBGAs/s400/Picture1.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Figure 1. Comparison of the Gaussian profiles for the DG, FD, and CD schemes</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Note that the DG scheme gave the best performance, followed closely by the two FCD schemes, then the upwind-biased FD scheme, and finally the central FD scheme. The large dispersion error from the central FD scheme caused it to miss the peak, and also generate large errors elsewhere.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Finally simulation results with the viscous Burgers' equation are shown in Figure 2, which compares the energy spectrum computed with various schemes against that of the direct numerical simulation (DNS). </div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-Z4xUDPJfbkw/XBV1oE1776I/AAAAAAAAA4Y/Q7ywWm44oP0r4RsZQiT7hKsEAtRjHEwswCLcBGAs/s1600/6thOrder_um75_dt2e-05_t0.1_KE_zoom.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1300" height="276" src="https://1.bp.blogspot.com/-Z4xUDPJfbkw/XBV1oE1776I/AAAAAAAAA4Y/Q7ywWm44oP0r4RsZQiT7hKsEAtRjHEwswCLcBGAs/s400/6thOrder_um75_dt2e-05_t0.1_KE_zoom.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Figure 2. Comparison of the energy spectrum</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Note again that the worst performance is delivered by the central FD scheme with a significant high-wave number energy pile-up. Although the FCD scheme with the weak filter resolved the widest spectrum, the pile-up at high-wave numbers may cause robustness issues. Therefore, the best performers are the DG scheme and the FCD scheme with the strong filter. It is obvious that the upwind-biased FD scheme out-performed the central FD scheme since it resolved the same range of wave numbers without the energy pile-up. </div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<a href="https://www.sciencedirect.com/science/article/pii/S0021999118304790" target="_blank">[1] Mohammad Alhawwary and Z.J.Wang, Fourier analysis and evaluation of DG, FD and compact difference methods for conservation laws, Journal of Computational Physics 373 (2018) 835–862.</a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com7tag:blogger.com,1999:blog-7690487134476178515.post-16263429799673982142018-01-01T13:35:00.000-08:002018-01-01T13:35:49.577-08:00Are High-Order CFD Solvers Ready for Industrial LES?The potential of high-order methods (order > 2nd) is higher accuracy at lower cost than low order methods (1st or 2nd order). This potential has been conclusively demonstrated for benchmark scale-resolving simulations (such as large eddy simulation, or LES) by multiple international workshops on high-order CFD methods.<br />
<br />
For industrial LES, in addition to accuracy and efficiency, there are several other important factors to consider:<br />
<br />
<ul>
<li>Ability to handle complex geometries, and ease of mesh generation</li>
<li>Robustness for a wide variety of flow problems</li>
<li>Scalability on supercomputers</li>
</ul>
For general-purpose industry applications, methods capable of handling unstructured meshes are preferred because of the ease in mesh generation, and load balancing on parallel architectures. DG and related methods such as SD and FR/CPR have received much attention because of their geometric flexibility and scalability. They have matured to become quite robust for a wide range of applications. <div>
<br /></div>
<div>
Our own research effort has led to the development of a high-order solver based on the FR/CPR method called hpMusic. We recently performed a benchmark LES comparison between hpMusic and a leading commercial solver, on the same family of hybrid meshes at a transonic condition with a Reynolds number more than 1M. The 3rd order hpMusic simulation has 9.6M degrees of freedom (DOFs), and costs about 1/3 the CPU time of the 2nd order simulation, which has 28.7M DOFs, using the commercial solver. Furthermore, the 3rd order simulation is much more accurate as shown in Figure 1. It is estimated that hpMusic would be an order magnitude faster to achieve a similar accuracy. This study will be presented at AIAA's SciTech 2018 conference next week.</div>
<div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-Bubdh26IlVg/WkqZonOPmSI/AAAAAAAAA0w/vLY9cMekBxIrTm6TwQ109vNwKhdyIpoOgCLcBGAs/s1600/mur_p2_Q_colored_by_vmag_schlieren.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="965" data-original-width="1085" height="283" src="https://2.bp.blogspot.com/-Bubdh26IlVg/WkqZonOPmSI/AAAAAAAAA0w/vLY9cMekBxIrTm6TwQ109vNwKhdyIpoOgCLcBGAs/s320/mur_p2_Q_colored_by_vmag_schlieren.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(a) hpMusic 3rd Order, 9.6M DOFs</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-IBdG7bnQBHQ/WkqZylrFLDI/AAAAAAAAA00/1So3gRnMWPQDfmj567sQg6xVPUhDgdEsgCLcBGAs/s1600/mur_fluent_medium_Q_colored_by_vmag_schlierenuntitled.png" imageanchor="1" style="clear: right; display: inline !important; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="965" data-original-width="1085" height="283" src="https://3.bp.blogspot.com/-IBdG7bnQBHQ/WkqZylrFLDI/AAAAAAAAA00/1So3gRnMWPQDfmj567sQg6xVPUhDgdEsgCLcBGAs/s320/mur_fluent_medium_Q_colored_by_vmag_schlierenuntitled.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
(b) Commercial Solver, 2nd Order, 28.7M DOFs</div>
<div class="separator" style="clear: both; text-align: center;">
Figure 1. Comparison of Q-criterion and Schlieren </div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
I certainly believe high-order solvers are ready for industrial LES. In fact, the commercial version of our high-order solver, hoMusic (pronounced hi-o-music), is announced by hoCFD LLC (disclaimer: I am the company founder). Give it a try for your problems, and you may be surprised. Academic and trial uses are completely free. Just visit <a href="http://hocfd.com/">hocfd.com</a> to download the solver. A GUI has been developed to simplify problem setup. Your thoughts and comments are highly welcome.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Happy 2018! </div>
<br /></div>
</div>
ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com10tag:blogger.com,1999:blog-7690487134476178515.post-70788682577650872012017-11-16T15:50:00.000-08:002017-11-16T15:50:08.067-08:00Sub-grid Scale (SGS) Stress Models in Large Eddy SimulationThe simulation of turbulent flow has been a considerable challenge for many decades. There are three main approaches to compute turbulence: 1) the Reynolds averaged Navier-Stokes (RANS) approach, in which all turbulence scales are modeled; 2) the Direct Numerical Simulations (DNS) approach, in which all scales are resolved; 3) the Large Eddy Simulation (LES) approach, in which large scales are computed, while the small scales are modeled. I really like the following picture comparing DNS, LES and RANS.<br />
<br />
<div style="text-align: center;">
<img height="307" src="https://www.evl.uic.edu/resizedImages/1280x720-maries-2012-ieo.png" width="400" /></div>
<div style="text-align: center;">
DNS (left), LES (middle) and RANS (right) predictions of a turbulent jet. - A. Maries, University of Pittsburgh</div>
<div style="text-align: center;">
<br /></div>
Although the RANS approach has achieved wide-spread success in engineering design, some applications call for LES, e.g., flow at high-angles of attack. The spatial filtering of a non-linear PDE results in a SGS term, which needs to be modeled based on the resolved field. The earliest SGS model was the Smagorinsky model, which relates the SGS stress with the rate-of-strain tensor. The purpose of the SGS model is to dissipate energy at a rate that is physically correct. Later an improved version called the dynamic Smagorinsky model was developed by Germano et al, and demonstrated much better results.<br />
<br />
In CFD, physics and numerics are often intertwined very tightly, and one may draw erroneous conclusions if not careful. Personally, I believe the debate regarding SGS models can offer some valuable lessons regarding physics vs numerics.<br />
<br />
It is well known that a central finite difference scheme does not contain numerical dissipation. However, time integration can introduce dissipation. For example, a 2nd order central difference scheme is linearly stable with the SSP RK3 scheme (subject to a CFL condition), and does contain numerical dissipation. When this scheme is used to perform a LES, the simulation will blow up without a SGS model because of a lack of dissipation for eddies at high wave numbers. It is easy to conclude that the successful LES is because the SGS stress is properly modeled. A recent study with the Burger's equation strongly disputes this conclusion. It was shown that the SGS stress from the Smargorinsky model does not correlate well with the physical SGS stress. Therefore, the role of the SGS model, in the above scenario, was to stabilize the simulation by adding numerical dissipation.<br />
<br />
For numerical methods which have natural dissipation at high-wave numbers, such as the DG, SD or FR/CPR methods, or methods with spatial filtering, the SGS model can damage the solution quality because this extra dissipation is not needed for stability. For such methods, there have been overwhelming evidence in the literature to support the use of implicit LES (ILES), where the SGS stress simply vanishes. In effect, the numerical dissipation in these methods serves as the SGS model. Personally, I would prefer to call such simulations coarse DNS, i.e., DNS on coarse meshes which do not resolve all scales.<br />
<br />
I understand this topic may be controversial. Please do leave a comment if you agree or disagree. I want to emphasize that I support physics-based SGS models.ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com7tag:blogger.com,1999:blog-7690487134476178515.post-79767684780409168372017-01-02T22:40:00.000-08:002017-01-02T23:12:24.057-08:002016: What a Year!2016 is undoubtedly the most extraordinary year for small-odds events. Take sports, for example:<br />
<ul class="canvas-list Pstart(40px) Mt(1.5em) Mb(1.5em) List(d)" data-reactid="34" data-type="list" style="background-color: white; margin: 1.5em 0px; padding-left: 40px;">
<li data-reactid="40" style="color: #26282a; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 15px;">Leicester won the Premier League in England defying odds of 5000 to 1</li>
<li data-reactid="40"><span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif;"><span style="font-size: 15px;">Cubs won World Series after 108 years waiting</span></span></li>
</ul>
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif;"><span style="font-size: 15px;">In politics, I do not believe many people truly believed Britain would exit the EU, and Trump would become the next US president.</span></span><br />
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif; font-size: 15px;"><br /></span>
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif; font-size: 15px;">From a personal level, I also experienced an equally extraordinary event: the coup in Turkey.</span><br />
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif; font-size: 15px;"><br /></span>
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif; font-size: 15px;">The 9th International Conference on CFD (ICCFD9) took place on July 11-15, 2016 in the historic city of Istanbul. A</span><span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif; font-size: 15px;"> terror attack on the Istanbul International airport occurred less than two weeks before ICCFD9 was to start. </span><span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif; font-size: 15px;">We were informed that ICCFD9 would still take place although many attendees cancelled their trips. We figured that two terror attacks at the same place within a month were quite unlikely, and decided to go to Istanbul to attend and support the conference. </span><br />
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif; font-size: 15px;"><br /></span>
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif; font-size: 15px;">Given the extraordinary circumstances, the conference organizers did a fine job in pulling the conference through. More than half of the attendees withdrew their papers. Backup papers were used to form two parallel sessions though three sessions were planned originally. We really enjoyed Istanbul with the beautiful natural attractions and friendly people. </span><br />
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif; font-size: 15px;"><br /></span>
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif; font-size: 15px;">Then on Friday evening, 12 hours before we were supposed to depart Istanbul, a military coup broke out. The government TV station was controlled by the rebels. However, the Turkish President managed to Facetime a private TV station, essentially turning around the event. Soon after, many people went to the bridge, the squares, and overpowered the rebels with bare fists.</span><br />
<div>
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif;">
</span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif;"><a href="https://1.bp.blogspot.com/-Kzix7wuCdLI/WGtEQSxEwiI/AAAAAAAAAxM/biZLbsy1-lcQzO6H5qRfOWmJVUyWigCoQCLcB/s1600/2016-07-16%2B12.07.30.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://1.bp.blogspot.com/-Kzix7wuCdLI/WGtEQSxEwiI/AAAAAAAAAxM/biZLbsy1-lcQzO6H5qRfOWmJVUyWigCoQCLcB/s320/2016-07-16%2B12.07.30.jpg" width="320" /></a></span></div>
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif;">
</span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif;">A Tank outside my taxi</span></div>
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif;">
<br />
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif;"><a href="https://3.bp.blogspot.com/-wIiaRooBJr4/WGtEeEVfJiI/AAAAAAAAAxQ/9WKSAT7BHuIuMuZYy7p84Z9IhFHU-V-CQCLcB/s1600/2016-07-17%2B21.56.12.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://3.bp.blogspot.com/-wIiaRooBJr4/WGtEeEVfJiI/AAAAAAAAAxQ/9WKSAT7BHuIuMuZYy7p84Z9IhFHU-V-CQCLcB/s320/2016-07-17%2B21.56.12.jpg" width="320" /></a></span></div>
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif;">
</span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif;">A beautiful night in Zurich</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif;"><span style="font-size: 15px;"><br />The trip back to the US was complicated by the fact that the FAA banned all direct flight from Turkey. I was lucky enough to find a new flight, with a stop in Zurich...</span></span></div>
<div>
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif; font-size: 15px;"><br /></span>
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif; font-size: 15px;">In 2016, I lost a very good friend, and CFD pioneer, Professor Jaw-Yen Yang. He suffered a horrific injury from tennis in early 2015. Many of his friends and colleagues gathered in Taipei o</span><span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif; font-size: 15px;">n December 3-5 2016 </span><span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif; font-size: 15px;">to remember him.</span><br />
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif; font-size: 15px;"><br /></span>
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif; font-size: 15px;">This is a CFD blog after all, and so it is important to show at least one CFD picture. In a validation simulation [1] with our high-order solver, hpMusic, we achieved remarkable agreement with experimental heat transfer for a high-pressure turbine configuration. Here is a flow picture.</span><br />
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif; font-size: 15px;"><br /></span></div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif;"><a href="https://1.bp.blogspot.com/-zYrEWUvlVjM/WGtJ24-IsEI/AAAAAAAAAxk/l8fP3S7zBl83Dk0_hIFzTIK-dFG2W6gkwCLcB/s1600/turbine.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="296" src="https://1.bp.blogspot.com/-zYrEWUvlVjM/WGtJ24-IsEI/AAAAAAAAAxk/l8fP3S7zBl83Dk0_hIFzTIK-dFG2W6gkwCLcB/s320/turbine.png" width="320" /></a></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif;">Computational Schlieren and iso-surfaces of Q-criterion</span></div>
</div>
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif;">
</span><span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif;"></span>
<br />
<div>
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif;"><span style="font-size: 15px;"><br /></span></span>
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif;"><span style="font-size: 15px;">To close, I wish all of you a very happy 2017!</span></span></div>
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif;">
</span>
<br />
<div>
<ol><span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif;">
<li><span style="font-size: 11pt; line-height: 101%; text-align: justify; text-indent: -0.25in;">Laskowski GM, Kopriva J, Michelassi V, Shankaran S, Paliath U, Bhaskaran
R, Wang Q, Talnikar C, Wang ZJ, Jia F. Future directions of high<span class="Fuentedeprrafopred"> fidelity CFD for aerothermal turbomachinery research,
analysis and design, AIAA-2016-3322.</span></span></li>
</span></ol>
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif;"><br /></span>
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif;"><br /></span>
<br />
<div class="MsoNormal" style="line-height: 101%; margin-left: 23.4pt; mso-list: l0 level1 lfo1; mso-pagination: none; text-align: justify; text-indent: -.25in; text-justify: inter-ideograph;">
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif;"><span style="font-size: 11.0pt; line-height: 101%;"><span class="Fuentedeprrafopred"><o:p></o:p></span></span></span></div>
</div>
<span style="color: #26282a; font-family: "helvetica neue" , "helvetica" , "arial" , sans-serif;">
</span></div>
ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com1tag:blogger.com,1999:blog-7690487134476178515.post-83518695512254007012016-04-20T13:57:00.000-07:002016-04-20T13:57:44.895-07:00The Linux Version of meshCurve is Now Ready for All to DownloadThe 64-bit version for the Linux operating system is now ready for you to download. Because of the complexities associated with various libraries, we experienced a delay of slightly more than a month. Here is the <a href="https://sites.google.com/site/meshcurvesoftware/meshcurve" target="_blank">link </a>again.<br />
<br />
Please let us know your experience, good or bad. Good luck!ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com0tag:blogger.com,1999:blog-7690487134476178515.post-4696287482515022842016-03-14T11:13:00.000-07:002016-03-14T12:08:23.641-07:00Announcing meshCurve: A CAD-free Low Order to High-Order Mesh ConverterWe are finally ready to release <a href="https://sites.google.com/site/meshcurvesoftware/" target="_blank">meshCurve </a>to the world!<br />
<br />
The description of meshCurve is provided in AIAA Paper No. <a href="http://dept.ku.edu/~cfdku/papers/AIAA-2015-2293.pdf" target="_blank">2015-2293</a>. The primary developer is Jeremy Ims, who has been supported by NASA and NSF. Zhaowen Duan also made major contributions. By the way, Aerospace America also highlighted meshCurve in its 2015 <a href="http://www.aerospaceamerica.org/Documents/Aerospace%20America%20PDFs%202015/December2015/AA_Dec2015.pdf" target="_blank">annual review issue</a> (on page 22). Many congratulations to Jeremy and Zhaowen on this major milestone!<br />
<br />
The current version supports both the Mac OS X and Windows (64 bit) operating systems. The Linux version will be released soon.<br />
<br />
Here is roughly how meshCurve works. The input is a linear mesh in the <a href="http://cgns.github.io/" target="_blank">CGNS </a>format. Then the user selects which boundary patches should be reconstructed to high-order. After that, geometrically important features are detected. The user can also manually select or delete features. Next the selected patches are reconstructed to add curvature. Finally the interior volume meshes are curved (if necessary). The output mesh is also stored in CGNS format.<br />
<br />
We have tested the tool with meshes in the order of a million cells. But I still want to lower your expectation. So try it out yourself and let us know if you like it or hate it. Please do report bugs so that improvements can be made in the future.<br />
<br />
Good luck!<br />
<br />
Oh, did I mention the tool is completely free? Here is the meshCurve <a href="https://sites.google.com/site/meshcurvesoftware/meshcurve" target="_blank">link</a> again.<br />
<br />
<br />
<br />
<br />
<br />
<br />ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com0tag:blogger.com,1999:blog-7690487134476178515.post-74968824898486781992015-09-08T19:51:00.001-07:002015-09-08T19:51:36.968-07:00An Update on the International Workshops on High-Order CFD MethodsThe most recent workshop, the 3rd International Workshop on High-Order CFD Methods, took place on January 3-4, 2015 just before the 53rd AIAA Aerospace Sciences Meeting at the Gaylord Palms Resort and Convention Center in Kissimmee, Florida (Orlando). The workshop was co-chaired by H.T. Huynh of NASA Glenn Research Center and Norbert Kroll of DLR, and sponsored by NASA, AIAA, DLR and the Army Research Office.<br />
<br />
Participants came from all over the world, including students, researchers and practitioners from academia, industry and government labs. A wide variety of methods were covered by the attendees. The final agenda and other details from the Workshop are contained on the following NASA web site:<br />
<br />
<a href="https://www.grc.nasa.gov/hiocfd/">https://www.grc.nasa.gov/hiocfd/</a><br />
<br />
There are still many unfinished businesses, including high-order mesh generation, robust error estimates and hp-adaptations, and efficient solution methods on extreme scale parallel computers. Please mark your calendar for the 4th Workshop which will take place in the breathtaking Greek island, Crete, on the 3rd and 4th of June 2016 just before the Eccomas / 6th European Conference on CFD (ECFD VI). ECCOMAS will feature a dedicated minisymposium, during which selected participants will be able to present their results. The Workshop cases and other details are contained here:<br />
<br />
<a href="http://how4.cenaero.be/">http://how4.cenaero.be</a><br />
<br />
Hope to see many of you in Greece!<br />
ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com1tag:blogger.com,1999:blog-7690487134476178515.post-89865149069620816372015-08-16T15:42:00.000-07:002015-08-16T15:45:43.845-07:00Happy Birthday to Academician Zhang Hanxin, China's CFD PioneerI did not know anything about CFD when I started college. My childhood dream was to be a fighter aircraft pilot. In the countryside where my parents taught schools (Jiangtou, Leiyang, Hunan), I often saw aircraft flying in the sky, and was fascinated by them. My fascination to aircraft grew even stronger because of a dream. When you are a young kid, the teachers' words are like the Bible. I still remember my physical education (PE) teacher telling us not to wear white clothes at night outside because enemy planes might see us from the sky, and even shoot us. That evening, I had the weirdest dream which I still remember to this day. In the dream, my best friend and I were playing and running in the rice field. Out of nowhere, a plane looking like a soucer appeared afar in the sky. Remembering what the teacher said during the day, I immediately gestured my friend to run for our lives, and we did. The soucer also spotted us, and started to chase and shoot at us. Suddenly, I was shot, and actually died in my own dream. The dream, however, continued with my friend running to my home, telling my parents that I was dead. I got to visualize what's happening lying there dead, without any pain...<br />
<div>
<br /></div>
<div>
I had to give up my pilot dream early in my childhood because I cannot handle spins and had a deep scar in my head. When I was admitted to National University of Defense Technology (NUDT, which, by the way, produced the fastest computer in the world right now according to top500.org), I chose the Department of Applied Mechanics, which had majors in rockets and missiles. I was put in the major of solid rocket engines. During my junior year, I decided to switch major to aerodynamics. Shortly after that, Academician Zhang Hanxin, who is a member of Chinese Academy of Sciences, visited NUDT, and introduced me to CFD, which I was immediately attracted to. In my final semester, I spent 3 months doing a senior design project at the China Aerodynamic Research and Development Center (CARDC) in Mianyang, Sichuan to study the artificial compressibility method developed by Professor Zhang. My direct project advisor was Mr. He Fangshang, who told me many stories about Academician Zhang. The favorite one was that Prof. Zhang remembered exactly which pages all the equations were on after he studied a book, for only once. The senior design project was a wonderful experience, which completely hooked me to CFD.</div>
<div>
<br /></div>
<div>
After obtaining my BS degree, I decided to pursue a MS degree at NUDT under the direction of Professor Zhang, who was also an adjunct professor of NUDT. I spent about three or four months in CARDC in 1986 to attend Professor Zhang's lectures on total variation diminishing (TVD) schemes before leaving for Glasgow University in Scotland to pursue my PhD degree sponsored by the Sino-British Friendship Scholarship Scheme. My PhD thesis title was "Total Variation Diminishing Schemes for Steady Flow Computations".</div>
<div>
<br /></div>
<div>
I am indebted to Academician Zhang for first introducing me to CFD, teaching me the basics, and inspiring me with his passion and dedication. His physics based approach to developing numerical methods has a long lasting impact on CFD development. Last month, a CFD workshop was organized in Mianyang, Sichuan, to celebrate Prof. Zhang's 80th birthday. It was a wonderful workshop with many excellent talks by top CFD researchers from all over the world.</div>
<div>
<br /></div>
<div>
Happy 80th Birthday and Best Wishes, Academician Zhang! </div>
ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com0tag:blogger.com,1999:blog-7690487134476178515.post-57574433301956015112014-09-20T18:56:00.002-07:002014-09-21T07:05:56.596-07:00Why is high order curved mesh important?It is almost a year since my last blog! I really need to write something. Otherwise, whatever I wrote may become obsolete, soon.<br />
<br />
Last week, the world held its breath to watch the independence referendum in Scotland. Because of personal history, I, too, followed the event with much interest. It is very remarkable that a very peaceful vote determined the fate and future of an entire nation. Yes or no, the Scots are to be congratulated on passionately exercising a sacred right many other parts of the world can still only dream about.<br />
<br />
Now back to high order CFD. Almost all finite volume (FV) CFD codes use linear control volumes (CV), cells or elements with straight edges. The geometry is approximated with linear triangles or quadrilaterals, and is thus "faceted". In a second order finite volume method, the solution is assumed linear within each CV, and discontinuous across the CV interfaces. This linear geometry representation is therefore compatible with the linear solution distribution without causing any significant accuracy loss as long as high curvature areas are properly resolved by the mesh.<br />
<br />
As discussed earlier, high order methods are capable of achieving engineering accuracy on a much coarser mesh than the ones used in 2nd order FV methods. If a linear mesh is used in a high order simulation, the solution error caused by the linear boundary mesh may be 2nd order, thus destroying the high order accuracy. It is therefore critical to represent the geometry with quadratic or higher order elements supporting curved edges and faces. Both Gmsh and CGNS can handle high order elements.<br />
<br />
Although high order elements have been used successfully in the finite element community, no commercial CFD mesh generators can produce high order meshes at present. The biggest challenge is the generation of highly clustered viscous meshes near high curvature regions. Additionally, high order meshes are usually much coarser than linear meshes. Robustness may become an issue in generating coarse meshes for complex geometries. I hope commercial mesh generators (Pointwise?) can conquer this challenge soon!<br />
<br />
I believe high order mesh generation is now the biggest bottleneck in applying high order CFD in the design process (http://rsta.royalsocietypublishing.org/content/372/2022/20130318.abstract).<br />
<br />ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com2tag:blogger.com,1999:blog-7690487134476178515.post-22605079492007362272013-12-07T09:40:00.001-08:002013-12-07T10:42:56.386-08:00A Tribute to Nelson MandelaOne of the most visible icons in human history, Nelson Rolihlahla Mandela, passed away on December 5, 2013. <br />
<br />
The world was instantly plunged into a black hole of sorrow and sadness, for it lost one of its most courageous, kind, forgiving and charismatic citizens and leaders. Mandela is such a unifying figure that he commands revere from the entire political, racial, religious spectrum. Many countries (including the U.S.) ordered their flags to half-staff to <span class="tl">honor Mandela.</span><br />
<br />
The enduring image of Mandela which is still fresh in my mind was him walking to freedom with his wife from the prison that jailed him for over two decades. One can only imagine his joy, triumph and hope at that historic moment. His incredible journey took him from a layer, to an African National Congress (ANC) leader, a prisoner, and finally the first black president elected in a fully representative democratic election. He dedicated his life to the fight for freedom and justice for all South Africans.<br />
<br />
Why is Mandela so adored by so many people? I believe he touches many at a personal level. Millions admire his many great qualities: dedicated, courageous, persistent, optimistic, kind, and forgiving. My favorite story about Mandela was something like the following.<br />
<br />
Because of severe turbulence (CFD?) during a routine flight, the airplane he flew in was so bumpy that everybody went panic thinking the plane would crash. The passengers looked up to Mandela, and found him totally unaffected and still working on his speech at the destination. They instantly drew strength from Mandela and calmed down themselves. When the plane safely landed, Mandela was asked why he was so calm. He replied that he was scared to death too.<br />
<br />
When I read the story, I could almost hear the hero from a movie saying "I just have no fear". <br />
<br />
Mandela is perhaps the greatest leader in history. Can you think of another great leader giving up his power willingly at his pinnacle? <br />
<br />
Finally as a tribute to Nelson Mandela for his fight for democracy, I give you two papers with different views on high-order CFD methods, which are published by the same journal:<br />
<ul>
<li>Z.J. Wang, K. Fidkowski, R. Abgrall, et al, High-order CFD methods: current status and perspective, Int. J. Numer. Meth. Fluids, 2013; 72:811–845.</li>
<li>R. Löhner, Improved error and work estimates for high-order elements, Int. J. Numer. Meth. Fluids 2013; 72:1207–1218.</li>
</ul>
Democracy is live and well in CFD. Now are you for or against us? Let me know using comments below.ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com1tag:blogger.com,1999:blog-7690487134476178515.post-26734948101484279302013-07-28T21:48:00.000-07:002013-08-07T08:20:40.328-07:00What a Historic and Inspiring JRV SymposiumThe highly anticipated Symposium, Four Decades of CFD: Looking Back and Moving Forward, took place in Westin San Diego on June 22-23, 2013, just before the AIAA summer conference. What a wonderful celebration of the careers of three CFD giants, Antony Jameson, Phil Roe and Bram van Leer (or JRV). The weather could not have been better; the place was breathtaking, and the people were terrific. Everything was "aligned" (天时,地利,人和) for a once-in-a-life-time CFD festival.<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
We had 20 of the world's top CFD researchers as invited speakers, in addition to the three honorees. The speakers came from all over the world representing academia, industry and government institutions. A total of nearly 80 attendees came to the celebration. There were a total of four sessions, with three dedicated to each of the three honorees, and a panel discussion session, in which all three spoke. A reception concluded the first day, and a banquet was served on the second day.<br />
<br />
True to the theme of the Symposium, the invited talks told stories of how some of the best-known CFD algorithms came into existence, and ventured bold predictions on where CFD might be heading. Simply put, the quality of the invited talks was amazing. At the banquet, former students and colleagues of JRV shared fond memories and stories, many told for the very first time, and the audience could not help bursting into laughs for extended periods of time. It was so much fun, as illustrated by some of the photos posted <a href="https://www.dropbox.com/sh/d2b63wv4opjasel/1V4vulZMtz" target="_blank">here</a>.<br />
<br />
In order to record history, all the talks will be posted <a href="http://dept.ku.edu/~cfdku/agenda.htm" target="_blank">here</a>. I am also attaching several photos. In 30 years, we will all exclaim how young we looked in 2013 and how we managed to gather many of the rock-stars of CFD in one place!<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-69fJDsZA7hc/UfXsJYOoJ-I/AAAAAAAAArA/hrULyUUniOQ/s1600/DSC_0194.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="http://1.bp.blogspot.com/-69fJDsZA7hc/UfXsJYOoJ-I/AAAAAAAAArA/hrULyUUniOQ/s400/DSC_0194.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Attendees of the JRV Symposium</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td><a href="http://3.bp.blogspot.com/-vMdluodqC-g/UfXzF7QkLVI/AAAAAAAAAro/Rf3WSS5oMZw/s1600/nasa_cap.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="270" src="http://3.bp.blogspot.com/-vMdluodqC-g/UfXzF7QkLVI/AAAAAAAAAro/Rf3WSS5oMZw/s400/nasa_cap.jpg" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="font-size: 12.800000190734863px;">A Joyous Moment with the NASA Caps, L-R: H.T. Huynh, Bram van Leer, Phil Roe, Antony Jameson and Z.J. Wang</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-IadQgGFyfPI/UfXwYcQIJ0I/AAAAAAAAArY/_LtuofC_LR8/s1600/DSC_0210.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="265" src="http://2.bp.blogspot.com/-IadQgGFyfPI/UfXwYcQIJ0I/AAAAAAAAArY/_LtuofC_LR8/s400/DSC_0210.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The KU Gang and the Honorees</td></tr>
</tbody></table>
ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com2tag:blogger.com,1999:blog-7690487134476178515.post-83032271190578392382013-06-13T08:30:00.000-07:002013-06-13T08:30:09.969-07:002nd International Workshop on High-Order CFD Methods a Huge SuccessThe 2nd International Workshop took place in the beautiful German city of Cologne on May 27-28, 2013. Coincidently, we had nearly the same number of attendees as the 1st one. Not surprisingly, most came from Europe (Germany, France, Italy, Belgium, U.K, Netherlands, Spain, ...). Because of the U.S. government sequestration, only a handful came from the U.S. Other countries represented included Canada and China.<br />
<br />
We had two full days of presentations and discussions with some very interesting results. All the major methods were represented, e.g., finite difference, finite volume, residual distribution, discontinuous Galerkin, spectral difference and correction procedure via reconstruction methods. The abstracts and summaries will be hosted on the <a href="http://www.dlr.de/as/desktopdefault.aspx/tabid-8170/13999_read-35550/" target="_blank">workshop web site</a>: http://www.dlr.de/as/desktopdefault.aspx/tabid-8170/13999_read-35550/<br />
<br />
The final hour of the Workshop was spent on discussing future actions. It was obvious that much research is still needed to impact aircraft design. Two decisions were made in the discussion:<br />
<br />
<ol>
<li>The next workshop will be held in January 2015, coinciding with the winter AIAA conference. After that, future workshops will take place every two years;</li>
<li>Future workshops will focus more on challenging problems faced by industry, including multi-scale, unsteady and turbulent flow problems. It is expected that 4-6 problems will be employed in the next workshop. The problems will be finalized in the coming months.</li>
</ol>
<br />
The identified pacing items are similar to those in the 1st Workshop. The summary paper of that workshop has appeared in I<a href="http://onlinelibrary.wiley.com/doi/10.1002/fld.3767/abstract" target="_blank">nternational J. of Numerical Methods for Fluids</a>. It was felt generating coarse high-order meshes for real world configurations is now the biggest bottleneck in high-order CFD simulations. Recently, <a href="http://cgns.sourceforge.net/" target="_blank">CGNS</a> was extended to handle cubic elements, and work is already in progress to add quartic elements in the near future. We do hope that the grid generation community (Pointwise?) take up this challenge.<br />
<br />
Finally, I attach several photos. Note the difference in two of the photos. The co-chair was kicked out of the photo in an uproar, and replaced by the photographer...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-XidhBDggYl4/UbnjIl2xv5I/AAAAAAAAApQ/tZwu35yCN0U/s1600/2HOW_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-XidhBDggYl4/UbnjIl2xv5I/AAAAAAAAApQ/tZwu35yCN0U/s1600/2HOW_1.jpg" height="255" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
The attendees</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-AhleZHOazFM/Ubnjc2sf4DI/AAAAAAAAApY/NziwCAP_QBM/s1600/2HOW_2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-AhleZHOazFM/Ubnjc2sf4DI/AAAAAAAAApY/NziwCAP_QBM/s1600/2HOW_2.jpg" height="270" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
The attendees + the photographer - the co-chair</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-MPwkW8VKc8Y/UbnjsqQGhpI/AAAAAAAAApg/HxqkWRHKaw8/s1600/011.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-MPwkW8VKc8Y/UbnjsqQGhpI/AAAAAAAAApg/HxqkWRHKaw8/s1600/011.JPG" height="320" width="240" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
The Church</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com2tag:blogger.com,1999:blog-7690487134476178515.post-44524691079153197712013-04-03T13:16:00.000-07:002013-04-09T09:39:31.744-07:00A Once in a Generation Opportunity to Honor 3 CFD GiantsIf you are reading this blog, you most likely know what CFD is. You also probably have a favorite CFD solver or method, and know a few names associated with various algorithms, techniques, schemes, Riemann solvers...With the proliferation of CFD in many industries, the number of worldwide CFD users and developers is at least in the order of tens of thousands (<a href="http://www.linkedin.com/groups/Computational-Fluid-Dynamics-Group-66032?trk=myg_ugrp_ovr" target="_blank">one of the CFD groups</a> on linkedin.com has more than 17,000 members).<br />
<br />
The CFD community is a very diverse one. If a CFD History is written by people from different disciplines, you will likely get dramatically different versions. I googled "CFD History", and the top hit was Cincinnati Fire Department History, perhaps indicating no CFDer has seriously attempted to write a CFD History. This is not at all surprising since "CFD History" is so tightly related to how one learned CFD, which text book one read, and what literature one followed. My version of "CFD History" is presented next, from an aerospace engineer's perspective.<br />
<br />
I discovered CFD during my last year in college, and was immediately fascinated. My favorite courses were Mathematics, Physics, Aerodynamics and Programming, but my undergraduate major was solid rockets, which did not use my skills that much. I started looking for a different field to pursue my graduate degree. A professor recommended CFD, and I knew right away that's what I wanted to do. During my senior design, I switched to CFD and was advised by Academician Zhang Hanxin. The first ever CFD paper I read was an AIAA conference paper authored by Professor Bob MacCormack, who solved the shock boundary layer interaction problem using his own famous method. The first CFD book I studied was Computational Fluid Mechanics and Heat Transfer, by Anderson, Tannehill and Pletcher. The first scheme I published a journal paper on is the total variation diminishing (TVD) scheme, introduced to me by Professor Zhang. The TVD and high-resolution method related literature opened my eyes to many wonderful works (of art) by pioneers of compressible flow CFD including Boris, Chakravarthy, Godunov, Harten, Jameson, Lax, Osher, Roe, van Leer, Yee, ... who laid the foundation of modern shock-capturing methods.<br />
<br />
For a graduate student studying CFD, the people mentioned in the last paragraph were like rock-stars. They are all giants in CFD. I consider myself very fortunate to have met nearly all of them (except Harten and Lax), and become colleagues and friends with them over the years.<br />
<br />
As mentioned in my previous blog, three of the CFD giants, Jameson, Roe and van Leer, will be honored in a symposium (JRV symposium), <a href="http://zjwang.com/JRV.html" target="_blank">Four Decades of CFD: Looking Back and Moving Forward</a>, to be held in San Diego on June 22-23, 2013. The objectives of the symposium are:<br />
<br />
<ul style="margin-bottom: 0in; margin-top: 0in;" type="disc">
<li><span style="font-family: Times, 'Times New Roman', serif; font-size: 12pt; line-height: 20px; text-align: justify;">To provide an open and impartial forum for evaluating the current status of CFD</span></li>
<li><span style="font-family: Times, 'Times New Roman', serif; font-size: 12pt; line-height: 20px; text-align: justify;">To learn from the past and chart the future of CFD in the coming decades</span></li>
</ul>
<br />
The three giants (or JRV) have not only made path-breaking contributions themselves, but also educated generations of CFDers, who are shaping CFD today. The symposium is open to participants from all over the world. A special invitation is extended to all former students of JRV by the organizing committee. Please come and share your fond memory. This is a once in a generation opportunity to honor all three giants together.<br />
<br />
<a href="http://zjwang.com/JRV.html" target="_blank">JRV Symposium web site</a>:<br />
http://zjwang.com/JRV.html<br />
<br />
I recommend a very funny <span style="background-color: white; font-size: 14px; text-align: left; text-decoration: none;"><span style="font-family: Times, Times New Roman, serif;"><a href="http://aerospace.engin.umich.edu/cfd/pubs/other/wine.pdf" target="_blank">Wine-Snob's Guide to Flux Functions</a> from UM:</span></span><br />
http://aerospace.engin.umich.edu/cfd/pubs/other/wine.pdfZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com3tag:blogger.com,1999:blog-7690487134476178515.post-60165221265217500132012-12-25T14:12:00.001-08:002012-12-25T14:12:52.864-08:00Random thoughts (about CFD, etc) on the Christmas Day of 2012Merry Christmas! <br />
<br />
It has been quite an eventful year with my recent job change from Iowa State University (ISU) to the University of Kansas (KU). Many of my colleagues and friends were very surprised (or even shocked) that I would even consider moving to the "dark side" (by being the chairperson of an academic department). I fully agree that something like this would have been unfathomable only two years ago. I have always enjoyed research and teaching as a college professor, and would have been extremely happy doing both for the rest of my life. The person who was the most responsible for this change was Dr. Rich Wlezien, my previous boss and the Vance and Arlene Coffman Endowed Department Chair in Aerospace Engineering at ISU. Rich tapped me to be his Associate Chair for Research and the Director of Graduate Education (or DOGE at ISU) around late 2010. Since I did not volunteer for the position, I agreed to give it a try to see whether the job would distract me from my regular research and teaching. Serving in this role revealed to me a bigger picture of the Department than what I would normally see. With the Graduate Studies Committee, we were able to reform the graduate program in several areas. Earlier, <span style="background-color: #f9cb9c;"><span style="background-color: white;">these reforms had been considered beneficial to the entire Department, but not pushed through due to resistance from multiple directions. With extensive discussions and consensus building, the reformed graduate policies received nearly unanimous faculty</span> <span style="background-color: white;">support.</span></span><span style="background-color: white;"> Ev</span>ents like this showed me that a positive impact can be made to an academic environment not only through teaching and research, but also through service, including being a Department administrator. Another person who was also responsible for the change was Dr. Charlie Zheng, my fellow CFDer and colleague at KU, who convinced me to take a look at the opportunity. A heartfelt thank you to both Rich and Charlie.<strong><span style="color: white;"></span></strong><br />
<br />
I have found that both ISU and KU are great places to work. Both aerospace programs are nationally ranked, and have produced very prominent national leaders such as Thornton "T" A. Wilson (ISU alum and former CEO and Chairman of the Board of Boeing), Vance Coffman (ISU alum and former CEO and Chairman of the Board of Lockheed Martin), and Alan Mulally (KU alum and current CEO of Ford). ISU has been known for its CFD program since the 1980s, and its faculty (Tannehill, Pleacher and Anderson) authored one of the most popular CFD text books. ISU has a much larger faculty, has graduated much more students, and ranks higher than KU. KU is known internationally for its aircraft and engine design education. Over the years, KU students have won many AIAA student aircraft and engine design competitions, ranking KU near the top (if not at the top) of all international aerospace programs. KUAE is poised to grow rapidly in the next few years due to the University's strategic plan to grow the engineering faculty by 30% and the number of students by 50%. I hope to strengthen KUAE's research profile so that it will one day rank as high as ISU. Although we loved living in Ames, Lawrence does have the better climate, downtown and variety of restaurants!<br />
<br />
I heard a rumor that I changed job because CFD is dead, or my research has hit a big obstacle. I can forcefully state that neither is true. <span style="background-color: white;">In fact, I intend to continue my CFD research and education in the foreseeable future. </span>I brought nearly my entire group from ISU to KU, and we are working very hard on tackling some of the challenges in high-order adaptive CFD methods (see my previous blog for sample topics). Now and then, we look for talented and hard-working students or postdocs to join our team. If you are motivated and enjoy math, programming and fluid dynamics, you are welcome to apply to KUAE. On CFD education, we are considering to establish a graduate CFD certificate at KUAE, hopefully in the Fall 2013. Do visit KUAE (http://www.ae.engr.ku.edu/) often for updates.<br />
<br />
After more than three decades of development, CFD has undoubtedly established itself as a critical tool in the design process of many industries. I am not sure of the market size of commercial CFD software products, but won't be surprised if it is in the order of billions of dollars/year. Constant improvements have been made to these products, which are increasingly more efficient, accurate, robust, and easier to use. There are also many web sites and blogs dedicated to CFD. The fact that these sites and blogs are being visited is a good sign that CFD is well and receiving a lot of attention. I particularly like "Another Fine Mesh", maintained by John Chawner of Pointwise. I just wonder how John manages to run his company and still find time to do the blogs on a weekly basis. <br />
<br />
<br />
Almost all CFD commercial software has benefited from research carried out in the "golden age" of CFD, generally considered to be the 1980es, by many well-known CFDers. If we do a survey about the top CFD giants in the world, who have made the most far-reaching impact, I am very confident that the names of Antony Jameson, Phil Roe and Bram van Leer would stand out. In order to celebrate their seminal contrbutions in CFD, an international symposium in their honor is being organized, with support from AFOSR. More information will be posted in the near future with a link from this blog.<br />
<br />
BTW, the 2nd International Workshop on High-Order CFD Methods will be held in Germany. See this web site for more info: http://www.dlr.de/as/desktopdefault.aspx/tabid-8170/13999_read-35550/ <br />
<br />
Finally, what happened to the often dreamed "<span style="background-color: white;">push button</span>" CFD tool, which is supposed to give you accurate CFD solutions by pushing a few buttons? Is such a tool going to appear one day, or is it still desired? Let me know your thoughts.<br />
<br />
Last but not least, have a great 2013!ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com10tag:blogger.com,1999:blog-7690487134476178515.post-6695649841114935772012-06-21T02:39:00.000-07:002012-06-21T02:44:15.142-07:00A Very Successful WorkshopThis blog is so overdue, since the Workshop concluded nearly six months ago! But better late than never. So here I am, giving you an much delayed update.<br />
<br />
<br />
<div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
After
several years of planning, the 1st International Workshop on High-Order CFD
Methods was successfully held in Nashville, Tennessee, on January 7 and 8,
2012, just before the 50<sup>th</sup> Aerospace Sciences Meeting. Over 70
participants from all over the world across the research spectrum of academia,
government labs and private industry attended the Workshop. Many interesting results were presented. The major
findings from the Workshop include: </div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
</div>
<div class="MsoNormal" style="margin-left: .25in; mso-list: l0 level1 lfo1; text-align: justify; text-indent: -.25in; text-justify: inter-ideograph;">
1.<span style="font: 7pt "Times New Roman";"> </span>For
problems with smooth solutions and geometries, high-order methods are able to
demonstrate high-order accuracy with h and p-refinement. High-order methods demonstrated
better performance than the 2<sup>nd</sup>-order finite volume method for both
steady and unsteady problems based on error vs. cost. </div>
<div class="MsoNormal" style="margin-left: .25in; text-align: justify; text-justify: inter-ideograph;">
<br /></div>
<div class="MsoNormal" style="margin-left: .25in; mso-list: l0 level1 lfo1; text-align: justify; text-indent: -.25in; text-justify: inter-ideograph;">
2.<span style="font: 7pt "Times New Roman";"> </span>For
problems with non-smooth solutions or geometries, high-order methods cannot
achieve high-order accuracy as expected. They are comparable to low order
methods in performance. </div>
<div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<br /></div>
<div class="MsoNormal" style="margin-left: .25in; mso-list: l0 level1 lfo1; text-align: justify; text-indent: -.25in; text-justify: inter-ideograph;">
3.<span style="font: 7pt "Times New Roman";"> </span>Solution
based hp-adaptations have been shown to be very effective in minimizing the
computational cost to achieve a given level of accuracy. </div>
<div class="MsoListParagraph">
<br /></div>
<div class="MsoNormal" style="margin-left: .25in; mso-list: l0 level1 lfo1; text-align: justify; text-indent: -.25in; text-justify: inter-ideograph;">
4.<span style="font: 7pt "Times New Roman";"> </span>For
RANS simulations, high-order methods are still not as robust as low order
methods in converging to the steady state solution. It is believed that this
behavior is related to non-smoothness introduced in the turbulence models. </div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
If you are interested in doing research on high order methods, the following pacing items may interest you:</div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
</div>
<div class="MsoNormal" style="margin-left: .25in; mso-list: l0 level1 lfo1; text-align: justify; text-indent: -.25in; text-justify: inter-ideograph;">
1.<span style="font: 7pt "Times New Roman";"> </span>High-order
mesh generation </div>
<div class="MsoNormal" style="margin-left: .25in; text-align: justify; text-justify: inter-ideograph;">
<br /></div>
<div class="MsoNormal" style="margin-left: .25in; mso-list: l0 level1 lfo1; text-align: justify; text-indent: -.25in; text-justify: inter-ideograph;">
2.<span style="font: 7pt "Times New Roman";"> </span>Solution
based hp-adaptations </div>
<div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<br /></div>
<div class="MsoNormal" style="margin-left: .25in; mso-list: l0 level1 lfo1; text-align: justify; text-indent: -.25in; text-justify: inter-ideograph;">
3.<span style="font: 7pt "Times New Roman";"> </span>Scalable,
low memory efficient time integrators for RANS and hybrid RANS/LES approaches </div>
<div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<br /></div>
<div class="MsoNormal" style="margin-left: .25in; mso-list: l0 level1 lfo1; text-align: justify; text-indent: -.25in; text-justify: inter-ideograph;">
4.<span style="font: 7pt "Times New Roman";"> </span>Robust,
accuracy-preserving and parameter-free shock capturing</div>
<div class="MsoNormal" style="margin-left: 0.25in; text-align: justify; text-indent: -0.25in;">
<br /></div>
<div class="MsoNormal" style="margin-left: 0.25in; text-align: justify; text-indent: -0.25in;">
Some of the abstracts of the workshop are contained here:</div>
<div class="MsoNormal" style="margin-left: 0.25in; text-align: justify; text-indent: -0.25in;">
<u> </u></div>
<div class="MsoNormal" style="margin-left: 0.25in; text-align: justify; text-indent: -0.25in;">
<a href="http://www.public.iastate.edu/%7Ezjw/hiocfd/abstracts/HOW_abstracts.htm"><u>http://www.public.iastate.edu/~zjw/hiocfd/abstracts/HOW_abstracts.htm</u></a></div>
<div class="MsoNormal" style="margin-left: 0.25in; text-align: justify; text-indent: -0.25in;">
<u><br /></u></div>
<div class="MsoNormal" style="margin-left: 0.25in; text-align: left; text-indent: -0.25in;">
The next workshop will be held in Cologne, Germany next summer. Check the workshop </div>
<div class="MsoNormal" style="margin-left: 0.25in; text-align: left; text-indent: -0.25in;">
web site for updated information.</div>
<div class="MsoNormal" style="margin-left: 0.25in; text-align: justify; text-indent: -0.25in;">
<br /></div>
<div class="MsoNormal" style="margin-left: 0.25in; text-align: justify; text-indent: -0.25in;">
On a personal note, I will join University of Kansas as the Spahr Professor and Chair of Aerospace Engineering in August 2012. It was a difficult decision, but I do look forward to the new challenges ahead. </div>ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com5tag:blogger.com,1999:blog-7690487134476178515.post-62124741915552751962011-12-28T14:22:00.000-08:002011-12-28T14:22:22.862-08:00High-Order CFD Workshop<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>ZH-CN</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:DontVertAlignCellWithSp/>
<w:DontBreakConstrainedForcedTables/>
<w:DontVertAlignInTxbx/>
<w:Word11KerningPairs/>
<w:CachedColBalance/>
<w:UseFELayout/>
</w:Compatibility>
<w:DoNotOptimizeForBrowser/>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]-->
<br />
<div class="MsoPlainText">
Merry Christmas and Happy New Year!</div>
<div class="MsoPlainText">
<br /></div>
<div class="MsoPlainText">
Hello again after a long silence. The last few months
were quite hectic. In addition to our daily activities, we had several
prominent visitors to aerospace engineering, including a three-star general, a
NASA astronaut, a top Boeing executive. In fact, the general was interested in
seeing some CFD. I therefore got to shake his hand. I also had the pleasure of
visiting South America for the first time, as a matter of fact, the largest
country there - Brazil. I really enjoyed Brazil and will definitely visit again.
Here is a photo of Sao Paulo.</div>
<div class="MsoPlainText">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-kZRm0Msldeo/TvuTWfLQuRI/AAAAAAAAAeA/awWzaATsxgg/s1600/Sao_Paulo.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="270" src="http://2.bp.blogspot.com/-kZRm0Msldeo/TvuTWfLQuRI/AAAAAAAAAeA/awWzaATsxgg/s400/Sao_Paulo.JPG" width="400" /></a></div>
<div class="MsoPlainText">
<br /></div>
<div class="MsoPlainText">
Oh yes, another big event in town was the the biggest
upset in ISU's football history - we beat Oklahoma State!</div>
<div class="MsoPlainText">
<br /></div>
<div class="MsoPlainText">
Now back to CFD...</div>
<div class="MsoPlainText">
<br /></div>
<div class="MsoPlainText">
The 1st International Workshop on High Order CFD Methods
will be held in Nashville on Jan. 7 and 8, 2012. Many types of high-order
methods will be covered by researchers from all over the world. We will have
two full days of actions. See the following agenda for details:</div>
<div class="MsoPlainText">
<a href="http://zjw.public.iastate.edu/hiocfd/HOW_agenda.pdf" target="_blank">http://zjw.public.iastate.edu/hiocfd/HOW_agenda.pdf</a> </div>
<div class="MsoPlainText">
<br /></div>
<div class="MsoPlainText">
Here is a bit of history regarding the Workshop. I became
a member of the Fluid Dynamics Technical Committee of AIAA in 2006-2007, and
then started to chair the CFD Algorithm Discussion Group (DG) until 2010, when Dr. H.T. Huynh of NASA Glenn took over.<span style="mso-spacerun: yes;"> </span>The charter of the DG has been:</div>
<div class="MsoPlainText">
<br /></div>
<div class="MsoPlainText">
To coordinate research and promote discussion for the
improvement of CFD algorithms with a particular focus on:</div>
<div class="MsoPlainText">
<span style="mso-spacerun: yes;"> </span>i.<span style="mso-spacerun: yes;"> </span>High-order spatial discretization</div>
<div class="MsoPlainText">
<span style="mso-spacerun: yes;"> </span>ii.<span style="mso-spacerun: yes;"> </span>Error estimate, grid adaptation and
methods capable of handling bad grids</div>
<div class="MsoPlainText">
<span style="mso-spacerun: yes;"> </span>iii.<span style="mso-spacerun: yes;"> </span>Efficient time marching/iterative solution
methods for unsteady flow</div>
<div class="MsoPlainText">
<span style="mso-spacerun: yes;"> </span>iv.
Benchmark and challenge problems for above methods</div>
<div class="MsoPlainText">
<br /></div>
<div class="MsoPlainText">
Many leading CFD pioneers and experts including Jameson,
Roe and van Leer participated in various discussions. The workshop idea came from one of the many discussions, and was also shared by the ADIGMA project in Europe. A strong support has been provided by AFOSR and DLR of Germany. Through several years of
hard work, the DG has achieved two major milestones:</div>
<div class="MsoPlainText">
<br /></div>
<div class="MsoPlainText">
1. Identified three pacing items based on a survey and
numerous discussions - discontinuity capturing, hp-adaptations and low storage
efficient solver. Details are given in the following presentation.</div>
<div class="MsoPlainText">
<a href="http://zjw.public.iastate.edu/zjw_FDTC_2009.pdf" target="_blank">http://zjw.public.iastate.edu/zjw_FDTC_2009.pdf</a> </div>
<div class="MsoPlainText">
<br /></div>
<div class="MsoPlainText">
2. The planning of the high-order workshop.</div>
<div class="MsoPlainText">
<br /></div>
<div class="MsoPlainText">
Let's hope we will have a very successful Workshop in Nashville! </div>ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com1tag:blogger.com,1999:blog-7690487134476178515.post-60501145081114896782011-10-18T21:44:00.000-07:002019-12-28T15:23:27.559-08:00Why is the order of accuracy important?Most of the commercial CFD codes are 1st or 2nd order accurate. This
is largely due to the robustness offered by these low order methods.
First order methods can be used to compute a steady-state solution
reliably and quickly on almost any mesh. For many industrial
applications, getting a solution with the correct order of magnitude may
be good enough to provide some guidance for product designs. In such
cases, low order CFD codes obviously serve a useful purpose.<br />
<br />
If the accuracy of a solution is important (e.g. the lift
coefficient of a Boeing airliner), first order methods are usually too
crude. In theory, one can always refine the mesh enough times to obtain
the desired solution accuracy. But mesh refinement is a very inefficient
means for low order methods to reach an accuracy threshold. High order
(OOA > 2) methods are much more efficient with mesh refinement. Here
is why.<br />
<br />
Assume that doubling the number of cells in each
direction in space (3D) and time increases the computational cost by a
factor of 16, i.e., 2^4. For a 1st order scheme, however, the solution
error is only reduced by a factor of 2. For a 2nd order scheme, the
error is reduced by a factor of 4, while for a 4th order scheme the
error is reduced by a factor of 16. Now you see why mesh refinement is
much more efficient in reducing the error for a high order method. <span style="color: red;">In
fact, a 4th order method on a mesh of 1 million cells may produce a
more accurate solution than a 1st order method on a mesh of a billion
cells!</span> In computational aeroacoustics (CAA), high-order methods have been used almost exclusively for wave propagation problems because of the stringent accuracy requirement.<br />
<br />
Why, then, aren't all the commercial codes 4th order accurate? The quick answer is that it is very difficult to develop <i style="color: red;">robust and efficient</i> high-order methods for unstructured meshes!<br />
<br />
<br />
How
about structured meshes? It is relatively straightforward to develop
high-order methods on structured meshes. However, the structured meshes
must be <span style="color: red;">smooth enough</span> to achieve the high-order accuracy. Otherwise, the actual OOA may be only 2nd order or even 1st order.<br />
<br />
Given that almost all commercial codes use unstructured meshes,
the ultimate solution appears to be adaptive high-order methods capable
of handling unstructured meshes.See the following Workshop for the
latest development:<br />
https://cfd.ku.edu/hiocfd.html<br />
<br />ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com8tag:blogger.com,1999:blog-7690487134476178515.post-54604626096569435422011-09-22T17:30:00.000-07:002011-09-22T17:30:52.636-07:00Mystery surrounding order of accuracy in CFD...<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-lZngdb3LUq0/TnvCiWQnpmI/AAAAAAAAAdo/CFiVEZSNvmQ/s1600/great_wall.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="266" src="http://2.bp.blogspot.com/-lZngdb3LUq0/TnvCiWQnpmI/AAAAAAAAAdo/CFiVEZSNvmQ/s400/great_wall.JPG" width="400" /></a></div>
Just came back from a trip to Beijing, where I gave two lectures in a Workshop, one on high-order CFD methods, and the other on the quadrature method of moment for multiphase flows. On the last day, I got to see the beautiful Great Wall at Mu Tian Yu. See the top picture for a magnificent view! Personally I believe this is a better tourist attraction than the more famous Great Wall at Ba Da Lin because it is less crowded. I am now paying a price for the trip: I am still recovering from the jet lag.<br />
<br />
In the Workshop at Beijing as well as in many other technical conferences, I often heard people talking about and making mistakes on order of accuracy (OOA) in CFD. As often as it is mentioned, there appears to be as much confusion about it too. There are two major mistakes regarding OOA:<br />
<ol>
<li>If a flow solver produces a more accurate solution than another, it must posses higher order accuracy. </li>
<li>The OOA is the same as the order of the polynomial approximating the (unknown) solution.</li>
</ol>
<br />
I still remember an incident in an AIAA conference (maybe at Reno). A guy believed like a religion that the OOA is the same as the order of the reconstructed solution polynomial in a <span style="color: red;">finite volume</span> scheme. In fact, he accused the finite volume community of lying about the accuracy of their favorite schemes. You cannot help feeling bad for the guy with such a strong (but wrong) conviction. The truth is that the OOA of a finite volume scheme with a degree p solution polynomial is (p+1).<br />
<br />
Let's define OOA. A scheme is pth order if the solution error is proportional to (dx)^p, where dx is the mesh size, i.e.,<br />
<br />
Error = C(dx)^p,<br />
<br />
where C is a constant depending on the particular scheme. Or equivalently,<br />
<br />
log(Error) = p*log(dx) + log(C).<br />
<br />
In other words, p is the slope of the dx-Error plot in a log-log scale. Strictly speaking, OOA has nothing to do with the magnitude of the solution error, but only related to the rate of error reduction with mesh refinement, i.e., the slope.<br />
<br />
How do you actually measure the OOA? If you know the exact solution, you need only perform two simulations: one on a coarse mesh, and the other on a fine mesh with half the mesh size of the coarse mesh. With a simple derivation, you can obtain the order p from<br />
<br />
Error_(dx)/Error_(dx/2) = 2^p, or p = log_2[Error_(dx)/Error_(dx/2)]<br />
<br />
where Error_(dx) is the error on the coarse mesh, and Error_(dx/2) the error on the fine mesh.<br />
<br />
More later on high-order methods...<br />
<br />
<br />
<br />
<br />
<br />ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com5tag:blogger.com,1999:blog-7690487134476178515.post-88607589024539174162011-08-28T12:09:00.000-07:002011-08-28T12:36:07.586-07:00Undergraduate CFD EducationCFD has become an indispensable design tool in many industries, especially in aerospace, automobile, micro-electronics, mechanical and chemical industries. The yearly worldwide revenue in CFD software is estimated to be in the hundreds of millions of dollars. In many industries, undergraduate students with CFD skills are highly sought after.<br />
<br />
Iowa State University has been a pioneer in CFD research and education for over 4 decades. One of the most popular CFD text books was written by ISU faculty (Tannehill, Anderson and Pletcher). ISU's aerospace engineering education has always a strong emphasis on CFD fundamentals and computer programming. A basic CFD course has been taught as a senior elective for many decades, and has been a very popular one. <br />
<br />
There is another paradigm in CFD education, maybe to reduce the cost at the undergraduate level. In this paradigm, students are taught how to use a particular commercial CFD software. The course is then centered around one CFD tool. The students learn "push button" CFD without having to learn how to program any computer languages. This paradigm has even been adopted by some PhD programs. In fact, I was told by a friend in the industry that he interviewed a PhD in CFD, who does not know what the Navier-Stokes equations are! <br />
<br />
I would like to know whether our way of teaching CFD is out of dated. Do leave a comment if you have an opinion. In addition, do you have a preference on which language should be taught, Fortran, c, C++, ...?ZJhttp://www.blogger.com/profile/05503262143639408861noreply@blogger.com12