Hi Geoff,

From: Geoffrey Hutchison <[email protected]>
Subject: Generating Slabs / Surfaces
Date: Thu, 19 May 2011 15:57:43 -0400

> One of the frequently requested solid-state features in generating
> slabs. You know -- someone wants to do a simulation of a Pt (111)
> surface with an adsorbed molecule. Or better yet, a Pt (211)
> "miscut" or defect surface.
> 
> I have some code that purports to allow rotations to arbitrary
> Miller planes, and it seems to work for the camera. But anytime I
> tried to modify the coordinates of the actual atoms, weird things
> happened. Since I've never had much time to debug this, it sat on
> the shelf.
> 
> Today, the solution hit me. It's *REALLY* easy to do:
> 1) By the definition of a Miller Plane (say 111), you can find the
>    normal vector to the plane. So for (111), the normal vector is
>    [111].
> 2) To generate a slab, what we want to do is to rotate this normal
>    vector [111] to the z-axis. This means atoms in the Miller plane
>    will end up in the xy plane.
> 3) The normal vector is actually in fractional coordinates, so you
>    need to convert it to Cartesian real-space.
> 4) Use the same rotation code currently in the aligntool.
> 
> The result will orient the crystal atoms, such that the Miller plane
> is parallel to the xy plane. You now need to translate in the
> z-direction and cleave as needed. To ensure you have a big enough
> slab, generate a big supercell beforehand and delete atoms as
> needed.
> 
> If anyone wants to give this a try, I'd be glad to help
> them. Otherwise, someone here at Pitt will work on this over the
> summer.

I started work on this very problem shortly after writing the
crystallography extension, but life got busy before I could finish
it. I believe I took a similar approach to the one you
describe. Unfortunately time is very tight for me right now, and will
continue to be through the end of summer. I will happily put my code
up somewhere public later today in case someone would like to pick
this up -- There are several people who have asked about this, and I
think it would be an excellent feature for Avogadro to have.

Dave

------------------------------------------------------------------------------
What Every C/C++ and Fortran developer Should Know!
Read this article and learn how Intel has extended the reach of its 
next-generation tools to help Windows* and Linux* C/C++ and Fortran 
developers boost performance applications - including clusters. 
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
Avogadro-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/avogadro-devel

Reply via email to