当前位置:首页>python>FLAC3D 实战:Python 记录峰值质点速度 PPV 与保存策略(同理可实现时程分析包络云图)

FLAC3D 实战:Python 记录峰值质点速度 PPV 与保存策略(同理可实现时程分析包络云图)

  • 2026-08-20 13:36:58
FLAC3D 实战:Python 记录峰值质点速度 PPV 与保存策略(同理可实现时程分析包络云图)

摘要: 本文详细讲解 FLAC3D 官方 PPV(峰值质点速度)算例,展示如何通过 Python 回调函数在动力计算中实时追踪每个网格点的最大速度矢量,并将 Python 自定义数据持久化保存到 FLAC3D 存档文件中。文末附改良版包络云图计算脚本,可直接用于时程分析,适合从事动力分析、爆破振动、地震响应的岩土工程师阅读。回调频率并非越高越好,过密会拖慢计算。(点赞 + 转发 + 关注本公众号,后台回复「PPV包络」即可获取完整改良版,直接用于时程分析包络云图)

字数: 约 3200 字 | 预计阅读时间: 8 分钟


🎯 问题背景

在岩土动力工程中,峰值质点速度(Peak Particle Velocity, PPV) 是评价振动效应最核心的指标之一。无论是爆破振动安全评估、地震响应分析,还是动力机器基础设计,PPV 都是判断结构是否安全的关键依据。

FLAC3D 本身并不直接输出 PPV 云图——动力分析完成后,我们通常只能看到某个时刻的速度场,而整个时程过程中的最大值需要额外记录。

这个算例的特别之处在于:

  • ✅ Python 回调实时计算——每个力学步自动更新 PPV,无需后处理
  • ✅ numpy 向量化运算——利用 gridpointarray 模块高效批量计算
  • ✅ Python 数据持久化——将 Python 变量存入 FLAC3D save 文件,重启不丢失
  • ✅ save / restore / new 全生命周期管理——保存、恢复、新建模型时数据自动同步

📐 问题描述

模型概况

算例建立了一个 100 m × 100 m × 100 m 的立方体弹性模型,中心区域挖去一个 10 m × 10 m × 20 m 的长方体孔洞,用来模拟地下开挖空间。在模型一角施加集中应力作为震源,应力波在模型内传播,记录所有网格点在整个时程中的速度峰值。

模型几何特征:

  • 整体尺寸:100 m × 100 m × 100 m
  • 网格划分:100 × 100 × 100(共 100 万个单元)
  • 中心开挖:x ∈ [40,50],y ∈ [40,50],z ∈ [40,60]
  • 震源位置:模型角部 (8081, 8081, 80~81) 单单元应力加载
  • 计算时长:0.08 s

材料参数

参数
符号
数值
密度
ρ
2950 kg/m³
杨氏模量
E
12 GPa
泊松比
ν
0.25
Rayleigh 阻尼比
ξ
0.05
阻尼中心频率
f₀
150 Hz

边界条件与震源

  • 安静边界(quiet boundary):模型六个外表面均设置粘性安静边界,吸收反射波
  • 震源加载:在角部一个单元内施加 10 MPa 等向初始应力作为扰动源
  • 求解终止:总动力时间 0.08 s

🔧 FLAC3D 建模要点

1️⃣ 网格生成

zone create brick size 100 100 100
zone delete range position-x 40 50 position-y 40 50 position-z 40 60
  • 立方体 100×100×100 均匀网格
  • 删除中心长方体区域模拟开挖
  • 单元尺寸 1 m,满足动力波长分析要求

2️⃣ 本构与动力配置

model config dynamic
zone cmodel assign elastic
zone property density 2950 young 12e9 poisson 0.25
zone dynamic damping rayleigh 0.05 150
  • 线弹性本构,聚焦波动传播规律
  • Rayleigh 阻尼 5%,中心频率 150 Hz

3️⃣ 安静边界设置

zone face apply quiet-normal range position-x 0 position-x 100 ...
    position-y 0 position-y 100 position-z 0 union
zone face apply quiet-strike range position-x 0 position-x 100 ...
    position-y 0 position-y 100 position-z 0 union
zone face apply quiet-dip range position-x 0 position-x 100 ...
    position-y 0 position-y 100 position-z 0 union
  • 所有外表面施加法向、走向、倾向三向安静边界
  • 使用 union 关键字合并 6 个面为一个 range

4️⃣ 震源加载

zone initialize stress xx 10e6 yy 10e6 zz 10e6 ...
    range position-x 80 81 position-y 80 81 position-z 80 81
  • 单个单元内瞬时施加 10 MPa 等向压应力
  • 应力骤变产生球面波向四周传播

📊 核心技术:Python 回调记录 PPV

原理

