建模和计算的混乱

计算科学 模拟
2021-12-19 05:59:34

我来自计算机图形学背景,没有任何计算科学专业。但我发现我的工作(游戏引擎开发)与这个领域有关。我可以问一些关于计算科学的一般问题吗?

去年,我们做了一个可变形物体(如头发、布料等)模拟的产品。据说它是一个成功的产品,因为它在大多数时候都能产生令人信服的结果。

但是,我发现很难清楚地说明采用了哪种物理模型,以及采用了哪种计算方法。当我们的用户怀疑他们得到的模拟结果是否不正确时,即使我是该产品的作者,我也无法保证。

我们采用的物理模型会导致这个结果吗?我们的计算方法是否正确工作,以便收敛到我们的物理模型?我不知道。

而这些天来,当我在 SPH(平滑粒子流体动力学)模拟方面进行一些研究时,我无法理解这些参数是如何选择的。当我看到模拟结果时,我不确定我的代码中是否存在错误,或者该结果是否符合物理模型。

最后,我想我可以用以下问题描述我的困惑:

  • 如何检查模拟结果是否符合物理模型?我怎么知道我们程序中应用的计算方法(如连续模型的判断或截断)表现良好?

  • 是否有任何关于从物理模型推导到计算方法设计和误差分析的整个过程的入门书籍/论文/在线课程?

1个回答

第一个问题涉及所谓的一致性和收敛性。它指出,当您减少时间和空间离散化时,您的解决方案在极限情况下会趋向分析解决方案。如果您使用标准的、众所周知的方法,通常会给出该方法。如果您设计自己的方法,则需要自己验证这一点,方法是在步骤缩小时象征性地采用方法的限制,并确保恢复原始方程。这在数值分析领域非常重要。

问题的另一部分涉及您的连续方程是否正确描述了物理学。这部分是实际的建模。要回答您的方程是否足够,您需要很好地了解您想要从模拟中得到什么。同样,除非您想出自己的方程式,否则某些方程式可以很好地再现现实世界物理学的参数通常是方程式表示的一部分。回头看看原始资料,看看这个方程的设计目的是什么。

最后,您的参考要求仍然非常广泛。你可以把关于数值分析和物理建模主题的教科书填满一个小图书馆。如果您想改进您的问题以询问特定的物理现象或某些类型的数值技术,我们可能会为您指出更多关于它们的规范参考。