CFD code for the 21st Century
“Come gather 'round people; Wherever you roam; And admit that the waters; Around you have grown; And accept it that soon; You'll be drenched to the bone.; If your time to you; Is worth savin'; Then you better start swimmin'; Or you'll sink like a stone; For the times they are a-changin'. ...” ― Bob Dylan
Have you ever asked yourself a question: What will be the key properties of the future CFD codes? Or what will be the future of CFD in general?
The times are changing. Lifestyle is changing. The industry is changing. The CAE software market is changing. And yes, also the CFD codes are changing.
Let’s make a brainstorming on what might be the future of the CFD codes. Yes, of course, this is just a science fiction. A thought experiment.
After seven years of sitting in the front line of the technical support at CFD Support, and resolving new and new requirements from the CFD engineers day by day, I decided to put together the most valuable experiences and ideas about the market needs and corresponding demands on the CFD codes for the future.
You may notice that the CFD has drastically changed over last few years. The users’ requirements are totally different, comparing to their requirements a few years ago. Considering the latest trends, I have found four key features of the CFD code of the future. This is the list of those features. The future CFD code has to be:
Automatable
Capable
Integrable
Scalable
The CFD codes should grow these features as soon as possible - to be able to compete in the future. Let’s take a look at these features more in detail:
Automatable
Full automation is absolutely critical. Most of us still remember, that only a few years ago, the whole CFD process was a solution multiple jobs, and requiring multiple skills. For example, someone had to clean the geometry. Someone had to create the computational mesh. Someone had to set up and run the simulation. Someone had to evaluate the simulation results and write down a report. Manually. All over again, until the results were accepted by the authority.
This is the past. Everything in CFD can be and will be automated. Nowadays, the most of the CFD codes are already on the way towards the automation. In the near future, every standard repeatable CFD project (which is the vast majority most of all of them) will be fully automated.
Automation will also affect the human resources. CFD work will turn from complicated, and multiple skills science into a tool - into a calculator. These automated codes, of course, will lower the minimal requirements on the user's skills. CFD engineers will split into two groups. CFD developers and CFD users. CFD developers will set-up and test the workflows. CFD users will use these workflows the same way as a calculator, without any deep CFD knowledge. Also, any other software can be a CFD user.
Yes, CFD will become a calculator some day. Please do not misunderstand me, we are speaking now about the standard repeatable jobs. There will be always enough of special one time CFD projects and curiosities - that will be mostly outsourced at the external CFD consultancy companies.
Capable
Perhaps the biggest trend is the Optimization. The Optimization will be absolutely essential. The shape optimization, as well as the parameter sensitivity optimization. CFD will not only test the existing designs as it was used to in the past. Using the optimization tools CFD will suggest the optimal solutions for the engineers.
The CFD code of the future has to be capable of covering a wide range of CFD applications. A set of modules to combine - according to the physics to cover. For instance: Turbulence, Multiphase, Overset Mesh, Acoustics, Radiation, Heat transfer, FSI, ... No excuses about the difficulties here and there.
The future CFD codes have to be capable in terms of the range of the input and output data format. The data conversion is often underestimated. Many engineers have the issues right here. Both on the input side and on the output side.
The future CFD codes have to be capable in terms of robustness of convergence and accuracy. The real world benchmarks and studies are needed. The CFD developers will need a good code documentation.
The future CFD codes have to be capable in terms of focus to a real particular issue and bring expected value to their users.
Another big topic of the future will be a special database of results. Every simulation results can be saved in a smart way. This storing of simulation data brings so much value to the engineers. Future CFD codes will be able to contribute to a special database, as well as able to read from it. Such a database of results will be a valuable source of the data. This database will be first used by the engineers, by Big Data, by optimization tools and perhaps later by the artificial intelligence.
The trends versus the absolute values. So far, the most of the CFD results were understand as a proof of a trend. In other words, so far, CFD delivered the approximate results which had the same trends as a reality - If this design is better in CFD, it will be very likely better in the real world. Modern CFD codes will be required to advance to the next level - getting closer to the real values. Future CFD codes will follow the reality, not just the trends.
Integrable
It is well known, that CFD is only a small part of a bigger picture called CAE, or more general field called virtual prototyping. In the future, CFD will be likely fully integrated into much bigger virtual prototyping loops that will use CFD as a tool. A tool that makes its job - simulates the fluid dynamics and send the outputs to the other applications.
For this reason, the CFD code of the future has to be highly integrable into existing workflows. Integrable into various existing ecosystems. It has to have a wide range of inputs and outputs - the interfaces that help to make the process as smooth as possible.
The future CFD code should have a high level of customization. It has to be easily scriptable. And well documented.
The CFD code should be very flexible. Its structure should be ready for this. A simple core with a set of plugins around it.
The future CFD code should be natively compiled, independent on the hosting operating system. Compatible with Cloud computing, of course.
Scalable
This one is the most obvious. Time is supercritical and always will be. The speed of convergence will be an evergreen. Future CFD codes must be very fast and effective at 1 processor, at 10 processors as well as at 1000 processors. Perfect HPC scaling will be a must.
We all know very well, it is not possible to predict the future. Nevertheless, it is so exciting to do so. Maybe our thoughts can help us creating it.
Please let me finish with my favorite quote from S?ren Kierkegaard: “Life can only be understood backwards; but it must be lived forwards.”
And what do you think about the future CFD codes?
I appreciate if you share your thought with me.
Taking the heat out of the engine in the past, now is all about the Battery (not the Bass).
7 年You are describing my present! Some CFD codes already offer all of that.
Associate Professor of Fluid Dynamics at Università della Campania "L. Vanvitelli"
7 年A CFD code for the 21th century will require to educate a proper user for the 21th century ...At present, I often see not educated users for the codes of this century ....
Associate Professor of Mechanical Engineering
7 年Maybe related: https://en.simico.co/blog/
Territory Sales Manager
7 年put simulation into the design flow with industrial knowledge, close the loop fromdesign and verification. simulation is some kindof separated between desiginer and analyst
Accompagnement de projets de Transition Energétique
7 年Hi CFD guys and the others I do appreciate this good initiative (thanks Lubos) to share ideas on the trends in CFD, and I fully agree on what has been written. Here below are my contribution : Multi-disciplinary design optimization (MDO) has definitely become a driving parameter for the future trends in CFD : in a global process, CFD may be view as “just a brick in the wall” (Pink Floyds), but one at very high-value if it allows to rather-easily deliver its contribution. The promotion of numerical facilities based on OpenSource tools aiming at developing OpenBusiness (the combination of CF-Turbo and TCFD may be quoted) appears , at least in my opinion, to be a 2nd essential key-point for the yet-coming future. To enable that : ? As it has already been the trend, CFD must somehow be de-skilled on the technical aspects (installation+usage+maintainance), precisely in order to free user’s concentration/efforts on what counts in the end : applications and its large potential for future multi-disciplines ; regarding, ? As far as the generation of bulk data is useless if one can not make the most of them (understanding, handling, etc …), friendy post-processing facilities, efficient on large data-samples (in particular if one think about unsteady CFD calculation), appear to be a very important ingredient : I am thinking about the usage of programming language R with both a GUI and a command-lines versions. ? Strengthen the sharing of knowledge and experiences within the users community (forum, days, data bases) : with reasonable registration fees (according to different licensing schemes to keep on being affordable+valuable for the different users : let’s mention the ERCOFTAC database) ? Growing usage of virtual apps containers (example = Docker Hub) Once again, considering the whole simulation processes, a CFD code is a necessary but far-to-be-enough ingredient in the Computer-Aided-Engineering ; moreover, for the time being for sure, CFD is usefull; but this may become no longer that true whenever quite a lot of databases will be available and interpolations+extrapolations from those databases may be good-enough to have an acceptable estimate for the situation under consideration. Regards, Henri