《计算材料学》PPT课件.ppt
《《计算材料学》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《计算材料学》PPT课件.ppt(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算材料学ComputationalMaterialsScience第二讲 蒙特卡罗(MonteCarlo)方法主讲:张晖电话:Email:本堂课 主要内容Monte Carlo模拟发展简介Monte Carlo模拟基本原理Monte Carlo模拟典型算法Monte Carlo模拟典型应用蒙特卡洛法是什么?蒙特卡洛法是什么?蒙特卡洛蒙特卡洛(Monte Carlo)方法,方法,是在简单的理论准则基础上,采用反复随即抽样的方法,解决复杂系统的问题。其实质是一种概率和统计的问题。蒙特蒙特 卡罗方法卡罗方法(Monte Carlo method),也称统计模拟方法统计模拟方法,是二十世纪四十年代中
2、期由于科学技术的发展和电子计算机电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。MC的基本思想 MCMC基本思想很早以前就被人们所发现和利用。基本思想很早以前就被人们所发现和利用。1717世纪,人们就知道用事件发生的世纪,人们就知道用事件发生的“频率频率”来决定事来决定事件的件的“概率概率”。但要真正实现随机抽样是很困难的,。但要真正实现随机抽样是很困难的,甚至几乎是不可能的。甚至几乎是不可能的。高速计算机的出现,使得用数学方法在计算机高速计算机的出现,使得用数学方法在计算机上大量、快速地模拟这样的
3、试验成为可能。上大量、快速地模拟这样的试验成为可能。确定性系统确定性系统随机性系统随机性系统模拟模拟自然界自然界Monte-Carlo模拟,即随机模拟(重复模拟,即随机模拟(重复“试验试验”)重复试验重复试验计算机模拟计算机模拟Monte Carlo方法:方法:亦称统计模拟方法,亦称统计模拟方法,statistical simulation method 利用随机数进行数值模拟的方法利用随机数进行数值模拟的方法Monte Carlo名字的由来:名字的由来:是由是由Metropolis在二次世界大战期间提出的:在二次世界大战期间提出的:Manhattan计计划,研究与原子弹有关的中子输运过程;划
4、,研究与原子弹有关的中子输运过程;Monte Carlo是摩纳哥(是摩纳哥(monaco)的首都,该城以赌博闻名的首都,该城以赌博闻名Nicholas Metropolis(1915-1999)Monte-Carlo,MonacoMonte CarloMonte Carlo方法简史方法简史简单地介绍一下简单地介绍一下Monte Carlo方法的发展历史方法的发展历史1 1、BuffonBuffon投针实验:投针实验:18世纪,法国数学家世纪,法国数学家ComtedeBuffon利用投针实验估计利用投针实验估计 的值的值dL1777年法国科学家布丰提出的一种计算圆周率的方法年法国科学家布丰提出的
5、一种计算圆周率的方法随机投针法,即著名的随机投针法,即著名的布丰投针布丰投针问题。这一方法的问题。这一方法的步骤是:步骤是:1)取一张白纸,在上面画上许多条间距为取一张白纸,在上面画上许多条间距为d的平行线。的平行线。2)取一根长度为取一根长度为l(ld)的针,随机地向画有平行的针,随机地向画有平行直线的纸上掷直线的纸上掷n次,观察针与直线相交的次数,记为次,观察针与直线相交的次数,记为m 3)计算针与直线相交的概率)计算针与直线相交的概率 布丰本人证明了,这个概率是布丰本人证明了,这个概率是:p=2l/(d),为圆周率为圆周率:利用这个公式可以用概率的方法得到圆周率的近似利用这个公式可以用概
6、率的方法得到圆周率的近似值。下面是一些资料值。下面是一些资料实验者年代投掷次数相交次数圆周率估计值沃尔夫1850500025313.1596史密斯1855320412193.1554德摩根18806003833.137福克斯188410304893.1595拉泽里尼1901340818083.1415929赖纳192525208593.1795布丰投针实验是第一个用几何形式表达概率问题的例子,他首次使用随机实验处理确定性数学问题,为概率论和蒙特卡罗方法的发展起到一定的推动作用。Monte Carlo方法之方法之随机数的产生许多计算机系统都有随机数生成函数F90:callrandom_seedc
7、allrandom_number(a)2、ISEED=RTC()X=RAN(ISEED)Y=RAN(ISEED)Matlab:x=rand(N)产生元素在(0,1)间随机分布的N*N矩阵s=rand(state,0)重设该生成函数到初始状态注意:上述随机数序列均具周期性,如上页random子程序的周期约230。实例一、计算值计算过程:计算过程:1 1、构造或描述问题的概率过程、构造或描述问题的概率过程2 2、从概率密度函数出发进行随机抽样,实、从概率密度函数出发进行随机抽样,实现从已知概率分布的抽样,得到特征量的现从已知概率分布的抽样,得到特征量的一些模拟结果一些模拟结果计算均值计算均值Mon
8、te Carlo方法之方法之典型算法与应用考虑平面上的一个边长为考虑平面上的一个边长为1 1的正方形及其内部的一个形的正方形及其内部的一个形状不规则的状不规则的“图形图形”,如何求出这个,如何求出这个“图形图形”的面积的面积呢?呢?Monte CarloMonte Carlo方法是这样一种方法是这样一种“随机化随机化”的方法:的方法:向该正方形向该正方形“随机地随机地”投掷投掷N N个点,若有个点,若有M M个点落于个点落于“图形图形”内,则该内,则该“图形图形”的面积近似为的面积近似为M/NM/N。用该方法计算的基本思路是:1、根据圆面积的公式:s=R2,当R=1时,S=。2、由于圆的方程是
9、:x2+y2=1(x2为x的平方的意思),因此1/4圆面积为x轴、y轴和上述方程所包围的部分。3、如果在1*1的正方形中均匀地落入随机点,则落入1/4圆中的点的概率就是1/4圆的面积。其4倍,就是圆面积。由于半径为1,该面积的值为的值。REALR,R1,R2,PIISEED=RTC()N0=0N=300000DOI=1,NR1=RAN(ISEED)R2=RAN(ISEED)R=SQRT(R1*R1+R2*R2)IF(R1.0)N0=N0+1ENDDOPI=4.0*N0/NWRITE(*,*)PIEND面积的计算面积的计算f(x)x辛普逊方法辛普逊方法I=Sn蒙特蒙特-卡洛方法卡洛方法f(x)x
10、在长方形中均匀投在长方形中均匀投N0组组(x,y)如如 yf(x),则则 N=N+1I=(N/N0)S0SS011MC的优点MCMC与传统数学方法相比,具有与传统数学方法相比,具有直观性强,简便易行的优点,直观性强,简便易行的优点,该方法能处理一些其他方法无法解决的负责问题,并且容该方法能处理一些其他方法无法解决的负责问题,并且容易在计算机上实现,在很大程度上可以易在计算机上实现,在很大程度上可以代替许多大型、难代替许多大型、难以实现的复杂实验和社会行为。无污染、无危险、能摆脱以实现的复杂实验和社会行为。无污染、无危险、能摆脱实验误差。实验误差。Monte Carlo方法利用方法利用随机抽样随
11、机抽样的方法来求解物理问题的方法来求解物理问题;数值解法数值解法:从一个物理系统的数学模型出发从一个物理系统的数学模型出发,通过求解一通过求解一系列的微分方程来的导出系统的未知状态系列的微分方程来的导出系统的未知状态;Monte Carlo方法方法并非只能用来解决包含随机过程并非只能用来解决包含随机过程的问题的问题:例例如如:用用Monte Carlo方法计算定积分方法计算定积分.对这样的问题可将其转换成相关的随机过程对这样的问题可将其转换成相关的随机过程,然后用然后用Monte Carlo方法进行求解方法进行求解注意以下两点:注意以下两点:MC的应用自然现象的模拟:自然现象的模拟:宇宙射线在
12、地球大气中的传输过程;宇宙射线在地球大气中的传输过程;高能物理实验中的核相互作用过程;高能物理实验中的核相互作用过程;数值分析:数值分析:数学问题,求积分,求逆矩阵,解线性代数等数学问题,求积分,求逆矩阵,解线性代数等经济学模拟:经济学模拟:库存问题,随机服务系统中排队问题库存问题,随机服务系统中排队问题 人口问题:人口问题:人口的出生,传染病的蔓延;乃至动物的生态竞争人口的出生,传染病的蔓延;乃至动物的生态竞争金属学:扩散、组织长大、相金属学:扩散、组织长大、相变过程变过程蒙特-卡洛模拟的意义能研究不同边界、不同材料的影响能研究不同边界、不同材料的影响 理论不可能、实验耗费太大理论不可能、实
13、验耗费太大 用于实验设计用于实验设计无污染无污染 反应堆防护反应堆防护 核弹爆炸核弹爆炸能摆脱实验误差能摆脱实验误差 作理论和实验的桥梁作理论和实验的桥梁Monte Carlo模拟的步骤:模拟的步骤:1.根据欲研究的物理系统的性质,建立能够描述该根据欲研究的物理系统的性质,建立能够描述该系统特性的理论模型,导出该模型的某些特征量系统特性的理论模型,导出该模型的某些特征量的概率密度函数;的概率密度函数;2.(即构造或描述问题的概率过程)(即构造或描述问题的概率过程)2.从概率密度函数出发进行随机抽样,实现从已知从概率密度函数出发进行随机抽样,实现从已知概率分布的抽样,得到特征量的一些模拟结果;概
14、率分布的抽样,得到特征量的一些模拟结果;3.有了明确的概率过程后,为了实现过程的有了明确的概率过程后,为了实现过程的数值模拟,必须实现从已知概率分布的随机数的数值模拟,必须实现从已知概率分布的随机数的抽样,进行大量的随机模拟实验,从中获得随机抽样,进行大量的随机模拟实验,从中获得随机变量的大量试验值。变量的大量试验值。产生已知概率分布的随机变产生已知概率分布的随机变量,是实现量,是实现MC方法的关键步骤方法的关键步骤,其中最基本的是,其中最基本的是(0,1)均匀分布。)均匀分布。3.对模拟结果进行分析总结,预言物理系统的某些特性。对模拟结果进行分析总结,预言物理系统的某些特性。4.模拟结果的检
15、验模拟结果的检验Monte Carlo算法的主要组成部分算法的主要组成部分概率密度函数概率密度函数(pdf)必须给出描述一个物理系统的一组概必须给出描述一个物理系统的一组概率密度函数率密度函数;随机数产生器随机数产生器能够产生在区间能够产生在区间0,1上(均匀)分布的随机数上(均匀)分布的随机数抽样规则抽样规则如何从在区间如何从在区间0,1上均匀分布的随机数出发上均匀分布的随机数出发,随随机抽取服从给定的机抽取服从给定的pdf的随机变量的随机变量;模拟结果记录模拟结果记录记录一些感兴趣的量的模拟结果记录一些感兴趣的量的模拟结果误差估计误差估计必须确定统计误差(或方差)随模拟次数以及其必须确定统
16、计误差(或方差)随模拟次数以及其它一些量的变化;它一些量的变化;减少方差的技术减少方差的技术利用该技术可减少模拟过程中计算的次数;利用该技术可减少模拟过程中计算的次数;并行和矢量化并行和矢量化可以在先进的并行计算机上运行的有效算法可以在先进的并行计算机上运行的有效算法实例二 定积分计算事实上,不少的统计问题,如计算概率、各阶距等,最后都归结为定积分的近似计算问题。下面考虑一个简单的定积分!计算计算x*2在在(0,1)上积分上积分计算过程:计算过程:1、构造或描述问题的概率过程、构造或描述问题的概率过程:产生服从分产生服从分布布f(x)的随机变量)的随机变量Xi()(i=1,2,N)2、从概率密
17、度函数出发进行随机抽样,实、从概率密度函数出发进行随机抽样,实现从已知概率分布的抽样,得到特征量的现从已知概率分布的抽样,得到特征量的一些模拟结果一些模拟结果计算均值计算均值()REALYY=0N=300000ISEED=RTC()DOI=1,NX=RAN(ISEED)Y=Y+X*2/NENDDOWRITE(*,*)YENDlimx2dx (dx 0)Monte Carlo方法另一个重要问题:方法另一个重要问题:随机数随机数 随机数:由单位矩阵分布中所产生的简单子样称为随机数序列,其中的每一个个体称为随机数。但真正的随机数的不适合电子计算机上使用,因为它需要很大的存储量。利用某些物理现象可以在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算材料学 计算 材料 PPT 课件
限制150内