Updating codes for colleagues (and also for my future works)

Over the last week, a new postdoc and students arrived in our group. So, I decided to give an informal tutorial for them. I just opened a zoom meeting room, shared my screen with black terminal windows, and showed them, for example, how to reproduce key data figures of theory papers. In my opinion, the best way to learn science for students is by looking at what experienced researchers are doing and repeating the same thing. It may sounds a little bit stupid becuase it doesn’t sound like they produce new knowledge. But here’s my point: Even if you can find details in papers, there are so many unwritten techniques (It’s like cooking in some way. You can find recipies made by best chefs but they don’t guarantee that your food is tasty!). Usually by the end of PhD, one should be able to easily reproduce the result of other papers just by looking at the Method section of the paper. And you realize that other people do not know what you do not know. Well, if you’re still a student and if you feel so, it’s time to write up your thesis.

Anyway, because different people in our group have slightly different interests and directions, I decided to add more routines and make it more easily accessible for them. It turend out to be much more work than I expected though. For example, in my own research work, some calculation routines are kinda-okay even if I don’t parallelize (Well, if the calculation finishes in 2 mins even by serial execution, why would I bother?). But another person may need to sample much dense phase space points to see fine details. Fortunately, parallelization of several new routines were finished in a half day. Quite surprising because I actually planned to dedicate a whole week if I have to! (Almost always you find a wierd MPI error which can easily take a week or two). Well, at the end most physics programs use quite simple MPI directives (send/receive, scatter/gather, broadcast, reduce), as what we do is essentially writing equations in the program.

Another major update, although it was very easy to do so, was to write output files in Python numpy format rather than traditional text format (or unformatted file). Oneday I just heard that colleagues of mine made a very nice tool, and they told me I should use it. If you’re into it, here’s a github page. It’s quite a neat program which is easy to use.

I am currently thinking what I can do better with the current update of the code. I am quite into canted antiferromagnets in recent months. I am also thinking about other exotic materials and see if they fit into the line of my research works in the last few years. Now that all the machinaries are ready, I just need to get nice ideas!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s