写kinetic Monte Carlo模拟程序用什么语言合适
蒙特卡罗方法(MC) 蒙特卡罗(Monte Carlo)方法:蒙特卡罗(Monte Carlo)方法,又称随机抽样或统计试验方法,属于计算数学的一个分支,它是在本世纪四十年代中期为了适应当时原子能事业的发展而发展起来的。
传统的经验方法由于不能逼近真实的物理过程,很难得到满意的结果,而蒙特卡罗方法由于能够真实地模拟实际物理过程,故解决问题与实际非常符合,可以得到很圆满的结果。
这也是我们采用该方法的原因。
蒙特卡罗方法的基本原理及思想如下:当所要求解的问题是某种事件出现的概率,或者是某个随机变量的期望值时,它们可以通过某种“试验”的方法,得到这种事件出现的频率,或者这个随机变数的平均值,并用它们作为问题的解。
这就是蒙特卡罗方法的基本思想。
蒙特卡罗方法通过抓住事物运动的几何数量和几何特征,利用数学方法来加以模拟,即进行一种数字模拟实验。
它是以一个概率模型为基础,按照这个模型所描绘的过程,通过模拟实验的结果,作为问题的近似解。
可以把蒙特卡罗解题归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。
蒙特卡罗解题三个主要步骤:构造或描述概率过程:对于本身就具有随机性质的问题,如粒子输运问题,主要是正确描述和模拟这个概率过程,对于本来不是随机性质的确定性问题,比如计算定积分,就必须事先构造一个人为的概率过程,它的某些参量正好是所要求问题的解。
即要将不具有随机性质的问题转化为随机性质的问题。
实现从已知概率分布抽样:构造了概率模型以后,由于各种概率模型都可以看作是由各种各样的概率分布构成的,因此产生已知概率分布的随机变量(或随机向量),就成为实现蒙特卡罗方法模拟实验的基本手段,这也是蒙特卡罗方法被称为随机抽样的原因。
最简单、最基本、最重要的一个概率分布是(0,1)上的均匀分布(或称矩形分布)。
随机数就是具有这种均匀分布的随机变量。
随机数序列就是具有这种分布的总体的一个简单子样,也就是一个具有这种分布的相互独立的随机变数序列。
产生随机数的问题,就是从这个分布的抽样问题。
在计算机上,可以用物理方法产生随机数,但价格昂贵,不能重复,使用不便。
另一种方法是用数学递推公式产生。
这样产生的序列,与真正的随机数序列不同,所以称为伪随机数,或伪随机数序列。
不过,经过多种统计检验表明,它与真正的随机数,或随机数序列具有相近的性质,因此可把它作为真正的随机数来使用。
由已知分布随机抽样有各种方法,与从(0,1)上均匀分布抽样不同,这些方法都是借助于随机序列来实现的,也就是说,都是以产生随机数为前提的。
由此可见,随机数是我们实现蒙特卡罗模拟的基本工具。
建立各种估计量:一般说来,构造了概率模型并能从中抽样后,即实现模拟实验后,我们就要确定一个随机变量,作为所要求的问题的解,我们称它为无偏估计。
建立各种估计量,相当于对模拟实验的结果进行考察和登记,从中得到问题的解。
1、定义: 蒙特卡洛(Monte Carlo)模拟是一种通过设定随机过程,反复生成时间序列,计算参数估计量和统计量,进而研究其分布特征的方法。
2、基于计算机的蒙特卡洛模拟实现步骤:(1)对每一项活动,输入最小、最大和最可能估计数据(注意这里不是三点估算),并根据提出的问题构造或选择一个简单、适用的概率分布模型,使问题的解对应于该模型中随机变量的某些特征(如概率、均值和方差等),这些特征都可以通过模拟出的概率分布图得到。
(2)根据模型中各个随机变量的分布,利用给定的某种规则,在计算机上快速实施充分大量的随机抽样。
(3)对随机抽样的数据进行必要的数学计算,统计分析模拟试验结果,给出问题的概率解以及解的精度估计,即最小值、最大值以及数学期望值和单位标准偏差。
(4)按照所建立的模型进行仿真试验、计算,求出问题的随机解。
(5)根据求出的统计学处理数据,让计算机自动生成概率分布图,通常为正态分布图。
(6)根据概率分布图读出所需信息,如某项目成本200万情况下的完工概率,或确保70%完工概率时需要的成本等。
3、基于EXCEL与Crystal Ball的蒙特卡洛成本模拟过程实例:
蒙特卡洛模拟法的应用范围是什么?
蒙特卡洛模拟法的应用领域主要有:1.直接应用蒙特卡洛模拟:应用大规模的随机数列来模拟复杂系统,得到某些参数或重要指标。
2.蒙特卡洛积分:利用随机数列计算积分,维数越高,积分效率越高。
3.MCMC:这是直接应用蒙特卡洛模拟方法的推广,该方法中随机数的产生是采用的马尔科夫链形式。
蒙特卡洛(Monte Carlo)模拟是一种通过设定随机过程,反复生成时间序列,计算参数估计量和统计量,进而研究其分布特征的方法。
具体的,当系统中各个单元的可靠性特征量已知,但系统的可靠性过于复杂,难以建立可靠性预计的精确数学模型或模型太复杂而不便应用时,可用随机模拟法近似计算出系统可靠性的预计值;随着模拟次数的增多,其预计精度也逐渐增高。
由于涉及到时间序列的反复生成,蒙特卡洛模拟法是以高容量和高速度的计算机为前提条件的,因此只是在近些年才得到广泛推广。
蒙特卡洛(Monte Carlo)模拟这个术语是二战时期美国物理学家Metropolis执行曼哈顿计划的过程中提出来的。
蒙特卡洛模拟方法的原理是当问题或对象本身具有概率特征时,可以用计算机模拟的方法产生抽样结果,根据抽样计算统计量或者参数的值;随着模拟次数的增多,可以通过对各次统计量或参数的估计值求平均的方法得到稳定结论。
Quasi
展开全部 楼主的提问,就有点带偏别人的感觉,或者,你已经被别人带偏了。
首先,半导体是一门非常专业的学科,半导体器件仿真肯定需要专业的仿真软件,而通用CAE类的软件是无法解决大多数技术细节问题的,comsol, ansys,abaqus,就是通用CAE软件,据我了解前者在低频电磁,电化学,这一块还可以;中者,包含了很多软件,体系庞大却没好好消化,对这个了解的少,不发表意见;后者,材料,结构、岩土用的多;其次,半导体器件仿真,这行业里站在高处的大牛,还是用TCAD类的软件较多,可以了解下国内主要做半导体的单位,高校、研究所、企业,基本上都是用这些软件,Synopsys的算一个,Crosslight算一个,NEXTNANO算一个,,,,,等等,其实很简单,你把这些软件放在网上一搜别人做的成果就知道哪些软件用的多,出的成果多;不过,像Synopsys这类自己就做半导体的这类厂家,考虑到知识产权和保密问题,有一定的知识壁垒,所以这类的软件傻贵傻贵。
NEXTNANO算是比较学术的一个,很久之前是开源的,现在借助他们的学校和研究所,正在走商业化,毕竟要存活嘛;如果要学习TCAD软件也不容易啊,运气好的话,可以碰到技术比较过硬,而且还靠谱的厂家或者工程师,还会多帮忙指导指导;如果碰到只顾卖产品,无技术服务,那就惨了,,,,此为后话,一定要擦亮双眼,多做技术沟通和交流。
很多技术型的公司非常乐意做技术交流的,双方互相学习共同提高嘛。
国内自己的自主研发的半导体软件,极少啊;国内做大型的工程计算软件,毕竟在前期缺少了知识储备和经验积累,现在别人制裁,就没辙了,哎,扯远了........
转载请注明出处51数据库 » monte carlo模拟软件
妳是莪此世不渝的执着