亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        ADINA有限元源代碼應用及二次開發(fā)研究

        2024-11-05 00:00:00屈浩宇馬迎松樊力中高升
        廣西科技大學學報 2024年4期

        摘 要:ADINA(automatic dynamic incremental nonlinear analysis, ADINA)84作為大型通用有限元程序,具有非常強大的非線性計算能力,廣泛運用于各種工程數值模擬分析領域,但對其源代碼的解析以及如何運用源代碼并對源代碼進行二次開發(fā)的研究較少。通過對源代碼深入解析,基于廣義胡克定律編寫材料子程序并編譯了相對應的求解器,對比驗證了求解器和材料子程序的計算準確性,為ADINA源代碼的使用提供了詳細說明,同時為本構模型二次開發(fā)提供參考,為國產專用有限元軟件開發(fā)提供新的思路。

        關鍵詞:ADINA源程序;求解器;幾何非線性;二次開發(fā)

        中圖分類號:TB115.1 DOI:10.16375/j.cnki.cn45-1395/t.2024.04.002

        0 引言

        ADINA(automatic dynamic incremental nonlinear analysis, ADINA)是一款動力非線性有限元分析軟件,且為開源程序[1],早期國內學者對其進行了一定的研究[2-5]。通過幾十年發(fā)展,該軟件已實現(xiàn)商業(yè)化并運用在航空航天、國防軍工、基礎設施建設等多個領域。郭富強等[6]基于ADINA對河套灌區(qū)預制混凝土渠道保溫防凍脹效果進行了數值模擬。貢悅[7]通過ADINA對實橋試驗的拉索減振被動式阻尼器進行了數值模擬。謝建等[8]利用ADINA建立最易失效狀態(tài)下液壓缸模型對導彈的起豎液壓缸進行有限元分析。陳志濤[9]針對卵形消化池通過ADINA數值模擬對該結構系統(tǒng)地震作用下的流固耦合動力特性進行了有限元分析,ADINA提供了豐富的用戶接口,使用戶能夠進行特殊材料及工況下的分析求解。熊玉春等[10]通過ADINA軟件對3個常規(guī)三軸壓縮模型進行材料二次開發(fā),驗證了該軟件具有強大的非線性求解能力;同時工業(yè)軟件的二次開發(fā)同樣重要。方瑞等[11-13]基于UG以及Revit等軟件的二次開發(fā)進行了避障仿真研究與安全管理平臺研究等內容,在這方面ADINA能力同樣突出。張衛(wèi)東等[14]通過ADINA實現(xiàn)了黏土廣義本構模型二次開發(fā),為后續(xù)其他彈塑性模型提供參考。汪仁和等[15]改進的西原模型生成動態(tài)鏈接庫用于ADINA深井凍結壁的有限元計算。由上述文獻可知ADINA具有強大的線性、非線性及多物理場求解功能,同時具有非常強大的二次開發(fā)能力。

        但上述文獻都是利用基于ADINA提供的MakeFile文件自動對各個文件鏈接編譯使用,或直接利用ADINA商業(yè)軟件以及ADINA提供的動態(tài)鏈接庫進行求解及二次開發(fā),并且前者編譯環(huán)境老舊,為已經停止更新的Compaq Visual Fortran(CVF)開發(fā)環(huán)境。后者與其他商業(yè)有限元軟件一樣不提供開源代碼,很少有直接說明源代碼使用方法及二次開發(fā)的案例。

        在自主化趨勢越發(fā)明顯的今天,涌現(xiàn)出多種國產CAE軟件,如NWorks、Simright Simulator、FEPG等,但都比較針對某一特定方向或功能不夠完善。為此,本文解析了ADINA84源代碼實現(xiàn)流程及二次開發(fā)途徑,基于Window10系統(tǒng)編譯求解器,根據文獻[16]模型建立輸入文件進行大變形分析,以及根據廣義胡克定律編寫了線彈性材料子程序嵌入求解器,進而對8節(jié)點單元模型進行求解,驗證了所編譯求解器的準確性以及子程序的可行性,且該源代碼為開源代碼,可以為國產有限元軟件的發(fā)展提供參考。

        1 ADINA程序編譯及計算流程

        1.1 ADINA求解器編譯

        ADINA源代碼為FORTRAN77語言編寫,與最新的FORTRAN語言版本相比較為老舊,若在如今的電腦系統(tǒng)下成功編譯求解器需要提前安裝相對應的FORTRAN編譯器?,F(xiàn)在主流的編譯器有以下幾種:Intel Visual Fortran、PGI Fortran、NAG Fortran以及GFortran。其中Intel Visual Fortran優(yōu)化最佳,并且其配套集成開發(fā)環(huán)境最為完善,適合商業(yè)軟件開發(fā),但容易出現(xiàn)Bug。為避免在Windows環(huán)境下出現(xiàn)不必要的Bug,以及為適應研究所需使程序移植便利,采用GFortran開發(fā)環(huán)境,此開發(fā)環(huán)境完全開源的同時不需要額外安裝配套的開發(fā)環(huán)境并且優(yōu)化能力較強,適合學習、研究及常規(guī)開發(fā)。

        ADINA84源代碼具體編譯過程如下:

        Step 1 安裝Minimalist GNU for Windows工具集,其中包含gcc,C++以及Fortran編譯器gfortran。

        Step 2 更改賬戶系統(tǒng)環(huán)境變量,添加工具集中gfortran文件路徑到環(huán)境變量Path路徑中。通過系統(tǒng)命令提示符輸入gfortran-version,若提示Built by MinGW-W64 project,則表明編譯環(huán)境搭建成功。

        Step 3 通過編譯器鏈接源代碼所在文件夾的44個源代碼文件,可得到一個自命的.exe的可執(zhí)行文件,整個流程如圖1所示。

        1.2 輸入文件

        編譯成功的求解器可讀取.txt以及.dat等各種類型的文本文件,但文本中數據格式需要滿足ADINA84源代碼的讀取要求;因ADINA84源代碼為FORTRAN77編寫,所以輸入文件格式也是按照“卡片”的形式來讀取信息,其中每一張“卡片”或每一個“卡片組”都是靠卡片名以及卡片所用格式、變量名稱、變量的含義以及注釋來進行識別。

        在語句格式中,A代表字符變量,I代表整型變量,F(xiàn)或E表示實型變量。整型變量名以字母I、J、K、L、M、N開頭,字符型以及實型變量以其他字母開頭。其中整型變量可以由一個“+”或“-”號和數字組成,由于空格會被讀為0,所以整數在所留位置中需要從右往左輸入,同樣地,實型變量在沒有小數點的情況下也需要靠右輸入。

        數據結構與現(xiàn)在主流的CAE軟件輸入文件類型類似,例如ABAQUS的.inp文件等,主要包括結構控制卡、載荷控制卡、時間函數控制卡、節(jié)點控制卡、單元控制卡等。主要的輸入方式(按列號由右往左輸入)、變量名及其意義如表1—表5所示。

        1.3 求解器求解總流程

        ADINA84源代碼與ADINA81源代碼除部分變量以及二次開發(fā)接口外有許多相似之處[17],其中計算主要分為5部分:1)文件讀入、儲存和初始化單元節(jié)點信息、求解狀態(tài);2)剛度矩陣計算;3)平衡迭代方式;4)計算應力;5)輸出結果??傆嬎懔鞒炭蚣芤姳疚亩S碼。

        2 源代碼二次開發(fā)

        2.1 源代碼二次開發(fā)要點

        ADINA84源代碼中提供2D和3D實體單元的子程序接口,其中子程序SUBROUTINE CUSER2針對2D實體單元,子程序SUBROUTINE CUSER3針對3D實體單元,且即使自定義的材料不含和溫度有關的參數,在實際建模中也需要對給定材料的溫度和模型的溫度荷載賦值。與ADINA81源代碼不同的是無需定義歷史工作數組長度,ADINA84二次開發(fā)子程序包括4個程序段,分別對應于程序中的KEY1—KEY4。在KEY1程序段,初始化積分點上存儲的變量;在KEY2程序段,對每個STEP的每個DEPS調用1次,對積分點進行應力積分并完成歷史變量的更新;在KEY3程序段,計算彈塑性矩陣;在KEY4程序段,輸出所需的應力-應變以及位移等結果,其中自定義子程序代碼需寫在CONTINUE與RETURN之間,公用變量(彈性模量等)可寫在GO TO之前成為全局變量,每個GO TO語句對應的KEY程序段之間相互獨立對應不同的計算子程序,不能隨意刪除,否則容易出現(xiàn)重復疊加計算等其他問題。其中材料子程序接口常用變量及解釋見表6。

        2.2 子程序編譯思路

        1)KEY1初始化ARRAY以及IARRAT兩個數組。

        2)KEY2更新應力以及狀態(tài)變量,其中變量CTI(1)定義為彈性模量[E],CTI(2)定義為泊松比[ν]。使彈性模量及泊松比作為線彈性材料的獨立常數,拉梅常數[λ]為

        [λ=νE(1+ν)(1-2ν).] (1)

        另一組常用本構常數體積模量[K]以及剪切模量[G]為

        [K=E3(1-2ν),] (2)

        [G=E2(1+ν)=μ.] (3)

        通過廣義胡克定律可知

        [σ=Cε,] (4)

        式中:[σ]為柯西應力;[C]為彈性剛度矩陣;[ε]為柯西應變。式(2)和式(3)可表示為

        [C=K+43GK-23GK-23G000K-23GK+43GK-23G000K-23GK-23GK+43G000 0 0 0G00 0 0 00G0  0 0 000G.] (5)

        考慮到第[n]步以及第[n+1]步的時間間隔,即[tn, tn+1],使用后退Euler法將本構方程在時間間隔內進行離散,第[n+1]步的總應變?yōu)?/p>

        [εn+1=εn+Δεn+1], (6)

        式中:[Δεn+1]為第[n+1]步的應變增量。

        使用牛頓迭代法來更新第[n+1]步的應力,即

        [σn+1=σn+CΔεn+1]. (7)

        3)KEY3更新剛度矩陣D,

        [D=?Δσ?Δε], (8)

        式中:[Δσ]為柯西應力增量;[Δε]為柯西應變增量。

        4)KEY4輸出結果及計算其他額外量。

        3 求解器及子程序驗證

        3.1 桁架大變形結構計算

        為驗證求解器的可用性以及求解精度,通過輸入模型文本文件計算了若干模型問題。圖2模型以及材料參數取自文獻[10],為懸臂桁架結構,對其進行大變形分析,其中該結構長寬比為9∶1,左端施加固定約束,右端中部節(jié)點施加豎直向下集中力載荷P,分別為50、75、100、125、150、175 N。桿件初始橫截面積A=10-4 m2,設置桿件彈性模量為2×109 N/m2。

        通過設置不同載荷,并與商業(yè)軟件ABAQUS中打開幾何非線性開關進行仿真模擬得出的數據進行對比,得出大變形后載荷施加點橫向及縱向結果如圖3—圖4所示。從位移結果圖可以看出,利用求解器計算的結果與商業(yè)軟件ABAQUS計算結果最大誤差小于5%,符合工程上計算誤差,證明了求解器的準確性。

        3.2 子程序驗證

        為驗證源代碼調用子程序進行求解的可行性以及計算準確性,本文編寫了基于廣義胡克定律的線彈性材料子程序,建立了8節(jié)點的三維實體單元模型,調用材料子程序來對其進行單軸拉伸以及剪切狀態(tài)下的數值計算。模型如圖5所示,其中單軸拉伸時邊界條件為左側4節(jié)點固定,右側4節(jié)點沿Y軸方向拉伸0.01 m,模型彈性模量為2×1011 N/m2。

        子程序計算的各點應力結果如表7所示。通過表中數據可知,y方向應力理論值應為2×109 Pa,計算結果基本無誤差,其余方向應力為計算容差且基本為0,計算容差正負符號符合邊界條件設置,證明了子程序的正確性以及使材料子程序嵌入求解器進行求解的可行性。

        4 結論

        以ADINA84源代碼作為研究對象,對其編譯后求解器進行大變形分析,通過子程序嵌入求解器進行調用求解,將子程序計算結果與商業(yè)有限元軟件計算結果及理論值進行對比,得出以下結論:

        1)即使該源代碼誕生于40年前,但如今其依然能夠在保證精度的同時高效地完成線彈性、幾何非線性等有限元問題的求解;

        2)該源代碼仍然可以通過用戶自定義材料模式完成二次開發(fā)工作,具備眾多商業(yè)有限元軟件核心功能;

        3)基于ADINA84源代碼的編譯及子程序調用方法,可為國產有限元軟件開發(fā)提供借鑒和參考,這將為后續(xù)工作打下基礎。

        參考文獻

        [1] 貝斯.ADINA/ADINAT使用手冊:自動動態(tài)增量非線性分析有限元程序[M].趙興華,譯.北京:機械工業(yè)出版社,1986.

        [2] 周世昌,劉從民,張錫清,等.利用結構有限元程序ADINA、ADINAT進行大型推力軸承的熱彈流計算[J].哈爾濱電工學院學報,1991(4):351-358.

        [3] 曾秋成.ADINA/ADINAT程序及其對車輪的應力分析[J].鐵道車輛,1984,22(5):29-38.

        [4] 趙興華,徐福娣,梁醒培.ADINA/ADINAT程序述評[J].機械強度,1982,4(4):15-20.

        [5] 鄭結.ADINA/ADINAT程序討論班[J].機械強度,1982,4(4):72.

        [6] 郭富強,李鋼鐵,霍軼珍,等.基于ADINA的河套灌區(qū)預制混凝土渠道保溫防凍脹效果數值模擬[J].干旱區(qū)資源與環(huán)境,2023,37(10):84-92.

        [7] 貢悅.基于數值模擬與實橋試驗的拉索減振被動式阻尼器研究[D].大連:大連理工大學,2021.

        [8] 謝建,權輝,田桂.基于ADINA的導彈起豎液壓缸有限元分析[J].起重運輸機械,2011(7):42-45.

        [9] 陳志濤.卵形消化池流—固耦合系統(tǒng)的ADINA有限元分析[D].天津:天津大學,2007.

        [10] 熊玉春,房營光.ADINA有限元軟件中材料本構的二次開發(fā)[J].巖土力學,2008,29(8):2221-2225,2240.

        [11] 方瑞,陳岳坪.基于UG二次開發(fā)干涉避障仿真研究[J].廣西科技大學學報,2019,30(3):64-69.

        [12] 鄧朗妮,黃曉霞,彭來,等.基于Revit二次開發(fā)的施工危險源安全管理平臺研究與應用[J].廣西科技大學學報,2018,29(1):106-112.

        [13] 徐武彬.AutoCAD二次開發(fā)技術在機械類課程教學中的應用[J].廣西工學院學報,1999,10(1):75-78.

        [14] 張衛(wèi)東,岑威鈞.基于ADINA的黏土廣義塑性模型二次開發(fā)及驗證[J].三峽大學學報(自然科學版),2016,38(6):42-45.

        [15] 汪仁和,李棟偉,王秀喜.改進的西原模型及其在ADINA程序中的實現(xiàn)[J].巖土力學,2006,27(11):1954-1958.

        [16] 張宇鵬.拉壓不同模量材料的高性能算法開發(fā)及應用[D].大連:大連理工大學,2016.

        [17] 楊兵.ADINA幾何與材料雙重非線性源程序解析[D].南京:河海大學,2008.

        Application and secondary development research of ADINA finite

        element source code

        QU Haoyu, MA Yingsong*, FAN Lizhong, GAO Sheng

        (School of Mechanical and Automotive Engineering, Guangxi University of Science and Technology,

        Liuzhou 545616, China)

        Abstract: As a large general finite element program, ADINA(automatic dynamic incremental nonlinear analysis)84 has a very powerful nonlinear computing ability and is widely used in various fields of engineering numerical simulation analysis. However, there are few studies on the analysis, application and secondary development of the source code. Through in-depth analysis of the source code, the material subroutine was written and the corresponding solver was compiled based on generalized Hooke's law, and the calculation accuracy of the solver and the material subroutine were compared and verified. The research provides a detailed description for the use of the ADINA source code and a reference for the secondary development of the constitutive model, and provides a new idea for the development of domestic special finite element software.

        Keywords: ADINA source program; solver; geometric nonlinearity; secondary development

        (責任編輯:于艷霞)

        收稿日期:2023-10-18;修回日期:2023-11-07

        基金項目:廣西科技基地和人才專項項目(桂科AD19110111);廣西高校中青年教師科研基礎能力提升項目(2019KY0379);中央引導地方科技發(fā)展資金項目(桂科ZY22096023)資助

        第一作者:屈浩宇,在讀碩士研究生

        *通信作者:馬迎松,博士,講師,研究方向:材料與結構損傷破壞的宏細觀研究,E-mail:mys128@163.com

        在线不卡中文字幕福利| 久久99热久久99精品| 极品尤物高潮潮喷在线视频| 人妻少妇看A偷人无码电影| 日韩激情视频一区在线观看| 亚洲熟女精品中文字幕| 国产suv精品一区二区883| 国产成人av综合亚洲色欲| 91九色国产在线观看| 日本在线一区二区三区不卡| 中文乱码字慕人妻熟女人妻| 丝袜AV在线一区二区三区 | 日本最新一区二区三区视频| 青草久久婷婷亚洲精品| 久久久无码精品亚洲日韩按摩| 正在播放一区| 蜜臀av人妻一区二区三区| 国产三级视频不卡在线观看| 国语对白嫖老妇胖老太| 无码国产精品一区二区免费97| 日本成人在线不卡一区二区三区| 亚洲精品中文字幕一二三区| 痉挛高潮喷水av无码免费| 无遮挡十八禁在线视频国产制服网站 | 91视频免费国产成人| 亚洲美女av二区在线观看| 亚洲一区二区三区内裤视| 国产福利一区二区三区在线观看 | 国模少妇无码一区二区三区| 久久国产亚洲精品一区二区三区| 欧美猛少妇色xxxxx猛交| 国产99视频精品免费视频免里| 日本久久精品在线播放| 中文字幕一区二区人妻秘书| 国产一卡2卡3卡四卡国色天香| 亚洲欧洲久久久精品| 亚洲精品中文字幕一二三| 国产欧美成人一区二区a片| 极品熟妇大蝴蝶20p| 国产精品丝袜一区二区三区在线| 国产网站一区二区三区|