PPV 定义:每个网格点在整个动力时程中经历的速度矢量模的最大值。

PPV_i = max( |v_i(t)| )   对所有时间步 t

实现方式:通过 it.set_callback 注册一个 Python 函数,在每个力学计算步自动调用,用 np.maximum 逐元素取最大。

核心代码

import itasca as it
import numpy as np
from itasca import gridpointarray as gpa
ppv =Nonedefstore_ppv(*args):global ppv
if ppv isNone:        ppv = np.zeros(it.gridpoint.count())    ppv = np.maximum(np.linalg.norm(gpa.vel(), axis=1), ppv)it.set_callback("store_ppv",0.1)

关键解读:

  • gpa.vel() 返回所有网格点速度的 (N, 3) numpy 数组
  • np.linalg.norm(..., axis=1) 批量计算每个点的速度矢量模
  • np.maximum 逐元素与历史最大值比较并更新
  • 回调频率应兼顾精度与效率

🔄 进阶:Python 数据存入 FLAC3D Save 文件

痛点

默认情况下,Python 变量不会随 FLAC3D 保存文件一起存储。执行 model save 后再 model restore,Python 里的 ppv 数组就没了——这对于大型动力分析来说非常致命。

解决方案

利用 FLAC3D 的 gridpoint extra 变量作为桥梁,在保存时写入、恢复时读回。

defppv_save(*args):"""保存时触发:将 ppv 写入网格点 extra 变量"""global ppv
print("saving PPV")if ppv.any():        gpa.set_extra(1, ppv)defppv_restore(*args):"""恢复时触发:从 extra 变量读回 ppv"""global ppv
print("restoring PPV")try:        ppv = gpa.extra(1)print("max ppv during restore", ppv.max())except:passdefppv_new(*args):"""新建模型时触发:重置 ppv"""global ppv
print("resetting PPV")    ppv =None# 注册三个事件回调it.set_callback("ppv_save","save")it.set_callback("ppv_restore","restore")it.set_callback("ppv_new","new")

三个回调事件的时机:

事件
触发时机
用途
savemodel save
 执行之前
把 Python 数据写入 extra 变量
restoremodel restore
 执行之后
从 extra 变量读回 Python 数据
newmodel new
 或 restore 之前
清空旧数据,避免混淆

💡 另一种方案:也可以用 it.fish 函数将 Python 值转为 FISH 变量保存,适合标量或简单数组。但对于大规模网格数据(如百万级 PPV 数组),用 extra 变量更直接高效。


📈 后处理分析:PPV 衰减规律

计算完成后,用 numpy + matplotlib 分析 PPV 随震源距离的衰减关系。

分类统计

将网格点分为三类:

load_point =(80.5,80.5,80.5)distance = np.linalg.norm(gpa.pos()- load_point, axis=1)gpos = gpa.pos()gx, gy, gz = gpos.T
# 地表点(顶面)top_mask = gz ==100.0# 外表面点exterior_mask =reduce(np.logical_or,(gx==0, gx==100, gy==0, gy==100, gz==0, gz==100))# 边界网格点(关联单元数 ≠ 8)boundary_gridpoint_mask = np.array([len(v)!=8for v in gpa.zones()])# 开挖面 = 非外表面 + 边界点excavation_surface_mask = np.logical_and(    np.logical_not(exterior_mask),    boundary_gridpoint_mask)# 内部点interior_mask = np.logical_not(boundary_gridpoint_mask)

衰减曲线

