| 查看: 1647 | 回复: 5 | ||
[求助]
薄膜沉积过程中的扩散速率和沉积速率比较
|
| 用MC模拟薄膜生长时,扩散速率远大于沉积速率(一个约1e-6量级,一个1e-11量级),在比较速率倒数时,总要发生数万个扩散事件才能发生下一次沉积(至少在沉积之初是这样),这样导致计算量非常大(数万个原子,如果再每个原子扩散数万次就太可怕了),这个问题该怎么解决,又或者是我在建模各个事件概率模型时需要加入怎样的考虑呢!谢谢大家的讨论和帮助,祝天天向上! |
» 猜你喜欢
职称评审没过,求安慰
已经有41人回复
回收溶剂求助
已经有7人回复
硝基苯如何除去
已经有3人回复
A期刊撤稿
已经有4人回复
垃圾破二本职称评审标准
已经有17人回复
投稿Elsevier的Neoplasia杂志,到最后选publishing options时页面空白,不能完成投稿
已经有22人回复
EST投稿状态问题
已经有7人回复
毕业后当辅导员了,天天各种学生超烦
已经有4人回复
求助文献
已经有3人回复
三无产品还有机会吗
已经有6人回复
» 本主题相关价值贴推荐,对您同样有帮助:
不同扫描速率下的循环伏安的图求扩散系数
已经有13人回复


2楼2011-08-19 05:46:49
★ ★
御剑江湖(金币+2): 鼓励 2011-08-26 20:51:51
御剑江湖(金币+2): 鼓励 2011-08-26 20:51:51
|
什么图?可现在是算都算不出来结果 实在要花太长时间! while(SurAtoms.size()<1e4) { //执行沉积事件,原子总数加一 atomsCOOR = DeposEvent.Launch(Flag); atom.SetAtomPos(atomsCOOR[0],atomsCOOR[1],atomsCOOR[2]); SurAtoms.push_back(atom); //判断沉积时间是否大于扩散所需时间 if(!depORdif.DepOrDif(SurAtoms,Flag))//bool变量为非,沉积时间大于扩散时间,执行扩散事件 { delta = depORdif.GettDepo();//将沉积速率倒数赋予delta while(delta>0) { index = SurDif.DeterminWhichClass(SurAtoms,Flag);//选择执行扩散事件的原子 SurAtoms[index].surfDiffuse(Flag);//执行扩散事件,并更新flag列表 delta -= (1/SurDif.GetTotal());//沉积时间进行更新,减去扩散时间 } } |

3楼2011-08-19 15:51:50
★ ★
御剑江湖(金币+2): 鼓励 2011-08-26 20:50:58
御剑江湖(金币+2): 鼓励 2011-08-26 20:50:58
|
沉积事件发生的时间为 tDepo = 1/(rateDepo*dimensionX*dimensionY); 扩散事件发生时间为: tDiff = 1/Σ(V);V为不同扩散事件发生的速率 假定沉积速率为10ML/s,dimensionX = dimensionY =10mm, 则tDepo约为0.1cm^2/s^-1 扩散速率根据文献中采用的表面原子扩散速率与配位数关系,#不同配位原子数时的扩散速率前置因子(cm^2/s),顺序为NN=0,1,2,3 4.6e-4 5.2e-3 4.4e-3 1.0e-3 #不同配位原子数时的扩散激活能(eV),顺序为NN=0,1,2,3 0.1 0.53 0.28 0.60 由于是个指数关系,结果那个扩散能影响非常大,算出来tDif的量级约为1e-6 |

4楼2011-08-19 16:00:38

5楼2011-08-26 09:40:07

6楼2011-08-26 20:50:52













回复此楼