Hello every one, i hope that your are okey.
I’m written because i’m confused, I’m a Phd student in energetic physic and i’m interested in fluid dynamics’s simulation. Please help me to choose the appropriate software to my problem( i’m between Fortran 77,Python or multiphysics)
*Knowing that I work on rotating flows.
Best regards
Welcome to the forum. You’ll find a friendly and helpful community here, but the answer to your question is likely to be a bit biased; we all (most) prefer Fortran (and modern Fortran at that). @kargl’s answer is quite on point though. Use what you and your colleagues are comfortable with and you find makes you productive.
I’ll suggest that you’ll find lots of helpful and knowledgeable folks if you choose Fortran, and tell you why I pick Fortran as my language of choice: Why Fortran? - YouTube
The language choice is not either or. It is common to create a graphical user interface in Python to a Fortran code and to plot results from a Fortran using Python.
What does your advisor recommend you use? What do most people in your research group use? You may progress faster if you build on the codes of others.
Thank you for your comment.
I agree with you about the old version of our software -FORTRAN77- but I want to know if there are big differences between its versions which oblige me to learn it again ?
Please, if you could show me how to download the 2018 one.
Best regards
thank you very much sir for the welcome, I have the honor to be among you.
I’ll be very happy if you help me in my study and I’m so excited to learn it with you.
Could you give me your e-mail to contact you, please?
my most respectful regards.
Thank you for the welcome.
At the reality my group works with FORTRAN77, but I’m not convinced of it. I heard it’s not useful nowadays, so I search for new softwares in order to valorize my research.
I can that I have the code but in the old version, Is it easy to elaborate it with the new ones?
Please, if you could give me your e-mail to contact you.
Cordially.
Hi @Redj I’m one of the Devs (and PhD students) using GitHub - FluidityProject/fluidity: Fluidity a CFD unstructured and adaptive finite element code, almost exclusively written in Fortran. Please feel free to let me know as to what you’re looking for in your multiphysics code, fluidity or some of our closed-source codes might already be capable of doing what you require.
You can reach me at everythingfunctional@protonmail.com. I will warn you that at a point I start charging for private consulting/tutoring. But you should always feel free to ask questions openly here. I’ll often respond, especially if you tag me, and you’ll get opinions from some of the other knowledgeable people here, and future readers will benefit too. It’s win-win-win.
You ought to compare Python’s Numpy to Fortran array syntax to get a fair idea about productivity and performance.
Consider the following for starters:
- Kernels/transpose-pretty.F90 at default · ParRes/Kernels · GitHub
- Kernels/transpose-numpy.py at default · ParRes/Kernels · GitHub
Or:
There’s no really such things as F77 compilers around nowadays. If your group is working with Fortran, they most probably use a more-or-less recent compiler that supports the recent versions of the standard (for sure F2003/F2008, and maybe F2018, at least some parts). As already mentioned, the nice thing is that the major recent compilers can still gracefully compile old F77 codes. If you have F77 codes, nothing prevents you to insert more modern features inside, or to mix it with fully modern code that you would write.
As @JeffH said, side by side comparisons are great. Here is another one:
We are porting it to fortran-lang.org here: Add : Python Fortran Rosetta Stone (Transfer content from fortran90.org #112) by henilp105 · Pull Request #185 · fortran-lang/webpage · GitHub.
Hello @gnikit, glad to meet you sir. I’m also Phd student at energetic physic and I work on rotating flows. Please give me your e-mail to contact you about some things if you allow and I’m very grateful to you.
Thank you very much.
@PierU thank you very much sir. Honestly, you made me happy.
Thanks a lot sir @certik
. It’s very nice.
Welcome to the community, Redj.
I am not an expert. I thought I would share my thoughts about this in general.Maybe it will be helpful. I know nothing about multiphysics, so I can’t help you there.
The answer is likely to be both Fortran and Python. Many software packages and libraries for this kind of complex physical modeling are written in Fortran. They often began decades ago, and continue to be developed and improved as theory and techniques evolved. The Fortran language has a strong legacy of backwards compatibility and performance. Codes written ages ago still run, and still run well, and can make use of modern architectures lik.e GPU programming. You will encounter Fortran.
Python is being used more and more as a kind of “glue” language, used to integrate disparate chunks of software into a whole application. It’s a younger language, and evolves, sometimes in not-backwards-compatible ways. It’s still important. You will be happy to use Python for this.
As others have mentioned, modern Fortran is so much better to use than Fortran 77 that you will benefit from learning it. New code, even in old packages, is often developed with features from Fortran 2003 and 2008, and will be using Fortran 2018 and 2023 (not to mention 1990 and 1995).
Many of the people on this forum will be happy to help you with specific advice, as you’ve already seen.
Good luck on your research!