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

abaqus子程序編譯的案例

完全基于VS的Abaqus UMAT等用戶程序編譯、運(yùn)行和調(diào)試 ¥1
Abaqus用戶子程序提供了很多接口幫助用戶實(shí)現(xiàn)自定義單元、材料等重要功能,但是功能強(qiáng)大,卻不友好,一般來(lái)說(shuō),存在以下四個(gè)問(wèn)題: 1、 環(huán)境配置相對(duì)比較復(fù)雜,很多用戶在配置VS、Fortran和Abaqus的鏈接時(shí)就選擇了放棄; 2、 用戶子程序代碼的編譯問(wèn)題不容易發(fā)現(xiàn),用戶一般都需要在對(duì)應(yīng)Job的日志里去查看,然后再去修改代碼,重新提交Job,如此反復(fù),工作效率極低; 3、 調(diào)試不易,Abaqus自帶了調(diào)試Job的功能,但往往由于環(huán)境配置的問(wèn)題,用戶不能正確地進(jìn)入調(diào)試狀態(tài),對(duì)用戶子程序代碼進(jìn)行調(diào)試; 4、 由于Abaqus的用戶子程序編譯是每次提交任務(wù)后都會(huì) 重新執(zhí)行的,即使用戶已經(jīng)調(diào)試好用戶子程序代碼,也仍然需要重新編譯。同時(shí)給在共享用戶子程序時(shí),就需要在多臺(tái)機(jī)器配置好用戶子程序的開發(fā)環(huán)境,實(shí)在是麻煩。 筆者通過(guò)一段時(shí)間的摸索和研究,找到了一種無(wú)需鏈接VS、Fortran和Abaqus,完全在VS中配置用戶子程序編譯環(huán)境的方法。編譯生成的文件可直接用于Abaqus,別的機(jī)器使用無(wú)需再配置開發(fā)環(huán)境。同時(shí),筆者也根據(jù)調(diào)試代碼的需要,給出了一個(gè)實(shí)現(xiàn)單步調(diào)試的技巧,且無(wú)需再擔(dān)心由于環(huán)境配置問(wèn)題無(wú)法進(jìn)入調(diào)試狀態(tài)。詳細(xì)內(nèi)容,見(jiàn)文檔。 方法指南.pdf 筆者也提供了配置好的vs工程。
展開
damask 程序在windows平臺(tái)直接編譯使用
再嘗試編譯過(guò)程中嘗試了大量的damask版本,發(fā)現(xiàn)2.02和2.01版本最適合作為移植到abaqus的軟件版本,原因是2.03雖然作為最后一個(gè)支持abaqus求解器的版本,然而當(dāng)前版本不支持顯示求解器,因此為了方便后期的動(dòng)態(tài)求解問(wèn)題,不適合使用,同時(shí)2.0以前的damask版本相應(yīng)的功能雖然已經(jīng)滿足,但是存在各類不易輕易發(fā)現(xiàn)的bug,嚴(yán)重影響移植過(guò)程,同時(shí)damask移植過(guò)程中涉及到并行計(jì)算的問(wèn)題,damask的子程序寫法對(duì)并行計(jì)算支持度一般,且存在大量的數(shù)值讀取和寫出,嚴(yán)重影響多核心并并行計(jì)算,因此建議調(diào)試時(shí)使用單核心進(jìn)行,移植到windows下支持的編譯器和Fortran版本也有顯著差異,當(dāng)前使用vs2017,F(xiàn)ortran2019,abaqus2022發(fā)現(xiàn)可以正常使用計(jì)算。對(duì)damask在windows下編譯感興趣的可以下載相應(yīng)版本的abaqus嘗試編譯和運(yùn)行。 damask在windows下使用的案例效果如下: 在編譯過(guò)程中測(cè)試了下圖所示的案例,分別是BCC鐵,位錯(cuò)密度模型,F(xiàn)CC鋁,HCP鎂合金,HCP鈦合金,各項(xiàng)同性的粘塑性模型,taylor模型等以及動(dòng)態(tài)顯示vumat的實(shí)現(xiàn),發(fā)現(xiàn)運(yùn)行結(jié)果良好,計(jì)算效率相較于linux平臺(tái)要稍快一些,指的注意的是,當(dāng)前采用單核心計(jì)算,在后續(xù)的過(guò)程中會(huì)對(duì)整體的damask代碼進(jìn)行完整的重構(gòu),充分支持多核心并行計(jì)算,即運(yùn)算效率會(huì)顯著提到,運(yùn)行效果如下: 同一個(gè)目錄下包含如下文件 預(yù)編譯為OBJ格式可以顯著較少每次編譯所消耗的時(shí)間, 使用包含200個(gè)晶粒進(jìn)行拉伸拉伸測(cè)試,驗(yàn)證程序的可靠性 運(yùn)行過(guò)程中,會(huì)生成包含輸出變量含義的三個(gè)文件 整體運(yùn)行結(jié)束需要的時(shí)間。
展開
在未安裝Fortran編譯器的機(jī)器上運(yùn)行Marc程序
<p>首先你要擁有一臺(tái)配置和關(guān)聯(lián)好Fortran編譯器的電腦。</p><div contenteditable="false" width="100%"> <hr> </div><p><br></p><p>界面操作方式如下:</p><p>如下圖所示,選中要執(zhí)行的子程序文件,并將紅框中的選項(xiàng)改為圖中"compile and save",點(diǎn)擊運(yùn)行。在求解文件夾下會(huì)生成一個(gè)叫"gearpair.exe"的文件。</p><p><br></p><p><br></p><figure style="text-align: center;" class="ql-align-center"> <figure class="figure-image" contenteditable="false" data-img="https://img.jishulink.com/202504/attachment/f3720ff675174058aef6970f4de9d240.png" style="display: inline-block;"> <img src="https://img.jishulink.com/202504/attachment/f3720ff675174058aef6970f4de9d240.png" data-mobile-src="https://img.jishulink.com/202504/attachment/f3720ff675174058aef6970f4de9d240.png?image_process=/format,webp" data-pc-src="https://img.jishulink.com/202504/attachment/f3720ff675174058aef6970f4de9d240.png?
展開
直播預(yù)告 | 從編譯到實(shí)戰(zhàn):Adams用戶程序使用基礎(chǔ)
精彩直播預(yù)告 在復(fù)雜機(jī)械系統(tǒng)動(dòng)力學(xué)仿真領(lǐng)域,Adams用戶子程序已被廣泛用于模擬各類非標(biāo)準(zhǔn)現(xiàn)象。作為突破軟件原生功能邊界的關(guān)鍵開發(fā)接口,用戶可通過(guò)編寫具體代碼實(shí)現(xiàn)功能擴(kuò)展,實(shí)現(xiàn)特定場(chǎng)景的定制化建模。Adams軟件提供了豐富多樣的子程序類型,用戶編寫子程序用于代碼的具體實(shí)現(xiàn),實(shí)用子程序一般在用戶編寫子程序內(nèi)配合使用,它在系統(tǒng)狀態(tài)查詢、數(shù)學(xué)和信息傳遞、接口交互以及文件輸入、輸出等方面發(fā)揮著重要作用,極大增強(qiáng)了仿真系統(tǒng)的靈活性和適用性。 用戶選擇使用 Adams 用戶子程序,主要基于以下五個(gè)方面: 1、擴(kuò)展Adams原生功能; 2、實(shí)現(xiàn)某個(gè)復(fù)雜邏輯; 3、引入元件或控制系統(tǒng); 4、進(jìn)行數(shù)據(jù)交換; 5、隱藏源代碼。 然而,作為高級(jí)定制化開發(fā)工具,Adams 用戶子程序的應(yīng)用也面臨諸多挑戰(zhàn)。當(dāng)前用戶普遍存在三大痛點(diǎn):一是對(duì)子程序的基礎(chǔ)調(diào)用機(jī)制缺乏系統(tǒng)性認(rèn)知;二是難以掌握用戶子程序的編寫技巧;三是在子程序編譯與鏈接環(huán)節(jié)存在操作障礙。 本次直播我們請(qǐng)到了Adams技術(shù)工程師狄亞鵬,通過(guò)介紹Adams用戶子程序的基本知識(shí),使用方法,子程序編寫的最佳實(shí)踐以及如何編譯和鏈接用戶子程序,幫助用戶建立對(duì)Adams用戶子程序的基本認(rèn)識(shí),邁出使用和開發(fā)用戶子程序的第一步。精彩不容錯(cuò)過(guò),趕快預(yù)約報(bào)名! 4月18日 14:00 ▲ 掃碼參與報(bào)名 立即預(yù)定 直播內(nèi)容聚焦 ? Adams子程序的使用方法介紹 ? Adams子程序關(guān)鍵參數(shù)介紹 ? Adams子程序編寫的最佳實(shí)踐 狄亞鵬 海克斯康工業(yè)軟件技術(shù)工程師 具有多年Adams軟件使用經(jīng)驗(yàn),擅長(zhǎng)Adams二次開發(fā)以及工程機(jī)械產(chǎn)品的動(dòng)力學(xué)仿真分析。
展開
abaqus子程序編譯圖1
一個(gè)abaqus用戶材料程序(UMAT)問(wèn)題解決說(shuō)明 附Abaqus用戶程序專題下載
在開展abaqus用戶子程序的項(xiàng)目時(shí),容易出現(xiàn)很多bug問(wèn)題,下面是一個(gè)比較典型的容易遇到的報(bào)錯(cuò)。 The job input file "Job-1.inp" has been submitted for analysis. Job Job-1: Analysis Input File Processor aborted due to errors. Error in job Job-1: Analysis Input File Processor exited with an error. 檢查工作路徑下的log文件(Job-1.log),提示無(wú)法識(shí)別“ifort”,這就意味著這個(gè)命令在系統(tǒng)路徑中無(wú)法被識(shí)別。實(shí)際上,“ifort”適用于編譯Fortran文件的,如果無(wú)法使用則無(wú)法完成編譯。 log文件內(nèi)容 為了解決這個(gè)問(wèn)題,在系統(tǒng)文件中找到“ifort.exe”,并將其添加到環(huán)境變量path中,然后重啟軟件即可解決。 添加路徑 下載地址:Abaqus用戶子程序專題
展開
IVF 版本和IVS編譯器對(duì)應(yīng)關(guān)系(用abaqus和lsdyna做用戶自定函數(shù)或者函數(shù)的可以看看)
https://en.wikipedia.org/wiki/Intel_Fortran_Compiler inel fortran Compiler 不同版本對(duì)應(yīng)的編譯器 Intel Parallel Studio XE 2015 Update 4 or later (compiler 15.0.4) VS2010, VS2012, VS2013, VS2015 (includes VS2010 Shell) Intel Parallel Studio XE 2015 Initial release through update 3 (compiler 15.0) VS2010, VS2012, VS2013 (includes VS2010 Shell) Composer XE 2013 SP1 Update 1 or later (compiler 14.0.1) - VS2008, VS2010, VS2012, VS2013 (includes VS2010 Shell) Composer XE 2013 SP1 initial release (compiler 14.0.0) - VS2008, VS2010, VS2012 (includes VS2010 Shell) Composer XE 2013 (compiler 13.0 and 13.1) - VS2008, VS2010, VS2012 (includes VS2010 Shell) Composer XE 2011 (compiler 12.0 and 12.1) - VS2005, VS2008, VS2010 (includes VS2008 Shell (12.0) or VS2010 Shell (12.1))
展開
Abaqus程序混凝土和鋼筋材料程序
用戶子程序(Vumat及Umat)咨詢,率本構(gòu)
Abaqus內(nèi)置LaRC05失效準(zhǔn)則程序(附cohesive單元umat程序開發(fā)教程)
Abaqus從2017版本開始,內(nèi)置了UVARM和DMGINI兩種子程序供用戶調(diào)用。UVARM子程序需要以“ABQ_LARC05_DMGCRT”作為材料名的前綴,可以用來(lái)評(píng)估是否滿足LaRC05強(qiáng)度指標(biāo);DMGINI子程序需要以“ABQ_LARC05_DMGINI”作為材料名前綴,可以結(jié)合XFEM來(lái)分析裂紋萌生和擴(kuò)展。 在abaqus中可以通過(guò)修改關(guān)鍵字來(lái)進(jìn)行模型設(shè)置 UVARM設(shè)置 DMGINI設(shè)置 輸出變量的含義 計(jì)算結(jié)果 此外,如果有小伙伴希望學(xué)習(xí)cohesive單元的umat子程序開發(fā)相關(guān)技術(shù),可以關(guān)注下圖的教程: 點(diǎn)擊鏈接進(jìn)入了解詳情:Abaqus Cohesive單元介紹及其本構(gòu)的Umat子程序開發(fā)教程 最后,有ABAQUS子程序開發(fā)相關(guān)需求歡迎通過(guò)微信公眾號(hào)聯(lián)系我們。 微信公眾號(hào):320科技工作室。
展開
ABAQUS程序UMAT里彈塑本構(gòu)的實(shí)現(xiàn)
它的一般結(jié)構(gòu)形式是: SUBROUTINE S(x1,x2,……,xn) INCLUDE‘ABA_PARAM.INC’(用于ABAQUS/Standard用戶子程序中) OR INCLUDE‘VABA_PARAM.INC’)(用于ABAQUS/Explicit用戶子程序中) …… RETURN END x1,x2,……,xn是ABAQUS提供的用戶子程序的接口參數(shù),有些參數(shù)是ABAQUS傳到用戶子程序中的,例如SUBROUTINE DLOAD中的KSTEP、KINC、COORDS,有些是需要用戶自己定義的,例如F,文件aba_param.inc和vaba_param.inc隨著ABAQUS軟件的安裝而包含在操作系統(tǒng)中,它們含有重要的參數(shù),幫助ABAQUS主求解程序對(duì)用戶子程序進(jìn)行編譯和鏈接。當(dāng)控制遇到RETURN語(yǔ)句時(shí)便返回到引用程序單元中去,END語(yǔ)句是用戶子程序結(jié)束的標(biāo)志。 在一個(gè)算例中,用戶可以用到多個(gè)用戶子程序,但必須把它們放在一個(gè)以.for為擴(kuò)展名的文件中。運(yùn)行帶有用戶子程序的算例同時(shí)有兩種方法:一是在CAE中運(yùn)行,在EDIT JOB菜單中的GENERAL菜單的USER SUBROUTINE FILE對(duì)話框中選擇用戶子程序所在的文件即可;另外是在ABAQUS.COMMAND中運(yùn)行,語(yǔ)法如下: abaqus job=job-name user={source-file|object-file} 編制用戶子程序時(shí)應(yīng)注意 (1)用戶子程序相互之間不能調(diào)用,但可以調(diào)用用戶自己編寫的Fortran子程序ABAQUS應(yīng)用程序ABAQUS應(yīng)用程序必須由用戶子程序調(diào)用。
展開
利用abaqus進(jìn)行激光增材制造仿真(單元生死+DFLUX程序+python程序
利用abaqus實(shí)現(xiàn)了增材打印的有限元仿真: (1)實(shí)現(xiàn)了單元生死的控制; (2)編寫了基于高斯熱源的DFLUX子程序,實(shí)現(xiàn)了多掃描通道的仿真; (3)利用python語(yǔ)言實(shí)現(xiàn)了分析步和接觸的定義。
Abaqus中Fortran程序的調(diào)試方法 附ABAQUS2020關(guān)聯(lián)Fortran下載
近兩年,收到許多同學(xué)關(guān)于Abaqus軟件使用過(guò)程中Fortran子程序調(diào)試的問(wèn)題,在的錯(cuò)誤面前許多初學(xué)者無(wú)從下手,不知如何去查找問(wèn)題所在。本文將對(duì)Abaqus中子程序的調(diào)試方法以及如何對(duì)錯(cuò)誤進(jìn)行預(yù)警做一個(gè)簡(jiǎn)單的介紹。 通過(guò)總結(jié)各類錯(cuò)誤問(wèn)題,大致可以把子程序編寫過(guò)程中的常見(jiàn)錯(cuò)誤歸為三類:模型錯(cuò)誤、語(yǔ)法錯(cuò)誤和邏輯錯(cuò)誤。 (一)模型錯(cuò)誤: 有限元模型中自身材料、截面屬性、網(wǎng)格類型、網(wǎng)格劃分方式、接觸設(shè)置、邊界/載荷設(shè)置、輸出設(shè)置、軟件子程序配置等引起的錯(cuò)誤,非子程序本身的錯(cuò)誤。此類錯(cuò)誤一般會(huì)在任務(wù)監(jiān)控界面下的Error或Warning欄中有具體提示。 模型錯(cuò)誤屬于有限元模型常規(guī)建模錯(cuò)誤,可以先使用非子程序模型予以測(cè)試,排除建模錯(cuò)誤之后,再改為子程序計(jì)算模型。該類錯(cuò)誤屬于最容易解決的一類。 (二)語(yǔ)法錯(cuò)誤: 在使用FORTRAN編寫子程序時(shí),使用了非法的語(yǔ)句或者非法的格式,而引起的錯(cuò)誤。該類錯(cuò)誤會(huì)直接在任務(wù)監(jiān)控界面提示Error:Problem during compilation編譯出錯(cuò)。如下圖所示。 具體的語(yǔ)法錯(cuò)誤內(nèi)容將會(huì)顯示在與任務(wù)名同名的XXX.log文件中,該文件位于Abaqus當(dāng)前的工作目錄,語(yǔ)法錯(cuò)誤點(diǎn)及所在行數(shù)都有明確的提示。 例如,將以下代碼中第29行注釋掉,第28行的語(yǔ)句被打斷,變得不完整,將會(huì)有哪些提示信息呢?提示信息又將在哪里顯示呢? 使用文本編輯軟件(notepad++或UE等)將log文件打開,可以考單提示信息如下,具體的錯(cuò)誤類型和錯(cuò)誤位置都有明確的提示: 語(yǔ)法錯(cuò)誤是許多子程序初學(xué)者經(jīng)常會(huì)犯的錯(cuò)誤,按照上述方式就可以快速定位錯(cuò)誤位置了,至于基本的Fortran語(yǔ)言語(yǔ)法,可以參照響應(yīng)的語(yǔ)法書。
展開
abaqus子程序編譯圖2
ABAQUS HETVAL程序
有沒(méi)有大神能指導(dǎo)HETVAI+USDFLD子程序的問(wèn)題
ABAQUS程序調(diào)試 ¥1
ABAQUS簡(jiǎn)單的子程序調(diào)試用法如下: 在需要輸出的變量后加上 write(*,*),M 程序語(yǔ)句, 其中,M為輸出變量名稱 輸出到工作目錄下的.log文件夾下。通過(guò)在一個(gè)循環(huán)輸出同時(shí)輸出幾個(gè)關(guān)鍵變量的值即可判斷程序是否滿足要求。 在M_max下直接 應(yīng)用write(*,*),M 程序語(yǔ)句 若不采用雙精度,則在log文件下輸出5.0000000000000 若采用如下定義的雙精度 "double precision "定義,則會(huì)輸出5.90000009536743
Abaqus程序:基礎(chǔ)知識(shí)概述1
(2)命名約定 如果用戶子程序調(diào)用其他子程序(非用戶子程序)或使用 COMMON 塊傳遞信息,則此類子程序或 COMMON 塊應(yīng)以字母 K 開頭,因?yàn)樵撟帜冈?Abaqus 中絕不會(huì)用于任何子程序或 COMMON 塊的名稱開頭。 用 C 或 C++ 編寫的用戶子程序將從 Fortran 中調(diào)用;因此,它們必須符合 Fortran 調(diào)用約定:C 或 C++ 子程序的名稱必須包含在 FOR_NAME 宏中,并且參數(shù)必須通過(guò)引用傳遞和接收。;例如, extern “C“ void FOR_NAME(film,FILM) (double & arg1, ...) { ˙˙˙ } (3)要定義或者更新的變量 用戶子程序必須執(zhí)行它們的既有的功能,而不覆蓋Abaqus 的其他部分。用戶應(yīng)當(dāng)僅僅重新定義如“定義得到的變量”節(jié)中確定的那些變量。重新定義“為信息傳遞進(jìn)的變量”將具有不可預(yù)測(cè)的影響。 (4)編譯和鏈接問(wèn)題 如果在編譯或鏈接子程序期間遇到問(wèn)題,請(qǐng)確保 Abaqus 環(huán)境文件(該文件的默認(rèn)位置是 Abaqus 安裝的 site 目錄)包含系統(tǒng)自定義參數(shù)中指定的正確編譯和鏈接命令。這些命令應(yīng)由 Abaqus 站點(diǎn)管理員在安裝過(guò)程中設(shè)置。參數(shù)的數(shù)量和類型必須與文檔中指定的相對(duì)應(yīng)。參數(shù)類型或數(shù)量的不匹配可能會(huì)導(dǎo)致平臺(tái)相關(guān)的鏈接或運(yùn)行時(shí)錯(cuò)誤。 (5)內(nèi)存分配注意事項(xiàng) 我們的用戶子程序將與 Abaqus 共享內(nèi)存資源。當(dāng)需要使用大型數(shù)組或其他大型數(shù)據(jù)結(jié)構(gòu)時(shí),應(yīng)該動(dòng)態(tài)分配它們的內(nèi)存,以便從堆而不是堆棧中分配內(nèi)存。未能動(dòng)態(tài)分配大型數(shù)組可能會(huì)導(dǎo)致堆棧溢出錯(cuò)誤并退出 Abaqus 分析。有關(guān)使用本機(jī) Fortran 可分配數(shù)組進(jìn)行動(dòng)態(tài)分配的示例,未來(lái)我研究明白了再講,實(shí)際上大多數(shù)情況是不用考慮的。
展開
ABAQUS實(shí)用程序SPRINC提取主應(yīng)力
實(shí)用子程序SPRINC 在ABAQUS中使用UMAT子程序時(shí)有時(shí)會(huì)使用到最大主應(yīng)力進(jìn)行計(jì)算。通過(guò)查閱幫助文檔,ABAQUS實(shí)用子程序SPRINC可以在UMAT中計(jì)算最大主應(yīng)力和最大主應(yīng)變,SPRIND可以計(jì)算最大主應(yīng)力和最大主應(yīng)變的方向。 下面是ABAQUS幫助文檔關(guān)于實(shí)用子程序SPRINC的介紹: SPRINC (calculate principal values) Interface CALL SPRINC(S,PS,LSTR,NDI,NSHR) Variables to be provided to the utility routine S Stress or strain tensor. LSTR An identifier. LSTR=1 indicates that S contains stresses; LSTR=2 indicates that S contains strains. NDI Number of direct components. NSHR Number of shear components. Variables returned from the utility routine PS(I), I=1,2,3 The three principal values.
展開