gpt4 book ai didi

在二维网格上模拟膨胀气体的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:51:13 26 4
gpt4 key购买 nike

我有一个简单的程序,它的核心是一个二维 float 组,据说代表气体浓度,我一直在尝试想出一个简单的算法来模拟气体向外膨胀,就像云一样,最终结束在整个网格中到处都有相同浓度的气体。

例如,给定的状态进展可能是:(为简单起见使用整数)

起始状态

00000
00000
00900
00000
00000

1 次算法后的状态

00000
01110
01110
01110
00000

再多一个 pas 应该给出一个 5x5 的网格,所有网格都包含值 0.36 (9/25)。
我已经在纸上尝试过了,但无论我如何尝试,我都无法理解算法来做到这一点。

所以我的问题是,我应该如何开始尝试编写此算法的代码?我尝试了一些方法,应用卷积,尝试依次获取每个网格单元并将其分配给它的邻居,但它们最终都产生了不良影响,例如最终以比我最初开始时更少的气体结束,或者所有的气体运动都在一个方向上,而不是从中心向外扩展。我真的完全无法理解它,非常感谢任何帮助。

最佳答案

如果忽略对流,则可能是扩散问题;如果不忽略,则可能是流体动力学/传质问题。如果您要从头开始求解,您将从欧拉(固定控制体积)观点的质量和动量守恒方程开始。

这是一个 transient 问题,因此您需要执行积分以将状态从时间 t(n) 推进到 t(n+1)。你展示了一个网格,但没有关于你如何及时解决的问题。您尝试过什么集成方案?明确?隐含的?曲柄尼科尔森?如果您不知道,那么您就没有正确地解决问题。

关于这个主题我非常喜欢的一本书是 S.W.帕坦卡的 "Numerical Heat Transfer and Fluid Flow" .现在有点过时了,但我喜欢这种治疗。 29 年后它仍然很好,但自从我阅读该主题以来,可能会有更好的文本。我认为对于第一次研究它的人来说,它是平易近人的。

关于在二维网格上模拟膨胀气体的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/478401/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com