
發(fā)布
注冊(cè)
/
登錄abaqus腳本轉(zhuǎn)化的案例
在ABAQUS中使用Python腳本將有限元離散單元轉(zhuǎn)化成SPH單元方法介紹
以將CAE中的C3D8R單元轉(zhuǎn)換為PC3D為例:
使用ABAQUS建模離散為C3D8R單元,然后生成input文件。之后用Python腳本將進(jìn)行處理轉(zhuǎn)換即可(腳本見附件)。
這里需要注意的是Python腳本轉(zhuǎn)換后的input文件只是將有限元離散單元轉(zhuǎn)換為sph單元的文件,還需要自己去修改后才能用。
SPH.zip
腳本運(yùn)行方法:
abaqus python solidtosph.py -inp <inputFileName> -part
Abaqus巖土動(dòng)力分析-邊界條件轉(zhuǎn)化
一般在進(jìn)行巖土動(dòng)力分析時(shí)第一步是靜力分析,第二步是動(dòng)力分析;但是靜力分析與動(dòng)力分析的邊界條件不一樣,該如何轉(zhuǎn)換呢?是直接強(qiáng)制轉(zhuǎn)換嗎?
ABAQUS-真實(shí)應(yīng)力和名義應(yīng)力轉(zhuǎn)化
ABAQUS-真實(shí)應(yīng)力和名義應(yīng)力轉(zhuǎn)化.doc
abaqus與comso的網(wǎng)格相互轉(zhuǎn)化 ¥15
利用hyoermesh實(shí)現(xiàn)abaqus與comso的網(wǎng)格相互轉(zhuǎn)化

