FORTRAN is still being used to write CFD codes for a number of reasons, including:
Performance: FORTRAN is a compiled language, which means that the code is converted into machine code before it is executed. This makes FORTRAN programs very fast and efficient.
Maturity: FORTRAN is a mature language that has been used for decades to write scientific and engineering software. This means that there is a large body of knowledge and experience available to FORTRAN programmers.
Portability: FORTRAN compilers are available for a wide range of platforms, including workstations, mainframes, and supercomputers. This makes it easy to port FORTRAN CFD codes to different computing platforms.
Libraries: There are a number of well-established FORTRAN libraries available for CFD, such as PETSc and FEniCS. These libraries provide a wide range of functionality for solving CFD problems, such as mesh generation, linear solvers, and flow visualization.
While FORTRAN is a powerful language for writing CFD codes, it is also a relatively old language. It can be more difficult to learn and use than newer languages, such as Python and C++. However, for many CFD researchers and practitioners, the performance, maturity, portability, and libraries available for FORTRAN make it the best choice for writing CFD codes.
Rubish! It is because is a very easy language to learn. My students never took more than 2 days to write correctly complex computer programa, including a entirely new CFD FORTRAN computer program for flow calcularion in axial flow compressors…I myself, decades ago, when introduced to computer language, heard: you are being introduced to a dead language, as latin,…
a developper writing a software or library in a some programing language will keep using the same language for maintaining that code beause rewriting in new language will add cost but wont add speed.
in contrast writing new code in new language will ease it's maintenance, have access to newer libraries ...
by the way i think FEniCS is a c++ llibrary acording to wikipedia and github.
using a language will be driven by it's ease of use and performance:
- 1D PDE (1d transport), small domain, simple mesh ==> python, matlab, julia
- 3D , large domain (CFD) ==> Fortran, c, c++, Rust (rust is less used but it has a growing community and the benifit that when used correctly if your code compiles it will work without any memory leak)
For very large and long developed CFD codes the matter is not only writing the code, maintaining it, its performance and parallel scalability.
The major and extremely time- and resource-consuming issue is the validation of the code for its industrial application. If one would decide to rewrite a 20 years long developed CFD code in a different programming language, then the benefit in terms of return of investment would probably rather marginal. And it came for the cost, that all previous code verification and validation needs to be done again from scratch. That is something, which is most of the time underestimated by young researchers just writing their own university code alone and in an isolated manner as a PhD exercise. For them for obvious reasons the usage of such an old programming language like Fortran seems rediculous and no longer justified. But this assessment leads to an entirely different result, if you look on that question from the perspective of a commercial CFD code with an already spent work effort of thousands of men-years in it.