【轉載】弧長法(Riks Method)的基本原理
原地址:http://blog.163.com/zpfzcjndx@126/blog/static/635456812013017115922938/
弧長法(Riks method)是目前結構非線性分析中數值計算最穩定、計算效率最高且最可靠的叠代控制方法之一,它有效地分析結構非線性前後屈曲及屈曲路徑跟蹤使其享譽"結構界"。大多數商業有限元軟件(如ABAQUS、ANSYS等)也都將其納入計算模塊,作為一名工科生,機械式地"Step by Step"點擊這些商業軟件對話框的時候需"知其然,知其所以然",否則必將"Rubbish in,Rubbish out"。
圖1 弧長法叠代求解過程
圖1 所示為弧長法的叠代求解過程,下標
設第個荷載步收斂於,那麽對於第個荷載步來說,需要進行次叠代才能達到新的收斂點。外部參照力,在ABAQUS需要用戶以外荷載的形式輸入,因此,作用在結構上的真實力大小為。由於牛頓—拉夫遜法在叠代過程中,以荷載控制(或位移控制)時,荷載增量步(或位移增量步)為常數,它無法越過極值點得到完整的荷載—位移曲線,事實上,也只有變化的荷載增量步才能使求解過程越過極值點。從圖1中可以看出,弧長法的荷載增量步是變化的,可以自動控制荷載,但這又使原方程組增加了一個多余的未知量,因此需要額外補充一個控制方程,即:
(1)
該控制方程說明,其叠代路徑是以上一個荷載步收斂點為圓心半徑為的圓弧,所以稱為弧長法。通常用戶需指定初始弧長半徑或固定的弧長半徑,當設定了初始弧長半徑時,根據收斂速率,一般按式(2)計算,其中為荷載步期望收斂叠代次數,一般取6, 為上一荷載步的叠代次數,大於10時取10。
(2)
1. 當時,根據上一個荷載步收斂結束時的構形,得到用於第個荷載步收斂計算的切線剛度矩陣,即圖1中的藍色平行線的斜率。通過式(2)可得相應的切線位移。
(3)
(4)
(5)
很容易由式(5)求得,但不能確定其符號,而
(6)
2. 當時,為了簡化的求解過程,可以切平面法求解,即用垂直於切線的向量代替圓弧,即:
需要補充的關系式為:
最後需要說明的是,假若考慮材料塑性行為,則每個叠代步的切線剛度矩陣應以當前叠代步的構形為準,即圖1中的藍色切線不再平行。
弧長法(Riks method)通用求解程序
原地址:http://blog.163.com/zpfzcjndx@126/blog/static/6354568120134228927334/
算例1. 如圖1所示的平面桿系結構,頂點受到豎直向下的力P作用,用本程序(Riks method)進行計算,並將計算結果與精確解進行比較,如圖2所示,通過對比可以說明本程序是正確的。
圖1 計算簡圖
圖2 跨中節點荷載—位移曲線對比
算例2:圖3是經典的Lee‘s frame簡圖,一個在端部正交的鉸接約束平面剛架,在距離正交點一定距離處有集中力F作用。之所以稱其為經典算例是因為它的荷載位移曲線同時集中了跳躍(snap-through )和回彈(snap-back)現象,傳統的求解策略根本無法對其進行荷載—位移路徑跟蹤,在此,弧長法展現了很大優勢,圖4是運用本程序得到剛架的變形動畫,圖5是加載點的荷載位移曲線,並將其與ABAQUS計算結果進行對比,通過對比表明該程序的是正確的。
圖3 Lee‘s Frame 簡圖
圖4 Lee‘s frame變形動畫
圖2 加載節點荷載—位移曲線對比
程序核心部分:
讀取數據文件(節點、單元、約束、截面屬性、參考力、控制弧長、最大控制參量)
while 控制參量(如位移、最大荷載因子) < 最大控制參量
計算當前切線剛度矩陣 K_Global
計算參考位移 X_Ref= 參考力\K_Global
計算初始荷載因子 lamda0=Arclength/sqrt(1+X_Ref‘*X_Ref);
判定初始荷載因子方向 +/- lamda0
更新節點坐標,更新外力
計算當前節點反力
計算節點不平衡力Val
while norm(Val)>1e-6
計算不平衡力產生的位移X_Val
計算荷載因子修正參數delta=X_Val‘*X_Ref/(1+X_Ref‘*X_Ref);
修正荷載因子lamda1=lamda0-delta;
更新初始荷載因子lamda0=lamda1;
更新節點坐標,更新外力
計算當前節點反力
計算節點不平衡力Val
end
end
【轉載】弧長法(Riks Method)的基本原理