PFC3D三维接触力组构图:单轴与单剪试验展示

发布时间:2026/5/24 17:15:04

PFC3D三维接触力组构图:单轴与单剪试验展示 pfc3d三维接触力组构图。 以单轴压缩试验和单剪试验为例展示效果。 直接在软件内生成无需导出数据再画图。 云图颜色表示不同方向接触力的个数。在岩土力学等相关研究领域PFC3DParticle Flow Code in 3 Dimensions是一款强大的离散元数值模拟软件。其中三维接触力组构图的绘制对于理解颗粒间相互作用有着重要意义。今天咱们就以单轴压缩试验和单剪试验为例来看看如何在PFC3D中直接生成接触力组构图无需导出数据再进行绘制并且利用云图颜色来表示不同方向接触力的个数。单轴压缩试验下的接触力组构图实现在PFC3D里我们先构建单轴压缩试验的模型。假设有这么一段基础代码来初始化颗粒集合# 创建颗粒集合 ball.set_radius(0.01, 0.02) # 设置颗粒半径范围 ball.gen(region.cylinder(0, 0, 0, 0, 0, 1, 0.1)) # 在圆柱区域内生成颗粒上述代码简单来说就是设定颗粒半径在0.01到0.02之间然后在一个高为1半径为0.1的圆柱区域内生成颗粒这就模拟了单轴压缩试验中的试件部分。接着为了施加轴向压力我们可以这样写代码# 施加轴向压力 wall.create(1, 0, 0, 0, 0, 1, 0, 0, 0) # 创建底部墙体 wall.create(0, 0, -1, 0, 0, 1, 0, 0, 0) # 创建顶部墙体 f servo() # 创建伺服控制对象 f.target(1, vel0, goal-0.001) # 顶部墙体以0.001的速度向下移动施加压力这里先是创建了底部和顶部的墙体然后通过伺服控制对象让顶部墙体以一定速度向下移动以此来模拟单轴压缩的加载过程。在模拟完成后要绘制三维接触力组构图且用云图颜色表示不同方向接触力个数PFC3D提供了相应的命令# 绘制接触力组构图 plot.contact_force(colordirection) # 以方向作为云图颜色依据绘制接触力图这里的plot.contact_force函数就是关键通过colordirection参数使得云图颜色能直观地展示不同方向接触力的个数这样我们就能很清晰地看到在单轴压缩过程中颗粒间不同方向接触力的分布情况。单剪试验下的接触力组构图实现对于单剪试验模型构建又有所不同。先看构建颗粒区域的代码# 创建单剪试验颗粒区域 ball.set_radius(0.005, 0.01) # 设置颗粒半径 ball.gen(region.block(0, 0.2, 0, 0.2, 0, 0.1)) # 在长方体区域生成颗粒这段代码设置颗粒半径范围并在一个长0.2宽0.2高0.1的长方体区域内生成颗粒构建了单剪试验试件的颗粒部分。pfc3d三维接触力组构图。 以单轴压缩试验和单剪试验为例展示效果。 直接在软件内生成无需导出数据再画图。 云图颜色表示不同方向接触力的个数。接下来设置剪切边界条件# 设置剪切边界条件 wall.create(1, 0, 0, 0, 0, 0.1, 0, 0, 0) # 左侧墙体 wall.create(-1, 0, 0, 0.2, 0, 0.1, 0, 0, 0) # 右侧墙体 wall.create(0, 1, 0, 0, 0, 0.1, 0, 0, 0) # 前侧墙体 wall.create(0, -1, 0, 0, 0.2, 0.1, 0, 0, 0) # 后侧墙体 wall.create(0, 0, 1, 0, 0, 0, 0, 0, 0) # 底部墙体 wall.create(0, 0, -1, 0, 0, 0.1, 0, 0, 0) # 顶部墙体 f1 servo() # 伺服控制对象1 f1.target(1, vel0.001, goal0) # 右侧墙体施加水平速度这里创建了六个墙体来围住颗粒形成封闭空间并且通过伺服控制对象让右侧墙体以0.001的速度水平移动从而实现单剪的加载。最后绘制接触力组构图的代码和单轴类似# 绘制单剪试验接触力组构图 plot.contact_force(colordirection) # 同样以方向区分颜色绘制通过这行代码我们就能得到单剪试验下的三维接触力组构图云图颜色依旧反映着不同方向接触力的个数方便我们分析单剪过程中颗粒间力的相互作用。通过单轴压缩试验和单剪试验在PFC3D中的实践我们能直接利用软件生成非常直观的三维接触力组构图云图颜色这一表示方式更是让不同方向接触力个数的分布一目了然为我们深入研究颗粒材料的力学特性提供了有力的可视化工具。

相关新闻