查看窗格 - 包含单个模型可视化(即绘图)。可以创建的View窗格数量没有限制。在控制面板的帮助下,最容易构建绘图,它提供了快速绘图组装,操作和细化的工具。
“状态记录”窗格 - 提供已创建当前模型状态的所有输入的帐户。它有两种模式。输入模式记录显示已创建当前状态的命令。输入文件列表模式显示在创建当前模型状态的过程中已调用,打开或以其他方式使用的任何文件的列表。
还可以通过添加剪切平面,剪辑框或过滤器来修改每个绘图项。可以使用大量预定义的过滤器,但这些过滤器可以组合在一起,也可以添加布尔逻辑和FISH脚本来创建自定义过滤器。
PFC中的 “编辑器”窗格提供了编辑基于文本的项目资源(数据文件,FISH文件)的功能,但可以与任何文本文件一起使用。虽然用户可以选择与其他文本编辑器一起使用来创建或修改项目项而不会丢失功能,但PFC编辑器提供了外部编辑器所不具备的优点,包括:自动语法颜色编码; 可折叠的鱼块; 并访问“执行/停止”命令,该命令为编辑和运行周期序列提供集成环境,而无需在两个程序之间切换。文本编辑的主要工具包括文本搜索/替换和搜索行号。可以将注释或备注(用分号表示)添加到任何Itasca数据文件中,以便记录或注释您的数据文件。这对于在不删除行的情况下停用数据文件的某些部分也很有用。可以在“选项”对话框中设置影响“编辑器”窗格外观的用户首选项和设置以及显示在其中的文本(包括用于指示PFC命令语法的样式)。
当项目窗格处于活动状态时,控制面板将成为文件浏览器,可用于快速找到项目文件并在Windows资源管理器中查看它们。文件可以直接从浏览器打开到当前项目中。
PFC的手册,包括示例,现在完全是电子的,可从帮助菜单访问。此屏幕参考提供对手册中包含的信息的快速,可搜索的访问。作为PFC更新版本的一部分,帮助文件将定期更新,以包含更多示例和开发的内容。
可以将任意数量的任意取向的线段或平面凸多边形指定为壁,每个壁具有其自己的接触特性。改进的墙逻辑支持从常见文件格式(包括STL和DXF)输入几何表面数据(3D三角形面)。墙壁逻辑准确有效地解决了在凹凸边缘上迁移的接触。例如,一些简单的命令可以快速导入并构建一组复杂的墙壁,以便与球和团块进行交互。
现在可以将旋转传送器速度应用于壁面,用于轴对称壁(例如,圆柱形鼓)围绕其对称轴旋转的一般情况。墙壁本身不旋转,但是小平面传送带的速度设置使得墙壁的表观行为是旋转。在小平面的质心处计算的切向速度不平行于小平面的情况下,输送机速度被设定为切面速度在小平面上的投影。墙也可以在模型域内围绕指定的中心或旋转进行旋转。
Contact Logic负责在模拟过程中检测和创建联系人。联系模型根据流程实施联系本构法。对于机械接触,它们涉及接触实体相对于接触力和力矩的相对运动。
滞后接触模型 - PFC中的滞后接触模型包括Hertz接触模型文档中描述的Hertz模型的弹性部分的组合,其组合在正常方向上由非线性粘弹性元件组成的交替缓冲器组。
Smoothjoint接触模型 - smoothJoint模型模拟接口的行为,无论接口处的局部粒子接触方向如何。摩擦或粘接接头的行为可以通过将光滑接头模型分配给位于接头相对侧的颗粒之间的所有接触来建模。
允许用户在PFC模拟期间执行自己的C ++代码。用户定义的FISH内在函数用C ++编写,并编译为DLL(动态链接库)文件,以便在PFC模拟中随时加载。Visual Studio 2010 C ++编译器用于编译DLL文件。该组件可用于替换选定的FISH功能,从而大大加快执行速度,尤其是在每个循环期间对大量模型实体进行操作时。
允许用户在PFC中添加新的联系人模型。接触模型描述了接触处的力 - 位移响应。在每个循环期间,PFC程序调用每个接触模型(传递关于两个接触实体的相关信息),并且接触模型更新在两个接触实体上以相同和相反的方向起作用的力和力矩。用户定义的联系模型使用C ++编写,并编译为DLL(动态链接库)文件,以便在PFC模拟中随时加载。Visual Studio 2010 C ++编译器用于编译DLL文件。所有PFC的源文件联系模式提供给用户。该组件提供了将与特定问题相关的物理特性纳入不同元素框架的灵活性。
新的接触模型分配表(CMAT)使用范围逻辑带来灵活性,无需复杂的FISH功能即可分配接触模型。在创建接触时,CMAT提供接触模型及其属性(可以从两个接触表面的属性导出)。结果,可以以直接的方式合成涉及异质材料特性的复杂模型。
改进的丛集逻辑简化了复杂形状体的建模。丛(clump)是一组刚性连接的球体,用户可以为其分配惯性属性,可以计算或指定它们的惯性属性,并且可以将它们导出以便重复使用。可以从模板轻松生成团块,并且可以将其视为粒子或其表面描述。
使用Delaunay三角剖分和外接圆(PFC2D)或球体(PFC3D)自动为指定的三角形曲面创建丛模板粒子。可以调整模板参数以平衡每个团块中的颗粒数量和表面表示的平滑度。
砖是压实的粘合颗粒组件,可以多次复制以构建大型模型。通过在周期性空间内压缩颗粒组件,然后以紧凑的形式存储,从而得到砖(在单独的PFC模型中); 然后可以将这个组件的副本完美地装配在一起,因为砖块一侧的颗粒几何排列是相反侧的颗粒的负像(见下图)。
构建附加砖模型有两个主要原因。首先,可以非常快速地构建大型模型,因为砖已经被压实并且处于平衡状态。(注意,接触力也存储在砖块中,如果原始力处于平衡状态,这些接触力会自动平衡在两块砖之间的连接处。)通常,使模型达到平衡所需的时间随着模型的大小而大大增加,因为必须在整个模型中重复传输信息(关于不平衡力)。当模型由已经平衡的砖构成时,不需要进一步的时间来建立全球均衡。因此,几乎可以瞬间组装大的平衡模型。
构建砖块模型的第二个主要原因是每个砖块可以用线性矩阵形式代替,以便提高计算速度。砖的线性版本通常在模型边界附近是可接受的,其中不存在非线性机制(例如裂缝)。有两种矩阵形式:
刚度矩阵(表示为“全矩阵”砖),它是粘合粒子pbrick组件的平移自由度的一对一替代; 和
刚度矩阵(表示为“简并矩阵”砖),对应于替换砖的单个有限差分区域(或有限元)。
11、大小分布
导致有针对性地创建具有重叠的球和团块的复杂组件,直到达到目标孔隙度。球位置和半径可以从整个模型域中的均匀或高斯分布中得出。可以指定具有半径范围和体积分数的多个球分布。给定大小分布,可以生成满足它的程序集。
三、FISH脚本
FISH是一种嵌入式脚本语言,使用户能够与PFC模型进行交互和操作,根据需要定义新的变量和函数。这些函数可用于扩展PFC的用途或添加用户定义的功能。例如,可以绘制或打印新变量,可以实现特殊粒子生成器,可以应用虚拟伺服控制来执行数值实验室测试,可以指定不寻常的属性分布并且可以自动化参数研究。
FISH的开发是为了回应想要使用Itasca软件进行操作的用户,这些软件在现有程序结构中很难或不可能。而不是将许多新的和专用的功能合并到PFC中,提供了FISH,以便用户可以编写功能来执行自定义分析。没有编程经验的人可以编写简单的FISH功能。以下部分包含非程序员的入门教程。但是,FISH程序也会变得非常复杂。
FISH程序只是嵌入在普通的PFC数据文件中:单词“define”后面的行被处理为FISH函数; 当遇到单词“end”时,该函数终止。函数可以调用其他函数,可以调用其他函数,等等。定义函数的顺序无关紧要,只要它们在使用之前都已定义(例如,由PFC命令调用)。由于FISH函数的编译形式存储在PFC的存储空间中,因此“save”命令保存函数和相关变量的当前值。
四、Python脚本
Python是一种通用的开源编程语言,对科学和数值编程有很好的支持。Python已完全记录,并已扩展为允许从Python脚本操作PFC模型。Itasca自己的脚本语言FISH继续得到支持和开发。
1、Python Powered
完全使用Python数据文件控制PFC和/或使用内置于PFC中的增强型交互式IPython控制台。IPython提供了一组功能强大的工具,例如:
基于GUI的脚本shell;
交互式数据可视化
综合对象内省;
Python脚本并行处理; 和
强大的错误处理。
2、科学绘图
使用matplotlib创建自定义出版物质量数据,matplotlib是一个Python 2D绘图库,可以生成各种硬拷贝格式的图形和跨平台的交互式环境。绘图类型包括线条,条形图,饼图,极坐标,统计图,轮廓图,字段和大量专业图表。
3、电力计算
使用NumPy进行Python的科学计算:
一个强大的N维数组对象;
复杂的(广播)功能;
用于集成C / C ++和Fortran代码的工具;
有用的线性代数,傅立叶变换和随机数能力; 和
数据库集成。
4、科学与工程
SciPy可以使用基于NumPy数组对象的高级可定制计算。SciPy包含用于优化,线性代数,积分,插值,特殊函数,FFT,信号和图像处理,ODE求解器以及科学和工程中常见的其他任务的模块。
5、GUI自定义
Pyside为PFC图形界面使用的Qt库提供Python绑定。使用PySide,用户可以修改,操作或扩展PFC GUI,创建和控制自定义GUI窗格,包括标签,文本框,窗格对接和命令按钮。通过创建自定义应用程序,使用专用用户对话框输入参数和后处理模拟结果,简化复杂问题的建模。
五、解决方案
1、显式解法
显式解决方案模拟非线性行为,无需过多的内存需求或需要迭代过程。PFC中使用的高效接触检测方案和显式求解方法可确保从快速粒状流动到刚性固体的脆性断裂,准确有效地模拟各种模拟。显式解决方案还为不稳定过程(例如,崩溃)提供稳定的解决方案,并且可以准确地描述非线性行为和定位,这是典型的有限元程序无法匹配的。准静态工作模式也可用于快速收敛到稳态解决方案。
2、自动时间步
自动时间步长计算确保稳定的解决方案,显式解决方案模拟非线性行为,无需过多的内存需求或需要迭代过程。
3、自动多线程
显着提高多核处理器的性能,无需修改数据文件。PFC在共享存储器,多核架构(即,具有多核处理器的笔记本电脑或PC)上的多个线程之间的循环期间分配计算负载。默认情况下,PFC将使用主机系统上可用的最佳线程数。但是,用户可以设置PFC在循环期间使用的线程数。
计算周期的所有方面都是多线程的:
时间步计算
运动方程
力量位移法
接触检测
4、域
域是轴对齐的边界框。所有模型组件(例如,球,墙,接触等)都存在于域内。域是固定的:它不会随着模型组件的分散而自动增长。域边界可以有四个条件:
破坏;
停;
反映; 和
周期性的。
当模型组件与域交互时,应用其中一个条件。该领域的引入极大地增强了PFC有效进行空间搜索和接触检测的能力,这是有助于模拟性能的两个重要方面。
5、高效的空间搜索和联系检测
细胞映射方案确保溶液时间仅随着颗粒数量的增加而线性增加。通过将域细分为相同大小的单元格来动态细化或粗化单元格,以确保在多线程环境中获得最佳搜索性能,从而提高复杂粒度分布和快速流问题的执行速度。该方法自动提供接近最佳的性能。
6、64位版本
基于32位架构的计算机可以处理虚拟内存(RAM)中任何信息的232个内存地址位置。计算机操作系统未使用的任何内存都可供PFC等软件应用程序免费使用,并代表最大可能的型号(大约2到3 GB,具体取决于可用的硬件)。
虽然这对于大多数PFC模型来说已经足够,但在需要数十万个粒子的情况下,模型尺寸开始快速超过可用内存。例如,在下图中,每侧80米的SRM(合成岩体)模型需要超过800,000个颗粒以获得所需的颗粒分辨率。这个模型太大,无法在传统的台式计算机上建模,需要更新的64位架构。64位计算机可以处理264个地址(160亿GB),并且出于所有实际目的,仅受可用硬件的限制。
7、热模型
PFC中的热模型模拟材料中的瞬态热通量(材料中的传导和存储)以及随后热致应变和力的发展。热模型可以独立运行或耦合到默认机械模型。产生热应变以解释颗粒和粘合材料的加热。也可以为壁分配温度以充当热边界条件。
热材料表示为热储存器网络(与每个机械主体相关联)和热接触(与每个机械接触相关联)。通过连接储存器的有源热触点中的传导发生热流。辐射和对流传热不包括在本配方中。在PFC中产生热诱导的应变材料通过改变粒径。机械接触模型也可以解释热诱导力。一旦指定了热微观特性,随后的加载或损坏(以粘合断裂的形式)将改变活性管的数量,从而改变材料传导热量的能力。例如,当粘合材料被压缩并形成新的有源触点时,宏观导热性将增加; 但随着键断裂和触点变得不活跃,宏观热导率将降低。
例如,一些宽度的平板最初处于0℃的均匀温度。然后将片材的左侧暴露于100℃的恒定温度,而将右侧保持在0℃。片材最终在恒定的热通量和不变的温度分布下达到平衡状态。六角形填充系统的球温和热功率矢量场的轮廓如左下图所示。片材内的模型化和分析(Crank,1975)标准化温度分布,作为左侧距离和时间的函数,如右图所示。
六、分析
1、测量区域
“测量区域”是用户指定的球形体积(PFC3D)或磁盘区域(PFC2D),其中测量PFC模型中的多个量。测量区域返回在位于测量区域中或与测量区域相交的对象上计算的平均值。可用于测量的数量包括:
协调编号
孔隙度,
强调,
应变率,和
粒度分布
2、可视化
提供广泛的绘图,测量,能量跟踪和可视化功能,包括随时间追踪任何模型数量的能力。PFC中提供以下可视化工具,以帮助分析模拟结果。
轮廓
档案数据
标量,向量和张量
几何轮廓
标签
粒子追踪
ScaleBox
3、制图
以下图表可用于绘制模型数据。
表格(XY,线) - 任何数据的2D图
历史(XY,线) - 随时间跟踪的与球,墙或接触相关的值的2D图
Stereonets - 3D离散断裂方向
Rosettes - 离散断裂方向的径向直方图
4、能量追踪
允许跟踪:车身功,键能,边界功,摩擦功,动能和应变能。
5、分享结果
ASCII文件 - 使用FISH脚本语言,可以从PFC读取或写入ASCII数据文件,从而可以导入和导出数据。可以直接从ASCII文件导出和导入表和历史数据。
CSV文件 - 历史记录或线路配置文件数据可以直接保存为逗号分隔值(CSV)格式。
结果文件 - 这些是在不同时间保存的完整模型保存状态的缩减版本(和较小的文件大小),以保存在内存中或保存为二进制文件。它们可用于重新创建模型状态,充当用于有效后处理(例如,电影生成,停留时间计算等)的实用程序。一旦检测到某些事件(例如,键断裂,粒子被删除),可以定期或自动生成结果文件。
电子邮件 - 使用FISH脚本语言,可以指示PFC发送包含数据(模型阶段,测量结果)或附件(保存的文件,图形)的电子邮件。
项目包文件 - PFC中的项目可以收集到称为包文件的单个文件中。该文件包含项目文件,所有输入文件(数据文件,FISH文件等),所有模型状态的状态记录文件(尽管不是保存的文件本身)以及在创建任何模型状态的过程中使用的任何文件模型陈述。
七、内置接触模型
随PFC提供的触点型号列在下表中,并列出了它们的典型用法。线性滚动电阻线性,线性接触键和线性平行键合接触模型共享许多特征,因此被称为基于线性的模型。线性接触结合,线性平行结合,平滑结合和平坦接合接触模型利用结合概念,其中剪切力和/或拉力可以由于相对运动而发展。这些模型可用于模拟粘合粒子材料(BPM)。
1、基于线性的模型
线性滚动电阻线性,线性接触键和线性平行键合接触模型具有许多特征,因此称为基于线性的模型。基于线性的模型也可在PFC 4.0中获得。嵌入它们的独特元素建模框架已在PFC 5.0和PFC 6.0中进行了概括和扩展,因此它们的实现与PFC 4.0 中的实现不同; 但是,这些模型中体现的接触机制保持不变,因此它们在PFC 4.0 中的行为可以在PFC 5.0和PFC 6.0中重现。
基于线性的模型提供了在接触键和平行键中体现的两种标准键合行为。这些键可以安装在球形和球形触点上。两种粘合可以设想为连接接触件的一种胶。接触粘合胶的尺寸非常小,仅在接触点起作用,而平行粘合胶具有有限的尺寸,可以作用于{矩形的2D; 圆形的3D}横截面位于接触件之间。接触键只能传递力,而平行键可以传递力和力矩。默认情况下,碎片不会粘合。债券是通过调用债券方法创建的。超过强度时或通过调用unbond方法去除债券。
2、粘合粒子材料(BPM)和界面
粘合粒子建模方法基于所使用的接触模型定义材料和界面。定义了以下材料和接口。接触粘合材料是粒状组件,所有接触都使用线性接触粘合模型。平行键合材料是粒状组件,所有触点均使用线性平行键合模型。平接材料是一种粒状组件,所有触点均采用扁平接头模型。通过识别界面附近的触点并用光滑连接模型替换它们的接触模型,可以将光滑连接的界面插入接触粘合,平行粘合和平接材料中。
通过粘合填充粒子组件的选定触点来创建BPM材料。通过调用联系模型的绑定方法来绑定联系人。通过将g b指定为接触模型分配表(CMAT)中的接近度,可以确保接触间隙小于指定的接合间隙(g b)的 所有接头之间存在接触。
八、计算流体动力学(CFD)
用于PFC3D的计算流体动力学模块(CFD模块)解决了一些流体 - 颗粒相互作用问题。该模块采用最初描述的体积平均粗网格方法(Tsuji等,1993); 并非所有流体 - 颗粒相互作用问题都可以用这种粗网格方法解决。
CFD模块提供命令和脚本功能以连接到CFD软件并解决流体问题 - 请注意,CFD求解器不是模块的内置组件。这使用户可以灵活地将PFC3D与他们选择的CFD求解器耦合。有关其他DEM /流体耦合方法和应用的概述,请参见Furtney等,2013 。
在粗网格方法中,描述流体流动的方程式在一组比PFC3D 颗粒大的元素上以数字方式求解。由流体作用在颗粒上的力局部地分配给每个颗粒,并且基于颗粒占据的流体元件中的流体条件。用于流体 - 颗粒相互作用力的配方对于孔隙度和雷诺数的实际范围是准确且平滑地变化的(湍流效应包括在流体 - 颗粒相互作用项中)。
相应的体力作为一个流体元件上的平均值施加到流体上。从每个流体元件中的颗粒特性的平均值计算孔隙率和流体阻力。通过在PFC3D 和流体流动求解器之间定期交换该信息来实现双向耦合。PFC3D 和流体流软件之间的同步和信息交换通常通过TCP套接字通信完成。
可以用该方法研究的流体 - 流动结构的长度尺度大于PFC颗粒。任何基于连续体的流体流动模型都可以与PFC3D一起使用, 包括Navier-Stokes方程,势流和欧拉方程。PFC3D 的假设是:(i)流体元件大于PFC3D 颗粒,(ii)流体性质在流体元件上是分段线性的,以及(iii)流体元件不移动。
PFC3D的CFD模块 提供了以下方法:
读一个流体网,
存储每个流体元件中的流体速度,流体压力,流体压力梯度,流体粘度和流体密度,
计算孔隙度,和
在PFC3D 循环期间自动将流体 - 颗粒相互作用力施加到颗粒上。
使用说明
一、该PFC模式
一般的粒子流模型模拟由一组任意形状的粒子组成的系统的机械行为。(请注意,此处使用的术语“ 粒子”与力学领域中更常见的定义不同,在力学领域中,术语“ 粒子”被视为一个体积,其尺寸可忽略不计,因此在空间中仅占据一个点。在本文中,术语粒子表示占据有限空间的物体。)模型由不同的粒子组成,这些粒子彼此独立地位移并在成对的接触处相互作用。如果假设颗粒是刚性的,则根据每个颗粒的运动和作用在每个接触点处的颗粒间力来描述这种系统的机械性能。牛顿运动定律提供了粒子运动与引起运动的力之间的基本关系。力系统可以处于静态平衡(在这种情况下,没有运动),或者可以使得颗粒流动。如果粒子相互作用定律模拟粒子之间的物理接触,则使用软接触方法表征接触的行为,其中采用有限法向刚度来表示在接触处存在的可测量刚度,并且允许刚性颗粒在接触点附近重叠。更复杂的行为可以通过允许颗粒在它们的接触点处结合在一起来建模,使得当作用于任何结合的颗粒间力超过结合强度时,该结合被破坏。这允许在颗粒之间产生拉力。然后可以模拟这些键合“嵌段”的相互作用,包括可能导致嵌段碎裂成较小嵌段的裂缝的形成。粒子相互作用定律也可以从势能函数和模型长程相互作用中推导出来。更复杂的行为可以通过允许颗粒在它们的接触点处结合在一起来建模,使得当作用于任何结合的颗粒间力超过结合强度时,该结合被破坏。这允许在颗粒之间产生拉力。然后可以模拟这些键合“嵌段”的相互作用,包括可能导致嵌段碎裂成较小嵌段的裂缝的形成。粒子相互作用定律也可以从势能函数和模型长程相互作用中推导出来。更复杂的行为可以通过允许颗粒在它们的接触点处结合在一起来建模,使得当作用于任何结合的颗粒间力超过结合强度时,该结合被破坏。这允许在颗粒之间产生拉力。然后可以模拟这些键合“嵌段”的相互作用,包括可能导致嵌段碎裂成较小嵌段的裂缝的形成。粒子相互作用定律也可以从势能函数和模型长程相互作用中推导出来。然后可以模拟这些键合“嵌段”的相互作用,包括可能导致嵌段碎裂成较小嵌段的裂缝的形成。粒子相互作用定律也可以从势能函数和模型长程相互作用中推导出来。然后可以模拟这些键合“嵌段”的相互作用,包括可能导致嵌段碎裂成较小嵌段的裂缝的形成。粒子相互作用定律也可以从势能函数和模型长程相互作用中推导出来。
二、PFC提供包含以下假设的粒子流模型:
颗粒被视为刚体。
基本粒子形状是{单位厚度为2D的圆盘; 球体在3D中},表示球。
clump逻辑支持创建刚性连接的{单位厚度为2D的磁盘; 3D中的球体,用鹅卵石表示。每个丛由一组重叠的鹅卵石组成,这些鹅卵石充当具有可变形边界的刚体。团块可以是任意形状。
颗粒通过内力和力矩在成对接触处相互作用。接触力学体现在更新内力和力矩的粒子相互作用定律中。
物理接触的行为使用软接触方法,其中允许刚性颗粒在接触点处彼此重叠。接触发生在非常小的区域上(即,在一点处),并且接触点处的重叠和/或相对位移的大小通过力 - 位移定律与接触力相关。
在粒子之间的接触处可以存在键。
远距离相互作用也可以从能量势能函数中获得。
当物理系统中的大部分变形通过沿界面的运动来解释时,粒子刚度的假设是很好的。填充颗粒组件(或砂粒状组件)整体的变形通过这种假设得到了很好的描述,因为变形主要是由于颗粒作为刚体和开口的滑动和旋转而产生的。在界面处互锁,而不是从单个粒子变形。粒子变形的精确建模对于获得这种系统的机械性能的良好近似不是必需的。
除传统的颗粒流应用外,PFC还可用于分析受规定边界和初始条件的固体。在这样的模型中,通过将固体视为许多小颗粒的压实组件来近似连续体行为。应力和应变率的测量可以定义为这种系统的代表性测量体积上的平均量。这允许人们估计颗粒材料(例如土壤)或通过粉末压实形成的诸如岩石或塑料的固体材料的内部应力。
除了球和团块,PFC粒子流模型还包括墙壁。壁允许人们将速度边界条件应用于球或团块的组件以用于压实和限制。球,团块和壁通过在接触处产生的力彼此相互作用。每个球和丛都满足运动方程。然而,每个墙壁都不满足运动方程(即,作用在墙壁上的力不会影响其运动)。相反,它的运动由用户指定,并且无论作用于其上的接触力如何都保持恒定。此外,两个墙之间可能不会形成接触; 因此,接触可以是球形,球形,鹅卵石形,球形小球形或卵石形小平面。
三、独特元素法
PFC模拟刚体的圆形应力组件的运动和相互作用; 使用Distinct-Element Method(DEM)的3D球形球形。Dnd由[Cundall1971]引入,用于分析岩石力学问题,然后通过[Cundall1979b]应用于土壤。在[Cundall1988]和[Hart1988]以及UDEC手册([Itasca2011])的两部分论文中给出了该方法的详尽描述。根据[Cundall1992]的评论中的定义,PFC被归类为离散元素代码因为它允许离散体的有限位移和旋转(包括完全分离),并且随着计算的进行自动识别新的接触。PFC可以被视为DEM的简化实现,因为对2D中的刚性{圆形; 球形的3D}粒子。通用DEM可以处理可变形的多边形颗粒。
在DEM中,粒子的相互作用被视为一个动态过程,只要内力平衡,均衡状态就会发展。通过追踪单个颗粒的运动来发现受应力的颗粒组件的接触力和位移。移动是通过粒子系统传播由特定的壁和粒子运动和/或体力引起的干扰。这是一个动态过程,其中传播速度取决于离散系统的物理特性。
通过时间步长算法以数字方式表示动态行为,其中假设速度和加速度在每个时间步长内是恒定的。解决方案与显式有限差分方法用于连续分析的方案相同。DEM基于以下思想:所选择的时间步长可能非常小,以至于在单个时间步长期间,干扰不能从任何粒子传播得比其直接邻居更远。然后,在任何时候,作用在任何颗粒上的力仅通过其与与其接触的颗粒的相互作用来确定。由于扰动可以传播的速度是离散系统的物理特性的函数,因此可以选择时间步长以满足上述约束。使用显式,而不是隐式,
在DEM中进行的计算在牛顿第二定律与粒子的应用和接触处的力 - 位移定律之间交替进行。牛顿第二定律用于确定每个粒子的运动是由接触和作用在其上的体力引起的,而力 - 位移定律则用于更新每个接触处相对运动产生的接触力。PFC中的墙壁的存在仅需要力 - 位移法则解释与墙面的接触。牛顿的第二定律不适用于墙壁,因为墙壁运动是由用户指定的。