import pylab as plt
plt.loglog(distance[interior_mask], ppv[interior_mask],"o", color="
#e15759", markeredgewidth=0)plt.loglog(distance[excavation_surface_mask], ppv[excavation_surface_mask],"o", color="#f28e2b", markeredgewidth=0)plt.loglog(distance[top_mask], ppv[top_mask],"o", color="#4e79a7", markeredgewidth=0)plt.legend(("Interior","Excavation Surface","Ground Surface"))plt.xlabel("Distance from Source [m]")plt.ylabel("PPV [m/s]")plt.show()

关键发现:

  • 三类点的 PPV 均随距离增大呈幂律衰减,双对数坐标下近似线性
  • 地表点 PPV 最大——自由面反射效应导致速度放大
  • 开挖面次之,内部点衰减最快
  • 这一规律对爆破振动预测和地下工程抗振设计有重要参考价值

💻 完整命令流

ppv.f3dat(主数据文件):

;-----------------------------------------------------------
; PPV - Peak Particle Velocity Recording
;-----------------------------------------------------------
model new
call 'ppv.py'
model config dynamic
; --- model geometry ---
zone create brick size 100 100 100
zone delete range position-x 40 50 position-y 40 50 position-z 40 60
zone face skin
; --- material properties ---
zone cmodel assign elastic
zone property density 2950 young 12e9 poisson 0.25
zone dynamic damping rayleigh 0.05 150
; --- quiet boundaries ---
zone face apply quiet-normal range position-x 0 position-x 100 ...
    position-y 0 position-y 100 position-z 0 union
zone face apply quiet-strike range position-x 0 position-x 100 ...
    position-y 0 position-y 100 position-z 0 union
zone face apply quiet-dip range position-x 0 position-x 100 ...
    position-y 0 position-y 100 position-z 0 union
; --- source loading ---
zone initialize stress xx 10e6 yy 10e6 zz 10e6 ...
    range position-x 80 81 position-y 80 81 position-z 80 81
; --- solve ---
model solve time-total 0.08
model save 'after_loading'

ppv.py(Python 脚本):

import itasca as it
import numpy as np
np.set_printoptions(threshold=20)from itasca import gridpointarray as gpa
ppv =Nonedefstore_ppv(*args):global ppv
if ppv isNone:        ppv = np.zeros(it.gridpoint.count())    ppv = np.maximum(np.linalg.norm(gpa.vel(), axis=1), ppv)defppv_save(*args):global ppv
print("saving PPV")if ppv.any():        gpa.set_extra(1, ppv)defppv_restore(*args):global ppv
print("restoring PPV")try:        ppv = gpa.extra(1)print("max ppv during restore", ppv.max())except:passdefppv_new(*args):global ppv
print("resetting PPV")    ppv =Nonedeftransit_time():    z = it.zone.find(1)    K, G, rho = z.prop("bulk"), z.prop("shear"), z.density()    vp = np.sqrt((+4.0/3.0*G)/rho)    d = np.sqrt(3*100**2)return d/vp
it.set_callback("store_ppv",0.1)it.set_callback("ppv_save","save")it.set_callback("ppv_restore","restore")it.set_callback("ppv_new","new")

🎁 福利:改良版包络云图计算脚本

官方算例只实现了速度的峰值记录,但在实际工程中,我们经常需要对位移、应力、加速度等多个物理量做时程包络分析。为此我做了一个改良版本:

✨ 改良版功能亮点

  1. 支持多物理量包络——位移、速度、加速度、应力分量统统可以
  2. 可配置采样间隔——根据精度需求自由调整回调频率
  3. 自动写入 extra 变量——计算完成直接在 FLAC3D 里显示云图
  4. 兼容 save/restore——和官方 PPV 一样支持数据持久化
  5. 时程分析通用——地震动、爆破、冲击等各类动力问题都能用

🔔 获取方式:点赞 + 在看 + 关注本公众号,后台回复「PPV包络」即可获取完整改良版脚本(含速度包络、位移包络、应力包络全套代码,带详细注释,拿来即用)。


🎓 学习要点总结

✅ 本例核心知识点

  1. Python 回调机制——it.set_callback 注册自定义函数介入计算流程
  2. gridpointarray 模块——批量获取/设置网格点数据,numpy 向量化运算
  3. PPV 计算方法——np.maximum + np.linalg.norm 逐点追踪速度峰值
  4. 数据持久化方案——利用 gridpoint extra 变量在 save/restore 中传递 Python 数据
  5. 三类回调事件——save / restore / new 覆盖模型全生命周期

⚠️ 常见注意事项

  • 回调频率并非越高越好,0.1(每10步)通常足够,过密会拖慢计算
  • extra 变量索引(如 1)不要与模型中已有的 extra 变量冲突
  • model new 时务必重置 Python 变量,否则新旧模型数据混杂
  • 安静边界 + 应力骤加载的震源方式只适合验证算法,实际工程需按具体震源输入
  • 大型模型建议先在小网格上测试回调逻辑,再放大到全尺

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 13:27:37 HTTP/2.0 GET : https://f.mffb.com.cn/a/510931.html
  2. 运行时间 : 0.185452s [ 吞吐率:5.39req/s ] 内存消耗:4,461.83kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=60514198eff1280118df89568fec6608
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000925s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.002144s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000821s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000670s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001295s ]
  6. SELECT * FROM `set` [ RunTime:0.000533s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001330s ]
  8. SELECT * FROM `article` WHERE `id` = 510931 LIMIT 1 [ RunTime:0.001135s ]
  9. UPDATE `article` SET `lasttime` = 1787290057 WHERE `id` = 510931 [ RunTime:0.047223s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000900s ]
  11. SELECT * FROM `article` WHERE `id` < 510931 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001300s ]
  12. SELECT * FROM `article` WHERE `id` > 510931 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001122s ]
  13. SELECT * FROM `article` WHERE `id` < 510931 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001547s ]
  14. SELECT * FROM `article` WHERE `id` < 510931 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.022461s ]
  15. SELECT * FROM `article` WHERE `id` < 510931 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.012805s ]
0.189126s