
發布
注冊
/
登錄程序開發的案例
Abaqus內置LaRC05失效準則子程序(附cohesive單元umat子程序開發教程)
Abaqus從2017版本開始,內置了UVARM和DMGINI兩種子程序供用戶調用。UVARM子程序需要以“ABQ_LARC05_DMGCRT”作為材料名的前綴,可以用來評估是否滿足LaRC05強度指標;DMGINI子程序需要以“ABQ_LARC05_DMGINI”作為材料名前綴,可以結合XFEM來分析裂紋萌生和擴展。
在abaqus中可以通過修改關鍵字來進行模型設置
UVARM設置
DMGINI設置
輸出變量的含義
計算結果
此外,如果有小伙伴希望學習cohesive單元的umat子程序開發相關技術,可以關注下圖的教程:
點擊鏈接進入了解詳情:Abaqus Cohesive單元介紹及其本構的Umat子程序開發教程
最后,有ABAQUS子程序開發相關需求歡迎通過微信公眾號聯系我們。
微信公眾號:320科技工作室。
展開 Abaqus子程序開發過程中的那些坑(給初學者的建議)
(3)理論知識的困難:對于復雜子程序,這一點是避免不了的,也是必須要過的一關,以復合材料漸進損傷材料子程序為例,首先要知道應應變關系、損傷起始判據,損傷起始以后的損傷演化、剛度的折減、單元刪除控制策略,UMAT子程序中還要推導雅可比矩陣以及粘性正則化對損傷變量以及彈性矩陣的影響等等。
(4)程序調試的困難:Abaqus子程序調試不像VS環境下調試那么容易,初學者會犯各種各樣的錯誤,模型錯誤、語法錯誤、邏輯錯誤,在程序調試方面,我們之前已經寫過兩篇詳細的文章了,可以點擊下方鏈接直接跳轉去閱讀一下。
Abaqus中Fortran子程序的調試方法(一)
VS環境下Abaqus Fortran子程序的高級調試(二)
總而言之:
(1)初學者學習子程序開發要戰略上藐視它,戰術上重視它
(2)多看幫助文檔,會看幫助文檔!
另外,有關復合材料子程序開發方面的視頻課程可點擊以下鏈接:
Abaqus UVARM子程序詳解——自定義輸出變量
Abaqus 復合材料VUMAT子程序詳解(更新完畢)
展開 Abaqus GUI程序開發過程中的一般調試方法
文章轉自《復合材料力學》微信公眾號
在采用Python語言對Abaqus進行GUI應用程序或者插件程序開發時,最令人懊惱的就是每每修改了圖形界面代碼或者內核程序,都需要反復重新啟動Abaqus/CAE才能檢驗所修改內容是否更新,所調試的bug是否已經解決。整個調試過程,很大一部分時間都浪費在重啟Abaqus/CAE的過程中。那有沒有辦法避免反復重啟Abaqus/CAE呢?
本文將介紹幾種方法,來提升Abaqus GUI程序開發效率。應用程序及插件程序調試方法類似,故本文僅以插件程序調試為例。
一般插件程序有注冊文件、圖形界面文件及內核執行文件組成,想要提升插件程序調試效率,需要首先搞清楚不同的插件程序文件缺省情況下都是在何時被加載的:
(1)注冊文件:一般以xxx_plugin.py命名,其主要作用是注冊各類控件關鍵字,檢查數據的合法性,并將插件工具注冊到Plug-ins菜單或者自定義工具條中。注冊文件默認是在Abaqus/CAE啟動時被加載,首次調用插件時,插件文件夾內會同時出現xxx_plugin.pyc文件,是最早被編譯的代碼文件。
(2)圖形界面文件:一般以xxxDB.py命名,其主要作用是定義圖形界面框架、各類控件,并關聯各控件的執行目標、執行動作等。圖形界面文件是在插件菜單被點擊時加載,如果是首次調用插件,同時在插件文件夾內會出現xxxDB.pyc文件。
(3)內核執行文件:內核執行文件是插件程序的核心,包含了一系列驅動Abaqus/CAE內核程序的指令,通過執行這些指令完成CAE建模以及數據處理等功能。內核執行文件同樣也是在插件菜單被點擊時加載,如果是首次調用插件,同時在插件文件夾內會出現xxx.pyc內核編譯文件。
默認情況下,一旦插件文件夾中存在了pyc文件,則對應的代碼不會再被重新編譯。
展開 abaqus子程序開發:fortran-c-python混合編程開發
abaqus子程序開發語言不局限fortran和c了,還能支持python!
這是一套自研的開發框架,源于客戶需要獲取分析過程的中間數據作為python機器學習程序的輸入這樣的需求。這種需求乍一聽確實非主流、非常規。
后來仔細做了一些了解,這種需求有其合理性。第一,python在數據分析、機器學習方面有豐富的資源;第二,python程序嵌入abaqus求解器一起運行,那開發就會很方便高效;第三,借助python的pdb可以隨心所欲的設置斷點,調試程序。在此之前,python一般作為獨立程序,依賴數據文件的順序傳遞,實現與abaqus的協同。直白的講,abaqus算完了,形成數據文件再導入python。
于是火力全開研究解決方案,結果可謂“大快人心”:實現了abaqus的子程序對python的支持,而且還實現了fortran、c、python三種語言的混合編程,真正讓不同的編程語言在它最擅長的領域發揮作用。
以上介紹了abaqus子程序fortran-c-python混合編程,如有這方面的需求,歡迎私信聯系開展合作。
展開 
2023年桌面端和移動端應用程序開發趨勢
配套應用是UI/UX開發中比較有趣的一個點。這類應用是作為公司主要產品的附屬產品而創建的。主要產品可以是嵌入式設備,例如汽車中的電腦,而配套的應用是用戶與汽車互動時使用的移動應用?;蛘?,它也可以是汽車配置程序,用戶可以在其中創建他們夢想中的汽車。所有這些應用的共同點是該公司特有的 UI/UX,這已經擴展到所有設備。這最終會創造品牌忠誠度和客戶黏性?!? 安全保障需要
盡管很不幸,各種類型的數據泄露正變得越來越普遍。隨著可能存儲和處理大量敏感數據的全能型應用程序的興起,您的開發框架是否值得信賴變得至關重要。無論您是在安全、航空、銀行還是其他具有這些特定考慮因素的任何行業工作,知道您的應用程序和潛在終端用戶的數據是安全的,都可以幫助您保持低壓力水平,并提高生產力。
Tapio Haantie:“435 萬美元。這是 2022 年數據泄露造成的
平均損失
*。隨著 AI 的發展,數據攻擊的手段變得越來越先進,在創建應用程序及其基礎架構時需要考慮到這一點。
另一個重要問題是開發框架的安全性。此前不乏開發者使用維護松散、甚至已經感染惡意軟件的代碼庫時致使應用程序發生安全問題的先例。開發者能夠信任他們使用的工具和庫是至關重要的。同樣重要的是這些框架在應用程序的整個生命周期都能得到支持。“
跨平臺需求
“跨平臺”是新的流行趨勢。讓您的應用程序在多個操作系統、設備、屏幕和其他平臺上運行正在成為新常態。單一平臺應用程序的日子已經一去不復返了——即使擴展應用程序不是項目初期的優先事項,知道您能夠輕松且無縫地完成擴展也應該是一個重要的考慮因素。您最不希望看到的是您的服務在某一個操作系統上有需求,但您卻無法實現它。
展開 【7月20-21日 上?!緼baqus UMAT用戶子程序二次開發技術培訓
理論和實際操作結合,一次性將abaqus UMAT用戶子程序開發課程講解透徹!
至于python的自動化和GUI部分內容的操作練習,如有此方面需求,將有老師帶領學習。
背景介紹:
Abaqus是當今最流行的通用結構有限元軟件之一,以其強大的非線性和良好的用戶體驗著稱。但在實際工程應用中,設計對象專業針對性強,通用的工具軟件往往解決不了專業問題,需要通過二次開發對商業軟件進行定制和優化,集成高精度的計算方法和專有技術,以更好的解決專業問題,甚至形成自主品牌的CAE軟件。
ABAQUS不僅提供標準的有限元分析程序,而且具有良好的開放性,可利用它提供的用戶子程序接口生成非標準的分析程序來滿足用戶的需要,在實際工程中得到廣泛應用。
Abaqus UMAT是ABAQUS提供給用戶定義自材料屬性的程序接口。通過UMAT,用戶可以定義材料的本構關系,建立Abaqus材料庫沒有的材料本構模型,滿足實際工程分析的需要。
本次培訓主要包括:
(1) Abaqus二次開發整體介紹;
(2) UMAT接口原理和使用方法;
(3) 材料本構模型和基礎理論
(4) 基于Fortran和Matlab的UMAT編寫示例和練習。
通過本次培訓,學員可以:
(1) 學員在老師指導下完成用戶子程序開發環境配置;
(2) 建立UMAT編寫相關的理論基礎;
(3) 可自行從零開始構建UMAT算例;
(4) 學員實際項目問題現場交流;
(5) 和專家及其它行業用戶深入溝通,并獲得長期的技術支持。
培訓方式:
培訓主要采用:
(1) PPT介紹;
(2) 老師操作演示;
(3) 學員上機練習。
三者結合的方式直觀的學習各個知識點。
講師介紹:
技術鄰ID:SnowWave02 團隊,3個講師同時授課。
展開 走進abaqus gui開發(4)--新建插件程序
Python語言是一種動態解釋型編程語言,其功能強大,簡單易學,支持面向對象編程((object-oriented programming),雖然由于其動態性致使程序解釋執行速度比編譯語言慢,但是隨著Python語言的不斷優化以及計算機硬件的迅猛發展,Python語言將會受到越來越多用戶的關注。Python具有開源、自由等特征。它的簡潔性和易用性使程序的開發過程變得簡單,特別適用于快速應用程序開發。以有效提高前后處理效率,節省建模及數據處理時間。
采用Python語言對 Abaqus進行二次開發具有以下優點。
(1)可以通過圖形交互界面,實現參數的統一管理。
(2)可以避免大量重復性的建模工作,避免人為建模錯誤。對于具有典型共有特征的模型可以建立標準的建模模板,實現完全參數化或者快速建模。
(3)可以通過執行內核指令實現Abaqus/CAE不具備的甚至是人工手動操作無法實現的復雜問題建模。
Abaqus 用戶圖形界面程序主要有兩種:簡單GUI插件程序和用戶自定義GUI應用程序。插件程序可以輔助完成一個或者幾個功能,自定義應用程序可集成多功能、多界面,將多個功能組件集成在統一的平臺內進行管理,適合大型應用程序開發。上述兩類圖形界面程序均可以輔助用戶提高有限元建模及數據處理效率。
上一期講到文件包里含有四個文件,注冊文件,圖形界面文件,內核執行文件,圖標文件。今天就針對核心部分的內核程序和圖形界面程序拆開講講,代碼里面的結構是什么樣,各個部分有什么作用。
1 圖形界面程序
圖形界面文件的主要作用是定義各類窗體、控件,關聯控件的執行命令及對象。通過定義文本框、單復選按鈕、表格等各類控件,用戶可以方便地將所需參數集成到統一的圖形界面下,形成友好的輸入輸出界面。其程序部分源代碼如下。
展開 有限元理論基礎及Abaqus內部實現方式研究系列36:DLOAD用戶子程序開發步驟
至此,基于Fortran的DLOAD開發流程已經完成,但結果的正確性還需要更加細致的驗證,為更方便的查找問題,建議先采用單個單元調試DLOAD,在確保單個單元正確后再將DLOAD用于實際問題。
1.2.5 調試(可選)
如果想要知道代碼的運行結果是否和預期的一致,一種笨辦法是用print打印到log文件中,高效的方法是采用斷點調試的方法進行運行中的調試。
Abaqus支持命令行調試,不過命令行反復運行也比較繁瑣,用戶也可選擇用一鍵調試Abaqus的用戶子程序的DUS插件工具。DUS(Debug User Subroutine)是集成在ABAQUS/CAE中的一個插件,能夠一鍵啟動用戶配置的用戶子程序開發平臺(如Visual Studio 2008等),并進入對用戶定義子程序的單步調試模式。
有興趣的可到下面網頁下載使用。
Abaqus用戶子程序調試插件:
https://www.yqgqt.org.cn/content/post/424513
1.3 基于MATLAB 的iSolver的DLOAD開發步驟
基于MATLAB 的Abaqus的DLOAD具體開發步驟和Abaqus類似,只不過某些步驟需要用到自研有限元求解器開發平臺iSolver。
1.3.1 定義DLOAD
如果是通過Abaqus界面定義DLOAD,則與Abaqus相應的操作一致(見2.2.1 節),
1.3.2 編寫
在MATLAB 中創建并編寫DLOAD.m的文件,放入Abaqus工作目錄下。該文件只包括一個DLOAD函數,前面參數接口和Abaqus的接口參數完全一致,功能也是計算分布載荷的幅值,相對Fortran,利用MATLAB 可以更容易的編寫計算公式,同時可以利用MATLAB 在矩陣計算中各種強大功能和算法庫。
展開 abaqus 材料子程序開發
小妹最近想學習abaqus材料子程序開發,請問一下高手,需要哪些軟件方面的支持呢,是不是安裝visual studio和fotran就可以了,我的abaqus是6.7的,另外兩個軟件需要什么版本的呢。多謝多謝
基于Abaqus的VB計算程序開發
基于Abaqus的VB計算程序開發
1 概述
Python腳本文件可以用來編寫Abaqus執行有限元分析過程,而VB則可以生成Python腳本文件,結合兩者即可實現Abaqus計算程序的開發。
本次以一個平面開孔模型為例,如圖1所示,設計一個程序能夠通過程序界面設置相關參數并執行計算。
圖1 平面開孔模型
2 程序界面
參數化的參數包括矩形長度w、矩形寬度h、圓的半徑r、材料的彈性模量E、泊松比以及壓力載荷p,并設置三個按鈕:
代碼轉換:將Python文件編譯成可以直接嵌入在VB里面;
生成腳本:利用VB生成Abaqus可以執行的腳本文件;
開始計算:啟動Abaqus,調用生成的腳本文件進行有限元分析。
同時還添加了一個PictureBox控件,用于顯示圖片,方便參數輸入。
最終得到的程序界面如圖2所示,給所有的Textbox命名,方便后臺代碼調用,并設置默認值。
圖2 程序界面
3 功能代碼
(1)代碼轉換
雙擊代碼轉換按鈕,進入代碼編輯頁面,該段代碼需要打開已經存在的input_1.txt文件,并且逐行讀取里面的內容,然后在每行字符串添加一些字符,輸出到output_1.txt文件中。
展開 abaqus巖土非線性子程序開發 ¥2000
abaqus巖土非線性子程序開發

C++ Builder開發AutoCAD應用程序的方法
C++ Builder開發AutoCAD應用程序的方法
周永軍(水利部山西水利水電勘測設計研究院 030024)
【摘要】進行AutoCAD二次開發的程序設計方法為數眾多,本文著重介紹用C++ Builder方法開發AutoCAD應用程序的一種通用方法。用這種方法開發的應用程序移植性較好,且不需要其它輔助系統支持,應用方便快捷。本文介紹的程序設計方法是目前較為流行的ActiveX組件方法,在C++ Builder中也叫做組件對象模型(Component Object Model)。
【關鍵字】COM程序設計 ActiveX接口 類型庫 C++ Builder AutoCAD
1 C++ Builder開發平臺簡介
C++ Builder是美國Borland公司在1997年推出的一個優秀的可視化編程環境。它在32位Windows環境下為我們提供了一種極具吸引力的快速應用程序開發系統(RAD);是基于最流行的面向對象的程序設計語言C++,并擁有廣泛的程序員基礎;它提供了對ActiveX無懈可擊的支持,對Windows API和DirectX也進行了全面包裝。C++ Builder的易用性遠超過Visual C++和Borland C++等開發環境,但它強大的開發功能并沒有因之而削弱,可以說C++ Builder在軟件開發的功能性和易用性之間架起了一座橋梁。
C++Builder是在Borland C++和Delphi基礎上發展起來的。它采用具世界領先水平的Borland C++的編譯器和高度可視化的圖形平臺,可開發出非常高效和可獨立執行的程序。與AutoCAD其它開發工具相比,可使程序員擺脫AutoLISP繁多括號的困擾和解釋執行的低效率,也可開發出比VBA程序更高效和保密性更強的二進制代碼。
展開 LS-DYNA用戶子程序(UMAT)開發案例
最近在International Journal of Impact Engineering(中科院一區)上看到一篇文章,題目是”Plasticity based material model for concrete subjected to dynamic loadings(https://doi.org/10.1016/j.ijimpeng.2020.103581)“,作者開發了一個適用于描述動態荷載作用下混凝土力學響應的塑性模型,并在LS-DYNA中通過用戶自定義子程序(UMAT)二次開發的方式實現了模型。論文中展示的模擬效果圖如下:
模擬鋼筋混凝土板的爆炸響應
我和這個作者要到了他開發的UMAT源代碼,在這里給大家共享一下,對于想學習LS-DYNA子程序開發的絕對是不可多得的資料(免費共享,不負責答疑哦)
(希望大家下載了關注我一下就行,有空可以看看我發的各種教學視頻和資料貼,985高校在讀博士,長期穩定更新各種內容)
UMAT.f
展開 基于ANSYS的VB計算程序開發
基于ANSYS的VB計算程序開發
1 概述
Visual Basic適用性較強,能夠與很多軟件進行對接,通過VB設計GUI界面結合相關計算軟件能夠實現某些計算的重復進行,相比修改計算源程序而言工作量減少很多,對工程設計尤其方便。某一類相同的結構,當結構尺寸不同,載荷大小不同,只需要通過設計的程序稍作參數修改就可以再次計算。
本次采用VB程序語言,結合大型通用有限元計算軟件ANSYS,開發一個簡單的計算程序,設計時盡量讓程序界面清晰。最終實現的界面如圖1所示。
圖1 程序界面
2 需求
如圖1中所示,界面中的圖表示將要進行計算的兩根垂直的梁結構,長度分別為a和b,梁的截面為矩形,尺寸為h×w,在水平梁的左端承受集中載荷f的作用,需要求解梁的剪力和彎矩,該問題屬于典型的材料力學問題,采用經典材料力學就可以求解,在這里采用有限元的方法進行計算。
開發的程序主要有5個部分:基本設置(包括項目名稱和工作目錄,也就是計算后的文件保存的位置)、材料和載荷參數的設置、幾何尺寸的設置、示意圖以及求解。
3 方法
針對設計需求,先利用VB設計程序的GUI部分。
(1)從VB控件庫里添加三個GroupBox、一個Button和一個PictureBox,如圖2所示。
圖2 基本控件
(2)設置各容器組件的名稱,并分別添加Label標簽和Textbox對話框,用于參數設置。如圖3所示,分別設置Label的名稱和Textbox的名稱。
圖3 控件屬性設置
(3)設置PictureBox的圖片。在PictureBox控件屬性選項了點擊image選項,彈出如圖4所示的界面,點擊import即可選取需要加載的圖片。完成前面步驟之后的界面便如圖1所示。
圖4 圖片加載
(4)完成程序界面設計之后,需要將界面與語言進行綁定。
展開 網站程序開發都要學習什么
最基本的: OOP,即面向對象 主要要了解面向對象的思想 編程語言的語法基礎,可以通過Java學,也可以通過C學習 其余的看你走哪條線,有Web開發<即網絡開發>和用戶軟件,還有就是手機程序開發。 JavaScript跟Java沒有任何關系,跟HTML有關,是由瀏覽器執行的前臺腳本,但是學Web開發也要看得懂JS的腳本,會寫點簡單的。 JSP(JavaServer Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標準。就是做網站、網頁的,走Web開發就要學JSP。 J2ME跟開發移動設備程序相關,比如:尋呼機、移動電話、可視電話、數字機頂盒和汽車導航系統等。 J2EE是Web開發要學的。 J2SE就是普通的軟件開發了。 五金模具以上個人解釋,以下是專業解釋: J2EE=Java2 Enterprise Edition:JAVA2企業版:WEB開發方向 J2SE=Java2 Standard Edition:JAVA2標準版:應用程序方向 J2ME=Java2 Micro Edition:JAVA2微型版-〉嵌入式方向 JSP=Java Server Pages,是J2EE的表現層 另外:J2EE、J2ME、J2SE是SUN ONE的3個技術體系,其中JSP是J2EE技術體系中的一個技術方向,同時還有SERVLET,EJB,JNDI,JMS,等等,J2EE是現在應用最廣泛的技術。 JAVA2是指JDK1.1以上的版本
展開