LAMMPS 通道速度剖面与近壁外推
用逐原子数据核对分层速度、比较壁面参数,保留短轨迹的负值和不稳定外推结果,说明滑移分析边界。
阅读本篇目录
本篇继续壁面通道流。目标是掌握 从终端提取剖面、选择平均窗口、指定壁面参考面,再检查外推是否可信。下载完整实算资料包。
1. 不重新计算也能看结果#
新解压目录直接执行:
bash analyze.sh
默认分析包内 reference/ 的真实输出,不提交 Slurm。自己的 work/ 完成后,改为 bash analyze.sh work。
ls figures
head -n 5 tables/p100-wall0.25-force0.04-seed58001-profiles.csv
head -n 5 tables/p100-wall0.25-force0.04-seed58001-tail-profile.csv
2. 分层速度怎样得到#
输入中的核心命令为:
compute bins fluid chunk/atom bin/1d y lower 1.0 units box
fix profile fluid ave/chunk 500 1 500 bins vx norm sample ave one file flow.profile format " %.16g"
沿 y 以宽度 1σ 分箱,只统计移动粒子。每 500 步取一次样本,Nrepeat=1,因此每份原生剖面对应一个已保存的瞬时快照。每层输出层号、y 中心、粒子数和平均 vx。空层的零值不应当作有流体且不流动,绘图时会排除无粒子的层。
脚本再选最后 10 帧,即加载第 15500–20000 步的实际样本,采用 粒子占据数加权平均:Σ(N层×vx层)/ΣN层。粒子会跨层移动,不能默认“每帧的层均值直接平均”与这个定义相同。
原始参考文件保留本次运行的原生格式;配套解析器处理其数值分隔,输出列名明确的 CSV。自己新跑的输入已使用带前导空格的 format " %.16g",便于直接读取。

蓝/橙分别为 P100/V100 16G,实/虚线为两种随机种子。细黑点线是 P100、seed58001 的二次拟合摘要;灰色竖线是本篇选定的壁面参考面。短轨迹或复跑中,个别条件最后 10 帧的整体平均 vx 也可能略低于零;脚本保留这一未满足的正向流动条件,并提示延长统计,不把它当作稳定正向流动。
数据仍有明显波动,部分近壁层的平均 vx 为负,全部按实际值保留。
3. 壁面参考面必须写清楚#
本例把下壁最内侧固定原子中心的 y 坐标、上壁最内侧固定原子中心的 y 坐标当作参考面。这个几何定义容易复现,不代表自动找到了真实流体的水动力学边界面。移动参考面会改变外推滑移长度,所以比较文章或不同模型时,先核对这个约定。
脚本只用距离两参考面至少 2.5σ、且有粒子的层拟合:
vx(y) = a*y^2 + b*y + c
按占据数加权,保留一次项以容纳不对称波动。随后在每个参考面计算拟合速度 vw 与指向通道内部的法向导数,定义 带符号的表观外推长度:
b_apparent = vw / (dvx/dn)
它不是直接测得的材料常数。近壁拟合斜率接近零时,商会放大噪声;程序在 |斜率|<10⁻⁸ 时标记为未定义,不用无穷大填表。负值也保留,不能人为截到零。
4. 为什么这个短算例不能直接报告滑移长度#

图使用对称对数坐标,同时显示负值和大幅波动。本次 P100、壁面 ε=0.25、外力 0.04、seed58001 的下/上壁表观值分别约 1.528σ、−1.399σ。另一个 V100、ε=1、外力 0.02 的案例,上壁外推约 −221.567σ:这类大数不能解读成材料存在巨大的“负滑移”,而要回看剖面形状、局部斜率、统计时间和参考面。
head -n 8 work/p100-wall0.25-force0.04-seed58001/flow.profile
这个文件每 1τ 采一次。瞬时壁面力也有大涨落,不能把少量稀疏快照的力简单平均后,直接当作稳态剪切应力。稳态通道的时间平均动量平衡、连续采样的壁面反力,以及不同统计窗口,应进一步一起检查。
用于研究时,应延长稳态前的等待与统计区间,分块估计误差,再比较多种种子、通道宽度和驱动力。若拟合形状、外推斜率或窗口结果仍不稳定,就继续保留剖面,不把自动生成的一个数当结论。本例也不从这条短程二次拟合反推出真实三维黏度。
5. 输出与复画#
| 输出 | 内容 |
|---|---|
work/案例/flow.dump |
41 帧全部 384 粒子的坐标、速度、最终力、原始相互作用力和每原子势能 |
work/案例/native.log |
原生温度、能量、平均流速与盒长 |
work/案例/flow.profile |
原生逐层速度和粒子数 |
tables/*-thermo.csv |
全部温度、能量、平均流速与瞬时壁面受力 |
tables/*-profiles.csv |
每帧的层号、y、数量、原生与独立计算的 vx |
tables/*-tail-profile.csv |
最后 10 帧的占据数及加权速度 |
work/PROFILE-ANALYSIS.json |
每个案例的拟合系数、参考面、斜率和带符号外推值 |
bash plot.sh reference
这会用提供的原始实算数据重画四张参考图;要保留自己的图,请先复制 figures。本例逐原子重新计算的 LJ 能量、力与原生相互作用结果一致,分层平均也与快照逐粒子统计一致;这些是正确读取数据的基础,不能替代长时间统计。