What are some obscure but useful Linux software for PhD students?

AI Thread Summary
PhD students in fluid dynamics are encouraged to explore various obscure yet useful Linux software options to enhance their research and simulations. Recommended programming languages include C++ and Fortran for computational fluid dynamics (CFD), with MATLAB suggested for initial algorithm development. Visualization tools like ParaView and Visit, along with the VTK library, are valuable for analyzing simulation results. For managing research papers, JabRef is highlighted as a helpful tool that integrates with LaTeX for bibliography creation. Additionally, learning command line tools such as sed and awk, as well as debugging and profiling software like Valgrind, can significantly improve coding efficiency and output management.
RobosaurusRex
Messages
29
Reaction score
1
Hi,

I am a PhD student studying fluid dynamics, and have a heavy interest in numerical programming and simulations. I come from a background in Applied Mathematics and Theoretical Physics.

I have an ubuntu system set up and I have the typical software I plan to be using regularly, ie MATLAB, Python, LaTeX.

Is there any useful/fun software you guys recommend that either is obscure or something not many people would think of? Anything relevant to maths/physics or even just admin related to PhD is much appreciated!

Even any coding languages which you think would be of worth, please throw them down to.

Thanks!
 
Technology news on Phys.org
If you are doing CFD, you need a compiler for your code, C++ or FORTRAN because CFD unstructured grids take an immense amount of time to run and converge to a reasonable answer. Matlab is OK for initial algorithm development.
 
There is also the Anaconda python distro that is very popular as it has many of the key python modules configured in.

Directions here:

http://quant-econ.net/py/getting_started.html

It can also run Julia numerical programming as well.

http://quant-econ.net/jl/index.html
 
Dr Transport said:
If you are doing CFD, you need a compiler for your code, C++ or FORTRAN because CFD unstructured grids take an immense amount of time to run and converge to a reasonable answer. Matlab is OK for initial algorithm development.

Do you have any recommendations for source material to a novice of fortran
 
Thousands of sites online... and if your professor is older than 40, they most likely wrote fortran in the past.
 
I also recommend to use something like http://www.japref.org to keep track of your growing list of research papers, it can be easily used with latex to create bibliographies. You can also put an addon in firefox so if you are on springer or elsevier, you can directly put the bibliography information in jabref.

For making simple drawings (with latex support) I used to use http://epb.lbl.gov/xfig/ , but it is no longer maintained (any other recommendations?).
For making 2d plots, I use gnuplot or xmgrace

I also recommend playing around with command lines using sed and awk to manipulate output files. there are some interesting websites with lists of oneliners that are real time savers.
When debugging, use the debugger. That's what it's for. Also learn how to use a profiler. I have used valgrind, but if there are others that are better, I'm happy to hear about them.
 
Last edited by a moderator:
RobosaurusRex said:
Do you have any recommendations for source material to a novice of fortran
In addition to what was mentioned above I would like to recommend the "Guide to Fortran 200x Programming" by Walt Brainerd. I read the book for ##x = 3## and found it very useful. Recently I saw that there is a new edition corresponding to ##x = 8##. I also heard good things about "Modern Fortran in Practice" by Arjen Markus, but I do not own that book myself.

As a compiler you could use gfortran, which is part of GCC. Depending on your employment situation and your hardware, you could also be eligible for free use of Intel's compiler and fine-tuned versions of standard numerical libraries (BLAS and LAPACK, among others).
 
Last edited:
  • Like
Likes jedishrfu
  • #10
If you're working in a mixed programming environment then you might want to check out Julia as it can interoperable with fortran, R, Python and c/c++. Julia is a more modern open source version of MATLAB.

It has downloadable modules to create all kinds of charting.

It's available in the anaconda distro mentioned earlier.
 
Back
Top