在“求解多物理场问题”这篇博客中,我们介绍了 COMSOL
中用于求解稳态多物理场问题的全耦合和分离算法。这里,我们再来看一下能够加快这两种方法收敛的一些技巧。
载荷递增和非线性递增技巧
就像我们刚刚了解到的那样,利用全耦合方法求解稳态非线性问题时,所用的正是用于求解非线性单物理场问题的阻尼 Newton-Raphson 算法。虽然这一算法在许多情况下收敛良好,但如果选择的初始条件较差,可能会出现无法收敛或收敛很慢的问题。综合这些方面不难看出,我们之前介绍的一些技巧同样适用于多物理场问题,例如载荷递增和非线性递增。事实上,我们也无需再为这些技巧多做补充,因为它们的使用方法相同。
这里要记住的重要一点是:求解全耦合多物理场问题的底层算法与求解非线性单物理场问题的算法完全相同。记住这一点之后您就会发现,除了要理解全耦合多物理场问题模型中物理场间的相互作用外,并没有其他概念上的障碍。
另一方面,分离方法则可能带来许多不同的求解策略,它们可以极大地加快解的收敛,并能显著影响求解问题所需的内存量。为了更好地理解这一点,让我们做一个有关不同多物理场求解技巧的流程图。这里还是继续以之前母线板博客中讨论的问题为例进行说明,母线板由于电流的影响被加热,并承受了热应力。
就像我们刚刚了解到的那样,利用全耦合方法求解稳态非线性问题时,所用的正是用于求解非线性单物理场问题的阻尼 Newton-Raphson 算法。虽然这一算法在许多情况下收敛良好,但如果选择的初始条件较差,可能会出现无法收敛或收敛很慢的问题。综合这些方面不难看出,我们之前介绍的一些技巧同样适用于多物理场问题,例如载荷递增和非线性递增。事实上,我们也无需再为这些技巧多做补充,因为它们的使用方法相同。
递增多物理场问题
这是非线性递增技巧的一个新变形,即逐渐增加物理场之间的耦合。从数值角度来看,它其实与之前讨论的非线性递增技巧相同,但从概念角度来看,它是物理场间耦合的递增量级, 而非单一物理场中非线性的量级。唯一的难点在于选择和执行将发生递增的项。幸运的是,绝大多数多物理场问题中物理场间的耦合都相当明显,可以通过以下方式轻松找出:写出控制方程和边界条件,并查看材料属性和载荷如何依赖于求解变量。这里要记住的重要一点是:求解全耦合多物理场问题的底层算法与求解非线性单物理场问题的算法完全相同。记住这一点之后您就会发现,除了要理解全耦合多物理场问题模型中物理场间的相互作用外,并没有其他概念上的障碍。
另一方面,分离方法则可能带来许多不同的求解策略,它们可以极大地加快解的收敛,并能显著影响求解问题所需的内存量。为了更好地理解这一点,让我们做一个有关不同多物理场求解技巧的流程图。这里还是继续以之前母线板博客中讨论的问题为例进行说明,母线板由于电流的影响被加热,并承受了热应力。
全耦合方法
首先,全耦合求解器会从初始猜测开始,然后应用 Newton-Raphson 迭代直到收敛的解:


上图显示了每个物理场中误差的下降情况。虽然分离求解法可能需要进行更多次迭代来求解相同问题,但其中的每个环节都要快于全耦合方法中的
Newton-Raphson
步骤。您还可以从中获得其他一些信息,比如,如果只有一个或者两个物理场不收敛,那您可以首先检查它们的一些设定。
因此,我们可以看到该问题(至少)有三种不同的求解方法:全耦合、分离并假定所有物理场间的耦合是分离的,或者利用温度和位移之间的单向耦合进行顺序求解。当求解一个多物理场问题时,COMSOL
会假定所有物理场之间的耦合,并根据物理场和问题大小尝试选择最优的全耦合或分离法。当然,打开求解器设定部分查看软件选择了哪种设定,也通常会对您有较大帮助。