Message Boards Message Boards


Possible to model crystal growth with cellular automata?

Posted 10 years ago
5 Replies
4 Total Likes
Many sub-fields of materials science are interested in understanding interfaces: if I deposit a layer of germanium on top of silicon, how is the germanium lattice distorted? 

A challenge for any cellular automata-like model of this process is that the size of the lattice/grid changes: silicon atoms aren't the same size as germanium atoms. 

Much searching of the Wolfram site has found a few CA models of deposition, but none that incorporates this somewhat critical aspect. 


Is it even possible to build a cellular automata with non-uniform cells, or does that put me into more traditional modeling domains? 

More generally, any pointers to people using Mathematica to model crystal growth? At this point I'd be interested in any level of sophistication, from hard spheres all the way up, simply because there doesn't seem to be a whole lot out there. 


5 Replies
You might check out:

ASECA: A cellular-automata simulation program for a silicon anisotropic super-micro-etching process in aqueous KOHKazume Nishidate1, Mamoru Baba1 and Richard J. Gaylord2Computers in Physics. 12, 88 (1998);
POSTED BY: Richard Gaylord
Thank you for the additional information. That will definitely give me some useful starting points. -- Katherine 
There are quite a few books that teach exactly modeling with CAs. For example this recent one:

Computational Materials Engineering: An Introduction to Microstructure Evolution

Has chapter for dedicated to CA modeling, below is an intro from chapter and its TOC.
This chapter explores cellular automata. It starts off by presenting a minimal description used to define cellular automata. The chapter also discusses a mathematical formulation of cellular automata. In the context of microstructure evolution, cellular automata are mathematical algorithms that describe the discrete spatial and temporal evolution of complex systems. The irregular and shapeless cellular automata are described in detail in the chapter. The concept behind irregular cellular automata is that the cells are distributed randomly. Shapeless cell shapes are not computed explicitly; only a point position is used. Shapeless cells have the advantage of being much more flexible in their definition of neighborhood. The hybrid cellular automata modeling are also explained here, which means combinations of different types of CA and other computational methods. The chapter discusses the lattice gas cellular automata. Lattice gas cellular automata are a form of CA in which position and momentum of interacting particles are modeled on a discrete grid of points. Finally, the last section of the chapter discusses the network cellular automata (NCA), which are a fairly recent development of cellular automata. The chapter presents a brief definition of the same.

4 Cellular Automata 
 4.1 A Definition  4.2 A One Dimensional Introduction 4.2.1 One Dimensional Recrystallization 4.2.2 Before moving to higher dimensions  4.3 +2D CA Modeling of recrystallization 4.3.1 CA-Neighborhood Definitions in 2D 4.3.2 The Interface Discretization Problem  4.4 +2D CA Modeling of Grain Growth 4.4.1 Approximating Curvature in a Cellular Automaton Grid 4.5 Mathematics of Cellular Automata  4.6 Irregular and Shapeless Cellular Automata 4.6.1 Irregular Shapeless Cellular Automata for Grain Growth4.6.2 In the Presence of Additional Driving Forces  4.7 Hybrid Cellular Automata Modeling 4.7.1 Principle 4.7.2 Case example  4.8 Lattice Gas Cellular Automata 4.8.1 Principle ? Boolean lgca 4.8.2 Boolean lgca ? Example of Application  4.9 Network Cellular Automata 4.9.1 Combined Network Cellular Automata 4.9.2 CNCA for Microstructure Evolution Modeling  4.10 Further Reading
POSTED BY: Sam Carrettie
Thank you for the links. Very helpful! 

The specific real world problem that I'm interested in has to do with formation of dislocations and other defects at the interface between Si and Ge, and how those defects propagate through the Ge bulk.  (I'd like to ultimately generalize this to Si/InGaAs interfaces, but that would be a much more difficult problem. So sticking with Si/Ge for now.) Those defects arise due to lattice distortion: Si and Ge atoms are not the same size. 

So no, I don't think a two-color CA would quite do the trick. I need a way to account for the fact that Si-Ge bonds "pull" the lattice out of alignment relative to Si-Si or Ge-Ge bonds. (And note that these are covalent, not ionic bonds, and therefore much more "stretchable" than the bonds in NaCl.) 

Existing computational models for this kind of thing use lots of messy math and as a result can't handle large enough systems to give a good visualization. The classic classroom demonstration uses ping pong balls and a blower or other agitator. I'm looking for something in between. 

I've reviewed the NKS section on crystal growth before, though not recently. That's what sparked my initial interest in applying CAs to this problem. My lack of expertise with CAs is showing, though, as I'm not really sure how to go about defining CA rules to reflect the physics of real world structures. 

Dear Katherine, I think this is interesting topic. A few thoughts. First let me recommend you a general reading on the subject: NKS: The Growth of Crystals. Also here is some WL source code on crystals - some including CA growth. Then if you are interested generally in CAs n non-uniform latices there a few examples at the Demonstration Project:
But now sepcifically about binary atom systems, say binary alloys or ionic compounds - say like NaCl. My questions is: are you interested in simulation of such crystal growth in general, or specifically in lattice distortion? Because we can model binary systems not necessarily with differently-sized cells but simply, say, "values" of cells (there could be many other means too). This simple code below is 3-color CA where 2 different types of atoms are represented by red and green. It is not of course a realistic model, just a CA formalism to account for 3 type of things: no atoms, atom type 1, atome type 2.
Image3D[Last@Rescale[CellularAutomaton[{r, {3, 1}, {1, 1, 1}}, {{{{1}}}, 0}, n]],
ColorFunction -> "RainbowOpacity", ImageSize -> 400, SphericalRegion -> True]
, {{n, 9, "steps"}, 1, 20, 1}
, {{r, 10^8 + 14, "rule"}, 10^8, 10^8 + 10^4, 1}, FrameMargins -> 0]

POSTED BY: Vitaliy Kaurov
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
or Discard

Group Abstract Group Abstract