非线性问题的负载渐变

2013年11月22日

正如我们之前在博客条目中看到的那样解决非线性静态有限元问题,并非所有非线性问题都可以通过阻尼的牛顿 - 拉夫森方法解决。特别是,选择不正确的初始条件或无需解决方案设置问题,只会导致非线性求解器继续迭代而无需融合。在这里,我们介绍了一种更强大的方法来解决非线性问题。

编者注:此博客文章中的信息已被此知识库输入所取代:“改善非线性固定模型的收敛性”

非线性问题的示例

再次考虑使用非线性刚度应用于弹簧的力系统:

春季具有非线性刚度

只要我们选择适当的初始条件,我们就可以通过抑制牛顿 - 拉夫森方法解决这个问题(我们选择了U_0 = 0)。在里面其他博客条目,我们注意到在收敛时选择一个半径之外的初始条件,任何点U_0 \ le-1例如,将导致求解器失败。现在,对于这个单一的自由问题,我们可以轻松地确定收敛的半径,但是对于典型的有限元问题,这将变得更加困难。因此,与其试图找到融合半径,而是对此问题应用一些物理直觉。

负载坡道可改善稳健性

在这里,我们正在施加负载,P_F,到一个系统,我们正在尝试通过从初始条件开始找到解决方案,U_0。但是,如果我们施加负载会发生什么p = 0?牛顿的第一定律告诉我们,没有负载的系统将没有变形。因此,如果我们施加负载,会发生什么P_1,大小无限大于零?合理地假设牛顿 - 拉夫森方法从U_0 = 0,将能够找到解决方案,U_1。也可以合理地说我们可以将负载递增到P_2这样p_1 再次找到解决方案U_2,只要负载增量足够小。重复此算法,我们最终将达到最终负载P_F,以及我们所需的解决方案。也就是说,从零载荷开始,零解决方案,我们逐渐增加负载,直到达到所需的总负载。此过程在下图中绘制。暗箭头指示特定负载值的牛顿 - 拉夫森迭代从哪里开始。

图形显示使用算法的负载坡道,该算法称为负载上的延续方法

该算法也称为延续方法在负载上。从接近零值的值逐渐增加负载通常是通过阻尼牛顿方法解决非线性问题的一种更强大的方法,因为先前的解决方案是下一步的很好的初始猜测。

有了这种算法,我们不仅有一个很好的方法来解决牛顿 - 拉夫森迭代的良好起点的问题,而且我们还拥有一种算法,对于没有解决方案的问题的情况很有用。再次考虑弹簧在拉动时变得较弱的问题f(u)= 2- \ exp(-u)u如前所述。这个问题没有解决方案。在这种情况下,我们可以分析确定任何负载p> \ exp(-1)没有解决方案。但是,如果我们使用较小的负载,则系统是稳定的。实际上,在我们的情况下,系统是双稳定的。每个负载都有两种解决方案p \ le \ exp(-1)。虽然,我们可能只对我们从开始的分支感兴趣p = 0U_0 = 0。让我们策划f(u)

弹簧被拉动时较弱的问题的图表

现在,我们还假设我们不知道可能的峰值负载是p = \ exp(-1),并检查Comsol试图解决此问题时会发生什么188金宝搏优惠p = 0.2、0.3、0.4。如果我们策划f(u)为了p = 0.2,0.3我们看到了p = 0.4找不到解决方案。然后,Comsol中的延续求解器将在最后一个成功的负载188金宝搏优惠值与下一个所需的负载步骤之间的间隔上自动执行搜索。也就是说,求解器试图回溯以找到一个中间解决方案,然后可以将其用作下一步的起始值。只要延续方法功能(或参数扫描解决固定问题时,功能)在单个参数上使用。在这种情况下,求解器将能够找到系统的近似故障负载,这也是非常有用的信息。

摘要和结论思想

现在,我们介​​绍了负载升起的概念,并使用持续方法来改善牛顿方法的鲁棒性。由于没有负载的系统具有已知的解决方案,因此我们已经看到该技术可以消除针对初始条件选择什么值的问题。我们还了解到有可能大约找到故障负载。由于这些原因,负载升起是一种重要的技术,您在设置和解决非线性静态有限元问题时应该理解。

188金宝搏优惠comsol日志文件

让我们看一下非线性有限元问题的日志文件。我们将设置并解决上面描述的问题,即当我们进行时,该问题会变得较弱。我们知道这个问题没有解决方案,所以让我们看看会发生什么:

求解器1中的固定求解器1始于2013年7月15日11:26:46。求解的参数求解器非线性求解器的自由度求解为:1。参数p = 0.2。找到对称矩阵。相关变量的比例:状态变量u(mod1.ode1):1 iTer错误阻尼步骤#res #jac #sol 1 0.18 1.0000000 1 2 1 2 1 2 2 2 2 2 0.013 1.0000000 0.22 3 2 4 3 6 6.5e-005 1.005 1.00005 1.0000000 0.015 4 3 6 6 6 6 6 6个参数参数参数参数参数参数参数参数p = 0.3。ITER错误阻尼步骤#Res #jac #sol 1 0.025 1.0000000 0.21 7 4 9 2 0.00069 1.0000000 0.031 8 5 11参数P = 0.4。迭代错误的阻尼步骤#Res #jac #sol 1 0.89 1.0000000 2.7 11 6 14 2 0.3 0.8614583 0.76 12 7 16 3 0.2 0.2 0.2 0.8154018 0.43 13 8 18 4 0.31 0.31 0.41948888888888888888024 9 20 5 0.86 0.86 0.086 0.086516 0.9516 0.99 15 15 222225.325.325。ITER错误阻尼步骤#Res #jac #sol 1 0.089 1.0000000 0.4 18 12 26 2 0.014 1.0000000 0.13 19 13 13 28 3 0.0003 1.0000000 0.000000 0.018 20 14 30参数P = 0.375。迭代错误阻尼步骤#Res #jac #sol 1 0.099 1.0000000 0.32 23 15 33 2 0.079 0.9390806 0.9390806 0.19 24 16 35 3 0.2 0.3028345 0.245 0.24 25 17 37 37 37 37 4 0.94 0.94 0.0302834 0.0302834 0.95 26 183 39 ...某些部分对数文件文件的某些部分。。参数p = 0.368359。ITER错误阻尼步骤#Res #jac #sol 1 0.046 1.0000000 0.057 0.057 80 49 112 2 0.061 0.061 0.3013806 0.072 81 50 114固定求解器1中的固定求解器1:解决方案时间:0 S物理内存:0 S物理内存:471 MB虚拟内存:569 MB

求解器还报告了一个错误:

即使使用最小参数步骤,也无法找到所有参数的解决方案。即使使用最小阻尼因子,也没有收敛性。返回的解决方案没有收敛。

日志文件的开头与以前一样,除了求解器现在报告了正在调用参数求解器的情况。我们看到了,因为p = 0.2p = 0.3,求解器完成。为了p = 0.4,求解器失败,然后自动回溯以尝试找到解决方案的中间点。简洁地省略了一些中间步骤,但是我们看到参数求解器最终非常接近峰负载的分析解决方案。从这些信息中,我们可以通过一组不同的参数重新解决问题,并更好地了解系统在接近故障负载时的行为,这通常是有用的信息。


评论(2)

发表评论
118bet网址多少
加载...
江扇
江扇
2013年12月9日

谢谢沃尔特,这使我们对Comsol有了更深入的了解。188金宝搏优惠

Deokhan Kim
Deokhan Kim
2017年3月24日

非常感谢。您的帖子非常有帮助。

探索comsol188金宝搏优惠博客