
發布
注冊
/
登錄Newton
關注創建者:關邇 創建時間:2021-04-10
Newton的視頻教程
Lsdyna二次開發umat主程序和用戶材料子程序的調用邏輯及材料子程序參數講解
后期,還將推出Ls-dyna二次開發系列課程,課程主要講解內容:包括Ls-dyna二次開發的主要流程;Ls-dyna二次開發環境搭建(R5,R8,R13版本);二次開發中涉及到的彈塑性力學知識;Fortran編程基礎及子程序debug技巧;各類應力更新方案,包括隱式迭代算法(Newton-Raphson),向前歐拉法,修正向前歐拉法,嚴格增量法,帶自動誤差控制的子步法,半徑回歸方法,顯隱式結合算法等
免費 15分鐘 105播放
查看
ABAQUS 燒蝕/腐蝕仿真 UEL子程序
- 采用 Newton-Raphson 求解,單元切線矩陣 - 所有公式編入 ABAQUS 的 UEL 子程序:AMATRX ← [K],RHS ← {R}。 3.
¥99 2小時8分鐘 87播放
查看
Newton的實例教程
修正方法:在自己非線性有限元編程時,可以將上述迭代過程稍加修正,將每次迭代時的切線剛度矩陣換做初始切線剛度矩陣,并且在迭代時保持不變,即可大大減少計算量,修正方法如下圖所示:
圖 3:Newton-Raphson(N-R)迭代法與修正的 Newton-Raphson(N-R)迭代法(源自《有限元基礎教程》曾攀.P284)
求解非線性方程的Newton-Raphson算法
數學解釋
非線性方程的根記為
,按照牛頓迭代法:
牛頓迭代計算流程:
圖 4:牛頓迭代法計算流程
Newton-Raphson迭代算法:
function varargout=newton(fun,x0,ep,maxiter)
% NEWTON 牛頓法求方程的根
if nargin<4
maxiter=500; % 默認最大迭代次數
end
if nargin<3
ep=1e-8; % 默認允許誤差
end
if ~isscalar(fun)
dfun=fun{2}; % 導函數匿名函數形式
fun=fun{1}; % 函數的匿名函數形式
else
if isa(fun,'sym') % 函數以符號表達式的形式給出
dfun=matlabFunction(diff(fun)); % 導函數匿名函數形式
fun=matlabFunction
展開 本次分享的是基于Modified Newton–Raphson的非線性有限元編程小案例,將會介紹牛頓法的優缺點,以及如何一步步修正,最后結合彈簧單元的例子進行Modified Newton–Raphson數值實現,望大家喜歡。
一維非線性彈簧模型
Newton–Raphson求解
每個彈簧元的平衡方程如下式:
整體剛度組裝,去除0左端節點項(固支條件,劃行劃列)后的整體剛度方程可表示如下:
進一步講上式化簡為1個非線性方程組
:
公式推導進行到這一步后,Newton–Raphson就可以派上用場了。有限元和數值分析緊密相關的原因就是,有限元思想將系統離散化,通過一系列的理論將物理條件轉化為一個個的數學線性/非線性方程,最終依靠數值分析的手段進行問題求解。
有關Newton–Raphson的算法細節,可參考數值分析教材或者木木前幾期的推文,本質就是一個切線逼近的過程,本次推文的目的就是帶著大家將該算法應用到具體有限元非線性求解案例中。
展開 理論及在Abaqus中的實現過程已在上幾期推文基于Abaqus的Newton-Raphson算法中說明,本次主要說明Fortran編程時需要注意的地方,本文代碼主要參考:《Fortran程序設計權威指南》。
例:
主程序
主程序:Solve.f90,子程序:New_Raphson.f90,函數文件:function.f90,Module模塊:NEWTON.F90。將整個程序分塊編寫,在主程序中調用即可,大型的Fortran中顯得尤為重要。
主程序代碼:
PROGRAM main
! 主程序:Newton迭代法計算方程的根
use NEWTON
OPEN(UNIT=11,FILE='FOUT1510.TXT')
OPEN(UNIT=12,FILE='IM_RESULT1510.TXT')
CALL SOLVE(X,ITER)
WRITE(11,46)X,ITER
46 FORMAT(T5,'Newton迭代法計算方程的根',//,&
3X,'X= ',F15.10,/,&
3X,'ITER=',I5)
END PROGRAM main
由上述程序可看出,主程序只有use、call、輸出語句,甚至可以將輸出語句編一個子程序,在主程序中用call調用即可,如此以來,使得自己的代碼更加簡潔明朗,在編寫Python、Matlab也是同樣的道理。
展開 豎直線條圖形:
(不同SMO技術對豎直線條圖形的仿真結果)
(不同SMO技術對豎直線條圖形仿真的收斂曲線)
(不同SMO技術對豎直線條圖形仿真的運行時間)
結論:
? Newton-IHTs方法PAE(3440)低于SD方法(4853)和IHTs方法(3716)。
? 收斂速度:Newton-IHTs方法收斂最快。
? 運行時間:Newton-IHTs方法效率顯著優于SD和IHTs方法。
復雜圖形:
(不同SMO技術對復雜圖形的仿真結果)
(不同SMO技術對復雜圖形的仿真收斂曲線)
(不同SMO技術對復雜圖形的仿真運行時間)
結論:
? Newton-IHTs方法成像保真度與SD方法相當,運行時間僅1161s,比SD方法(3877s)提速約3.3倍。
? 收斂速度:Newton-IHTs方法收斂最快。
? 運行時間:Newton-IHTs方法效率顯著優于SD和IHTs方法。
05/2D-DCT與2D-DFT技術的性能對比
2D-DCT基比2D-DFT基更稀疏地表示掩模圖形,可節省內存并加快計算,且對成像保真度影響較小。
(不同稀疏基上掩模圖形的稀疏系數)
(使用Newton-IHTs算法對水平條塊圖形不同稀疏基的仿真結果)
結論:
? Newton-IHTs方法的PAE(3195)遠低于SD方法(4294)和IHTs方法(3218)。
展開 
Newton的相關專題、標簽、搜索
Newton的最新內容
Solve for Smises and deqpl using Newton's method
deqpl=0.d0
Et=E*xn*(1.d0+E*eqplas/Sy)**(xn-1)
do kewton=1,newton
rhs=Smises-(3.d0*eg)*deqpl-Sf
deqpl=deqpl+rhs/((3.d0*eg)+
,DDSDDEEQ(NTENS,NTENS),
2 FLOW2(NTENS,NTENS),EQSYS(NTENS+1,NTENS+1), BVECT(NTENS+1),
3 PVECT(NTENS),VINDX(NTENS+1)
PARAMETER (ONE=1.0,TWO=2.0,THREE=3.0,SIX=6.0, HALF =0.5)
DATA NEWTON
參考文獻附錄
[1] Newton, I. (1672). "A Letter of Mr. Isaac Newton... containing his New Theory about Light and Colors." Philosophical Transactions, 6(80), 3075-3087. 引用位置:第一章1.1節。
[2] Mait, J.
? 收斂速度:Newton-IHTs方法收斂最快。
? 運行時間:Newton-IHTs方法效率顯著優于SD和IHTs方法。
牛頓-迭代硬閾值(Newton-IHTs)算法:是IHTs的性能升級版本,在IHTs的迭代邏輯基礎上,額外引入Hessian矩陣的逆矩陣參與中間結果計算——這一改進能顯著加快迭代收斂速度,進一步縮短非線性光刻優化的運算周期。
一期一會 | 什么是電磁學?4個月前
麥克斯韋電磁方程
在安培、庫侖和奧斯特等物理學家的工作基礎上,麥克斯韋建立了一組詳細論述統一電磁學理論的四個方程,并被許多科學家稱為“物理學的第二次統一”,以類比艾薩克·牛頓(Isaac Newton)對引力的“偉大統一”。
在自由空間中(沒有電荷)中求解麥克斯韋方程,可得到用于描述以光速傳播的電磁波的波方程。
Newton-Raphson update
d_ga = d_ga - f_gamma_delta / Df_gamma_d_d_gamma
END DO
!
(2) 上面方法缺點是實際工程我們不知道應該加哪個強制約束點或者如殼的屈曲,強制約束點太多無妨加和實際一樣的強制位移,所以實際工程更多的是加力,做出力和位移的關系,此時由于要越過馬鞍點,一般在有限元中采用弧長法(Risk)替代Newton迭代來計算,具體可看系列文章4:非線性問題的求解。
此 Newton - Raphson 分析的收斂性由 “Line Search convergence tolerance”(線搜索收斂容差)和 “Displacement Convergence tolerance”(位移收斂容差)控制。
LS - DYNA 支持所有這些方法,這些方法都在分析的瞬態部分于時間零開始之前的偽時間內進行。
平面應力脆性斷裂相場AT2模型10個月前
Phase field fracture modelling using quasi-Newton methods and a new adaptive step scheme. Theoretical and applied fracture mechanics. 2020;107:102446.