It is rare for someone to not only consider the future in considerable detail but also to publish the results. This is why the recent NASA-sponsored report CFD Vision 2030 Study: A Path to Revolutionary Computational Aerosciences (Reference 1) is a must-read for everyone involved in CFD, from the new student, to the applied practitioner, to the experienced researcher.
You might be tempted to believe that NASA’s goals for CFD do not apply to you; that they are too advanced or leading edge for the type of work you do. But because NASA has a strong legacy in groundbreaking CFD research and software development, what it does will influence everyone’s use of CFD.
The study’s purpose was to give NASA recommendations on how to renew its pre-eminence in computational science, allowing “NASA to play a leading role in the pursuit of revolutionary simulation-based engineering.” Along those lines, the study addresses issues that are intimately tied to NASA’s organization and funding priorities. I will not discuss those here.
My purpose is to distill and expand on the study’s technology recommendations as they apply to a much broader audience. Of course, I will emphasize the mesh generation technology.
CFD in the Year 2030
Let us jump right to the bottom line with the study’s vision of how we will be using CFD in the year 2030.
“A single engineer/scientist must be able to conceive, create, analyze, and interpret a large ensemble of related simulations in a time-critical period (e.g. 24 hours), without individually managing each simulation.”
All of us will be running codes that likely will be RANS-LES hybrids with quantified and manageable errors and uncertainties. Our geometry preprocessing and mesh generation for the thousands of cases in our test matrix will be performed automatically and invisibly, likely with mesh adaption. We will be using a massively parallel, heterogeneously architected computer and burning through 30 exaFLOPS of performance. Our computations will probably be multidisciplinary with results automatically reduced to engineering data and simultaneously compared with experimental and flight test data.
For those of you who might not necessarily think that goal is too exciting, let me remind you that I am old enough to remember when a single engineer (me) performed a single simulation (2D) over the course of non-critical period (a year) with 100 percent manual intervention. And that was considered progress. The study’s authors have truly established a fact-based and expertise-driven goal. More importantly, they have pointed us in the appropriate directions for our journey.
Recommendations: Throughput and Accuracy
At its broadest, the study’s recommendations focus on two things: increasing throughput and increasing accuracy.
I have interpreted the prioritized recommendations in the study to be the following:
- Adapt current CFD software architectures and algorithms to allow for efficient performance on massively parallel computers utilizing millions of cores.
- Figure out how to accurately model turbulence and transition.
- Automate geometry preprocessing and mesh generation including adaption.
The secondary recommendations – again, in my opinion - are
- Develop methods of automatically managing large datasets and large numbers of datasets up to and including solver-embedded post-processing leading to computational steering.
- Create standards and frameworks that facilitate the sharing of data within a multi-disciplinary analysis and optimization (MDAO) framework.
The Long Road for Meshing
I will admit to not being surprised by the study’s findings that “mesh generation and adaptivity continue to be significant bottlenecks in the CFD workflow” and “most standard CFD analysis processes for the simulation of geometrically complex configurations are onerous.” This is neither omniscience nor apathy on my part but a practical realization of the state of the art combined with a knowledge of progress over the past 30 years plus a personal desire to own the unglamorous nature of the task.
In fact, the study admits that CFD advances in the past decade, during which algorithm development has stagnated, have come from “the use of larger meshes, more complex geometries, and more numerous runs,” all of which I believe are directly attributable to advances in meshing (i.e. meshing is more efficient, can handle CAD better, and can be done faster.)
However, the study is 100 percent accurate in stating that “ultimately the mesh generation process should be invisible [my emphasis] to the CFD user.”
What makes meshing highly visible today?
The Lack of Robust CAD Interoperability
CAD interoperability - or the lack thereof – means that geometry preprocessing for CFD is largely a manual process.
The CAD data interoperability issue has been discussed to death with no end in sight, either for the discussion or for resolving the issue. There is now an annual conference dedicated to the issue, the 3D Collaboration and Interoperability Congress (Reference 2). Also, at the recent Congress on the Future of Engineering Software (COFES, Reference 3), a discussion of cloud-based CAD came to a screeching halt when the moderator inquired whether there was any hope of resolving the interoperability issue and the resounding answer was “no.”
CAD Interoperability in Pointwise|
You can import CAD data in your choice of CAD native (ACIS, CATIA, NX, Parasolid, Pro/E, and SolidWorks) and CAD neutral formats (IGES and STEP) in addition to faceted formats like STL and VRML. Pointwise’s hybrid geometry modeling kernel works simultaneously with faceted and analytic geometry. A suite of geometry modeling tools is available to supplement your CAD data and it all can be exported via IGES to other applications.
The crux of the matter was deemed political – CAD vendors have little incentive for letting data be portable because it makes it too easy to switch to a competing product. Even standards like IGES and STEP are ineffective because I have seen firsthand how some CAD systems write those files in ways that explicitly violate the standard, making exchange of those files problematic.
Politics aside, the technical issues for CAD interoperability are well known:
- CAD files have either insufficient detail (tolerances that are larger than the required mesh sizes) or excessive detail (making extraction of the wetted surfaces for CFD burdensome).
- File-based data exchange is complicated by lack of adherence to standards or lack of ability to read proprietary formats. It is my belief that the rise in popularity of faceted geometry for CFD is due largely to software developers’ lack of comfort with and lack of easy access to analytic geometry. However, faceted geometry presents its own challenges.
- Geometry is represented differently by each CAD system or geometry kernel and this influences how its data is exported and translated to another kernel (i.e. it is a source of translation error). It also complicates direct access to the CAD by limiting a cross-CAD API to the least common denominator of functionality.
Dealing with bad CAD in Pointwise|
You have two choices for how you want to deal with the problem of CAD gaps and overlaps. On the grid level you can use the Fault Tolerant Meshing suite of tools that lets you create a watertight mesh over a leaky CAD model. On the geometry level, Solid Meshing’s features assemble the CAD geometry into a watertight solid model with the additional flexibility of quilts, collections of CAD surfaces you want to mesh with a single grid.
The situation is further complicated by the fact that CFD engineers usually don’t have access to the CAD system; they’re just given CAD files, often from multiple sources. Of course, this varies between organizations and the phase of the design (conceptual, detailed, and certification) in which CFD is being applied.
The Lack of HPC Support
The study states, “Despite the deficiencies in current CFD solver scalability, the situation for the surrounding infrastructure of pre- and post-processing software is even worse.” In other words, meshing software is much farther behind solvers in terms of effective use of HPC hardware.
Multi-thread and Multi-core|
Pointwise was architected from the ground up to support multi-threading. Several feature sets in the code utilize an open-source toolkit originally from Intel called Threading Building Blocks to spread work over multiple cores. Also, we have researched the use of GPUs for various meshing tasks (Reference 4) and achieved speed-ups of a factor of 35 in some cases.
From a certain perspective, this is not surprising. A CFD solver sees all problems as virtually the same: solving the RANS equations on a mesh with boundary and initial conditions that you iterate until convergence. A mesh generator sees each problem as intrinsically different: a blank screen, a unique CAD geometry, and any method will do when it comes to placing points where they’re needed.
Using a poor analogy, running a CFD solver is like highway driving in which you peg the speedometer, drive for several hours, and get the best mileage. Meshing is like city driving in which there’s a lot of stopping and starting, route changes, and your mileage is nowhere near as good.
Distributed computing for mesh generation is more about managing the large number of grid points/cells by spreading them across many machines than it is about speeding up the process.
That is not to say that meshing algorithms cannot be run in parallel; a lot of software does just that. I can think of several features inside Pointwise that could benefit. But comparing the compute needs of meshing to those of the solver is comparing apples to oranges.
The Lack of Automation
Ideally, meshers should be automated and easy for non-experts to use. The report states that meshing must be done manually largely because of “the inability of current mesh generation software to consistently produce valid high-quality meshes of the desired resolution about complex configurations on the first attempt.” (Note the adjectives “high-quality” and “complex.”)
Specialized, or so-called “vertical” applications, are the way to solve this problem. The lack of vertical applications also was identified at COFES as a roadblock to making the use of CAE software more widespread and effective, especially by non-expert users. (This is not just for CFD either; for example, how about a CAD system just for designing truck axles?) The study dismisses specialized solutions as only applicable to routine design work as though that were a limiting factor. Yet, the study also describes in detail the various design phases where CFD is applied, several of which are open to customization.
The general nature of current CFD and meshing software is the culprit. By its nature, a general purpose mesher has to
- Accept arbitrarily complex CAD geometry from any of a multitude of sources.
- Generate any mesh type (structured, unstructured, hybrid, Cartesian) suitable for a multitude of solvers.
- Meet the “high-quality” mesh threshold that varies from solver to solver.
- Ensure sufficient resolution where resolution is defined in terms of the solver and the desired flow quantities to be computed.
Of course, we will always need general purpose tools for “single-prototype designs and novel configurations,” but the day-to-day work of simulating design variations can best be automated by customized software, especially if the customized software can be built on top of a general purpose tool.
Macros and Templates|
You can automate all or portions of the mesh generation process with Pointwise’s built-in Glyph scripting language. Repetitive tasks can be reduced to a single mouse click and entire grids can be generated based on design parameters. See Reference 5 for an example.
Mesh Generation in 2030
The targets established for mesh generation in the year 2030 by the study are hard to argue with.
- Streamlined CAD access and interfacing.
- Automated, adaptive techniques including anisotropy.
- A less burdensome, more invisible meshing process.
- Meshes with 1 trillion grid points.
- Efficient exploitation of massively parallel hardware.
- High order elements.
Other Highlights from the Study
Our turbulence modeling friends appear to be faced with the greatest challenge, according to the study. Turbulence modeling is said to be “the single most critical area in CFD simulation capability” because almost any type of separated flow is virtually unpredictable. We need to be able to confidently simulate the point of separation and the feedback from separated flow to the boundary layer.
The study advocates significant changes to NASA’s software development culture because it is currently stuck in a mode of making incremental improvements to existing tools and major re-architecting projects or new projects cannot get approval. Interestingly, the study also advocates an open-source model for non-critical components and/or as a mechanism for making the results of research available to the community.
The study recommends developing and implementing standards to address the impediments to realizing the MDAO capabilities envisioned by 2030. However, the study is 100 percent correct that “frameworks and standardization can lead to significant constraints and may not be the best solution in all cases.” In other words, a standard for interoperability often must sacrifice performance.
The most damning accusation in the report is that standards for verification and validation exist, but they are not widely used in the aerospace industry. Grid refinement “is seldom done in practice.”
- I learned what aleatory means: depending on chance, random.
- The Cloud was not mentioned even once.
- And as for democratization, “CFD is not sufficiently predictive and automated to be used in critical/relevant engineering decisions by the non-expert user.” Seems like we have a lot of work to do.
The authors, sponsors, and contributors to the CFD Vision 2030 Study have succeeded in creating a thought-provoking vision of the future of CFD and also in developing an actionable plan for achieving those future goals.
To be clear, this is not prognostication and we shouldn’t quibble over precisely how achievable the goals are in the given timeframe. What is important is assessing where we are now relative to these goals and identifying the paths toward the goals’ achievement. Fortunately, NASA is uniquely suited to accomplishing and coordinating progress of these tasks.
My suggestions to you are to
- Read the CFD Vision 2030 Study.
- Follow verification and validation standards in your CFD work.
- Participate in benchmark workshops such as the ones sponsored by AIAA (see References).
For further reading, you may want to take a look at the Simulation Driven Design study conducted by Lifecycle Insights that delves further into how simulation is currently applied.
- Jeffrey Slotnick, Abdollah Khodadoust, Juan Alonso, David Darmofal, William Gropp, Elizabeth Lurie, and Dimitri Mavriplis, CFD Vision 2030 Study: A Path to Revolutionary Computational Aerosciences, NASA/CR-2014-218178, March 2014, 51 pages. Download from the NASA Technical Report Server.
- The 3D Collaboration and Interoperability Congress
- The Congress on the Future of Engineering Software
- Michael Jefferies, Surface Mesh Extrusion on the GPU, SIAM Conference on Geometric and Physical Modeling, October 2011.
- Pointwise Works to Make Aircraft Quieter, The Connector, Nov/Dec 2011.
- AIAA Drag Prediction Workshop
- AIAA High Lift Prediction Workshop
- AIAA Sonic Boom Prediction Workshop
- AIAA Propulsion Aerodynamics Workshop
- Aeroelastic Prediction Workshop