Getting Started with Computational Materials Science

I had the same question when I was in college and did not know what to do. But now, with some reading and experience, I know how much I don't know. Here's a short introduction to get you started:

You should know that when somebody talks about computational materials science, they are talking about using a computational technique to solve a problem in materials science or metallurgy. These computational techniques could be FEM, DFT, Phase-field Modelling, Molecular Dynamics or anything else.

A good way to think about these techniques is that typically, they are specific to a particular length scale. DFT and MD are "a few atoms" scale. Phase-field modelling is in the "large nano to micron" scale. FEM is a much larger length scales.

The foundation of all of these computational methods is mathematics for obvious reasons. If you want to understand and use the techniques mentioned above, you might need a little mathematics: Numerical Methods, Multivariable Calculus, Linear Algebra, Statistics.

Of course, no one expects you to be an expert in any of these mathematical techniques (at first), but after a first-level reading of what these techniques are and how they work (check out Wikipedia), it would be a good idea to take a MOOC and get started. Khan Academy is a good starting point.

I prefer watching videos, but if you wish to read some textbooks on this subject, check out these books: Computational Materials Science: An Introduction by June Gunn Lee and Introduction to Computational Materials Science by Richard LeSar.

The third component is programming. I am assuming you have beginner level prior experience in writing code. Start with the most basic exercises (arithmetic, loops, functions etc.) For starters, try this. Learn to use GitHub. You can learn how to use it in a couple of hours! Host all of your code on GitHub.

If you've got this far (in the post as well as IRL), pat yourself on the back.

When I first heard about computational materials science as a subject area, my starting point was learning to use OOF2. Installing it comes with a slightly steep learning curve (if you have never used Linux before); the developers make it easy to set up and use the package. Try it!

Going one step ahead, you can also check out QuantumEspresso and LAMMPS. I am familiar with both but have not used them enough to give you an informed opinion. Nonetheless, I would recommend you check them out.

If you don't find resources, search on YouTube (filter by playlists for courses). Check out Library Genesis and SciHub. You can learn a lot by exploring sites like Quora and StackExchange. You may also find my GitHub repositories helpful.