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

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
9 replies · 3K views
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!
 
Physics 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
 
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   Reactions: jedishrfu
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.