新人第一次求教,有关TDMA计算(过于基础就不往其他模块发了)
-
最近计算一个 考虑界面热阻的复合材料热导率计算,主要研究不同位置和不同体积分数对热导率的影响
因此需要实现填料随机填充且需要迅速迭代处结果,做多次计算观察是否有规律自学数值传热差不多一个月吧,目前写了一个稳态的Matlab小程序,用高斯赛德尔迭代的可以计算较为合理的温度场,但收敛过慢,因此考虑使用TDMA以此加速迭代收敛
对于稳态计算,我直接取消掉了Tp,将Tp0放在了等式左边,设置上边界定温400K,下边界对流换热h=3,Tf=350,左右绝热,基材
1e-6*1e-6m^2
;网格在XY均分且尺寸为1e-8*1e-8m^2
;无内热源
我直接将边界条件放在TDMA求解过程里了,没用陶老师书上写的附加原项的方法在使用TDMA时会出现,迭代几次后离开边界的地方温度会持续下降到接近0,由于数值过小导致两次迭代的残差更小故很快收敛,但是获得的温度场完全偏离。
在Y方向使用TDMA方法求解,在X方向逐行扫描推进。
TDMA方法中 Q(i)依赖于D(i)而D(i)由Te和Tw以及源项影响,我观察过迭代过程,自左至右每扫描过一遍温度都会下降很多,多次扫描后几乎除了紧挨边界处两列的温度几乎都为0
想了解下这样逐层推进不断导致数值变小趋于0会是由于没有进行X方向TDMA然后Y方向逐层推进吗?理论上应该不影响,那Te和Tw在逐行扫描中会对最终温度场计算结果产生影响吗?
检查过好几次代码了,似乎找不到什么逻辑上的错误,我对比了好几次数值传热书上的例子。有老师给定性指出下问题可能出现在什么上面了吗?
-
可以找已有的代码对比一下,除非特别新的东西,常用的东西一般都有模板,还有各种代码的模板。
http://www.pudn.com/Download/item/id/3745439.html
https://github.com/Singh-T/TDMA-2D这些八成是对的,把他们的代码一点一点的替换成你的代码,看看替换到哪就不对了