Research Tips

Dr. Paul Ronney of University of Southern California has a detailed list of tips on conducting research (PDF) on his website. I found these tips extremely helpful. What appears below is a distilled version of these tips that I found useful during my PhD and postdoc.

Start with a Simple Example

When you start any project, you need to build an adequate background. This involves developing fundamental understanding and getting comfortable using the necessary tools. In simulation-based research, this using and understanding the software, and getting comfortable with coding and debugging. In experimental research, this means understanding the equipment, tools and methodology, and knowing the limitations of the experimental techniques.

In order to do this, you need to start with a simple example first. For example, its ill-advisable to start with a code for 1D boundary value problem with reacting flows, heat and mass transfer, and complex chemistry. Starting with a simple isothermal plug flow reactor with a first order reaction rate is much better as the coding / debugging is simpler and the numerical result can be compared to the analytical result. In experiments, start with connecting tubes and measuring flow and pressure.

Formulate Problem Statement Carefully

This is the first major difference a student faces between course-work and doing research. Most often in a course assignment, the problem is already formulated and your job is to solve it using various tools at your disposal. On the other hand, research problems are open ended. Not only do we need to think about what are important problems or issues that need to be addressed in our field of interest, we also have to translate these issues into a problem statement that we will tackle using tools at our disposal. This involves translating these ideas into a mathematical framework. At this stage, we need to explicitly think about what assumptions were used in developing the mathematical framework. This is not a once-only process, but an ongoing process of rechecking and refinement. Start with a reasonable problem statement (it need not be great), and iterate to improve it as more info or data becomes available.

Verify Balance Equations and Check all Units

Verify that the balance equations are correct. Ensure dimensional consistency. You cannot add 1 meters with 1 kilogram. A dimensionally correct model may not be accurate; but dimensionally incorrect one is definitely wrong! Likewise, its easy to make simple mistakes; remember 1 foot + 0.2 cm = One Poor Execution.

Write, Debug and Verify the Code

  • Remember (as one of my professors would say): A code is only as smart as the coder
  • Your code should run and give results without crashing.
  • The results should make physical sense. For example, the mass fractions should sum to unity, mass/moles of species should be positive, temperature should be positive (or, in case of exothermic reactions, temperature at exit may not fall below the inlet/ambient temperature), etc.
  • All the conservation equations should be satisfied at all times? These include mass, energy, momentum and individual atom (species) conservation. Verifying conservation “globally” should be straightforward; do not leave it for the end, verify early and verify often.
  • Before deploying your code, check its performance for “text book examples.” Make simplifying assumptions so that the resulting system can be solved analytically or has a known solution to compare against.

Analysis of Results

  • Do not change multiple parameters simultaneously (unless there is a specific reason to). Change only one parameter at a time
  • Analyze your data regularly. Do not wait until all experiments / simulations before you start your analysis
  • Linear vs. logarithmic; monotonic vs. non-monotonic sweep of parameter space.
  • More fun at the extremes. More data needed at these conditions
  • Make programs general
  • Plan your work…
  • And keep iterating. I have never seen research go exactly as planned (else, it would just be called “search”).
  • Use descriptive names for all your files

Always keep Notes

Do not rely just on your memory. Keep a research journal, and note down every result that you obtain. You don’t want to spend time re-doing things only because you were sloppy with book-keeping. Also, keep a section in your journal dedicated to new ideas. Jot down your research ideas, even the ones you think are “whacky.”

And finally, don’t feel shy in asking for help. It’s amazing how willing people are to help you. But remember to always pay it forward. Being a great citizen of the institute means that everyone around you will find happiness in helping you!