颗粒流笔记绪论+第一章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

学习笔记小红编2015年第一章绪论PFC系列软件是由ITASCA咨询集团(设有ITASCA中国公司)开发的颗粒流分析程序(ParticalFlowCode),分为PFC2D,PFC3D两种特别用于模拟任意性状、大小的二维圆盘或三维球体集合体的运行及其相互作用的强大颗粒分析程序。除了模拟大体积流动和混合材料力学研究,程序更适合于描述在固体材料中细观/宏观裂纹扩展、破坏累积并断裂、破坏冲击和微震响应等高水平课题的深化研究。离散单元法是一种模拟非连续介质的计算方法,自Cundall在70年代提出以来,在岩石力学、土力学、结构分析等领域的数值模拟中得到广泛应用,是一种新兴的非连续体分析方法。离散单元法允许单元间的相对运动,不一定满足位移连续和变形协调条件,计算速度快,所需存储空间小,特别适用于节理岩体的大位移,大变形分析。离散单元法(DiscreteElementMethod,DEM)的基本思想是吧整个介质看做由一系列离散的、独立运动的粒子(单元)所组成,单元本身具有一定的几何(形状、大小、排列等)和物理、化学特征。单元的尺寸是微观的,只与相邻的单元作用,其运动受经典运动方程控制,整个介质的变形和演化由各单元的运动和相互位置来描述。离散单元法自问世以来有了长足的发展,已经成为解决岩石力学问题的一种重要的数值方法,因为工程中所见到的岩体其形态呈非连续结构,所形成的岩石块体运动和受力情况多是几乎或材料非线性问题,所以很难用解决连续介质力学问题的有限单元法或边界单元法等。数值方法来进行求解,而离散单元法正是充分考虑到岩体结构的不连续性,适用于解决节理岩石力学问题。近年来,离散元法的应用领域又扩展到求解连续介质向非连续介质转化的力学问题。混凝土等脆性材料在冲击、侵彻等动荷载作用下产生的损伤和破坏,其实质是力学模型从连续体到非连续体的转变过程。建立在传统的连续介质力学基础上的有限元法等数值计算方法难以直接用于计算和模拟材料具体的破坏形式和破坏的整个过程,而离散元法在这一方面显示出巨大的生命力。基本假设PFC中的颗粒为刚性体,但在力学关系上允许重叠,以模拟颗粒之间的接触力。颗粒之间的力学关系非常简单,即牛顿第二定律。颗粒之间的接触破坏可以为剪切和张开两种形式,当介质中颗粒间的接触关系(如断开)发生变化时,介质的宏观力学特性受到影响,随着发生破坏的接触数量增多,介质宏观力学特性可以经历从峰前线性到峰后非线性的转化,即介质内颗粒接触状态的变化决定了介质的本构关系。因此,在PFC计算中不需要给材料定义宏观本构关系和对应的参数,这些传统的力学特性和参数通过程序自动获得,而定义它们的是颗粒和水泥的几何和力学参数,如颗粒级配、刚度、摩擦力、粘结介质强度等微力学参数。基本假设包括:(1)颗粒单元为刚性体;(2)接触发生在很小的范围内,即点接触;(3)接触特性为柔性接触,接触处允许有一定的“重叠”量;(4)“重叠”量的大小与接触力有关,与颗粒大小相比,“重叠”量很小;(5)接触处有特殊的连接强度;6)颗粒单元为圆盘形(或球形)。其中,颗粒为刚性体的假设,对于模拟介质运动为只沿相互接触面的表面发生的问题非常重要,比如象砂土或粮食这种颗粒组合体材料,利用这种假设在总体上来讲是比较恰当的,因为这种材料的变形是来自于颗粒刚性体间的滑动和转动以及接触面处的张开和闭锁,而不是来自于每个刚性颗粒本身的变形,对于这种特殊材料,没有必要采用非常精确的数值模型,来得到对材料特性的近似。PFC2D的优点:(1)它有潜在的高效率。因为圆形物体间的接触探测比角状物体间的更简单;(2)对可以模拟的位移大小实质上没有限制;(3)由于它们是由粘结的粒子组成,块体可以破裂,不像UDEC和3DEC模拟的块体不能破裂。PFC2D的缺点是:块体的边界不是平的,用户必须接受不平的边界以换取PFC2D提供的优点。模型中为了保证数据长期不漂移,用双精度数据存储坐标和半径。接触的相对位移直接根据坐标而不是位移增量计算。接触性质由下列单元组成:1)线性弹簧或简化的Hertz-Mindlin准则;2)库仑滑块;3)粘结类型:粘结接触可承受拉力,粘结存在有限的抗拉和抗剪强度。可设定两种类型的粘结,接触粘结和平行粘结。这两种类型粘结对应两种可能的物理接触:①接触粘结再现了作用在接触点一个很小区域上的附着作用;②平行粘结再现了粒子接触后浇注其它材料的作用(如水泥灌浆)。平行粘结中附加材料的有效刚度具有接触点的刚度。PFC2D可以模拟颗粒间的相互作用问题、大变形问题、断裂问题等,适用于以下领域:(1)在槽、管、料斗、筒仓中松散物体的流动问题;(2)矿山冒落法开采中的岩体断裂、坍塌、破碎和岩块的流动问题;(3)铸模中粉料的压实问题;(4)由粘结粒子组成物体的碰撞及其动态破坏;(5)梁结构的地震响应及垮塌;(6)颗粒材料的基本特性研究,如屈服、流动、体积变化等;(7)固体的基本特性研究,如累积破坏、断裂。1.2PFC2D求解步骤PFC2D的求解步骤一般如下:(1)定义模拟对象:根据模拟意图定义模型的详细程序,假如只对某一力学机制的不同解释做出判断时,可以建立一个比较粗略的模型,只要在模型中能体现要解释的机制即可,对所模拟问题影响不大的特性可以忽略。(2)建立力学模型的基本概念:首先对分析对象在一定初始特性形成初步概念。为此,应先提出一些问题,如系统是否将变为不稳定系统、问题变形的大小、主要力学特性是否非线性、是否需要定义介质的不连续性、系统边界是实际边界还是无限边界、系统结构有无对称性等(3)构造并运行简化模型:在建立实际工程模型之前,先构造并运行一系列简化的测试模型,可以提高解题效率。通过这种前期简化模型的运行,可对力学系统的概念有更深入的了解,有时在分析简化模型的结果后(例如所选的接触类型是否有代表性、边界条件对模型结果的影响程度等),还需将第二步加以修改(4)补充模拟问题的数据资料:模拟实际工程问题需要大量简化模型运行的结果,对于地质力学来说包括:a)几何特性,如地下开挖酮室的形状、地形地貌、坝体形状、岩土结构等;b)地质构造位置,如断层、节理、层面等;c)材料特性,如弹/塑性、后破坏特性等;d)初始条件,如原位应力状态、孔隙压力、饱和度等;e)外荷载,如冲击荷载、开挖应力等。(5)模拟运行的进一步准备:a)合理确定每一时步所需时间,若运行时间过长,很难得到有意义的结论,所以应该考虑在多台计算机上同时运行;b)模型的运行状态应及时保存,以便在后续运行中调用其结果。例如如果分析中有多次加卸荷过程,要能方便地退回到每一过程,并改变参数后可以继续运行;c)在程序中应设有足够的监控点(如参数变化处、不平衡等),对中间模拟结果随时作出比较分析,并分析颗粒流动状态。(6)运行计算模型:在模型正式运行之前先运行一些检验模型,然后暂停,根据一些特性参数的试验或理论计算结果来检查模拟结果是否合理,当确定模型运行正确无误时,连接所有的数据文件进行计算。(7)解释结果:计算结果与实测结果进行分析比较。图形应集中反应要分析的区域如应力集中区,各种计算结果应能方便地输出分析。第二章PFC2D基本操作2.1使用界面与菜单功能下面列举了部分界面和菜单,其余的部分可以参考实际或说明书。Pagination:标记页数;页码Echo:重复Echotofile:重复写入文件Viewupdateinterval:视图更新间隔:区分大小写输入SafeFish/MacroConversion:Fish/Macro的安全转换ResetRandomSeed:重置随机种子ModelMemory:模型存储LockFurtherAllocation:锁进一步分配AllocationSize(MB):分配的存储空间AddBlock(MB):添加块Errorifgeneratefewerballsthanspecified:如果生成球少于指定则提示错误Maximumballs:球的数量极大值Safetyfactor:安全因子Historyinterval:记录的间隔Timestepcalculationinterval:时间步的计算间隔Gravity:重力Diskmode:圆盘模式Diskthickness:圆盘厚度Accumulatedtime:累计时间Auto(Dynamic):自动(动态)Maximumtimestep:最大的步数Staticmode:静态模式:密度标度Add添加Geometry几何结构显示Balls球Walls墙体Groups组Clusters群集Clumps块Cell单元MatrixDofs位移自由度矩阵Matrixelements单元矩阵球→ModifyBallPlotItem修改球的显示Alias别名ID显示球的编号EditRange编辑显示范围2.2FISH语言FISH函数内置于标准的Itasca软件的数据文件中,函数的格式必须以DEFINE开始,以END结束。函数可以嵌套调用,但定义函数的次序没有关系,只要在使用之前全部定义就行。由于FISH函数的编译格式储存在Itasca软件的内存中,因此可以用SAVE命令保存函数以及相关变量的当前值。FISH也可以用来改进用户写的本构模型,如例1:DEFabcabc=22*3+5ENDPrintabc对上例子稍作改进(例2):newdefabchh=22abc=hh*3+5end执行上面的例子(PRINTabc),其结果与例1相同:abc=71.在这个函数中,我们首先把22赋值给变量hh,然后把这个变量带入abc的表达式中,因此二者的结果相同。FISH的执行过程如下:当在程序命令中使用一个FISH符号名时(例如执行PRINT符号名),如果符号名也是一个函数名,那么执行这个函数(例如abc);如果符号名不是函数名,那么使用符号目前的值(例如hh)。在输入完例2的各行后,如果我们执行命令:PRINThh,此时hh=0,因为在这个时候没有执行FISH函数,因此hh的初始值为0;我们接着执行PRINTabc,结果显示abc=71;再次执行PRINThh,此时结果为hh=22,这是因为我们首先运行了abc函数,在这个过程中hh已被赋值。下面的试验将进一步解释函数与变量之间的差别。注意:Itasca软件的SET命令可以用来设置任何用户定义的FISH符号的值,与在FISH中使用的符号无关。下面的例3建立在例2的基础之上,我们不使用NEW命令来清除内存中的值,因为我们想继续使用那些值:setabc=0hh=0printhhprintabcprinthh在这个例子中,我们首先把abc和hh都赋值为0,由于hh是一个变量,第一个Print命令显示当前hh的值,hh=0;第二个Print命令由于abc是一个函数名,因此执行abc函数,先前定义的abc=0不起作用,重新计算了hh和abc的值,因此第三个Print命令显示的值是它在abc函数内指定的值,即hh=22,例4是这个试验完整的命令。现在我们总结一下:Itasca软件的三个重要的命令PRINT、SET、HISTORY可以直接操作简单的FISH变量或函数。如下图所示,其中var代表变量名或函数名HISTORY命令的用法在这不作重复介绍,即定

1 / 42
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功