South China University of Technology 1.高温塑性变形热模拟实验 South China University of Technology Growth of Cluster Xiaobao Yang Department of Physics www.compphys.cn
C60 Graphene fragments C20 Clusters experimentally observed ACS nano,6,8203(2012) Nature 318,162(1985); 407,60(2000);
Diamond fragments Science 299, 96 (2003);PRL, 103,047402(2009)
B20 B19 http://www.chem.brown.edu/research/LSWang/ http://www.tsinghua.edu.cn/publish/chemen/2141/2011/20110413125809079217484/20110413125809079217484_.html
The Geometry of Universe Platonic and Archimedean solids http://blog.sciencenet.cn/home.php?mod=space&uid=279992&do=blog&id=509211 Nature 425, 593-595. 9 October 2003
Wulf’s construction How Clusters are found? Dense Packing and Symmetry in Small Clusters of Microspheres Wulf’s construction Science 301,403(2003)
Nucleation / Diffusion / Reconstruction The growth and evolution of Clusters Nucleation / Diffusion / Reconstruction Substrate / bonding / Temperature
No diffusion vs Full diffusion Cluster growth model No diffusion vs Full diffusion
Cluster Growth Model Refer to DLA.m 1.高温塑性变形热模拟实验 Cluster Growth Model Diffusion Limited Aggregation (DLA) Model Discussion on programming Choose initial position of a walker at random on a circle r0. If the walker wanders too far from the cluster (say, >1.5r0), start a new walker. As the cluster grows, r0 should be increased. (say, keep r0=5Rcluster) When the walker is far from the cluster, a greater step size may be adopted. Refer to DLA.m Fractals? The dimensionality of clusters?
DLA.m 1)Place the seed 2)Atomic random walk towards the seed clear; clf; M = 300; N=1000; % MxM grid; N particles; A=zeros(M,M); for i=1:M; for j=1:M; if(abs(i-M/2)<M/40 & j==round(M/2)) A(i,j)=-1; end; end; %imagesc(A); hold on nparticle=0; while(nparticle < N) %generate a random walker within the belt of 3/5*M/2<R<4/5*M/2 r=(rand/5+3/5)*M/2; theta=rand*pi*2; x=round(r*cos(theta)+M/2); y=round(r*sin(theta)+M/2); check = 1; R=M*9/20; % checker for walkers wandering too far i.e., |walker-center|>R. % if not meet the seed, continue wandering while( A(x-1,y) ~= -1 & A(x+1,y) ~= -1 & A(x,y-1) ~= -1 & A(x,y+1) ~= -1) x=x+sign(rand-0.5); y=y+sign(rand-0.5); if( abs(x-M/2)>M*9/20 || abs(y-M/2)>M*9/20 ); check=0; break; end; %walker elimated if wandering too far! end if(check==1); A(x,y) = -1; nparticle = nparticle + 1; end; %meets seed; seed updated. %if(mod(nparticle,100)==0); imagesc(A); end colormap(winter); imagesc(A); axis([0 M 0 M],'square','equal'); 1)Place the seed 2)Atomic random walk towards the seed 3) Check if the atom is attached 4) Neglect the atom far from the seed 5) Draw the cluster
Matlab: illustration colormap image() imagesc() pcolor()
Cluster Growth Model Eden Model Eden Cluster 1.高温塑性变形热模拟实验 Cluster Growth Model Eden Model Consider a two dimensional lattice of points (x, y). Placing a seed particle at the origin (x = 0, y = 0). Growing by the addition of particles to its perimeter. unoccupied near-neighbor sites as the perimeter sites of the cluster. Choose one of these perimeter sites at random and place a particle at the chosen location. This process is then repeated; update perimeter and particle. Continue this process until a cluster of the desired size is obtained. Eden Cluster
x x nearest edge tmp clear x=[0 0]; %initial nearest=[0 1 0 -1 1 0 -1 0]; edge=nearest; %perimeter for ii=1 growsite=ceil(length(edge)*rand); tmp=ones(4,1)*edge(growsite,:)+nearest; x=[x edge(growsite,:)]; tmp=[tmp edge]; edge=setdiff(tmp,x,'rows'); end x edge x tmp
Dimensionality of the cluster 1.高温塑性变形热模拟实验 Dimensionality of the cluster For a straight line: where r is small enough.
1.高温塑性变形热模拟实验 Eden vs. DLA cluster
Morphology of a Class of Kinetic Growth Models Place a seed particle at a site on a two dimensional square lattice. 1)Check the four neighbors of the seed and occupy each one, independently, with a probability p 2)Sample the nearest neighbors of the second generation and fill these sites independently with a probability p. sites which are not filled are blocked and cannot be filled at a later time. p = l, (b) p = 0.9, (c) p = 0.8, (d) p = 0.7,(e) p = 0.6, (f) p = 0.545. If we modify our model so that all perimeter sites are active growth sites for all time, then we approach the Eden model in the limit p->0. PRL,55,2515(1985)
1) Select the active sites with p 2) Record the unactive sites clear x=[0 0]; %initial edge=[0 1 0 -1 1 0 -1 0]; nearest=edge; p=0.6 % propobality unactive=[]; for ii=1:200%generation growsite=rand(size(edge,1),1)<p; if max(mod(growsite+1,2))>0 unactive=[unactive edge((growsite==0),:)]; end x=[x edge(growsite,:)]; tmp=edge(growsite,:); for jj=1:size(tmp,1) edge=[edge repmat(tmp(jj,:),size(nearest,1),1)+nearest]; edge=setdiff(edge,x,'rows'); if length(unactive)>0 edge=setdiff(edge,unactive,'rows'); 1) Select the active sites with p 2) Record the unactive sites 3) Add atoms and update edge 4) Delete edge from cluster and unactive sites plot(x(:,1),x(:,2),'*') hold on plot(edge(:,1),edge(:,2),'o') axis equal plot(unactive(:,1),unactive(:,2),'ro')
Shapes in square lattice: Diamond Square Triangular The role of energy Shapes in square lattice: Diamond Square Triangular
Simulation of cluster 1) Adding atoms 2) Atom diffusion allowed Adding and deleting to conserve the number of atoms 3) Energy estimation 4) Accept or reject the configuration
Spanning clusters
Percolation Problems Porous rock 1.高温塑性变形热模拟实验 Percolation Problems Porous rock (Original percolation problem, Broadbent and Hammersley, 1957) 2. Forest fires, etc How far from each other should trees in a forest (orchard) be planted in order to minimize the spread of fire (blight)? Suppose a large porous rock is submerged under water for a long time, will the water reach the center of the stone? p=0.48
What is percolation ? 2-dimension percolation 2x2 lattice 6x6 1.高温塑性变形热模拟实验 What is percolation 2-dimension percolation Percolated system if a spanning cluster exist (connects top and bottom exists) 2x2 lattice What is the probability for a system to be percolated for a given coverage? 6x6 ? Infinite x infinite (critical coverage) 120x120
Simulation of Percolation 1.高温塑性变形热模拟实验 Simulation of Percolation
Percolation clear, clf, colormap gray; M=24; p=0.7; A=rand(M,M); for i=1:M; for j=1:M; if(A(i,j)<p ) A(i,j)=0; else A(i,j)=1; end end; end imagesc(A) for ii=1:size(A,1) for jj=1:size(A,2) text(jj,ii,num2str(A(ii,jj))); hold on end
Divide the data into two groups rock=[]; hole=[]; for ii=1:size(A,1) for jj=1:size(A,2) if A(ii,jj)==1 rock=[rock ii jj]; else hole=[hole end A=[ 0 0 1 1 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 ];
Find the spanning clusters for ii=3%1:size(hole,1) tp1=hole(ii,:); tp2=[tp1 repmat(tp1,size(nearest,1),1)+nearest]; tp2=intersect(tp2,hole,'rows'); while size(tp1,1)<size(tp2,1) tp1=tp2; for jj=1:size(tp1,1) tp2=[tp2 repmat(tp1(jj,:),size(nearest,1),1)+nearest]; end cluster(ii,:) =[min(tp2(:,1)) max(tp2(:,1)) min(tp2(:,2)) max(tp2(:,2))];
Apply the model in PRL,55,2515(1985) 1.高温塑性变形热模拟实验 Homework Apply the model in PRL,55,2515(1985) for triangular and hexagonal lattice. Sending to 17273799@qq.com when ready For lecture notes, refer to http://www.compphys.cn/~xbyang/