不知火舞的被虐|伊人天伊人天天综合网|博洛尼亚天气|任你懆这里只有精品4|久久美日韩精品久久|掌中之物漫画免费阅读观看|0丨d老妇

Fortran編程的案例

Fortran基礎(chǔ)編程——牛頓拉弗森迭代
今日推文主要分享一個非線性方程的牛頓-拉弗森迭代解法,借助Fortran語言,講述Fortran編程時需要注意的地方。理論及在Abaqus中的實現(xiàn)過程已在上幾期推文基于Abaqus的Newton-Raphson算法中說明,本次主要說明Fortran編程時需要注意的地方,本文代碼主要參考:《Fortran程序設(shè)計權(quán)威指南》。 例: 主程序 主程序:Solve.f90,子程序:New_Raphson.f90,函數(shù)文件:function.f90,Module模塊:NEWTON.F90。將整個程序分塊編寫,在主程序中調(diào)用即可,大型的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調(diào)用即可,如此以來,使得自己的代碼更加簡潔明朗,在編寫Python、Matlab也是同樣的道理。
展開
Fortran基礎(chǔ)編程(入門簡介篇)
Fortran 是一門上世紀古老的科學(xué)計算語言,具有強大的計算能力,雖然沒有現(xiàn)在的主流語言熱門,但對于想從事有限元二次開發(fā)的童鞋來言,是一個不得不跨過去的檻兒,Fortran語言用于自己領(lǐng)域進行開發(fā)計算時,往往不需要高深的算法,只需了解簡單的語法規(guī)則及循環(huán)之類結(jié)構(gòu)即可。木木在剛開始學(xué)習(xí)Fortran時,遇到疑惑會問一問身邊的同學(xué)有沒有用過Fortran,大多數(shù)情況是,Fortran?那是啥語言?我......現(xiàn)如今使用的人確實很少,若不是自己對二次開發(fā)感興趣,我也不會去觸碰它~ 本文先向大家簡單介紹一個二分法的fortran程序,然后推薦大家使用一些輕便的編譯器,最后推薦一下學(xué)習(xí)的書籍、論壇。 Fortran程序分為自由格式與固定格式,固定格式太太太難看了,閱讀起來也很費力,但大多數(shù)遺留下來的有限元程序是按照固定格式來編譯的(木得辦法),自由格式閱讀起來就比較友好了,接下來就用自由格式來編寫一個二分法程序,固定格式相關(guān)的將會在以后的推文中涉及。程序在文末! 本程序采用Module將代碼塊進行封裝,程序中用到的變量、function、subroutine,整理到Module中,用的時候只需要Use一下就可,如行48。程序中一些語法、注意的細節(jié)將會在以后專門設(shè)立一個Fortran的欄目中進行講解。 木木最開始用的編譯器是VS+IVF,后來發(fā)現(xiàn)VS占用系統(tǒng)資源很多,卸載也很麻煩,用起來不順手,現(xiàn)在我用的是Simply Fortran編譯器,小巧輕便(100M左右),很很很好用,Simply Fortran安裝包及簡單的說明手冊在文末獲取。界面大致長這個樣子: B站有的教學(xué)視頻也用的是這個編譯器,大家有興趣可以看一下。
展開
abaqus子程序開發(fā):fortran-c-python混合編程開發(fā)
abaqus子程序開發(fā)語言不局限fortran和c了,還能支持python! 這是一套自研的開發(fā)框架,源于客戶需要獲取分析過程的中間數(shù)據(jù)作為python機器學(xué)習(xí)程序的輸入這樣的需求。這種需求乍一聽確實非主流、非常規(guī)。 后來仔細做了一些了解,這種需求有其合理性。第一,python在數(shù)據(jù)分析、機器學(xué)習(xí)方面有豐富的資源;第二,python程序嵌入abaqus求解器一起運行,那開發(fā)就會很方便高效;第三,借助python的pdb可以隨心所欲的設(shè)置斷點,調(diào)試程序。在此之前,python一般作為獨立程序,依賴數(shù)據(jù)文件的順序傳遞,實現(xiàn)與abaqus的協(xié)同。直白的講,abaqus算完了,形成數(shù)據(jù)文件再導(dǎo)入python。 于是火力全開研究解決方案,結(jié)果可謂“大快人心”:實現(xiàn)了abaqus的子程序?qū)ython的支持,而且還實現(xiàn)了fortran、c、python三種語言的混合編程,真正讓不同的編程語言在它最擅長的領(lǐng)域發(fā)揮作用。 以上介紹了abaqus子程序fortran-c-python混合編程,如有這方面的需求,歡迎私信聯(lián)系開展合作。
展開
本人長期進行abaqus、ansys數(shù)值模擬,擅長Fortran編程,若需要幫助,可以提供服務(wù),qq:821700696,收費咨詢
Fortran編程圖1
隨機分布網(wǎng)格技巧之一 ¥20
本文以LS-DYNA為例,介紹了通過Fortran編程實現(xiàn)網(wǎng)格隨機分布的技巧。隨機分布前后的網(wǎng)格如圖所示(后附程序代碼,該方法可用于各種仿真軟件):
Abaqus+Load混凝土板的損傷模擬 ¥200
<p>Abaqus子程序編程在車輪荷載下對混凝土板的損傷分析方法,包括以下步驟:獲取數(shù)值模擬所涉及的鋼筋混凝土本構(gòu)模型參數(shù)和車輛參數(shù);建立符合要求的有限元模型進行數(shù)值模擬;利用Fortran編程模擬車輛輪胎與混凝土接觸面的壓力荷載和運行速度;通過Abaqus在特定程序模擬不同車輛荷載和速度情況下混凝土損傷和破壞情況,選用Abaqus中CDP模型分析在動態(tài)加載條件下混凝土結(jié)構(gòu)的力學(xué)響應(yīng)和混泥土材料由損傷引起的剛度退化和導(dǎo)致的拉壓屈服強度改變準則作為混凝土損傷判別準則,為合理確定地下室頂板承受極限荷載提供參考依據(jù),并且有效的避免坍塌等安全事故的發(fā)生。</p><p><br></p><p><img src="https://img.jishulink.com/202312/imgs/3d5a5e3441b941188ed19d0b070df77f.png"></p><p><img src="https://img.jishulink.com/202312/imgs/65e368ed2e6c436797fff0bbaba12b21.png"></p><p><img src="https://img.jishulink.com/202312/imgs/654625c201584de4a8d848e42e63d167.png"></p>
展開
開源XFEM程序:PhiPsi介紹
有意購買PhiPsi最新程序的小伙伴,可通過以下聯(lián)系方式,聯(lián)系開發(fā)者,木木的粉絲可享受進一步優(yōu)惠哦~ 聯(lián)系方式: E-mail: shifang@hyit.edu.cn QQ:1549221758 木木建議 若只是想體驗PhiPsi的XFEM功能,以上網(wǎng)站所提供的代碼或GUI程序完全滿足你的需求;若想深入了解其實現(xiàn)原理,建議搭配《擴展有限元理論及Fortran編程》結(jié)合使用。
VSCode配置fortran運行環(huán)境
VSCode固然好看,但是在編程時代碼運行環(huán)境的配置較為麻煩,相比visual studio對初學(xué)者來說沒有那么友好。 本文給出VSCode搭配gfortran,從而為Fortran編程搭建一個輕便簡易的編輯運行環(huán)境。 (一)安裝gfortran,具體下載地址: 安裝gfortran共有兩種方式,方法一是直接下載解壓包解壓安裝,方法二是下載安裝文件安裝。 方法一步驟: 打開以下網(wǎng)站: https://winlibs.com/ 找到以下位置并點擊下載: 下載后將文件解壓,如下圖: 接下來將該路徑添加到環(huán)境變量中: 右鍵我的電腦-屬性-高級系統(tǒng)設(shè)置 點擊環(huán)境變量,在用戶變量path中加入mingw的具體安裝路徑: 如:E:\Mingw\mingw64\bin 點擊確定,一般情況下即已經(jīng)完成了gfortran的安裝。打開命令提示符,輸入 Gfortran -v 如果出現(xiàn)以下窗口即表明安裝成功。 方法二:進入以下網(wǎng)站 https://www.mingw-w64.org/ 進入上述地址后,點擊左側(cè)downloads 之后找到下圖所示的Mingw-builds,點擊下載,下載后進行安裝即可。 (二)安裝Vscode,下載網(wǎng)址: https://code.visualstudio.com/ 進入上述網(wǎng)址下載安裝vscode即可。
展開
ANSYS諧響應(yīng)分析在紙機振動分析中的應(yīng)用
利用ansys軟件,建立有限元模型,將單位力施加到機架輥子處,進行諧響應(yīng)分析,得到頻率與位移幅值曲線,經(jīng)過fortran編程或excel將導(dǎo)出的數(shù)值進行轉(zhuǎn)換,結(jié)合由輥子精度等級計算得到的不平衡力,得到車速(即輥子的轉(zhuǎn)動線速度)與振動速度曲線,最后將各個不同直徑輥子的振動幅值疊加得到最終的振動曲線。與規(guī)定的標準值進行比較,從而可以判斷出該機架是否合格。 本文以一臺正在運營的紙機為例(圖1所示),基于以上原理說明ansys諧響應(yīng)分析在紙機網(wǎng)部振動診斷中的應(yīng)用。該紙機網(wǎng)部在運行車速900轉(zhuǎn)/分鐘左右時,流漿箱處存在明顯的振動,從完成部出來的紙的品質(zhì)也不好。為了找到原因,建立網(wǎng)部的有限元模型,從而判斷出哪些因素對振動的貢獻最大。 2 振動測試 圖2為現(xiàn)場實測得到的流漿箱處的振動瀑布圖,測試范圍是需關(guān)心的車速在700m/min至1000m/min,頻率為0Hz至20Hz區(qū)間段。結(jié)果顯示,大約在5Hz時流漿箱沿紙機方向出現(xiàn)第一階振動幅值,該振動主要是由950/975mm輥子引起(可以由輥子直徑與轉(zhuǎn)速計算與瀑布圖對比得到),振幅為4.5mm/s,超過了相關(guān)文獻規(guī)定的許可值。 3 有限元分析 為了更好理解該紙機網(wǎng)部的振動,建立以梁單元與質(zhì)量單元為主的有限元模型,如圖3所示。它將用來判斷激勵主要來自哪幾個輥子,也用來判斷減小振動措施的有效性。
展開
直播 | ABAQUS二次開發(fā)入門和工具
Abaqus的二次開發(fā)總體分為: (1) 基于Python語言的前后處理二次開發(fā); (2) 基于Fortran語言的求解器用戶子程序的二次開發(fā)。 本次直播主要針對這兩部分的開發(fā)做一個總體入門介紹,同時,為克服子程序調(diào)試、環(huán)境配置困難及Fortran編程復(fù)雜等問題,我們直播中也將介紹兩款便捷的子程序開發(fā)工具iSolver和DUS,可預(yù)先下載使用。
一種新思路用于實現(xiàn)ABAQUS用戶自定義單元
<p><strong>概述</strong>:帖子講述了一種新思路用于實現(xiàn)ABAQUS自定義單元,該方法不需要在INP文件中采用“USER ELEMENT”等關(guān)鍵字定義單元,更重要的是,也<strong>不需要在UEL接口中進行繁瑣的FORTRAN編程</strong>,只需要在INP文件中直接導(dǎo)入相應(yīng)的矩陣即可。目前這種自定義單元適用的計算有:static, frequency extraction, modal dynamic, mode-based steady-state dynamics, complex eigenvalue extraction, and subspace-based steady-state dynamics。更多的功能還在探索之中。</p><p><br></p><blockquote><strong>這種自定義單元方式為多種CAE軟件協(xié)同二次開發(fā)提供了一種可能</strong>,眾所周知,ABAQUS的非線性方程組求解能力是行業(yè)翹楚,這時候如果能得到描述方程組的關(guān)鍵矩陣,如固體力學(xué)的運動方程中的KK、MM和CC,直接導(dǎo)入ABAQUS便可以求解,相較于UEL二次開發(fā),節(jié)省了向ABAQUS主程序輸出關(guān)鍵矩陣的編程工作,至于 <span style="color: rgb(25, 27, 31);">KK、MM和CC,可以自己采用高級語言編程生成,也可以從其他軟件中導(dǎo)出。再比如,COMSOL以其多場耦合計算功能著稱,采用該方法就可以將COMSOl的多場耦合功能與ABAQUS結(jié)合,</span> <strong style="color: rgb(25, 27, 31);">本質(zhì)是數(shù)學(xué)中的方程組求解</strong> <span style="color: rgb(25, 27, 31);">。
展開
Fortran編程圖2
Abaqus的第一個logo形象竟然是中國算盤!
恰好此時的David發(fā)現(xiàn)自己對Fortran編程有濃厚興趣,并且非常熱衷于將固體力學(xué)應(yīng)用于工程,兩人不謀而合。 年輕時的David Hibbitt騎著他的文森特黑影 彼時距離Ray W Clough等人在有限元領(lǐng)域開創(chuàng)性的工程應(yīng)用已有十幾年了,人們也逐漸意識到有限元方法的潛力。當時已經(jīng)存在幾種商業(yè)有限元代碼,但都只能處理線性問題,David和Pedro都確信非線性有限元代碼的工程應(yīng)用前景相當廣闊。 01. 首次涉足非線性領(lǐng)域 Marc程序是以David的博士論文為基礎(chǔ)開發(fā)的,該論文由美國海軍的一項合同資助,要求開發(fā)一種有限元方法,以便對潛艇殼體的多道次焊接進行建模,并預(yù)測由殘余變形引起的性能損失。為此,他必須首先開發(fā)出傳熱分析的能力,以解決熔融金屬凝固時的潛熱效應(yīng),并結(jié)合預(yù)測的溫度來模擬多道次焊接過程中結(jié)構(gòu)的機械響應(yīng),包括塑性和蠕變,最后對扭曲變形的殼體結(jié)構(gòu)進行屈曲分析。 David回憶,“那是一項艱巨的任務(wù),遠遠超出了計算機的性能。” 整個布朗大學(xué)當時只有一臺IBM360/50計算機,這意味著可以分配給研究人員的時間相當有限。我們知道,如今一部手機的計算能力是此類計算機的數(shù)千萬倍,而運行有限元程序要求計算機具有遠遠超過手機的處理能力,所以,當時問題的困難程度可想而知。 隨著研究的進展,Pedro的團隊接到的電話越來越多,來自各個行業(yè)的人都在詢問Marc是否可以幫助他們。生意就這樣開始了,Pedro于1971年成立了Marc Analysis公司,David作為公司的次要共同所有人,也是第一位全職員工。
展開
PGI Fortran 編譯器
PGI Visual Fortran包括最新版的PGI本機OpenMP,以及支持FORTRAN77和Fortran95編程語言的自動并行化編譯器,主要特性包括一整套: 由面向Fortran的文本編輯器、Fortran本征函數(shù)提示和選擇關(guān)鍵字組成的Visual Studio Fortran項目系統(tǒng); Fortran 應(yīng)用程序自定義創(chuàng)建引擎; 自定義調(diào)試引擎,提供Fortran所需的語言專用調(diào)試功能; 支持單線程、多線程及OpenMP并行應(yīng)用程序調(diào)試; 兼容Microsoft Visual C++ 2008; 支持調(diào)試PGI Fortran和Visual C++ 2005的混合應(yīng)用程序 PGI的編譯器及開發(fā)工具都具有如下特性:完全本機支持OpenMP并行編程擴展、在多核心處理器上的自動并行化、完全支持64位尋址、本機集成標量和矢量SSE/SSE2/SSE3代碼生成,以及PGI 世界領(lǐng)先的優(yōu)化基礎(chǔ)設(shè)施。 PGI Visual Fortran是為64位的AMD64和英特爾的EM64T及32位的x86處理器高度優(yōu)化的,其創(chuàng)建PGI Unified Binary?的功能是業(yè)內(nèi)獨一無二的。PGI Unified Binary?是一個能夠在兩個處理器平臺上運行的可執(zhí)行文件,內(nèi)含針對AMD64和EM64T處理器優(yōu)化的代碼序列。PGI Unified Binary使獨立軟件開發(fā)商(ISV)和自定義應(yīng)用程序開發(fā)人員認識到一個64位平臺的優(yōu)點,同時還能充分利用英特爾和AMD公司開帶來的最新創(chuàng)新技術(shù)
展開
《CAD/CAE/CFD/VPT/SC軟件協(xié)作技術(shù)》
第一篇 CAE軟件篇 第1章 MSC軟件的開放式結(jié)構(gòu) 第2章 ANSYS與CAD產(chǎn)品的接口 第3章 ANSYS與VC++、FORTRAN的接口 第4章 ANSYS與LS-DYNA聯(lián)合仿真 第5章 ADINA軟件數(shù)據(jù)接口和應(yīng)用實例 第二篇 CFD軟件篇 第6章 CFD的計算機解決方案. 第7章理論基礎(chǔ) 第8章 計算流體力學(xué)問題的CAD幾何建模 第9章 ICEMCFD的SolidWorks直接CAD界面(DCl) 第10章 CFD網(wǎng)格劃分的ICEMCFD實現(xiàn) 第11章 計算流體力學(xué)問題的求解 第12章 CFD后處理的.Iecplot實現(xiàn) 第三篇 VPT軟件篇 第13章ADAMS基礎(chǔ) 第14章ADAMS與ANSYS協(xié)作 第15章 ADAMS與三維CAD軟件協(xié)同工作 第16章 ADAMS與控制軟件的協(xié)同分析 第四篇 SC軟件篇 第17章 概述 第18章 M文件編程 第19章MATLAB編譯器 第20章 MATLABCOMBuilder 第21章 MEX、MX、MAT與ENGINE函數(shù) 第22章 MATLAB和ActiveX應(yīng)用集成 第23章 MATLAB與FORTRAN混合編程 第24章 MATLAB與C語言的混合編程 第25章 MATLAB與C++語言混合編程 第26章 MATLAB與MicrosoftExcel的連接 第27章 MATLAB與Office的聯(lián)用 第28章 MATLAB與Maple的符號運算 第29章 MATLAB與VisualBasic接口 第30章 MATLABWebServer 參考文獻 參考資料
展開
【Abaqus簡史】黑科技”之路
恰好此時的David發(fā)現(xiàn)自己對Fortran編程有濃厚興趣,并且非常熱衷于將固體力學(xué)應(yīng)用于工程,兩人不謀而合。 年輕時的David Hibbitt騎著他的文森特黑影 彼時距離Ray W Clough等人在有限元領(lǐng)域開創(chuàng)性的工程應(yīng)用已有十幾年了,人們也逐漸意識到有限元方法的潛力。當時已經(jīng)存在幾種商業(yè)有限元代碼,但都只能處理線性問題,David和Pedro都確信非線性有限元代碼的工程應(yīng)用前景相當廣闊。 01. 首次涉足非線性領(lǐng)域 Marc程序是以David的博士論文為基礎(chǔ)開發(fā)的,該論文由美國海軍的一項合同資助,要求開發(fā)一種有限元方法,以便對潛艇殼體的多道次焊接進行建模,并預(yù)測由殘余變形引起的性能損失。為此,他必須首先開發(fā)出傳熱分析的能力,以解決熔融金屬凝固時的潛熱效應(yīng),并結(jié)合預(yù)測的溫度來模擬多道次焊接過程中結(jié)構(gòu)的機械響應(yīng),包括塑性和蠕變,最后對扭曲變形的殼體結(jié)構(gòu)進行屈曲分析。 David回憶,“那是一項艱巨的任務(wù),遠遠超出了計算機的性能。” 整個布朗大學(xué)當時只有一臺IBM360/50計算機,這意味著可以分配給研究人員的時間相當有限。我們知道,如今一部手機的計算能力是此類計算機的數(shù)千萬倍,而運行有限元程序要求計算機具有遠遠超過手機的處理能力,所以,當時問題的困難程度可想而知。 隨著研究的進展,Pedro的團隊接到的電話越來越多,來自各個行業(yè)的人都在詢問Marc是否可以幫助他們。生意就這樣開始了,Pedro于1971年成立了Marc Analysis公司,David作為公司的次要共同所有人,也是第一位全職員工。
展開