An Adjoint Method for Differentiable Fluid Simulation on Flow Maps
作者: Zhiqi Li, Jinjin He, Barnabás Börcsök, Taiyuan Zhang, Duowen Chen, Tao Du, Ming C. Lin, Greg Turk, Bo Zhu
分类: cs.GR, physics.flu-dyn
发布日期: 2025-11-03
备注: 15 pages, 16 figures
期刊: ACM SIGGRAPH Asia Conference Proceedings (2025)
💡 一句话要点
提出基于流映射的可微流体模拟伴随方法,实现精确涡旋动力学控制
🎯 匹配领域: 支柱八:物理动画 (Physics-based Animation)
关键词: 可微流体模拟 伴随方法 流映射 涡旋动力学 梯度计算
📋 核心要点
- 传统伴随方法在可微流体模拟中需要存储大量中间变量或微分数值步骤,导致计算成本高昂。
- 论文提出利用正向模拟中的流映射,在反向传播中直接求解伴随方程,避免了对中间步骤的微分和存储。
- 实验表明,该方法在低内存占用下,能够精确跟踪涡量,并支持需要精确控制涡旋动力学的可微模拟任务。
📝 摘要(中文)
本文提出了一种新颖的伴随求解器,用于基于双向流映射的可微流体模拟。核心思想是正向流体求解器及其对应的反向伴随求解器共享相同的流映射,正向过程利用该映射将流体脉冲变量从初始帧传输到当前帧,以模拟涡旋动力学。反向过程则利用相同的映射将伴随变量从当前帧传播回初始帧,以计算梯度。这种共享的长程映射使得梯度计算的精度能够直接受益于流映射构建的改进。基于此,我们引入了一种新的伴随求解器,它直接在流映射上求解伴随方程,从而实现对不可压缩流的长程和精确微分,而无需像传统伴随方法那样微分中间数值步骤或存储中间变量。为了进一步提高效率,我们提出了一种长短时稀疏流映射表示,用于演化伴随变量。我们的方法具有低内存占用,在$192^3$分辨率下仅需6.53GB数据,同时保持了跟踪涡量的精度,从而实现了需要精确识别、预测和控制涡旋动力学的新型可微模拟任务。
🔬 方法详解
问题定义:可微流体模拟旨在计算流体模拟过程对参数的梯度,以便进行优化和控制。传统的伴随方法需要存储大量的中间变量或者对数值求解器进行微分,这导致了巨大的内存开销和计算复杂度,尤其是在高分辨率的模拟中。现有的方法难以在保证精度的前提下,有效地处理大规模的流体模拟。
核心思路:论文的核心思路是利用流映射(Flow Map)将流体模拟中的正向过程和反向伴随过程联系起来。正向模拟使用流映射来追踪流体粒子的运动,而反向传播则利用相同的流映射来传播伴随变量。通过在流映射上直接求解伴随方程,避免了对中间数值步骤的微分和存储,从而显著降低了内存占用和计算复杂度。
技术框架:该方法主要包含以下几个阶段:1) 正向流体模拟:使用流映射来模拟流体的运动,并记录流映射的信息。2) 伴随方程求解:在流映射上直接求解伴随方程,计算梯度。3) 梯度应用:将计算得到的梯度用于优化和控制流体模拟过程。为了提高效率,论文还提出了长短时稀疏流映射表示。
关键创新:该方法最重要的技术创新点在于利用流映射将正向模拟和反向伴随过程联系起来,并在流映射上直接求解伴随方程。与传统的伴随方法相比,该方法不需要存储中间变量或微分数值步骤,从而显著降低了内存占用和计算复杂度。此外,长短时稀疏流映射表示进一步提高了计算效率。
关键设计:论文提出了长短时稀疏流映射表示,用于高效地存储和访问流映射信息。具体来说,将流映射分解为长时和短时两部分,长时部分用于追踪流体的整体运动趋势,短时部分用于捕捉流体的局部细节。此外,论文还设计了相应的损失函数,用于优化流体模拟过程中的参数。
📊 实验亮点
该方法在$192^3$分辨率下仅需6.53GB内存,显著低于传统伴随方法。实验结果表明,该方法能够精确跟踪涡量,并支持需要精确识别、预测和控制涡旋动力学的可微模拟任务。与现有方法相比,该方法在内存占用和计算效率方面具有显著优势,同时保持了较高的精度。
🎯 应用场景
该研究成果可应用于各种需要精确控制流体运动的领域,例如:流体控制、机器人操作、计算机动画、以及材料设计等。通过可微流体模拟,可以优化控制策略,生成更逼真的动画效果,并设计具有特定流体动力学特性的材料。该方法为流体模拟与机器学习的结合提供了新的思路。
📄 摘要(原文)
This paper presents a novel adjoint solver for differentiable fluid simulation based on bidirectional flow maps. Our key observation is that the forward fluid solver and its corresponding backward, adjoint solver share the same flow map as the forward simulation. In the forward pass, this map transports fluid impulse variables from the initial frame to the current frame to simulate vortical dynamics. In the backward pass, the same map propagates adjoint variables from the current frame back to the initial frame to compute gradients. This shared long-range map allows the accuracy of gradient computation to benefit directly from improvements in flow map construction. Building on this insight, we introduce a novel adjoint solver that solves the adjoint equations directly on the flow map, enabling long-range and accurate differentiation of incompressible flows without differentiating intermediate numerical steps or storing intermediate variables, as required in conventional adjoint methods. To further improve efficiency, we propose a long-short time-sparse flow map representation for evolving adjoint variables. Our approach has low memory usage, requiring only 6.53GB of data at a resolution of $192^3$ while preserving high accuracy in tracking vorticity, enabling new differentiable simulation tasks that require precise identification, prediction, and control of vortex dynamics.