[讨论]Newmark β 法增量求解非线性振动
用增量形式的Newmark法求解一个单自由度无阻尼自由振动微分方程(m*DDy+k*y=0),当刚度是线性的时候,计算是正确的,表明编程没有出现错误的输入。但是,当刚度是非线性的时候(刚度为位移的二次函数k=100+1000*y*y),数值计算是发散的,这是什么原因。请用过Newmark增量形式编程的各位老师指导指导!谢谢! 这个问题个人认为是由于方程解的变化率相差过大造成的,你试着在方程中加一个微小的阻尼看看,加了之后解应该就收敛了 这个就是刚性方程的定义吧 非线性情况下,刚性比难以确定,其收敛区域也不好定义,所以,你的参数不宜变化过于剧烈。
否则,结果基本不可信。 我将1000*y*y项移到右端项,作为未知的力,然后采用迭代求解的方法,能够得到正确的解。
现在的疑问是,一般的书上介绍增量法,并没有说明要做其他处理,好像就可以直接的解一些非线性的方程。
我问了一个老师,他说增量法求解时,非线性的刚度系数只能表示成时间的非线性函数,而不能用速度或者位移的非线性函数来表达。我做了一下试验,如果刚度是时间的正弦函数的平方,的确可以求出一个稳定的解。
不知道到底有没有不用迭代的直接方法求解我前面指出的那个方程。 不知可否贴出你的newmark-β增量算法,
或那本书上有具体的算法?
谢谢。 这个说法从何而来? 楼住可否把求解过程解释解释?不太懂 使用Newmark β 或者Wilson-theta法等求解非线性结构的动力响应,必须采用某种技术来对非线性恢复力(刚度)进行迭代,比如Newton-Raphson等。 楼上的可否解释清楚一些这个问题,现在正为此问题困扰! 我的看法:
1。我用过简单形式的NEWMARK BETA法,我不清楚和NEWMARK BETA增量法有什么区别?
2。方程刚性太大可能发散,我也碰到过,建议变步长的方法或加阻尼试试。用牛顿法迭代非线性力似乎是一种好方法,但是不知道具体怎么实现?
3。我觉得刚性系数必须是时间的函数不对,那样岂不是应用很受限制?不知道楼主的这句话有什么理论上的依据?或什么文献上提到了? 我觉得Newmark迭代方法只能处理线性问题,因为它的本质是线性加速度法
所以非线性问题已经不试用 但是处理非线性问题的常见方法就是将非线性问题局部线性化,所以我觉得它还是能解非线性问题的。
回复:(21172485)我觉得Newmark迭代方法只能处理线性...
对于部分非线性问题也是可以求解的,这个是试过的 肯定是你在求keq*u(t+dltt)=Q(t+dltt)时用的线性方程求解,非线性时用牛顿跌代
页:
[1]
2