
發(fā)布
注冊(cè)
/
登錄ansys 牛頓迭代
關(guān)注創(chuàng)建者:王靖雯 創(chuàng)建時(shí)間:2023-03-07

ansys 牛頓迭代的實(shí)例教程
今日推文主要分享一個(gè)非線性方程的牛頓-拉弗森迭代解法,借助Fortran語言,講述Fortran編程時(shí)需要注意的地方。理論及在Abaqus中的實(shí)現(xiàn)過程已在上幾期推文基于Abaqus的Newton-Raphson算法中說明,本次主要說明Fortran編程時(shí)需要注意的地方,本文代碼主要參考:《Fortran程序設(shè)計(jì)權(quán)威指南》。
例:
主程序
主程序:Solve.f90,子程序:New_Raphson.f90,函數(shù)文件:function.f90,Module模塊:NEWTON.F90。將整個(gè)程序分塊編寫,在主程序中調(diào)用即可,大型的Fortran中顯得尤為重要。
主程序代碼:
PROGRAM main
! 主程序:Newton迭代法計(jì)算方程的根
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迭代法計(jì)算方程的根',//,&
3X,'X= ',F15.10,/,&
3X,'ITER=',I5)
END PROGRAM main
由上述程序可看出,主程序只有use、call、輸出語句,甚至可以將輸出語句編一個(gè)子程序,在主程序中用call調(diào)用即可,如此以來,使得自己的代碼更加簡(jiǎn)潔明朗,在編寫Python、Matlab也是同樣的道理。
展開 一個(gè)基于MATLAB進(jìn)行牛頓迭代的簡(jiǎn)單案例~
NewtonRaphson.zip
fclose all; close all; clear; clc; %% Define functions and parameters syms x; f = 0.1*(x^2 + 2*x + 1); diff_f = diff(f,x); n_max = 100; e_tol = 1e-5; x_0 = 5; f_0 = subs(f,x,x_0); error = 10*e_tol; t1
對(duì)于一些專業(yè)的多體動(dòng)力學(xué)軟件,如MSC的Adams等,做這樣的仿真比ANSYS就簡(jiǎn)單多了,以下是筆者用Admas做的牛頓擺運(yùn)動(dòng)仿真,花費(fèi)的時(shí)間不到ANSYS的三分之一。
注:本文做的只是一個(gè)示意性算例,結(jié)果不具備實(shí)際工程意義。
對(duì)于一些專業(yè)的多體動(dòng)力學(xué)軟件,如MSC的Adams等,做這樣的仿真比ANSYS就簡(jiǎn)單多了,以下是筆者用Admas做的牛頓擺運(yùn)動(dòng)仿真,花費(fèi)的時(shí)間不到ANSYS的三分之一。

ansys 牛頓迭代的相關(guān)專題、標(biāo)簽、搜索
ansys 牛頓迭代的最新內(nèi)容
一個(gè)基于MATLAB進(jìn)行牛頓迭代的簡(jiǎn)單案例~
NewtonRaphson.zip
fclose all; close all; clear; clc; %% Define functions and parameters syms x; f = 0.1*(x^2 + 2*x + 1); diff_f = diff(f,x); n_max = 100; e_tol = 1e-5; x_0 = 5; f_0 = subs(f,x,x_0); error = 10*e_tol; t1
微信公眾號(hào):[易木木響叮當(dāng)]
關(guān)注可了解更多的[有限元數(shù)值仿真技巧]。問題或建議,請(qǐng)公眾號(hào)留言;
如果你覺得木木同學(xué)對(duì)你有幫助,歡迎贊賞。
今日推文主要分享一個(gè)非線性方程的牛頓-拉弗森迭代解法,借助Fortran語言,講述Fortran編程時(shí)需要注意的地方。理論及在Abaqus中的實(shí)現(xiàn)過程已在上幾期推文基于Abaqus的Newton-Raphson算法中說明,本次主要說明Fortran
一個(gè)有趣的案例
牛頓擺是個(gè)解壓且能激發(fā)創(chuàng)造力的玩具。除此之外,它還向人們昭示著自然界中兩個(gè)極其重要的基本物理定律——能量守恒定律和動(dòng)量守恒定律。
動(dòng)量守恒定律
牛頓擺是個(gè)解壓且能激發(fā)創(chuàng)造力的玩具。除此之外,它還向人們昭示著自然界中兩個(gè)極其重要的基本物理定律——能量守恒定律和動(dòng)量守恒定律。
動(dòng)量守恒定律
上面這張圖,用過ANSYS的朋友一定都很熟悉吧,在開始求解到求解結(jié)束的整個(gè)漫長(zhǎng)過程中,這幅圖都會(huì)陪伴我們度過每一秒。
那么,圖中的各個(gè)曲線分別代表了什么意思呢?下面來說一說
Time=1
這是時(shí)間標(biāo)記,如果你的分析是多荷載步的,就會(huì)看到Time=1、2、3……如果在定義荷載步的過程中定義了時(shí)間的數(shù)值,那么這里就會(huì)按照用戶定義的時(shí)間顯示。時(shí)間很重要,可以在遇到程序意外錯(cuò)誤的時(shí)候,通過時(shí)間數(shù)據(jù)找到
這原在多年前一位朋友向我咨詢時(shí)就應(yīng)該寫下的,結(jié)果。。。今天整理文件的時(shí)候才想起來,這習(xí)慣。。可能習(xí)慣了就好了。
上面這張圖,用過ANSYS的朋友一定都很熟悉吧,在開始求解到求解結(jié)束的整個(gè)漫長(zhǎng)過程中,這幅圖都會(huì)陪伴我們度過每一秒。
那么,圖中的各個(gè)曲線分別代表了什么意思呢?下面來說一說
Time=1
這是時(shí)間標(biāo)記,如果你的分析是多荷載步的,就會(huì)看到Time=1、2、3……如果在定義荷載步的過程中定義了時(shí)間的數(shù)值