通過Abaqus python腳本批量獲取節(jié)點(diǎn)的應(yīng)力 ¥25
背景
有限單元法計(jì)算單元積分點(diǎn)的應(yīng)力應(yīng)變值,而對(duì)于節(jié)點(diǎn)的應(yīng)力應(yīng)變值是通過外插得到的,Abaqus中云圖顯示的就是經(jīng)過插值和平均后的節(jié)點(diǎn)的值。通過工具欄的Query-Probe values可以查看單元或節(jié)點(diǎn)的應(yīng)力應(yīng)變等結(jié)果。
對(duì)于自動(dòng)化的后處理場(chǎng)景,通常需要自動(dòng)批量地獲取單元/節(jié)點(diǎn)的結(jié)果,通常都需要通過python腳本來實(shí)現(xiàn)。通過類似odb.steps['Step-1'].frames[-1].fieldOutputs['S']的場(chǎng)輸出可以比較方便地直接獲得單元的積分點(diǎn)應(yīng)力,但沒有直接的API可以獲取節(jié)點(diǎn)的應(yīng)力應(yīng)變等結(jié)果。
如果需要獲取部件表面節(jié)點(diǎn)應(yīng)力,可以通過創(chuàng)建路徑+XYData的方式實(shí)現(xiàn),但想要獲得最大節(jié)點(diǎn)應(yīng)力,則該方式不便實(shí)現(xiàn)。
2. 通過python腳本獲取節(jié)點(diǎn)應(yīng)力結(jié)果
本文通過fieldOutput.getSub()函數(shù)獲取所有單元的節(jié)點(diǎn)結(jié)果,并對(duì)每一節(jié)點(diǎn)關(guān)聯(lián)的多個(gè)單元的節(jié)點(diǎn)值進(jìn)行平均后得到節(jié)點(diǎn)的結(jié)果。以下以某個(gè)簡(jiǎn)單的odb結(jié)果進(jìn)行驗(yàn)證。
(1)批量獲得節(jié)點(diǎn)的mises應(yīng)力值
(2)批量獲得節(jié)點(diǎn)的X方向正應(yīng)力值
(3)批量獲得節(jié)點(diǎn)的最大主應(yīng)力值
(4)獲取節(jié)點(diǎn)的最大mises應(yīng)力及編號(hào)
3. 獲取節(jié)點(diǎn)應(yīng)變等結(jié)果
只需將腳本程序中的應(yīng)力場(chǎng)改為應(yīng)變成E等即可,此處不再演示。
以下為本文的python腳本代碼(代碼中作了必要的簡(jiǎn)單注釋)。
展開 Abaqus -Python 腳本開發(fā)有多難?
通過稍微修改腳本即可輕松完成此操作。我們首先看一下之前創(chuàng)建的版本,在 Abaqus PDE 中打開它(文件 --> Abaqus PDE)。在 Abaqus PDE 中,選擇文件 --> 打開并打開 abaqusMacros.py。它位于主目錄或工作目錄中,具體取決于您選擇保存宏的位置。在代碼中,我們可以識(shí)別模型名稱、材料名稱和材料屬性。這些都可以被賦予名稱和值。通過為這些參數(shù)填寫不同的值,使得宏的適用性更加廣泛。保存修改后的版本并重新加載并通過宏管理器運(yùn)行它以進(jìn)行嘗試。
圖 4:宏的原始版本,以及最后一部分的替代版本,其中模型名稱、材料名稱、楊氏模量和泊松比可以輕松修改。
在對(duì)話框中請(qǐng)求輸入
為了使事情變得更加用戶友好,最好彈出一個(gè)對(duì)話框來要求這些輸入。這可以與 getInputs 函數(shù)一起使用。圖 5 給出了一個(gè)示例。
圖5:使用getInputs獲取請(qǐng)求輸入的對(duì)話框
生成的對(duì)話框如圖 6 所示。
圖 6:使用 getInputs 創(chuàng)建的對(duì)話框。
第 3 級(jí):循環(huán)參數(shù)
如果多次運(yùn)行略有不同的模型版本,通常可以獲得腳本編寫的最大好處。這意味著不像我們之前那樣修改一次參數(shù),而是自動(dòng)填充不同的值并每次重新運(yùn)行模型。該參數(shù)可以與任何事物相關(guān)。它可以是材料屬性、殼體厚度、摩擦系數(shù)……:Abaqus/CAE 中用值描述的任何內(nèi)容。該腳本通常只有幾行代碼。我們將展示一個(gè)重新運(yùn)行模型的示例,所有剛度從 150,000 MPa 到 250,000 MPa,增量為 25,000。
創(chuàng)建腳本基礎(chǔ)的最簡(jiǎn)單方法是將 CAE 中完成的操作記錄在宏或 .rpy 文件中。
展開 ABAQUS獨(dú)立網(wǎng)格模型轉(zhuǎn)化為實(shí)體模型插件 ¥9.9
content_id=224701271&content_type=Article&match_order=1&q=Abaqus&zhida_source=entity" rel="noopener noreferrer" target="_blank" style="color: rgb(9, 64, 142);">Abaqus</a> 用戶從網(wǎng)格文件生成幾何圖形。</li><li>該插件可以將.<a href="https://zhida.zhihu.com/search?content_id=224701271&content_type=Article&match_order=1&q=STL%E6%96%87%E4%BB%B6&zhida_source=entity" rel="noopener noreferrer" target="_blank" style="color: rgb(9, 64, 142);">STL文件</a>和網(wǎng)格轉(zhuǎn)換回幾何形狀,以便重新網(wǎng)格化結(jié)構(gòu),以及導(dǎo)入各種CAD軟件</li><li>適用于abaqus2024以后的python3</li></ul><p><br></p><p><br></p>
展開 ABAQUS標(biāo)準(zhǔn)插件與自定義主窗口插件的轉(zhuǎn)化方法
自定義主窗口插件同樣需要一個(gè)文件夾進(jìn)行存放, 以便于管理, 以下是我的文件層級(jí)關(guān)系:
其中的abaqus_plugins文件夾就是用來管理所有插件的文件夾.
03
—
轉(zhuǎn)化方法
兩種插件之間的不同體現(xiàn)在Form文件(即_plugin文件)中, 只需要對(duì)該文件進(jìn)行修改即可以完成兩種插件的轉(zhuǎn)換.
以使用python進(jìn)行ABAQUS批處理-Gui代碼為例:
standard to custom:
修改Form文件(即_plugin文件):
將目標(biāo)插件從根目錄(或當(dāng)前工作目錄)copy至自定義主窗口項(xiàng)目文件夾下的abaqus_plugins文件夾下;
并為之新建一個(gè)__init__.py, 使之成為一個(gè)python包, 只有將文件夾轉(zhuǎn)化為python包文件, 才可以被自定義主窗口程序調(diào)用;
修改AFXGuiCommand的objectName參數(shù), 使之可以從根目錄找到kernel文件,如: objectName='python_BatchAbaqus'改為objectName='abaqus_plugins.batch_analysis.python_BatchAbaqus';
注釋自動(dòng)生成的注冊(cè)代碼, 即對(duì)下圖代碼進(jìn)行注釋.
展開 一個(gè)Abaqus建模腳本
工作需要經(jīng)常在三維軟件中建立葉片模型導(dǎo)入abaqus計(jì)算,不勝其煩,于是嘗試用Python編寫一個(gè)腳本。
#!
python腳本編輯Abaqus關(guān)鍵字
使用Abaqus進(jìn)行仿真分析時(shí),經(jīng)常會(huì)遇到CAE界面上無法實(shí)現(xiàn)的功能需求,此時(shí)通常就需要通過修改關(guān)鍵字的方式實(shí)現(xiàn)。
方式一:通過修改inp文件。
方式二:直接通過CAE界面的“編輯關(guān)鍵字”實(shí)現(xiàn)(本質(zhì)也是修改inp)。
對(duì)于自動(dòng)化的仿真分析任務(wù),可以使用python語言進(jìn)行自動(dòng)地修改關(guān)鍵字。若采用方式一實(shí)現(xiàn),需要先生成inp文件,再讀取文件進(jìn)行修改,再提交inp文件創(chuàng)建任務(wù),提交計(jì)算。整個(gè)過程相對(duì)較繁瑣。若直接通過程序編輯關(guān)鍵字,則不需要調(diào)整整個(gè)仿真任務(wù)的邏輯。
以在“Model-1”的“Material-1”后添加非線性粘彈性材料模型為例,如下圖:
通過對(duì)程序進(jìn)行簡(jiǎn)單修改,可以實(shí)現(xiàn)材料、載荷、約束等關(guān)鍵字的增加和修改等。
附錄:
展開 找人寫個(gè)abaqus的python腳本
這個(gè)腳本需要支持以下功能: 1. 用戶自定義半對(duì)稱或1/4對(duì)稱; 2. 用戶自定義模型的大小; 3. 用戶自定義模型的網(wǎng)格大??; 4. 用戶自定義模型的粘彈性參數(shù); 5. 用戶自定義內(nèi)含物的位置、大小及粘彈性參數(shù); 6. 讀取外部給定的載荷數(shù)據(jù)文件在相應(yīng)的節(jié)點(diǎn)生成載荷; 7. 用戶自定義仿真時(shí)長(zhǎng); 8. 用戶自定義場(chǎng)輸出的區(qū)域和輸出時(shí)間頻率; 9. 自動(dòng)讀取obd文件提取數(shù)據(jù)。 預(yù)算1000

