新人第一次求教,有关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

    这些八成是对的,把他们的代码一点一点的替换成你的代码,看看替换到哪就不对了:142:


Log in to reply
 


CFD中文网 | 东岳流体学术 | 东岳流体商业 | 吉ICP备20003622号-1