Wednesday, April 28, 2010

Atomistic Small Bearing: dynamics performed in NanoEngineer-1, visualized in Blender

The astute viewer will notice two things first:
1-I still can not frame a shot for shit.
2-The back side of the rotor is missing a hydrogen atom

Well, these are still more or less movies where I am more concerned with getting different things to work than I am with cinematography and such. Maybe next time I'll throw in some long parallel walls to frame the action. Also any long time readers of this site will know that I have had my problems with hydrogen in the past, but, all in all, things have come a long way from the last time I posted anything about the famous small bearing first proposed by K. Eric Drexler back in 94, I believe.

A little about how I did it:

NE1 will save simulations in two ways, either as a binary file (which I can't do much with right now expect turn into gibberish) and a series of POV-Ray files, one for each time step. So you are probably thinking "why not just stitch the povs together, adjust the lighting, camera, materials, whatever and call it a day?" I know POV-Ray is great, and I'm pretty sure it is all Pixar uses, but I'm just a gui type of guy I guess. So I have written a Frankenstein's Monster of a script that will read in a series of povs and create atom trajectory files, one for each atom. Normally it would then just be a matter of using Miron Cuperman's import_ipo_script to connect the atom trajectory files with a PDB model which NE1 exports and Miron has also provided a very fast importer for.

The only problem here is NE1 writes the atoms in a different order in povs and PDBs. It is very important that the right trajectory matches up with the right atom. So I added another section (subroutine?) to my script that will read in the first pov ray file and create a bona fide .xyz chemical format file. I went with the .xyz because it is the simplest format I know of. Then all you have to do is run it through Open Babel to convert it into a PDB file that has the same atom order as the pov files and can be imported into Blender. That's all there is to it.

I fully intend to clean it up, rewrite parts so they're not embarrassing (even for me) but if you can't wait, you can get a copy of my script. The XXX stands for a couple of things. Guess!

Friday, April 23, 2010

C60 and C240 collision at 10eV

Something a little more than just jiggling

This would not have been possible without the help of Miron Cuperman and his coding skills. Miron has written a nice python script to automate the process of importing csv data in Blender to animate objects. You can get a copy here

I will be the first to admit I am far from a Blender pro, but I hope to be able to show off some of the features that other visualizers don't have or do in a way I find cumbersome. This episode: Camera Tracking

More interesting stuff is on the way too.


Sunday, April 11, 2010

Thursday, April 8, 2010

visualizing GROMACS simulations with Blender (teaser)

This was a proof of concept test, so I'm not going into the details of how to do it right now. There are also a couple of steps I still need to automate to make this a practical solution; that's why there is only five atoms in this one. However I'm optimistic those can be worked out easy enough. After that I'll upload a turn-key script of sorts that will give you the features and flexibility of Blender to render GROMACS molecular dynamics simulations.

Atom Trajectories from GROMACS
Carbon Nanotube Animated in Blender
Molecular Rotor Animated in Blender