Abaqus復(fù)合材料建模腳本
復(fù)合材料自動(dòng)建模腳本,直接上圖,需要的站內(nèi)聯(lián)系
Abaqus|基于Python腳本的參數(shù)優(yōu)化 ¥50
文章來源:微信公眾號(hào):仿真社
本文你將獲得如下干貨:
1.獲得基于Python腳本的有限元模型修正法(FEMU)進(jìn)行參數(shù)優(yōu)化的完整源代碼(通用代碼,可直接反演各種材料參數(shù),尺寸參數(shù),相應(yīng)的數(shù)據(jù)接口預(yù)留好了);
2.使用Python腳本反演了懸臂梁模型的載荷位置和集中力大??;
3.快速掌握材料參數(shù)反演流程;
4.獲得社長(zhǎng)對(duì)該反演代碼的親自答疑。
1.導(dǎo)讀
工程上要確定材料的參數(shù)通常是通過力學(xué)實(shí)驗(yàn)獲得。然而當(dāng)實(shí)驗(yàn)成本較高,實(shí)驗(yàn)數(shù)據(jù)稀少的時(shí)候,反演方法來確定材料參數(shù)就是一個(gè)非常不錯(cuò)的選擇。有限元模型修正法是最常用的反演方法,主要包含兩部分有限元計(jì)算和優(yōu)化確定參數(shù)。有限元計(jì)算一般通過有限元軟件來完成,而優(yōu)化確定材料常用MATLAB或者Python程序。因此不同軟件的協(xié)同工作是必須的一個(gè)過程。本文以懸臂梁的集中力和集中力位置作為優(yōu)化變量編寫了Python腳本的代碼,然后通過最小二乘法獲得了反演參數(shù),這是一個(gè)通用程序,可直接嫁接到其他模型上。
2.研究?jī)?nèi)容
通過A點(diǎn)的位移數(shù)據(jù),反演確定集中力F以及集中力的位置L。
圖1 反演模型
3.代碼詳解
反演代碼主要包含四個(gè)部分computModel、extractDisplacement、removeFile和Objective。
展開 詳解Abaqus插件腳本中的關(guān)鍵字(AFXKeyword)(下)
Abaqus GUI二次開發(fā)三部曲:
Abaqus 主窗口GUI的二次開發(fā)
Abaqus插件程序GUI的二次開發(fā) 初、中級(jí)篇
Abaqus插件程序GUI的二次開發(fā) 高級(jí)篇
ABAQUS批量提交任務(wù)-Python腳本
不打也可以,只不過ABAQUS界面中提示信息很多,打印了之后很容易就可以看到。
第四步:創(chuàng)建一個(gè)裝多個(gè)jobs名的列表,并從模型的jobs倉庫中使用keys()函數(shù)獲取。
第五步:核心步驟,用for循環(huán),遍歷之前創(chuàng)建的裝有jobs名的列表,一個(gè)一個(gè)提交任務(wù)。并打印當(dāng)前分析所使用的時(shí)長(zhǎng)。這個(gè)for循環(huán)中,包含了一個(gè)if的條件判斷,是用來判斷當(dāng)前任務(wù)的狀態(tài),如果是None,那么我們就提交他。如果是complete那么就不需要提交。
【效果圖展示1】 下圖為使用上面腳本后 ,ABAQUS/CAE中信息欄的信息,可以看見,Job2-4的信息都打印出來,并包含分析所使用時(shí)間。Job1由于之前已經(jīng)計(jì)算過了,運(yùn)行腳本前其狀態(tài)已經(jīng)是Completed,所以Job1沒有被提交,當(dāng)然信息也不會(huì)被打印出來。
02 不打開ABAQUS/CAE時(shí)
接下來掩飾一下,不打開ABAQUS/CAE時(shí),如何用Python腳本批量提交ABAQUS任務(wù)。這里跟之前是有點(diǎn)區(qū)別的,首先我們沒有打開CAE界面,所以我們沒有辦法直接通過訪問mdb.jobs獲取任務(wù)名的列表。
原理解讀:
第一步:腳本頭(省略,同上)
第二步:導(dǎo)入相關(guān)庫(省略,同上),不同的是導(dǎo)入了os和sys庫,用于所有分析結(jié)束后60秒后自動(dòng)關(guān)機(jī)。
第三步:創(chuàng)建Jobs列表儲(chǔ)存所有需要被分析的job的名稱。這個(gè)就有點(diǎn)類似bat的方式了,我們需要首先將所有需要提交的任務(wù)的inp文件,和腳本或bat文件放在一個(gè)文件夾下。并在腳本和bat文件中,把需要分析的job名寫下來。
第四步:同上,for循環(huán)遍歷列表,并一個(gè)一個(gè)提交任務(wù)。不同的是,上一個(gè)在你創(chuàng)建Job的時(shí)候已經(jīng)指定了計(jì)算使用的cpu數(shù),所以python腳本中無需對(duì)這個(gè)特殊設(shè)定。
展開 abaqus腳本轉(zhuǎn)化的相關(guān)專題、標(biāo)簽、搜索
abaqus腳本轉(zhuǎn)化abaqus 曲線轉(zhuǎn)化abaqus版本轉(zhuǎn)化abaqus轉(zhuǎn)化中文abaqus單位轉(zhuǎn)化abaqus草圖轉(zhuǎn)化 Abaqus 將abaqus單元轉(zhuǎn)化成顆粒的腳本abaqus怎么把cae模型轉(zhuǎn)化為python腳本基于python腳本提取基于python腳本提取黃永剛晶體塑性miller指數(shù)并轉(zhuǎn)化為歐拉角繪制極圖基于python腳本提取黃永剛晶體塑性miller指數(shù)并轉(zhuǎn)化為歐拉角繪制極圖abaqus腳本average腳本abaqus轉(zhuǎn)化