看到下面的视频演示,是不是有一种强烈的复刻冲动?
概览
该项目仓库包含 flip-card 的全部文件,是一个基于 FLIP(流体隐式粒子)算法实现的名片级流体模拟项目。
- PCB 设计文件位于 “kicad-pcb” 文件夹中。
- 项目灵感源自 mitxela 的流体模拟吊坠项目。
- 流体模拟逻辑封装在独立代码包中,位于 “fluid_sim_crate” 文件夹,参考了 Matthias Müller 在 “Ten Minute Physics” 频道中的技术实现。
- 可充电电池功能借鉴了 cnlohr 的 tiny touch lcd 项目中的板边 USB-C 接口设计。
- “sim_display” 文件夹提供 WASM 模拟器,用于调试仿真问题。
- 运行于 rp2350 芯片的流体模拟固件代码存放于 “flip-card_firmware” 文件夹。
Rust 实现的二维流体仿真库
“fluid_sim_crate” 文件夹中的代码实现了 FLIP(Fluid Implicit Particle)混合流体仿真算法,结合了欧拉方法与拉格朗日方法的优势:
- 欧拉方法:在固定网格上描述流体属性(如速度、压力),适合处理压力求解和不可压缩性计算。
- 拉格朗日方法:通过追踪粒子运动模拟流体行为,有效避免数值耗散,更真实地呈现流体表面变化。
FLIP 算法的核心流程为:以粒子携带速度信息进行对流运算 → 将粒子数据映射至网格 → 在网格上求解压力并修正速度场 → 将更新后的速度回传给粒子。该方式兼顾仿真精度与计算效率。
核心代码封装在 FluidSimulation 模块中,主要包括 FlipFluid(算法主体)和 Scene(仿真管理)两个结构体。
原理图 & PCB
License
MIT
仓库 & 下载
开源仓库可通过以下链接获取:
https://www.elecfans.com/d/7022804.html

