1、原理分析原理分析 当入射角度不是特别大时,虽然阴影效应存在,但是一方面由于入射角度不是很大,阴影效应本身并不十分明显,另一方面,由于基板温度较高,原子运动相当频繁、原子扩散充分,原子自身的扩散能弥补阴影效应的影响。 当入射角度非常大时,由于阴影效应加剧,原子扩散不能完全弥补它的影响,在局部形成壁垒,把表面分割成若干部分,使这一部分的原子不能跨跃壁垒而到达那一部分空间,原子只能在各自的局部空间内扩散,因此形成这种具有部分致密,部分却堆积状态不好的结构。1 基本思想当所求解问题是某种随机事件出现的概率,或者是某个随机变量的期望值时,通过某种“实验”的方法,以这种事件出现的频率估计这一随机事件的概率
2、,或者得到这个随机变量的某些数字特征,并将其作为问题的解。2 工作过程 蒙特卡罗方法的解题过程可以归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。 (1)构造或描述概率过程 对于本身就具有随机性质的问题,如粒子输运问题,主要是正确描述和模拟这个概率过 程,对于本来不是随机性质的确定性问题,比如计算定积分,就必须事先构造一个人为的概率过程,它的某些参量正好是所要求问题的解。即要将不具有随机性质的问题转化为随机性质的问题。(2)实现从已知概率分布抽样。构造了概率模型以后,由于各种概率模型都可以看作是由各种各样的概率分布构成的,因此产生已知概率分布的随机变量(或随机向
3、量),就成为实现蒙特卡罗方法模拟实验的基本手段,这也是蒙特卡罗方法被称为随机抽样的原因。最简单、最基本、最重要的一个概率分布是(0,1)上的均匀分布(或称矩形分布)。随机数就是具有这种均匀分布的随机变量。随机数序列就是具有这种分布的总体的一个简单子样,也就是一个具有这种分布的相互独立的随机变数序列。产生随机数的问题,就是从这个分布的抽样问题。在计算机上,可以用物理方法产生随机数,但价格昂贵,不能重复,使用不便。另一种方法是用数学递推公式产生。这样产生的序列,与真正的随机数序列不同,所以称为伪随机数,或伪随机数序列。不过,经过多种统计检验表明,它与真正的随机数,或随机数序列具有相近的性质,因此可
4、把它作为真正的随机数来使用。由已知分布随机抽样有各种方法,与从(0,1)上均匀分布抽样不同,这些方法都是借助于随机序列来实现的,也就是说,都是以产生随机数为前提的。由此可见,随机数是我们实现蒙特卡罗模拟的基本工具。 (3)建立各种估计量。一般说来,构造了概率模型并能从中抽样后,即实现模拟实验后,我们就要确定一个随机变量,作为所要求的问题的解,我们称它为无偏估计。建立各种估计量,相当于对模拟实验的结果进行考察和登记,从中得到问题的解。薄膜生长模拟薄膜生长模拟选择平面二维基体选择平面二维基体(100100) 取各向同性基体。 量化基体:以原子尺寸来表示基体。入射粒子角度选择入射粒子角度选择(90,
5、60,30)基体表面的沉积原子的扩散基体表面的沉积原子的扩散 扩散原子的随机生成(入射离子总数为1000) 扩散的随机性: 从右方入射 的粒子 朝左方移动概率 最大,朝右移动概率最小,朝上下方向移动概率居中。 扩散的边界性条件扩散的边界性条件 采用连续性边界条件:即左出右进,上出下进或右出左进,下出上进。扩散过程的停止条件扩散过程的停止条件 在扩散过程中遇到了生长点、临界核或团簇。 沉积原子的能量耗尽后停止下来,并成为一个生长点。模型的简化模型的简化 为分析简单,将原子的沉积和扩散过程简化了单一原子的沉积的扩散过程,即只有当前一个原子的扩散过程完成后,才开始下一原子的沉积和扩散过程。模拟平面效
6、果图模拟平面效果图90 入射平面效果图60 入射入射平面效果图平面效果图30 入射入射平面效果图平面效果图 如图所示,随入射粒子入射角度增大,粒子分布均匀性降低。 可见,太大的入射角度对薄膜的结构致密不利,必须在尽量减小入射角度的情况下才能制备出结构致密的薄膜。以下是模拟程序:%初始化A=zeros(100,100); %设置一个二维生长区间N=1000; %设置入射离子总数k=10; %用行走步长表示入射离子能量大小(水平方向上)n=70; %初始时在一维平面随机产生的生长点数目while n0 x=ceil(rand*(100); %x代表行坐标,y代表列坐标,h代表层坐标 y=ceil(
7、rand*(100); A(x,y)=1; %1代表该处空间被离子占据 n=n-1;end%假设离子入射速度ultraslow,即一个入射离子被完全吸附后,下一个离子才开始入射;%为简化模型,不考虑离子的反射和二次蒸发;同时忽略离子间的作用势能%离子开始入射while N0 x=ceil(rand*(100); %随机产生入射离子点的坐标 y=ceil(rand*(100); while k0 k,x,y=Isstop(A,x,y,k); end A(x,y)=1; N=N-1;endfor x=1:100 for y=1:100 if(A(x,y)=1) plot(x,y,r*) hold
8、on end endend二、判断是否吸附凝结的函数function f,m,n=Isstop(A,x,y,K) %考虑边界处的特殊情况:四个顶点和四条边界if x=1&y=1 if (A(2,1,1)=1)|(A(1,2,1)=1)|(A(100,1,1)=1)|(A(1,100,1)=1) A(1,1,1)=1; f=0;m=x;n=y; else m,n=Nextstep(x,y); f=K-1; endelseif x=1&y=100 if (A(1,99,1)=1)|(A(2,100,1)=1)|(A(1,1,1)=1)|(A(100,100,1)=1) A(1,100,1)=1;
9、f=0;m=x;n=y; else m,n=Nextstep(x,y); f=f-1; endelseif x=100&y=1 if (A(100,2,1)=1)|(A(99,1,1)=1)|(A(100,100,1)=1)|(A(1,1,1)=1) A(100,1,1)=1; f=0;m=x;n=y; else m,n=Nextstep(x,y); f=K-1; endelseif x=100&y=100 if (A(99,100,1)=1)|(A(100,99,1)=1)|(A(100,1,1)=1)|(A(1,100,1)=1) A(1,1,1)=1; f=0;m=x;n=y; else m,n=Nextstep(x,y);f=K-1; endelseif x1&x1&x1&y1&y1&x1&y=0&a=0.25&a=0.5&a=0.75&a=0&a=0.20&a=0.4&a=0.85&a=0&a=0.10&a=0.2&a=0.95&a1 %定义该区间为向右走 if X=1 c=20; else c=X-1; end d=Y;end Thank Thank YouYou