COMPUTATION LAB · BETA

把公式变成可以操作的图形

这些实验用于理解站内技术内容中的关键计算关系。所有计算均在当前浏览器本地完成,不上传输入数据,也不依赖远程计算服务。

即时参数反馈 显示守恒误差 原生 JavaScript 移动端可用
EXPERIMENT 01

一维粒子—网格映射

使用线性形函数完成 P2G 映射,并通过网格更新与 G2P 回传推进粒子。可调整质量、外部加速度及 PIC/FLIP 混合比例,观察数值耗散和边界效应。

P2G

粒子 A

0.28
1.20 m/s
1.00 kg

粒子 B

0.68
-0.40 m/s
1.00 kg

网格更新与回传

6
0.020 s
0.00 m/s²
70%
浏览器不支持 Canvas,无法显示映射图。

可直接拖动画布中的粒子;连线透明度表示形函数权重。

总质量:粒子 / 网格
总动量:粒子 / 网格
最大映射误差
粒子动能:更新前 / 后
更新后网格动能
已推进时间 / 步数0.000 s / 0
P2G:\(m_i=\sum_p N_i m_p\),\(p_i=\sum_p N_i m_pv_p\)。G2P:\(v_p^{PIC}=\sum_iN_i v_i^{n+1}\),\(v_p^{FLIP}=v_p^n+\sum_iN_i\Delta v_i\)。
节点x/L质量动量速度
模型边界:该实验展示一维线性形函数的 P2G—网格更新—G2P 循环,但没有应力、内力和本构更新;外部加速度仅用于观察传递算法与固定边界的影响。
EXPERIMENT 02

Van Genuchten SWCC 与孔隙率相关 SWRC

叠加经典 Van Genuchten 曲线与 Tarantino 孔隙率相关模型,观察孔隙率、残余饱和度和孔径分布参数如何改变持水行为。

SWCC · SWRC

曲线参数

0.080 kPa⁻¹
1.60
0.06
0.46

Tarantino SWRC

0.40
12.0 m⁻¹
0.30
0.05
浏览器不支持 Canvas,无法显示曲线。
m = 1 - 1/n
进气尺度 1/α
e / b / Sr(100 kPa)
Van Genuchten 与 Tarantino 模型:\[ \begin{aligned} S_e &= \left[1+(\alpha s)^n\right]^{-m}, \\ S_{eff} &= \left[1+\left(\frac{a s e^b}{\rho^l g}\right)^{\frac{1}{1-\lambda}}\right]^{-\lambda}, \\ e &= \frac{n}{1-n}, \qquad b=\frac{1-\lambda}{\lambda}. \end{aligned} \]
吸力 s / kPaVG SeVG θSWRC SeffSWRC Sr相对渗透率 kr
理论来源与边界:孔隙率相关曲线采用 Tarantino(2009)形式,并参照 Zhan 等(2023)式(12)—(13)实现;这里只模拟湿润主曲线,未考虑干湿滞回,参数不能替代具体土样标定。
EXPERIMENT 03

简化 D8 地形汇流

每个栅格流向八邻域中坡降最大的单元。点击网格选择起点,观察路径最终到达边界出口还是内部洼地。

D8

地形操作

先选择栅格,再改变该单元高程。

当前单元

行 / 列
高程
路径状态
浏览器不支持 Canvas,无法显示地形网格。
坡降:\(s_{ij}=(z_i-z_j)/d_{ij}\)。D8 将流向分配给八邻域中正坡降最大的单元。
模型边界:这是用于解释 D8 规则的简化网格,没有执行填洼、平坦区处理、汇流累积和河网提取,因此内部洼地可能终止路径。

交互实验需要启用 JavaScript;文章与知识地图在禁用 JavaScript 时仍可正常阅读。