把公式变成可以操作的图形
这些实验用于理解站内技术内容中的关键计算关系。所有计算均在当前浏览器本地完成,不上传输入数据,也不依赖远程计算服务。
即时参数反馈 显示守恒误差 原生 JavaScript 移动端可用
EXPERIMENT 01
P2G一维粒子—网格映射
使用线性形函数完成 P2G 映射,并通过网格更新与 G2P 回传推进粒子。可调整质量、外部加速度及 PIC/FLIP 混合比例,观察数值耗散和边界效应。
可直接拖动画布中的粒子;连线透明度表示形函数权重。
总质量:粒子 / 网格
总动量:粒子 / 网格
最大映射误差
粒子动能:更新前 / 后
更新后网格动能
已推进时间 / 步数
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
SWCC · SWRCVan Genuchten SWCC 与孔隙率相关 SWRC
叠加经典 Van Genuchten 曲线与 Tarantino 孔隙率相关模型,观察孔隙率、残余饱和度和孔径分布参数如何改变持水行为。
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 / kPa | VG Se | VG θ | SWRC Seff | SWRC Sr | 相对渗透率 kr |
|---|
理论来源与边界:孔隙率相关曲线采用 Tarantino(2009)形式,并参照 Zhan 等(2023)式(12)—(13)实现;这里只模拟湿润主曲线,未考虑干湿滞回,参数不能替代具体土样标定。
EXPERIMENT 03
D8简化 D8 地形汇流
每个栅格流向八邻域中坡降最大的单元。点击网格选择起点,观察路径最终到达边界出口还是内部洼地。
地形操作
先选择栅格,再改变该单元高程。
当前单元
行 / 列
高程
路径状态
坡降:\(s_{ij}=(z_i-z_j)/d_{ij}\)。D8 将流向分配给八邻域中正坡降最大的单元。
模型边界:这是用于解释 D8 规则的简化网格,没有执行填洼、平坦区处理、汇流累积和河网提取,因此内部洼地可能终止路径。
