问题描述
我的文字分为三个部分:
第一部分),我向您提供一些有关我的主要问题所指背景的信息。
第二部分)我将告诉您我对托马斯算法的了解。如果我在任何方面都错了,请纠正我。
第三部分)我将陈述我的问题
第一部分/背景信息:
我想模拟焦耳加热。为此,我有两个PDE系统。
-
第二个PDE是固定/时间相关加热的热扩散方程式。我将电势场用作计算焦耳加热/发热的输入/基数,即焦耳加热可以按照给定的方式进行计算。这也意味着焦耳热是热扩散方程中的源项。该算法基于焦耳加热和边界条件计算温度场。
-
我使用托马斯算法求解热扩散方程,或更确切地说,解决了二维几何体上的温度场/分布问题。
-
我使用Peaceman-Rachford方案将热扩散方程式分成两个半场。
第二部分/我相信对Thomas算法有什么了解
-
它是具有三对角系数矩阵的线性方程组(LES)的直接求解器。直接表示-根据系统的线性方程式的数量,您可以使用固定数量的基本运算来求解LES,或者您不需要对解矢量进行迭代。对于托马斯算法,基本运算的数量为0(N4),其中N代表方程式的数量。
-
仅在LES一次运行Thomas-Algorithm之后,您应该能够得到结果,即,您不需要一遍又一遍地迭代解决方案g,因此您不需要收敛准则
关于第三部分/我的问题:
- 仅在一次将Thomas算法应用于热扩散方程式时,我对温度场才得到了合理的结果。对于某些仿真参数,我会以负温度的形式出现不稳定状态。
- 当我应用Thomas算法(例如说100次)时,我在温度场上也得到了一个合理的结果,但是在质量上与上述结果有所不同。
问题1)托马斯算法的正确用法是什么?我应该让它在LES上仅运行一次还是多次。
问题2)如果让Thomas-Algorithm在相同的LES上运行多次,那么我在哪个模拟时间上会得到一个温度场?让我们假设以下情况:我有一个时间步,例如delta_t = 10 s,并且让算法运行n = 100次。最终的仿真时间是1000 s(10 s乘以100的运行次数)还是整个仿真时间总共只有10 s(使用迭代解决方案)?
我希望这个话题不是特定的,我希望能与比我更了解的人进行交流。
亲切的问候, 汤姆T。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)