前言EGS是英文Electron-GammaShower的缩写,它是一个利用蒙特卡罗方法模拟在任意几何中,能量从几个KeV到几个TeV的电子¾¾光子簇射过程的通用程序包。由美国StanfordLinearAcceleratorCenter提供。EGS于1979年第一次公开发表,提供使用。EGS4是1986年发表的版本。在EGS4程序公布后的十多年当中,计算机速度的提高为模拟计算的广泛应用打下了坚实的基础。因此,目前对EGS4的使用方兴未艾,而国内在这个方面还处于起步阶段,在不远的将来,国内使用EGS4程序的人员一定会越来越多。在作者刚刚开始硕士论文工作时,首先应当学习的就是EGS4程序的使用。在那个时候,多么希望能够找到一本关于讲解EGS4程序的书籍。但是查到的资料都是英文的,而中文的聊聊无几,就是有,也是简单的介绍程序的特点和功能,对于具体的使用和编程方面应当注意的一些问题并没有介绍。所以在经过了痛苦的安装、学习编程和开始使用EGS4计算的过程之后,作者萌发了写一本关于EGS4程序使用的书。尽管作者对于EGS4的使用时间还不是很长,也尽管作者对EGS4程序的内核了解并不是很多,但是对于初学者来说,相信本书将会成为他们入门的基础教程,可以避免一些不该走的弯路;就是对于EGS4程序的熟练使用者来说,本书所论述的一些内容也可以作为参考,并程序他们工作的得力助手。书中的内容都是经过作者本人和合作者的筛选,其中的程序都经过作者自己运行并调试成功之后奉献给读者的。使用EGS4程序计算的问题都是实际工作中所遇到的问题,并且有实际的工作背景。限于作者的学科范畴,所举的例子都是关于辐射防护方面的,但是EGS4程序的应用并不仅仅限于此,读者甚至可以利用其模拟计算的思想来开发适合自己的程序包,应用于自己的学科领域。例如:模拟股票的走势等。一块砖头可以用来盖房子,但是也可以用来垫脚,甚至可以用来打人。这就需要读者开发自己的发散思维,更好地利用EGS4应用到更广的领域之中。其中部分内容是作者实际给初学者讲解时所用的讲解稿,从反馈回来的信息来看,基本上是成功的。目前作者已经培训了很多学习EGS4程序的人员,其中部分人员还有自己的心得体会,并利用EGS4程序计算并解决了很多有意义的问题。因此,作者相信本书一定能够成为一本为读者服务的好帮手。就目前计算机发展的速度来看,蒙特卡罗方法会越来越成为一种主要的解决问题的方法,而EGS4程序作为蒙特卡罗方法的一个主要模拟程序,其功能和准确性都是得到公认的,相信在未来的发展中,EGS4程序一定能够更好地为科技工作者服务。使用EGS4程序进行模拟计算的人员也一定会越来越多。随着EGS4程序在放射性治疗等医学领域的广泛使用,尤其是在精确定位治疗的方案设计方面的应用,随着人们生活水平的提高和对自身健康的重视,在中国,辐射治疗物理师将会出现并且队伍会越来越大,目前美国在这方面的发展走在世界前列。而且在其它有关辐射方面,模拟计算也会成为一种预测、设计和评估的主要方法。所以,本书将作为一枚石子为这方面学科的发展铺路。本书将从EGS4程序的历史、现状、发展、使用、其它相关工具,以及实际的计算例子等方面向读者展示EGS4程序的概貌。“管中窥豹,只见一斑。”限于作者的水平,本书不能是大全式的参考书,但是相信读者也会从其中获益匪浅。本书除第八章中光中子问题模拟计算的作者是严慧勇,以及加速器屏蔽大厅的模拟计算的作者是唐华平外,其它部分的作者是石成玉。本书所面对的读者群是从事蒙特卡罗模拟计算的学生、教师、科技工作者和关于辐射治疗、防护等方面的人员。对于书中的不足和错误之处,望广大读者能够斧正,以便今后提供水平,更好地为大家服务,也希望能够与从事这些方面研究的人员进行广泛的合作和学术交流,让作者们共同为了这个学科的发展发一份光,放一份热。Page1of2前言2010-2-4mhtml:file://D:\Backup\我的文档\EGS4教程\前言.mht作者:石成玉2000年5月9日于清华园Page2of2前言2010-2-4mhtml:file://D:\Backup\我的文档\EGS4教程\前言.mht内容提要EGS4作为利用蒙特卡罗方法进行模拟计算的一个主要程序已经公布十多年了。在这十多年中,有很多人为EGS4的发展贡献了自己的力量。尤其是在辐射治疗方面的进展突飞猛进,对于精确定位治疗的模拟计算成为当今科技发展中一个热门的领域。伴随计算机速度的发展,也同时由于网络的发展,模拟计算成为解决问题的一种主要方法和手段。出于想向国内的广大从事模拟计算的科技工作者们介绍EGS4程序的目的,也出于想让EGS4的初学者少走弯路的目的,作者写了这本关于EGS4介绍和应用的书籍。本书从EGS4的历史讲起,帮助读者度过安装、配置和初步学习编程方面可能面对的难关。将读者带入一个熟练使用EGS4程序的境界。本书以朴实无华的语言,深入浅出地向读者介绍如何使用EGS4程序,如何编写适合读者本身的程序和宏,以及如何处理计算的数据等方面内容。本书面向的读者群为从事模拟计算方面的人员,包括从事这方面工作的学生,教师和科技工作者等。同时对于从事辐射防护计算、设计的读者也有一定的参考价值。本书的作者在EGS4程序的使用方面有较丰富的经验,并利用EGS4程序计算解决过实际工程中的问题。在参阅大量参考资料的基础上编写了这本书。相信本书一定会成为读者有用的工具和得力帮手。作者2000年5月9日于清华园Page1of1内容提要2010-2-4mhtml:file://D:\Backup\我的文档\EGS4教程\内容提要.mht第一章什么是EGS4EGS是英文Electron-GammaShower的缩写,即电子----光子簇射模拟。它是一个用蒙特卡罗方法模拟在任意几何形状中,能量从几个KeV到几个TeV的电子光子簇射过程的通用程序包。由美国斯坦福直线加速器中心(StanfordLinearAcceleratorCenter)提供。EGS于1978年第一次公开发表,提供使用。EGS4是1986年发表的版本。EGS4读作E、G、S、Four,也有将EGS读作一个单词,再加上Four的情况。之所以提到其读法,是因为考虑到进行学术交流时用语的规范。那么,EGS4是怎样发展来的呢?1.1EGS4程序的历史1.1.1EGS4之前的历史在1978年,EGS代码系统作为一个包(Package)正式发布了,一般将其称为EGS3。EGS3是设计用于模拟在任何几何形状中,能量上限到几千GeV,下限截止动能到0.1MeV(光子)和1MeV(电子)的粒子在电磁场中的联合输运过程的。EGS3公布之后获得了很大成功,并在许多关于电子光子在电磁场中联合输运的问题上获得很好的结果。由于其代码公开,使用方便,使其在医疗物理和高能物理领域之内获得广泛的使用。但是其本身也存在处理低能的限制——例如1keV(光子)和10keV(电子)。关于这一点在EGS4程序中获得了改进。在EGS之前,已经存在了许多代码,其中具有代表性的是下列代码。MesselandCrawfordcode:该码在1958到1970年使用,由澳大利亚开发,其特点是首次使用计算机进行高能蒙特卡罗模拟,并且发表了极好的结果,但代码不可获得。ZerbyandMorancode:该代码在1962年到1963年使用,是受SLAC的建造而由ORNL开发,在工程计算上极好地完成任务,但其代码在ORNL外并未发布。BergerandSeltzercode:该代码从1964年一直使用到现在,由NIST开发,即ETRAN码。它是极好的物理学和蒙特卡罗代码,目前也可从得到用户界面友好的版本,即ITS和MCNP。在1966年之前对于粒子物理学界还不知道其存在。Nagelcode:在1963年到1967年使用,由波恩大学开发。它是基于Negal的一篇博士论文,仅计算了圆柱几何体,而且材料仅限于铜和铅,但是可以很容易从DESY、MIT或SLAC得到,由Negal本人在大约1966年带到了SLAC。SHOWERcode:由Negal开发,并且成为了EGS3的种子代码,能量范围扩展到0.1MeV到几个GeV,能模拟100种元素中任一种,包括化合物或混合物,其中PEGS3代码使得EGS3输入数据变得容易,它比Negal代码更能有效抽样,而且加入了几个新的程序。在Negal60年代中期开发的SHOWER1的基础上,Nicoli通过改进开发出SHOWER2;在1966年到1972年,SLAC模拟计算组在Nelson的领导下,将SHOWER2改进为PREPRO;到了1972年,SHOWER3/PREPRO进入实用阶段;1974年Ford和Nelson合作,把SHOWER3/PREPRO和SHOWER4/SHINP程序进行综合和改善,程序命名为EGS(Electron-Gamma-Shower)/PEGS(PreprocessorforEGS);此后EGS不断更新,在1982年,SLAC和KEK进行了合作,而NRCC的Rogers在使用EGS3方面相当深入,并且为低能Benchmarking(一种衡量计算机硬件及软件在给定配置下的运行性能的例程或程序)作出了很大的努力,以及在医疗物理应用、探测器响应、对电子步长的更新(ESTEPE)和去除了低能方面的一些bug等方面的努力,因此在1985年由美国斯坦福直线加速器中心(SLAC)、日本高能物理国家实验室(KEK)和加拿大国家研究所(NRCC)联合推出了一套模拟电子和光子在物质中输运过程的通用蒙特卡罗计算程序系统EGS4(Electron-Gamma-Shower,Version4),并在1986年发表。EGS4是揭示电子和光子在物质中输运规律的有力而且方便的理论分析及模拟研究工具。由于其应用灵活性和通用性而被广泛应用于高能物理、低能物理和医学物理。Page1of16第一章什么是EGS42010-2-4mhtml:file://D:\Backup\我的文档\EGS4教程\第一章什么是EGS4.mht1.1.2EGS4公布之后的改进在EGS4公布之后,基于蒙特卡罗方法的代码受到很大欢迎。从1983年到1988年,论文数量增加了五倍,并且出版了很多关于蒙特卡罗方法的优秀图书,蒙特卡罗方法的代码被视为黑盒子。EGS4程序在其中起到了直接的作用。不但有很多硕士和博士论文是关于EGS4的,而且有许多关于EGS4的专题讨论会和研究组。在医疗物理杂志(MedicalPhysicsJournal)上,有六篇文章获得了奖励。蒙特卡罗方法为什么能够受到大家的欢迎呢?可能的原因有:传统的分析方法受到了很大限制。蒙特卡罗方法更直观,这一点尤其受到实验物理学家们的欢迎。计算机变得更便宜和速度更快。EGS4程序自公布之后,又不断进行了更新和改进。主要包括:推出了多平台版本。有面向PC版的,有UNIX版的,还有面向IBM/VM和VAX/VMS大型工作站版本的。推出了更多的开关(switch),可以通过控制开关来满足特定使用者的要求,并且允许用户在自己的程序中增加宏(macros)。对EGS4程序的增强主要在三个方面:对EGS4物理模型的修改:为改善剂量精度,改进了物理模型,提供了一些特殊算法(如PRESTA,EDGSET等)和宏,并考虑了电磁场对正负电子的影响。PRESTA(theParameterReducedelectron-StepTransportAlgorithm)改善了电子路程的修正算法(PLC)、侧面相关算法(LCA)和边界穿越算法(BCA),解决了电子步长和计算精度的矛盾,在保持计算精度的情况下,增大了电子步长,提高了计算速度;EDGSET使EGS4考虑了物质K线和L线的荧光发射。工具和技术的改进:修正了截面数据库,并且为了提高计算精度,为PEGS4增加APRIM选项,以使电子在单位步长内能量损失(Electronradiativestoppingpower)符合ICRU-37标准。还开发了如绘图工具,PEGS工具