《PFC(颗粒流模拟)讲解PPT课件.ppt》由会员分享,可在线阅读,更多相关《PFC(颗粒流模拟)讲解PPT课件.ppt(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、PFC PFC 颗粒流基本知粒流基本知识介介绍1.主要内容主要内容第一部分第一部分 PFCPFC颗粒流程序粒流程序简介介 第二部分第二部分 有限差分法基有限差分法基础介介绍第三部分第三部分 离散元法基离散元法基础介介绍第四部分第四部分 PFCPFC的使用的使用2.第一部分第一部分 PFC PFC 颗粒流程序粒流程序简介介1 1、理、理论背景背景2 2、颗粒流方法的基本思想粒流方法的基本思想3 3、颗粒流方法的基本假粒流方法的基本假设4 4、颗粒流方法的特点粒流方法的特点5 5、可、可选特性特性6 6、应用用领域域7 7、求解步、求解步骤3.应力状态分析离散介质运动分析处理连续和非连续问题分析有
2、限差分法有限单元法边界元法等离散元法流行元法等 能够模拟连续和非连续问题的材料各力学行为(包括弹性、塑性、开裂、破裂、峰值载荷后劣化、突变等)的数值模拟工具已成为研究者追求的目标。岩土工程科学研究方法岩土工程科学研究方法岩土工程科学研究方法岩土工程科学研究方法不连续性和非线性研究方法不确定性研究方法损伤损伤力学和断裂力学研究方法力学和断裂力学研究方法块块体力学研究方法体力学研究方法离散离散单单元研究方法元研究方法系统分析方法非线性系统理论分析方法数数值值流行研究方法流行研究方法1、2、3、44.作为离散元的一种,颗粒流程序(Particle Follow Code PFC)数值模拟新技术,其理
3、论基础是Cundall 1979提出的离散单元法,用于颗粒材料力学性态分析,如颗粒团粒体的稳定、变形及本构关系,专门用于模拟固体力学大变形问题。它通过圆形(或异型)离散单元来模拟颗粒介质的运动及其相互作用。由平面内的平动和转动运动方程来确定每一时刻颗粒的位置和速度。作为研究颗粒介质特性的一种工具,它采用有代表性的数百个至上万个颗粒单元,通过数值模拟实验可以得到颗粒介质本构模型。1 1、理、理论背景背景5.PFC(Particle Follow Code)是通过离散单元方法来模拟圆形颗粒介质的运动及其相互作用。最初,这种方法是研究颗粒介质特性的一种工具,它采用数值方法将物体分为有代表性的数百个颗
4、粒单元,期望利用这种局部的模拟结果来研究边值间题连续计算的本构模型。以下两种因素促使PFC方法产生变革与发展:(1)通过现场实验来得到颗粒介质本构模型相当困难;(2)随着微机功能的逐步增强,用颗粒模型模拟整个问题成为 可能,一些本构特性可以在模型中自动形成。因此,PFC 便成为用来模拟固体力学和颗粒流问题的一种有效手段。6.颗粒流程序是一种离散单元法,它通过圆形颗粒介质的运动及其相互作用来模拟颗粒材料的力学特性。在这种颗粒单元研究的基础上,通过一种非连续的数值方法来解决包含复杂变形模式的实际问题。在具有颗颗粒粒粒粒结结构特性岩土介构特性岩土介构特性岩土介构特性岩土介质质中的应用,就是从其细观力
5、学特征出发,将材料的力学响应问题从物理域映射到数学域内进行数值求解。与此相应,物理域内实物颗粒被抽象为数学域内的颗粒单元,并通过颗粒单元来构建和设计任意几何性状的试样,颗粒间的相互作用通过接触本构关系接触本构关系接触本构关系接触本构关系来实现,数值边界条件的确定和试样的若干应力平衡状态通过迭代分析进行,直到使数值试样的宏观力学特性逼近材料的真实力学行为或者工程特性。2 2、颗粒流方法的基本思想粒流方法的基本思想7.3 3、颗粒流方法的基本假粒流方法的基本假设 颗粒流方法在模拟过程中作了如下假设:1)颗粒单元为刚性体;2)接触发生在很小的范围内,即点接触;3)接触特性为柔性接触,接触处允许有一定
6、的“重叠”量;4)“重叠”量的大小与接触力有关,与颗粒大小相比,“重叠”量很小;5)接触处有特殊的连接强度;6)颗粒单元为圆盘形(或球形)。实际工程中大部分大变形都被解释为沿各类软弱面、接触带发生的相对运动,因而颗粒为刚性假设是合适的。对于密实颗粒集合体或者粒状颗粒集合体材料的变形来说,使用这种假设非常恰当。这是因为这些材料的变形主要来自于颗粒刚性体的滑移和转动以及接触界面处的张开和闭锁,而不是来自于单个颗粒本身的变形。为了获得岩土体内部的力学特性,可以将其看作由许多小颗粒堆积形成的密实颗粒集合体组成的固体,并通过定义有代表性的测量区域,然后取平均值来近似度量岩土体内部的应力和应变。在颗粒流模
7、型中,除了存在代表材料的圆盘形或球形颗粒外,还包括代表边界的“墙”。颗粒和墙之间通过相互接触处重叠产生的接触力发生作用,对于每一个颗粒都满足运动方程,而对于墙不满足运动方程,即作用于墙上的接触力不会影响墙的运动。墙的运动是通过人为给定速度,并且不受作用在其上的接触力的影响。同样,两个墙之间也不会产生接触力,所以颗粒流程序只存在颗粒粒-颗粒接触模型和粒接触模型和颗粒粒-墙接触模型接触模型。8.4 4、颗粒流方法的特点粒流方法的特点 PFC可以直接模拟圆形/球形颗粒的运动和相互作用问题。颗料可以代表材料中的个别颗粒,例如砂粒,也可以代表粘结在一起的固体材料,例如混凝土或岩石。当粘结以渐进的方式破坏
8、时,它能够破裂。粘结在一起的集合体可以是各向同性,也可以被分成一些离散的区域或块体。这类物理系统可以用处理角状块体的离散单元程序UDEC和3DEC来模拟。PFC方法既可直接模拟圆形颗粒的运动与相互作用问题,也可以通过任一颗粒与其直接相邻的颗粒连接形成任意形状的组合体模拟块体结构问题。颗粒单元的直径可以均布,也可按高斯分布随机给定。通过调整颗粒单元直径,可以调节孔隙率,通过jsetjsetjsetjset 命令可以模拟岩体中节理等软弱面。颗粒间接触相对位移的计算,不需要增量位移而直接通过坐标来计算。允许粒子发生有限位移和转动,粒子间可以完全脱离在计算过程中能够自动辩识新的接触举例9.PFC PF
9、C 优点:点:1 1、它有潜在的高效率。因它有潜在的高效率。因为圆形物体形物体间的接触探的接触探测比角状物体比角状物体间的更的更简单。2 2、对可以模可以模拟的位移大小的位移大小实质上没有限制。上没有限制。3 3、由于它、由于它们是由粘是由粘结的粒子的粒子组成,采用其模成,采用其模拟时块体体单元可以破裂,而元可以破裂,而UDEC和和3DEC3DEC模模拟的的块体不能破裂。体不能破裂。4 4、PFC 与与DEM(离散离散单元法元法)法一法一样,是按,是按时步步显式式计算,算,这种种计算方法的算方法的优点是点是所有矩所有矩阵不需要存不需要存贮,所以大量的,所以大量的颗粒粒单元元仅需适中的需适中的计
10、算机内存。算机内存。(1)能自动模拟介质基本特性随应力环境的变化;(2)能实现岩土体对历史应力一应变记忆特性的模拟 (3)反映剪胀及其对历史应力等的依赖性;(4)自动反映介质的连续非线行应力一应变关系屈服强度和此后的应变软化或硬化过程;(5)能描述循环加载条件下的滞后效应;(6)描述中间应力增大时介质特性的脆性一塑性转化;(7)能考虑增量刚度对中间应力和应力历史的依赖性;(8)能反映应力一应变路径引起的刚度和强度的各向异性问题;(9)描述了强度包线的非线性特征;(10)介质材料微裂缝的自然产生过程;(11)介质破裂时声能的自然扩散过程.10.最关键的优势平衡方程变形协调方程本构方程变形协调方程
11、保证介质的变形连续性(材料在变形过程中应当是连续的,而不能出现撕裂或重叠的现象),本构方程即物理方程(应力分量与应变分量之间关系),它表征介质应力和应变的物理关系。对于颗粒流而言,由于介质一开始就假定为离散颗粒体的集合,故颗粒之间没有变形协调的约束,但必须满足平衡方程。运动的颗粒不是自由的,它会遇到邻接颗粒的阻力。这种位移和力的作用规律就相当于物理方程,它可以是线性的,也可以是非线性的。11.物理方程 力位移定律 牛二定律 运动方程 12.在颗粒的碰撞过程中,运动的颗粒最终必然要趋于稳定,也即动能转化为热能,因而系统中单元的运动是一不可逆的过程,为了耗散动能,离散元计算中引入阻尼来吸收系统的动
12、能。阻尼系数的考虑有质量阻尼和刚度阻尼,两者的作用分别为限制颗粒的绝对运动和相对运动。前者等价于将整个系统浸泡在粘性液体中,在物理上可以理解为将单元和不动点连接起来,后者则可以理解为用粘性活塞将接触单元连接起来,从而使单元的相对运动受到阻碍。带阻尼器的线性接触模型13.PFC是利用显式差分算法和离散元理论开发的微/细观力学程序,它是从介质的基本粒子结构的角度考虑介质的基本力学特性,并认为给定介质在不同应力条件下的基本特性主要取决于粒子之间接触状态的变化,适用研究粒状集合体的破裂和破裂发展问题以及颗粒的流动(大位移)问题。PFC以介质内部结构为基本单元(颗粒粒和接触接触)、从介质结构力学行为角度
13、研究介质系统的力学特征和力学响应。PFC中有效的接触探测方式和显式求解方法保证可以精确快速地进行大量不同类型问题的模拟从快速流动到坚硬固体的脆性断裂。14.PFC与常与常规数数值方法差异:方法差异:PFC的基本思想是采用介质最基本单元一粒子和最基本的力学关系一牛顿第二定律来描述介质的复杂力学行为,故是一种本质性和根本性的描述。该数值计算理论在应用环节的思路和方法,因为其基本思想的不同,很大程度上不同于其他连续和非连续力学理论方法。这些差别主要体现在如下几个方面:1、模型介质的宏观基本物理力学特征不可能通过直接赋值的形式实现;2、介质的初始条件如地应力场条件会影响介质的结构特征;3、介质的力学特
14、性取决于介质内部粒子的结构和接触特征;4、构建PFC模型和进行相应的运算准备工作必须使用PFC的二次开发功 能。15.当要求满足有实验室实际测试的模拟物体的力学特性时,出现了更大的困难。在某种程度上,这是一个反复试验的过程,因为目前还没有完善的理论可以根据微观特性来预见宏观特性。(try-exam-determine)然而,给出一些准则应该有助于模型与原型的匹配,如哪些因素对力学行为的某些方面产生影响,哪些将不产生影响。应该意识到,由于受现有知识的限制,这样的模拟很难。然而,用PFC进行试验,对固体力学,特别是对断裂力学和损伤力学,可以获得一些基本认识。PFC中几何特征、物理特性和解题条件的说
15、明不如FLAC和UDEC程序那样直截了当。(微观参数选取)举例16.PFC模型中为了保证数据长期不漂移,用双精度数据存储坐标和半径。接触的相对位移直接根据坐标而不是位移增量计算。接触性质由下列单元组成:1)线性弹簧或简化的Hertz-Mindlin准则;2)库仑滑块;3)粘结类型:粘结接触可承受拉力,粘结存在有限的抗拉和抗剪强度。可设定两种类型的粘结,接触粘结和平行粘结。这两种类型粘结对应两种可能的物理接触:接触粘结再现了作用在接触点一个很小区域上的附着作用;平行粘结再现了粒子接触后浇注其它材料的作用(如水泥灌浆)。平行粘结中附加材料的有效刚度具有接触点的刚度。接触模型17.Contact l
16、ogicBonding logic18.General way to specify clump shape(and volume,if necessary)CLUMP TEMPLATE make peanut 3 radii 1.0 0.5 0.5&pos(0,0)(-1,0)(1,0)2.01.0举例19.PFC可以在半静态模式下运行以保证迅速收敛到静态解,或者在完全动态模式下运行。PFC包含功能强大的内嵌式程序语言FISH,允许用户定义新的变量和函数使数值模型适合用户的特殊需求。例如,用户可以定义特殊材料的模型和性质、加载方式、实验条件的伺服控制、模拟的顺序以及绘图和打印用户定义的变量等
17、。20.5 5、可、可选特性特性 1 1)热学分析学分析2 2)流体分析)流体分析3 3)并行)并行处理技理技术4 4)能写用)能写用户定定义接触模型接触模型5 5)用)用户写写C+C+程序的程序的C+C+编程。程。21.流体分析流体分析选项 热学学选项 用来模用来模拟材料内材料内热量的瞬量的瞬间流流动和和热诱导位移和力的位移和力的顺序序发展。展。热学模型学模型可以独立运行或耦合到力学模型。通可以独立运行或耦合到力学模型。通过修改粒子半径和平行粘修改粒子半径和平行粘结承受的力,承受的力,产生生热应变来解来解释粒子和粘粒子和粘结材料的受材料的受热。用用户定定义的接触本构模型的接触本构模型 可以用
18、可以用C+C+语言来言来编写,并写,并编译成成动态链接接库文件,一旦需要就可以加文件,一旦需要就可以加载。并行并行处理技理技术 允允许将一个将一个PFC2DPFC2D模型分成几个部分,每个部分可以在模型分成几个部分,每个部分可以在单独的独的处理器上平理器上平行运行。与一个行运行。与一个PFC2DPFC2D模型在一个模型在一个处理器上运行相比,平行理器上运行相比,平行处理在内存容量和理在内存容量和计算速度方面得到大大提高。算速度方面得到大大提高。22.6 6、应用用领域域 PFCPFC既可解决静既可解决静态问题也可解决也可解决动态问题,既可用于参数,既可用于参数预测,也可用于在原始,也可用于在原
19、始资料料详细情况下的情况下的实际模模拟。PFC PFC 模模拟试验可以代替室内可以代替室内试验。在岩石与土体中开挖。在岩石与土体中开挖问题的研究的研究与与设计方面,方面,实测资料相料相对较少,关于初始少,关于初始应力、不力、不连续性性等等问题也只能部分了解。而在松散介也只能部分了解。而在松散介质流流动问题中,影响流中,影响流动介介质不不规律分布的影响因素很律分布的影响因素很难定量描述。因此,定量描述。因此,应用用PFCPFC初步研究影响整个系初步研究影响整个系统的一些参数的特性,的一些参数的特性,对整个系整个系统的特性有所了解后,就可以方便地的特性有所了解后,就可以方便地设计模型模模型模拟整个
20、整个过程。程。23.PFC PFC 可以模可以模拟颗粒粒间的相互作用的相互作用问题、大、大变形形问题、断裂、断裂问题等,等,如:如:(1 1)在槽、管、料斗、筒)在槽、管、料斗、筒仓中松散物体的流中松散物体的流动问题;(2 2)矿山冒落法开采中的岩体断裂、坍塌、破碎和岩山冒落法开采中的岩体断裂、坍塌、破碎和岩块的流的流动问题;(3 3)铸模中粉料的模中粉料的压实问题;(4 4)由粘)由粘结粒子粒子组成物体的碰撞及其成物体的碰撞及其动态破坏;破坏;(5 5)梁)梁结构的地震响构的地震响应及及垮塌;塌;(6 6)颗粒材料的基本特性研究,如屈服、流粒材料的基本特性研究,如屈服、流动、体、体积变化等;
21、化等;(7 7)固体的基本特性研究,如累)固体的基本特性研究,如累积破坏、断裂。破坏、断裂。目前,离散单元法作为一种公认的数值方法,几乎己经渗透到了岩土工程的所有领域:巷道支护;边坡工程;地下开采;动载问题;冰雪力学;核废料的处理:散体介质问题;断裂力学;自然界的风蚀、崩塌和泥石流;节理一岩桥问题。土力学研究堆积、装填和压制颗粒流动研究土动力学研究24.7 7、求解步、求解步骤 1)1)定定义模模拟对象象 根据模根据模拟意意图定定义模型的模型的详细程序,假如只程序,假如只对某某一力学机制的不同解一力学机制的不同解释作出判断作出判断时,可以建立一个,可以建立一个比比较粗略的模型,只要在模型中能体
22、粗略的模型,只要在模型中能体现要解要解释的机的机制即可,制即可,对所模所模拟问题影响不大的特性可以忽略。影响不大的特性可以忽略。25.2)2)建立力学模型的基本概念建立力学模型的基本概念 首先首先对分析分析对象在一定初始特性形成初步概念。象在一定初始特性形成初步概念。为此,此,应先提出一些先提出一些问题,如系,如系统是否将是否将变为不不稳定系定系统、问题变形的大小、主要力学特性是否非形的大小、主要力学特性是否非线性、是否需要定性、是否需要定义介介质的不的不连续性、系性、系统边界是界是实际边界界还是无限是无限边界、系界、系统结构有无构有无对称性等。称性等。综合以上内容来描述模型的大致特征,包括合
23、以上内容来描述模型的大致特征,包括颗粒粒单元的元的设计、接触、接触类型的型的选择、边界条件的确定界条件的确定以及初始平衡状以及初始平衡状态的分析。的分析。26.3)3)构造并运行构造并运行简化模型化模型 在建立在建立实际工程模型之前,先构造并运行一工程模型之前,先构造并运行一系列系列简化的化的测试模型,可以提高解模型,可以提高解题效率。通效率。通过这种前期种前期简化模型的运行,可化模型的运行,可对力学系力学系统的概念的概念有更深入的了解,有有更深入的了解,有时在分析在分析简化模型的化模型的结果后果后(例如所例如所选的接触的接触类型是否有代表性、型是否有代表性、边界条件界条件对模型模型结果的影响
24、程度等果的影响程度等),还需将第二步加以修改。需将第二步加以修改。27.4)4)补充模充模拟问题的数据的数据资料料 模模拟实际工程工程问题需要大量需要大量简化模型运行的化模型运行的结果,果,对于地于地质力学来力学来说包括包括:a)a)几何特性,如地下开挖几何特性,如地下开挖酮室的形状、地形地貌、室的形状、地形地貌、坝体体形状、岩土形状、岩土结构等;构等;b)b)地地质构造位置,如断构造位置,如断层、节理、理、层面等;面等;c)c)材料特性,如材料特性,如弹/塑性、后破坏特性等;塑性、后破坏特性等;d)d)初始条件,如原位初始条件,如原位应力状力状态、孔隙、孔隙压力、力、饱和度等;和度等;e)e
25、)外荷外荷载,如冲,如冲击荷荷载、开挖、开挖应力等。力等。因因为一些一些实际工程性工程性质的不确定性的不确定性(特特别是是应力状力状态、变形和形和强度特性度特性),所以必,所以必须选择合理的参数研究范合理的参数研究范围。第三。第三步步简化模型的运行有助于化模型的运行有助于这项选择,从而,从而为更更进一步的一步的试验提供提供资料。料。28.5)5)模模拟运行的运行的进一步准一步准备 a)a)合理确定每一合理确定每一时步所需步所需时间,若运行,若运行时间过长,很,很难得到有意得到有意义的的结论,所以,所以应该考考虑在多台在多台计算机上同算机上同时运运行。行。b)b)模型的运行状模型的运行状态应及及
26、时保存,以便在后保存,以便在后续运行中运行中调用用其其结果。例如如果分析中有多次加卸荷果。例如如果分析中有多次加卸荷过程,要能方便地程,要能方便地退回到每一退回到每一过程,并改程,并改变参数后可以参数后可以继续运行。运行。c)c)在程序中在程序中应设有足有足够的的监控点控点(如参数如参数变化化 处、不平、不平衡等衡等),对中中间模模拟结果随果随时作出比作出比较分析,并分析分析,并分析颗粒流粒流动状状态。29.6)6)运行运行计算模型算模型 在模型正式运行之前先运行一些在模型正式运行之前先运行一些检验模型,然模型,然后后暂停,根据一些特性参数的停,根据一些特性参数的试验或理或理论计算算结果果来来
27、检查模模拟结果是否合理,当确定模型运行正确无果是否合理,当确定模型运行正确无误时,连接所有的数据文件接所有的数据文件进行行计算。算。7)7)解解释结果果 计算算结果与果与实测结果果进行分析比行分析比较。图形形应集中集中反反应要分析的区域如要分析的区域如应力集中区,各种力集中区,各种计算算结果果应能方便地能方便地输出分析。出分析。30.第二部分第二部分 有限差分法基有限差分法基础介介绍 连续介介质三三维快速拉格朗日有限差分快速拉格朗日有限差分计算方法算方法(FLACFLAC3D3D)是近是近2020年来逐步成熟完善起来的一种新型数年来逐步成熟完善起来的一种新型数值计算方法算方法,它基于它基于显式
28、差分法来求解运式差分法来求解运动方程和方程和动力方程力方程,可模可模拟岩土或其他材料的三岩土或其他材料的三维力学行力学行为。其。其求解求解时首先将首先将计算区域离散化算区域离散化,分成若干三分成若干三维单元元,单元之元之间由由节点点联结,节点受荷点受荷载作用后作用后,其平衡方程其平衡方程(运运动方程方程)可以写成可以写成时间步步长为 t 的有限差分形式的有限差分形式,由于采用由于采用动态应力松弛力松弛显式差分求解技式差分求解技术,在某一微在某一微小的小的时段内段内,作用于作用于该节点的荷点的荷载只只对周周围若干若干节点点有影响。有影响。31.根据根据单元元节点的速度点的速度变化和化和时段段t,
29、t,可求出可求出单元之元之间的相的相对位移位移,进而求出而求出单元元应变,利用利用单元材料元材料的本构关系即可求出的本构关系即可求出单元元应力。在此基力。在此基础上上,求出求出单元之元之间的不平衡力的不平衡力,将此不平衡力重新作用到将此不平衡力重新作用到节点上点上,再再进行下一步的迭代行下一步的迭代过程程,直到整个系直到整个系统不平衡力足不平衡力足够小或小或节点位移点位移趋于平衡于平衡为止。止。FLACFLAC3D3D可以解决可以解决诸多的有限元程序多的有限元程序难以模以模拟的复的复杂的工程的工程问题,例如分布开挖、大,例如分布开挖、大变形、非形、非线性及非性及非稳定系定系统(甚至大面(甚至大
30、面积屈服屈服/失失稳或完全塌方)。或完全塌方)。32.第三部分第三部分 离散元法基离散元法基础介介绍 离散离散单元法是一种模元法是一种模拟非非连续介介质的的计算方法,算方法,自自CundallCundall在在7070年代提出以来,在岩石力学、土力学、年代提出以来,在岩石力学、土力学、结构分析等构分析等领域的数域的数值模模拟中得到广泛中得到广泛应用,是一种用,是一种新新兴的非的非连续体分析方法。离散体分析方法。离散单元法允元法允许单元元间的的相相对运运动,不一定,不一定满足位移足位移连续和和变形形协调条件,条件,计算速度快,所需存算速度快,所需存储空空间小,特小,特别适用于适用于节理岩体的理岩
31、体的大位移,大大位移,大变形分析。形分析。离散离散单元法自元法自问世以来有了世以来有了长足的足的发展,已展,已经成成为解决岩石力学解决岩石力学问题的一种重要的数的一种重要的数值方法,因方法,因为工工程中所程中所见到的岩体其形到的岩体其形态呈非呈非连续结构,所形成的岩构,所形成的岩石石块体运体运动和受力情况多是几乎或材料非和受力情况多是几乎或材料非线性性问题,所以很所以很难用解决用解决连续介介质力学力学问题的有限的有限单元法或元法或边界界单元法等。元法等。33.数数值方法来方法来进行求解,而离散行求解,而离散单元法正是充分元法正是充分考考虑到岩体到岩体结构的不构的不连续性,适用于解决性,适用于解
32、决节理岩石力理岩石力学学问题。近年来,离散元法的近年来,离散元法的应用用领域又域又扩展到求解展到求解连续介介质向非向非连续介介质转化的力学化的力学问题。混凝土等脆性。混凝土等脆性材料在冲材料在冲击、侵、侵彻等等动荷荷载作用下作用下产生的生的损伤和破坏,和破坏,其其实质是力学模型从是力学模型从连续体到非体到非连续体的体的转变过程。程。建立在建立在传统的的连续介介质力学基力学基础上的有限元法等数上的有限元法等数值计算方法算方法难以直接用于以直接用于计算和模算和模拟材料具体的破坏形材料具体的破坏形式和破坏的整个式和破坏的整个过程,而离散元法在程,而离散元法在这一方面一方面显示出示出巨大的生命力。巨大
33、的生命力。34.第四部分第四部分 PFCPFC2D2D的使用的使用1.1.对PFCPFC软件的使用界面、菜件的使用界面、菜单功能及作用功能及作用进行介行介绍;2.FISH2.FISH语言言简介介3.PFC2D3.PFC2D分析模型的生成方法分析模型的生成方法4.4.边界条件的界条件的设置方法置方法5.5.初始条件的初始条件的设置置6.6.接触本构模型:接触本构模型:接触接触刚度模型度模型滑滑动模型模型连接模型接模型7.7.赋予材料属性:相关命令的使用方法介予材料属性:相关命令的使用方法介绍35.第四部分第四部分 PFCPFC2D2D的使用的使用8.8.节理面的生成及属性理面的生成及属性设置置9
34、.9.加加载方法:主方法:主动荷荷载和被和被动荷荷载;10.10.求解求解过程:静力求解、程:静力求解、动力求解力求解;11.11.流体与流体与热分析分析简介介;12.12.介介绍PFCPFC2D2D软件的用件的用户自定自定义本构模本构模块的相关功的相关功能、操作等能、操作等;13.13.常用命令使用方法及相关的重要概念常用命令使用方法及相关的重要概念;14.14.讲述述PFCPFC2D2D工程工程应用的用的实例例36.1.使用界面、菜单功能介绍37.38.2.FISH语言简介 FISHFISH是一种内置于是一种内置于ItascaItasca软软件内的件内的编编程程语语言,使用言,使用FISH
35、 FISH 用用户户可以定可以定义义新的新的变变量和函数,从而使得量和函数,从而使得这这些函数被用来些函数被用来扩扩展展ItascaItasca软软件的用法或者增加用件的用法或者增加用户户自定自定义义的特性。例如,用的特性。例如,用户户可可以以绘绘制制(PLOT)(PLOT)或打印或打印(PRINT)(PRINT)新的新的变变量,也能量,也能够够改改进进特殊的特殊的颗颗粒体模型粒体模型(网格网格)生成器,可以生成器,可以对对数数值试验进值试验进行伺服控制,可以行伺服控制,可以设设定一些性定一些性质质的特殊分布以及自的特殊分布以及自动动化参数研究。化参数研究。ItascaItasca已已经经写了
36、一些写了一些简单简单但非常有用的但非常有用的FISHFISH函数作函数作为库为库文文件包含在各个具体的件包含在各个具体的软软件中,件中,这这些些FISHFISH函数一方面方便了一些函数一方面方便了一些没有没有编编程程经验经验的用的用户户写一些写一些简单简单的的FISHFISH函数,另一方面也能使函数,另一方面也能使用用户户在在这这些提供的些提供的简单简单函数的基函数的基础础上作上作进进一步的改一步的改进进。不。不过过,FISHFISH语语言象其它言象其它编编程程语语言一言一样样,也可以,也可以编编制出非常复制出非常复杂杂的程序。的程序。39.利用FISH语言进行编程,应该首先编一些简单的函数,
37、然后仔细检查函数的功能,测试是否有错误。如果没有发现错误,再逐渐增加其功能,增加一项功能检查一下,直至发展到最后比较复杂的程序。这是因为虽然FISH是一种编译型语言,但它没有自己独立的编译器,不象VC+或VB能够实时全面地检查错误,FISH检查错误的能力很差,因此在使用他们到真实的应用之前,一定要用一些简单的数据(假如可能的话)来检查所有定义的函数。40.FISH函数内置于标准的Itasca软件的数据文件中,函数的格式必须以DEFINE开始,以END结束。函 数可以嵌套调用,但定义函数的次序没有关系,只要在使用之前全部定义就行。由于FISH函数的编译格式储存在Itasca软件的内存中,因此可以
38、用SAVE命令保存函数以及相关变量的当前值。FISH也可以用来改进用户写的本构模型,如例1:DEF abc abc=22*3+5 END Print abc 41.对上例子稍作改进(例2):new def abc hh=22 abc=hh*3+5 end1).稍有编程常识的人可以看出,执行上面的例子(PRINT abc),其结果与例1相同:abc=71.在这个函数中,我们首先把22赋值给变量hh,然后把这个变量带入abc的表达式中,因此二者的结果相同。42.2).FISH的执行过程如下:当在程序命令中使用一个FISH符号名时(例如执行PRINT 符号名),如果符号名也是一个函数名,那么执行这个
39、函数(例如abc);如果符号名不是函数名,那么使用符号目前的值(例如hh)。3).在输入完例2的各行后,如果我们执行命令:PRINT hh,此时hh=0,因为在这个时候没有执行FISH函数,因此hh的初始值为0;我们接着执行PRINT abc,结果显示abc=71;再次执行PRINT hh,此时结果为hh=22,这是因为我们首先运行了abc函数,在这个过程中hh已被赋值。43.4).下面的试验将进一步解释函数与变量之间的差别。注意:Itasca软件的SET命令可以用来设置任何用户定义的FISH符号的值,与在FISH中使用的符号无关。下面的例3建立在例2的基础之上,我们不使用NEW命令来清除内存
40、中的值,因为我们想继续使用那些值:set abc=0 hh=0print hh print abcprint hh44.5).在这个例子中,我们首先把abc和hh都赋值为0,由于hh是一个变量,第一个Print命令显示当前hh的值,hh=0;第二个Print命令由于abc是一个函数名,因此执行abc函数,先前定义的abc=0不起作用,重新计算了hh和abc的值,因此第三个Print命令显示的值是它在abc函数内指定的值,即hh=22,例4是这个试验完整的命令。45.现在我们总结一下:Itasca软件的三个重要的命令PRINT,SET,HISTORY可以直接操作简单的FISH变量或函数。如下图所
41、示,其中var代表变量名或函数名。HISTORY命令的用法在这不作重复介绍,即定义了FISH函数后,对其中的变量可以进行跟踪,即HISTTORY Var。46.象其它高级编程语言一样,FISH有执行循环命令的功能,标准的格式如下:LOOP var(expr1,expr2)END_LOOP 其中LOOP和END_LOOP是FISH语句,符号var代表循环变量,expr1和pxpr2代表表达式或者单个变量,下面的例子用循环命令计算从1到10的和以及乘积,见下例:47.new def abc sum =0 prod=1 loop n(1,10)sum =sum+n prod=prod*n end_l
42、oop end abc print sum,prod 在这个例子中,首先给两个变量赋于初始值,sum用来保存和的结果,prod用来保存积的结果,然后执行循环,最后分别打印出这两个变量的最后结果。循环变量n(1,10)表示从1开始,连续计算到10结束。48.关于LOOP的注意事项:1).FISH接受END_LOOP和ENDLOOP的写法,但不接受END LOOP这样中间有空格的写法,其它类似的命令有着同样的规则,如END_IF,END_COMMAND等命令;2).在上面的例子中,如果执行Print n或Print fish命令,你会看到n=11而不是10,注意:这不是FISH的错误,这是一个基本
43、的计算机指令存储规则,当循环结束后,计数器的值保存的是n+1而不是n,所有的高级编程语言有着相同的规则。49.1.DEFINE function END2.CASEOF expr Case n endcase3.IF expr1 test expr2 THEN ELSE ENDIF4.LOOP var(expr1,expr2)ENDLOOP50.5.LOOP WHILE expr1 test expr2ENDLOOP6.COMMAND ENDCOMMAND7.HISTORY var PRINT var SET var value PLOT add.sh fname51.另外,在FISH中还有许
44、多其它的预定义对象,其中一类是尺度变量(scalar variables),它们是单个的数字,下面是总的尺度变量:clock-时钟时间,单位是秒的100倍.unbal-最大不平衡力 pi-圆周率 step-目前的时步数目 urand-0.0-1.0之间均匀分布的随机变量 这仅是其中的一小部分,完全的列表以后再述。52.另一类非常有用的内置对象是固有函数(intrinsic functions),这些函数能在FISH内进行一些比较高级的数学运算,完整的列表见FISH 手册,下面给出其中的一部分:abs(a)-a的绝对值 cos(a)-a的余玄(a为弧度)log(a)-a的底数为10的对数 max(a,b)-返回a,b中的最大值 sqrt(a)-a的平方根53.3.PFC2D计算模型的生成方法 有两个命令可用于生成颗粒流模型:BALL和GENER-ATE,其中,BALL命令是生成单个的颗粒,该命令生成的颗粒可与已存在的颗粒重叠,而GENERATE 可生成一系列指定数目的颗粒流,该命令生成的颗粒是不允许重叠的。PFC2D里主要有两种类型的颗粒流:规则排列的和无规则排列的。一系列规则排列的颗粒流可以用来模拟模拟结构部分,如梁,而不规则排列的颗粒流可用来模拟实体或内部结构无规则的颗粒材料,如岩石内部所包含的胶结颗粒。54.