资源描述
精选优质文档-倾情为你奉上 计算材料学之蒙特卡洛方法一、 计算材料学主要内容计算材料学涉及材料的各个方面,如不同层次的结构、各种性能等等,因此,有很多相应的计算方法。在进行材料计算时,首先要根据所要计算的对象、条件、要求等因素选择适当的方法。要想做好选择,必须了解材料计算方法的分类。目前,主要有两种分类方法:一是按理论模型和方法分类,二是按材料计算的特征空间尺寸(Characteristic space scale)分类。材料的性能在很大程度上取决于材料的微结构,材料的用途不同,决定其性能的微结构尺度会有很大的差别。例如,对结构材料来说,影响其力学性能的结构尺度在微米以上,而对于电、光、磁等功能材料来说可能要小到纳米,甚至是电子结构。因此,计算材料学的研究对象的特征空间尺度从埃到米。时间是计算材料学的另一个重要的参量。对于不同的研究对象或计算方法,材料计算的时间尺度可从10-15秒(如分子动力学方法等)到年(如对于腐蚀、蠕变、疲劳等的模拟)。对于具有不同特征空间、时间尺度的研究对象,均有相应的材料计算方法。 目前常用的计算方法包括第一原理从头计算法,分子动力学方法,蒙特卡洛方法,有限元分析等。下面主要介绍蒙特卡罗方法:蒙特卡罗方法:一、方法的简介蒙特卡罗方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。与它对应的是确定性算法这种方法作为一种独立的方法被提出来,并首先在核武器的试验与研制中得到了应用。蒙特卡罗方法是一种计算方法,但与一般数值计算方法有很大区别。它是以概率统计理论为基础的一种方法。由于蒙特卡罗方法能够比较逼真地描述事物的特点及物理实验过程,解决一些数值方法难以解决的问题,因而该方法的应用领域日趋广泛。蒙特卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)等领域应用广泛。二、方法的思想当所求解问题是某种随机事件出现的概率,或者是某个随机变量的期望值时,通过某种“实验”的方法,以这种事件出现的频率估计这一随机事件的概率,或者得到这个随机变量的某些数字特征,并将其作为问题的解。三、方法的工作过程蒙特卡罗方法的解题过程可以归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。 蒙特卡罗方法解题过程的三个主要步骤: (1)构造或描述概率过程 对于本身就具有随机性质的问题,如粒子输运问题,主要是正确描述和模拟这个概率过 程,对于本来不是随机性质的确定性问题,比如计算定积分,就必须事先构造一个人为的概率过程,它的某些参量正好是所要求问题的解。即要将不具有随机性质的问题转化为随机性质的问题。 (2)实现从已知概率分布抽样 构造了概率模型以后,由于各种概率模型都可以看作是由各种各样的概率分布构成的,因此产生已知概率分布的随机变量(或随机向量),就成为实现蒙特卡罗方法模拟实验的基本手段,这也是蒙特卡罗方法被称为随机抽样的原因。最简单、最基本、最重要的一个概率分布是(0,1)上的均匀分布(或称矩形分布)。随机数就是具有这种均匀分布的随机变量。随机数序列就是具有这种分布的总体的一个简单子样,也就是一个具有这种分布的相互独立的随机变数序列。产生随机数的问题,就是从这个分布的抽样问题。在计算机上,可以用物理方法产生随机数,但价格昂贵,不能重复,使用不便。另一种方法是用数学递推公式产生。这样产生的序列,与真正的随机数序列不同,所以称为伪随机数,或伪随机数序列。不过,经过多种统计检验表明,它与真正的随机数,或随机数序列具有相近的性质,因此可把它作为真正的随机数来使用。由已知分布随机抽样有各种方法,与从(0,1)上均匀分布抽样不同,这些方法都是借助于随机序列来实现的,也就是说,都是以产生随机数为前提的。由此可见,随机数是我们实现蒙特卡罗模拟的基本工具。 (3)建立各种估计量 一般说来,构造了概率模型并能从中抽样后,即实现模拟实验后,我们就要确定一个随机变量,作为所要求的问题的解,我们称它为无偏估计。建立各种估计量,相当于对模拟实验的结果进行考察和登记,从中得到问题的解。四、减小方差的各种技巧 显然,当给定置信度后,误差由和N决定。要减小,或者是增大N,或者是减小方差2。在固定的情况下,要把精度提高一个数量级,试验次数N需增加两个数量级。因此,单纯增大N不是一个有效的办法。另一方面,如能减小估计的均方差,比如降低一半,那误差就减小一半,这相当于N增大四倍的效果。因此降低方差的各种技巧,引起了人们的普遍注意。后面课程将会介绍一些降低方差的技巧。 五、方法的优势1、能够比较逼真地描述具有随机性质的事物的特点及物理实验过程从这个意义上讲,蒙特卡罗方法可以部分代替物理实验,甚至可以得到物理实验难以得到的结果。用蒙特卡罗方法解决实际问题,可以直接从实际问题本身出发,而不从方程或数学表达式出发。它有直观、形象的特点。1、 受几何条件限制小 在计算s维空间中的任一区域Ds上的积分时,无论区域Ds的形状多么特殊,只要能给出描述Ds的几何特征的条件,就可以从Ds中均匀产生N个点 得到积分的近似值。其中Ds为区域Ds的体积。这是数值方法难以作到的。另外,在具有随机性质的问题中,如考虑的系统形状很复杂,难以用一般数值方法求解,而使用蒙特卡罗方法,不会有原则上的困难。 3、收敛速度与问题的维数无关由误差定义可知,在给定置信水平情况下,蒙特卡罗方法的收敛速度为 ,与问题本身的维数无关。维数的变化,只引起抽样时间及估计量计算时间的变化,不影响误差。也就是说,使用蒙特卡罗方法时,抽取的子样总数N与维数s无关。维数的增加,除了增加相应的计算量外,不影响问题的误差。这一特点,决定了蒙特卡罗方法对多维问题的适应性。而一般数值方法,比如计算定积分时,计算时间随维数的幂次方而增加,而且,由于分点数与维数的幂次方成正比,需占用相当数量的计算机内存,这些都是一般数值方法计算高维积分时难以克服的问题。 4、具有同时计算多个方案与多个未知量的能力对于那些需要计算多个方案的问题,使用蒙特卡罗方法有时不需要像常规方法那样逐个计算,而可以同时计算所有的方案,其全部计算量几乎与计算一个方案的计算量相当。例如,对于屏蔽层为均匀介质的平板几何,要计算若干种厚度的穿透概率时,只需计算最厚的一种情况,其他厚度的穿透概率在计算最厚一种情况时稍加处理便可同时得到。 另外,使用蒙特卡罗方法还可以同时得到若干个所求量。例如,在模拟粒子过程中,可以同时得到不同区域的通量、能谱、角分布等,而不像常规方法那样,需要逐一计算所求量。5、 误差容易确定对于一般计算方法,要给出计算结果与真值的误差并不是一件容易的事情,而蒙特卡方法则不然。根据蒙特卡罗方法的误差公式,可以在计算所求量的同时计算出误差。对干很复杂的蒙特卡罗方法计算问题,也是容易确定的。一般计算方法常存在着有效位数损失问题,而要解决这一问题有时相当困难,蒙特卡罗方法则不存在这一问题。 6、程序结构简单,易于实现在计算机上进行蒙特卡罗方法计算时,程序结构简单,分块性强,易于实现。 7、缺点收敛速度慢。如前所述,蒙特卡罗方法的收敛速度为 ,一般不容得到精确度较高的近似结果。对于维数少(三维以下)的问题,不如其他方法好。 误差具有概率性。由于蒙特卡罗方法的误差是在一定置信水平下估计的,所以它的误差具有概率性,而不是一般意义下的误差。 在粒子输运问题中,计算结果与系统大小有关经验表明,只有当系统的大小与粒子的平均自由程可以相比较时(一般在十个平均自由程左右),蒙特卡罗方法计算的结果较为满意。但对于大系统或小概率事件的计算问题,计算结果往往比真值偏低。而对于大系统,数值方法则是适用的。 因此,在使用蒙特卡罗方法时,可以考虑把蒙特卡罗方法与解析(或数值)方法相结合,取长补短,既能解决解析(或数值)方法难以解决的问题,也可以解决单纯使用蒙特卡罗方法难以解决的问题。这样,可以发挥蒙特卡罗方法的特长,使其应用范围更加广泛。六、方法的实际应用例1. 蒲丰氏问题为了求得圆周率值,在十九世纪后期,有很多人作了这样的试验:将长为2l的一根针任意投到地面上,用针与一组相间距离为2a( la)的平行线相交的频率代替概率P,再利用准确的关系式求出值其中为投计次数,n为针与平行线相交次数。这就是古典概率论中著名的蒲丰氏问题。解:设针投到地面上的位置可以用一组参数(x,)来描述,x为针中心的坐标,为针与平行线的夹角,如图所示。针在平行线间的位置 任意投针,就是意味着x与都是任意取的,但x的范围限于0,a,夹角的范围限于0,。在此情况下,针与平行线相交的数学条件是如何产生任意的(x,)?x在0,a上任意取值,表示x在0,a上是均匀分布的,其分布密度函数为: 类似地,的分布密度函数为: 因此,产生任意的(x,)的过程就变成了由f1(x)抽样x及由f2()抽样的过程了。由此得到: 其中1,2均为(0,1)上均匀分布的随机变量。 每次投针试验,实际上变成在计算机上从两个均匀分布的随机变量中抽样得到(x,),然后定义描述针与平行线相交状况的随机变量s(x,),为如果投针次,则是针与平行线相交概率的估计值。事实上, 于是有 七、方法的收敛性,误差 蒙特卡罗方法作为一种计算方法,其收敛性与误差是普遍关心的一个重要问题。1、收敛性由前面介绍可知,蒙特卡罗方法是由随机变量X的简单子样X1,X2,XN的算术平均值: 作为所求解的近似值。由大数定律可知, 如X1,X2,XN独立同分布,且具有有限期望值(E(X)),则 即随机变量X的简单子样的算术平均值 ,当子样数充分大时,以概率1收敛于它的期望值E(X)。2、误差蒙特卡罗方法的近似值与真值的误差问题,概率论的中心极限定理给出了答案。该定理指出,如果随机变量序列X1,X2,XN独立同分布,且具有有限非零的方差2 ,即f(X)是X的分布密度函数。则当N充分大时,有如下的近似式其中称为置信度,1称为置信水平。这表明,不等式 近似地以概率 1成立,且误差收敛速度的阶为 。 通常,蒙特卡罗方法的误差定义为上式中 与置信度是一一对应的,根据问题的要求确定出置信水平后,查标准正态分布表,就可以确定出 。关于蒙特卡罗方法的误差需说明两点:第一,蒙特卡罗方法的误差为概率误差,这与其他数值计算方法是有区别的。第二,误差中的均方差是未知的,必须使用其估计值来代替,在计算所求量的同时,可计算出 。八、蒙特卡罗方法的主要应用范围 通常蒙特卡罗方法通过构造符合一定规则的随机数来解决数学上的各种问题。对于那些由于计算过于复杂而难以得到解析解或者根本没有解析解的问题,蒙特卡罗方法是一种有效的求出数值解的方法。一般蒙特卡罗方法在数学中最常见的应用就是蒙特卡罗积分。蒙特卡罗方法所特有的优点,使得它的应用范围越来越广。它的主要应用范围包括:粒子输运问题,统计物理,典型数学问题,真空技术,激光技术以及医学,生物,探矿等方面。随着科学技术的发展,其应用范围将更加广泛。蒙特卡罗方法在金融工程学,宏观经济学,生物医学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算、核工程)等领域应用广泛。 蒙特卡罗方法在粒子输运问题中的应用范围主要包括:实验核物理,反应堆物理,高能物理等方面。蒙特卡罗方法在实验核物理中的应用范围主要包括:通量及反应率,中子探测效率,光子探测效率,光子能量沉积谱及响应函数,气体正比计数管反冲质子谱,多次散射与通量衰减修正等方面。 九、蒙特卡罗模型的发展运用从理论上来说,蒙特卡罗方法需要大量的实验。实验次数越多,所得到的结果才越精确。以上Buffon的投针实验为例、历史上的记录如下表1。 从表中数据可以看到,一直到公元20世纪初期,尽管实验次数数以千计,利用蒙特卡罗方法所得到的圆周率值,还是达不到公元5世纪祖冲之的推算精度。这可能是传统蒙特卡罗方法长期得不到推广的主要原因。 计算机技术的发展,使得蒙特卡罗方法在最近10年得到快速的普及。现代的蒙特卡罗方法,已经不必亲自动手做实验,而是借助计算机的高速运转能力,使得原本费时费力的实验过程,变成了快速和轻而易举的事情。它不但用于解决许多复杂的科学方面的问题,也被项目管理人员经常使用。 借助计算机技术,蒙特卡罗方法实现了两大优点: 一是简单,省却了繁复的数学推导和演算过程,使得一般人也能够理解和掌握 二是快速。简单和快速,是蒙特卡罗方法在现代项目管理中获得应用的技术基础。 蒙特卡罗方法有很强的适应性,问题的几何形状的复杂性对它的影响不大。该方法的收敛性是指概率意义下的收敛,因此问题维数的增加不会影响它的收敛速度,而且存贮单元也很省,这些是用该方法处理大型复杂问题时的优势。因此,随着电子计算机的发展和科学技术问题的日趋复杂,蒙特卡罗方法的应用也越来越广泛。它不仅较好地解决了多重积分计算、微分方程求解、积分方程求解、特征值计算和非线性方程组求解等高难度和复杂的数学计算问题,而且在统计物理、核物理、真空技术、系统科学 、信息科学、公用事业、地质、医学,可靠性及计算机科学等广泛的领域都得到成功的应用。生活不是等待风暴过去,而是学会在雨中翩翩起舞,不要去考虑自己能够走多快,只要知道自己在不断努力向前就行,路对了,成功就不远了。放弃了,就不该后悔。失去了,就不该回忆。放下该放下,退出那没结局的剧。我们需要一点点的眼泪去洗掉眼中的迷雾,一点点的拥抱去疗愈受伤的心,一点点的休息去继续前行,少壮不努力,老大徒伤悲,每个人的人生都是不一样的,处同样的位置,也是有人哭,有人笑,有人沉默。穷人缺什么:表面缺资金,本质缺野心,脑子缺观念,机会缺了解,骨子缺勇气,改变缺行动,事业缺毅力世界上最聪明的人是借用别人撞的头破血流的经验作为自己的经验,世界上最愚蠢的人是非用自己撞得头破血流的经验才叫经验,不要抱着过去不放,拒绝新的观念和挑战,每个人都有退休的一天,但并不是每个人都能拥有退休后的保障。觉得为时已晚的时候,恰恰是最早的时候,勿将今日之事拖到明日,学习时的苦痛是暂时的,未学到的痛苦是终生的,学习这件事,不是缺乏时间,而是缺乏努力,幸福或许不排名次,学习并不是人生的全部。但既然连人生的一部分学习也无法征服,还能做什么呢.专心-专注-专业
展开阅读全文