CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    新人第一次求教,有关TDMA计算(过于基础就不往其他模块发了)

    C斯达克
    2
    2
    630
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • N
      NCEPU-张晓 最后由 李东岳 编辑

      最近计算一个 考虑界面热阻的复合材料热导率计算,主要研究不同位置和不同体积分数对热导率的影响
      因此需要实现填料随机填充且需要迅速迭代处结果,做多次计算观察是否有规律

      自学数值传热差不多一个月吧,目前写了一个稳态的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在逐行扫描中会对最终温度场计算结果产生影响吗?
      检查过好几次代码了,似乎找不到什么逻辑上的错误,我对比了好几次数值传热书上的例子。

      有老师给定性指出下问题可能出现在什么上面了吗?

      1 条回复 最后回复 回复 引用
      • bestucan
        bestucan 版主 副教授 最后由 编辑

        可以找已有的代码对比一下,除非特别新的东西,常用的东西一般都有模板,还有各种代码的模板。

        http://www.pudn.com/Download/item/id/3745439.html
        https://github.com/Singh-T/TDMA-2D

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

        滚来滚去……~(~o ̄▽ ̄)~o 滚来滚去都不能让大家看出来我不是老师么 O_o

        异步沟通方式(《posting style》from wiki)(下载后打开):
        https://www.jianguoyun.com/p/Dc52X2sQsLv2BRiqnKYD
        提问的智慧(github在gitee的镜像):
        https://gitee.com/bestucan/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md

        1 条回复 最后回复 回复 引用
        • First post
          Last post