24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1708  |  回复: 10

yuwei3601

铁虫 (小有名气)

[求助] 非线性静力强度问题采用增量迭代法编程思路?已有1人参与

Incremental iterative procedure is to be used.
1. That is loads are to be incremented in small size P=P+deltaP. ( for example, P=P=0.01 )
2. At each load the equations are solved till it satisfies the convergence criteria set.
3.Once it achieved load is incremented and process is repeated.
第一个荷载步(J=1)对应方程组的系数矩阵不能用通用系数矩阵表示,
J大于等于2时,方程组的系数矩阵可用通用系数矩阵表示。荷载P=10,delta_P=0.01为荷载步
其Matlab编程思路是这样吗?在具体的每一个荷载步下,方程组是一个线性方程组,是不是也要采用迭代法求解呢?
P=0.01;
while err>1e-6
         {commands}
end

for P=0.02:10:0.01
     while err>1e-6
              {commands}
     end
end
请教高手指点!
回复此楼
多交流,提高自我解决问题的能力。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

cob

木虫 (正式写手)

引用回帖:
3楼: Originally posted by yuwei3601 at 2015-09-28 22:49:11
您说的是一种方法,就是荷载增量步很小的情况下,直接利用线性求解,不用迭代就能达到精度。
我还想再向您请教一下,如果每个荷载步下对应的方程组的系数矩阵是稀疏矩阵,那是不是需要采用迭代法,雅可比或高斯-赛 ...

matlab 自带解方程的fsolve,只要列出方程,即可求解。fsolve也是用的迭代法,可以通过参数选择合适的迭代法a。
如果想自己用高斯-赛德尔迭代,每一步迭代都要update雅可比。在这个帖子里,我给出了一个牛顿迭代(高斯-赛德尔迭代)的例子,可能有帮助 http://muchong.com/bbs/viewthread.php?tid=9277641&authorid=348545
我确实还是不太理解,如果每一步的方程都是线性的,为什么要用迭代法解线性方程。
4楼2015-09-29 00:05:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

cob

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
yuwei3601: 金币+20, ★★★很有帮助 2015-09-28 22:42:57
每一步都是线性方程,就不用迭代了。直接用linearsolve解了就行了。可以从linearsolve输出error 或者定义error
2楼2015-09-28 19:33:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yuwei3601

铁虫 (小有名气)

引用回帖:
2楼: Originally posted by cob at 2015-09-28 19:33:59
每一步都是线性方程,就不用迭代了。直接用linearsolve解了就行了。可以从linearsolve输出error 或者定义error

您说的是一种方法,就是荷载增量步很小的情况下,直接利用线性求解,不用迭代就能达到精度。
我还想再向您请教一下,如果每个荷载步下对应的方程组的系数矩阵是稀疏矩阵,那是不是需要采用迭代法,雅可比或高斯-赛德尔迭代,首先建一个雅克比或高斯-赛德尔m文件,再在主程序求解时调用迭代m文件求解即可呀?
多交流,提高自我解决问题的能力。
3楼2015-09-28 22:49:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yuwei3601

铁虫 (小有名气)

引用回帖:
4楼: Originally posted by cob at 2015-09-29 00:05:16
matlab 自带解方程的fsolve,只要列出方程,即可求解。fsolve也是用的迭代法,可以通过参数选择合适的迭代法a。
如果想自己用高斯-赛德尔迭代,每一步迭代都要update雅可比。在这个帖子里,我给出了一个牛顿迭代( ...

恩,我先尝试一下用直接法求解,非常感谢您的宝贵意见!
多交流,提高自我解决问题的能力。
5楼2015-09-29 09:05:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wugenyong

银虫 (小有名气)

如果每个载荷步下是线性方程组,就不要迭代了,直接求解就完了。
事实上迭代法要求解的是下面的问题:
F-K(x){x}=0;F-载荷,K(x)是刚度矩阵,{x}位移列阵,但是由于各种原因,这个刚度矩阵是非线性的,这个时候你没有办法用直接法来求解,只能迭代求解,也就说,有一个initial guess x0,K(x)在x0附近做泰勒展开,然后迭代求解,直到|F-K(x){x}|<某个小量。

» 本帖已获得的红花(最新10朵)

6楼2015-09-29 14:38:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yuwei3601

铁虫 (小有名气)

送红花一朵
引用回帖:
6楼: Originally posted by wugenyong at 2015-09-29 14:38:53
如果每个载荷步下是线性方程组,就不要迭代了,直接求解就完了。
事实上迭代法要求解的是下面的问题:
F-K(x){x}=0;F-载荷,K(x)是刚度矩阵,{x}位移列阵,但是由于各种原因,这个刚度矩阵是非线性的,这个时候你没 ...

是不是我可以这样理解,每一个荷载步下,对应一个位移增量,该位移增量加上没有施加该荷载步时的位移即为该荷载作用下对应的累计位移;荷载步施加完(即荷载达到给定荷载时)时,非线性静力强度问题就算求解结束,根据计算结果就可以画出荷载位移曲线了。中间不需要位移收敛性的判断?
多交流,提高自我解决问题的能力。
7楼2015-09-29 16:55:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yuwei3601

铁虫 (小有名气)

送红花一朵
引用回帖:
6楼: Originally posted by wugenyong at 2015-09-29 14:38:53
如果每个载荷步下是线性方程组,就不要迭代了,直接求解就完了。
事实上迭代法要求解的是下面的问题:
F-K(x){x}=0;F-载荷,K(x)是刚度矩阵,{x}位移列阵,但是由于各种原因,这个刚度矩阵是非线性的,这个时候你没 ...

求解过程中,递推公式是这样吗?
可以推荐一下相关参考书吗
非线性静力强度问题采用增量迭代法编程思路?
1.png

多交流,提高自我解决问题的能力。
8楼2015-09-29 17:41:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wugenyong

银虫 (小有名气)

引用回帖:
8楼: Originally posted by yuwei3601 at 2015-09-29 17:41:58
求解过程中,递推公式是这样吗?
可以推荐一下相关参考书吗

1.png
...

K.J.Bathe的书上就有啊

» 本帖已获得的红花(最新10朵)

9楼2015-09-30 11:25:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yuwei3601

铁虫 (小有名气)

引用回帖:
9楼: Originally posted by wugenyong at 2015-09-30 11:25:43
K.J.Bathe的书上就有啊...

方便告诉一下书名吗
多交流,提高自我解决问题的能力。
10楼2015-09-30 12:42:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yuwei3601 的主题更新
信息提示
请填处理意见