【作业4】 有限差分求解枝晶生长模型

作业4

作业描述

第4课讲了有限差分求解热传播问题,我课后进一步学习了有限差分等内容,基于参考资料完成了这个作业。本作业的求解是explicit的,没有用到第4课中稀疏矩阵相关的内容。
(ps: 其实我还没搞明白这个模型的物理意义>_<,所以这个作业就当作是一个数值计算程序的练习吧)

如果有错误请大家多多指正。(因为我也不晓得这个结果对不对>_<)

效果展示

crystal_growth

代码链接

参考资料

4 个赞

更新一个implicit求解的版本,用上了第四讲中的稀疏矩阵 :slightly_smiling_face:

但也并不是完全Implicit的,只是对温度t求解时是implicit的,对状态p求解时还是explicit的。(事实上原始论文R. Kobayashi, Modeling and numerical simulations of dendritic crystal growth, Physica D: Nonlinear Phenomena. 63 (1993) 410–423. https://doi.org/10.1016/0167-2789(93)90120-P 中也是这么做的)

两个版本的最终呈现效果是一样的,但是这个implicit版本只能以10帧左右运行,而之前explicit版本可以稳定60帧。。。
是不是哪里出了错误?
我能想到导致效率下降的原因就是explicit求解时所有的运算全都在一个For循环里,而implicit求解过程把解线性方程组的过程拿出来了,相当于多了一个循环

Hi, @starfall。 非常欢迎来到太极论坛!

Implicit版本比explicit版本跑到慢是正常的,因为Implicit需要求解一个线性方程组(是一个很耗时的操作),而explicit是不需要这么做的。

确实哦!感谢助教回答^_^

哈哈,不客气哈。欢迎多多上传作业~