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

abaqus的pbs腳本的案例

通過Abaqus python腳本批量獲取節(jié)點(diǎn)的應(yīng)力 ¥25
背景 有限單元法計(jì)算單元積分點(diǎn)的應(yīng)力應(yīng)變值,而對于節(jié)點(diǎn)的應(yīng)力應(yīng)變值是通過外插得到的,Abaqus中云圖顯示的就是經(jīng)過插值和平均后的節(jié)點(diǎn)的值。通過工具欄的Query-Probe values可以查看單元或節(jié)點(diǎn)的應(yīng)力應(yīng)變等結(jié)果。 對于自動化的后處理場景,通常需要自動批量地獲取單元/節(jié)點(diǎn)的結(jié)果,通常都需要通過python腳本來實(shí)現(xiàn)。通過類似odb.steps['Step-1'].frames[-1].fieldOutputs['S']的場輸出可以比較方便地直接獲得單元的積分點(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é)果,并對每一節(jié)點(diǎn)關(guān)聯(lián)的多個單元的節(jié)點(diǎn)值進(jìn)行平均后得到節(jié)點(diǎn)的結(jié)果。以下以某個簡單的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)力及編號 3. 獲取節(jié)點(diǎn)應(yīng)變等結(jié)果 只需將腳本程序中的應(yīng)力場改為應(yīng)變成E等即可,此處不再演示。 以下為本文的python腳本代碼(代碼中作了必要的簡單注釋)。
展開
Abaqus -Python 腳本開發(fā)有多難?
通過稍微修改腳本即可輕松完成此操作。我們首先看一下之前創(chuàng)建的版本,在 Abaqus PDE 中打開它(文件 --> Abaqus PDE)。在 Abaqus PDE 中,選擇文件 --> 打開并打開 abaqusMacros.py。它位于主目錄或工作目錄中,具體取決于您選擇保存宏的位置。在代碼中,我們可以識別模型名稱、材料名稱和材料屬性。這些都可以被賦予名稱和值。通過為這些參數(shù)填寫不同的值,使得宏的適用性更加廣泛。保存修改后的版本并重新加載并通過宏管理器運(yùn)行它以進(jìn)行嘗試。 圖 4:宏的原始版本,以及最后一部分的替代版本,其中模型名稱、材料名稱、楊氏模量和泊松比可以輕松修改。 在對話框中請求輸入 為了使事情變得更加用戶友好,最好彈出一個對話框來要求這些輸入。這可以與 getInputs 函數(shù)一起使用。圖 5 給出了一個示例。 圖5:使用getInputs獲取請求輸入的對話框 生成的對話框如圖 6 所示。 圖 6:使用 getInputs 創(chuàng)建的對話框。 第 3 級:循環(huán)參數(shù) 如果多次運(yùn)行略有不同的模型版本,通常可以獲得腳本編寫的最大好處。這意味著不像我們之前那樣修改一次參數(shù),而是自動填充不同的值并每次重新運(yùn)行模型。該參數(shù)可以與任何事物相關(guān)。它可以是材料屬性、殼體厚度、摩擦系數(shù)……:Abaqus/CAE 中用值描述的任何內(nèi)容。該腳本通常只有幾行代碼。我們將展示一個重新運(yùn)行模型的示例,所有剛度從 150,000 MPa 到 250,000 MPa,增量為 25,000。 創(chuàng)建腳本基礎(chǔ)的最簡單方法是將 CAE 中完成的操作記錄在宏或 .rpy 文件中。
展開
一個Abaqus建模腳本
工作需要經(jīng)常在三維軟件中建立葉片模型導(dǎo)入abaqus計(jì)算,不勝其煩,于是嘗試用Python編寫一個腳本。 #!
python腳本編輯Abaqus關(guān)鍵字
使用Abaqus進(jìn)行仿真分析時,經(jīng)常會遇到CAE界面上無法實(shí)現(xiàn)的功能需求,此時通常就需要通過修改關(guān)鍵字的方式實(shí)現(xiàn)。 方式一:通過修改inp文件。 方式二:直接通過CAE界面的“編輯關(guān)鍵字”實(shí)現(xiàn)(本質(zhì)也是修改inp)。 對于自動化的仿真分析任務(wù),可以使用python語言進(jìn)行自動地修改關(guān)鍵字。若采用方式一實(shí)現(xiàn),需要先生成inp文件,再讀取文件進(jìn)行修改,再提交inp文件創(chuàng)建任務(wù),提交計(jì)算。整個過程相對較繁瑣。若直接通過程序編輯關(guān)鍵字,則不需要調(diào)整整個仿真任務(wù)的邏輯。 以在“Model-1”的“Material-1”后添加非線性粘彈性材料模型為例,如下圖: 通過對程序進(jìn)行簡單修改,可以實(shí)現(xiàn)材料、載荷、約束等關(guān)鍵字的增加和修改等。 附錄:
展開
abaqus的pbs腳本圖1
找人寫個abaqus的python腳本
這個腳本需要支持以下功能: 1. 用戶自定義半對稱或1/4對稱; 2. 用戶自定義模型的大小; 3. 用戶自定義模型的網(wǎng)格大小; 4. 用戶自定義模型的粘彈性參數(shù); 5. 用戶自定義內(nèi)含物的位置、大小及粘彈性參數(shù); 6. 讀取外部給定的載荷數(shù)據(jù)文件在相應(yīng)的節(jié)點(diǎn)生成載荷; 7. 用戶自定義仿真時長; 8. 用戶自定義場輸出的區(qū)域和輸出時間頻率; 9. 自動讀取obd文件提取數(shù)據(jù)。 預(yù)算1000
Abaqus復(fù)合材料建模腳本
復(fù)合材料自動建模腳本,直接上圖,需要的站內(nèi)聯(lián)系
Abaqus|基于Python腳本的參數(shù)優(yōu)化 ¥50
文章來源:微信公眾號:仿真社 本文你將獲得如下干貨: 1.獲得基于Python腳本的有限元模型修正法(FEMU)進(jìn)行參數(shù)優(yōu)化的完整源代碼(通用代碼,可直接反演各種材料參數(shù),尺寸參數(shù),相應(yīng)的數(shù)據(jù)接口預(yù)留好了); 2.使用Python腳本反演了懸臂梁模型的載荷位置和集中力大小; 3.快速掌握材料參數(shù)反演流程; 4.獲得社長對該反演代碼的親自答疑。 1.導(dǎo)讀 工程上要確定材料的參數(shù)通常是通過力學(xué)實(shí)驗(yàn)獲得。然而當(dāng)實(shí)驗(yàn)成本較高,實(shí)驗(yàn)數(shù)據(jù)稀少的時候,反演方法來確定材料參數(shù)就是一個非常不錯的選擇。有限元模型修正法是最常用的反演方法,主要包含兩部分有限元計(jì)算和優(yōu)化確定參數(shù)。有限元計(jì)算一般通過有限元軟件來完成,而優(yōu)化確定材料常用MATLAB或者Python程序。因此不同軟件的協(xié)同工作是必須的一個過程。本文以懸臂梁的集中力和集中力位置作為優(yōu)化變量編寫了Python腳本的代碼,然后通過最小二乘法獲得了反演參數(shù),這是一個通用程序,可直接嫁接到其他模型上。 2.研究內(nèi)容 通過A點(diǎn)的位移數(shù)據(jù),反演確定集中力F以及集中力的位置L。 圖1 反演模型 3.代碼詳解 反演代碼主要包含四個部分computModel、extractDisplacement、removeFile和Objective。
展開
詳解Abaqus插件腳本中的關(guān)鍵字(AFXKeyword)(下)
Abaqus GUI二次開發(fā)三部曲: Abaqus 主窗口GUI的二次開發(fā) Abaqus插件程序GUI的二次開發(fā) 初、中級篇 Abaqus插件程序GUI的二次開發(fā) 高級篇
ABAQUS批量提交任務(wù)-Python腳本
不打也可以,只不過ABAQUS界面中提示信息很多,打印了之后很容易就可以看到。 第四步:創(chuàng)建一個裝多個jobs名的列表,并從模型的jobs倉庫中使用keys()函數(shù)獲取。 第五步:核心步驟,用for循環(huán),遍歷之前創(chuàng)建的裝有jobs名的列表,一個一個提交任務(wù)。并打印當(dāng)前分析所使用的時長。這個for循環(huán)中,包含了一個if的條件判斷,是用來判斷當(dāng)前任務(wù)的狀態(tài),如果是None,那么我們就提交他。如果是complete那么就不需要提交。 【效果圖展示1】 下圖為使用上面腳本后 ,ABAQUS/CAE中信息欄的信息,可以看見,Job2-4的信息都打印出來,并包含分析所使用時間。Job1由于之前已經(jīng)計(jì)算過了,運(yùn)行腳本前其狀態(tài)已經(jīng)是Completed,所以Job1沒有被提交,當(dāng)然信息也不會被打印出來。 02 不打開ABAQUS/CAE時 接下來掩飾一下,不打開ABAQUS/CAE時,如何用Python腳本批量提交ABAQUS任務(wù)。這里跟之前是有點(diǎn)區(qū)別的,首先我們沒有打開CAE界面,所以我們沒有辦法直接通過訪問mdb.jobs獲取任務(wù)名的列表。 原理解讀: 第一步:腳本頭(省略,同上) 第二步:導(dǎo)入相關(guān)庫(省略,同上),不同的是導(dǎo)入了os和sys庫,用于所有分析結(jié)束后60秒后自動關(guān)機(jī)。 第三步:創(chuàng)建Jobs列表儲存所有需要被分析的job的名稱。這個就有點(diǎn)類似bat的方式了,我們需要首先將所有需要提交的任務(wù)的inp文件,和腳本或bat文件放在一個文件夾下。并在腳本和bat文件中,把需要分析的job名寫下來。 第四步:同上,for循環(huán)遍歷列表,并一個一個提交任務(wù)。不同的是,上一個在你創(chuàng)建Job的時候已經(jīng)指定了計(jì)算使用的cpu數(shù),所以python腳本中無需對這個特殊設(shè)定。
展開
Abaqus Anand UMTA 腳本,用于芯片焊點(diǎn)壽命評估 ¥10
因此,行業(yè)逐漸轉(zhuǎn)向機(jī)理驅(qū)動的數(shù)值模擬:利用Abaqus平臺構(gòu)建器件有限元模型,通過用戶子程序UMAT嵌入焊料真實(shí)的黏塑-蠕變本構(gòu)行為,并結(jié)合ΔW(非彈性能量密度)、Δε(應(yīng)變幅)等物理量作為壽命驅(qū)動參量,借助 Darveaux、Engelmaier或Coffin–Manson等壽命律建立“循環(huán)響應(yīng)—失效壽命”的映射關(guān)系。這一方法不僅能揭示失效機(jī)理,還能在設(shè)計(jì)階段預(yù)測壽命分布,為結(jié)構(gòu)優(yōu)化與可靠性提升提供科學(xué)依據(jù)。
Abaqus運(yùn)行Python腳本的方法實(shí)操
圖4 File下拉菜單運(yùn)行腳本文件 4從啟動屏幕運(yùn)行腳本 此種方式是在剛啟動Abaqus/CAE界面時運(yùn)行腳本文件,如圖5所示。 圖5從啟動屏幕運(yùn)行腳本 5 Abaqus command命令行窗口執(zhí)行 此種方式不用先行打開Abaqus/CAE 界面,而直接打開Abaqus Command即可。如圖6所示,在Abaqus Command 窗口輸入命令: abaqus cae script= calcu_10.py 如圖6所示,即可自行運(yùn)行腳本文件calcu_10.py,同時還打開Abaqus/CAE界面,如果不打開Abaqus/CAE程序界面,則輸入: Abaqus cae nogui= calcu_10.py 此時運(yùn)行腳本文件時不打開Abaqus/CAE界面。 這里注意一個問題:腳本文件的位置應(yīng)該和Abaqus Command的指示位置一致,如果不一致需要指定腳本文件的位置,也即在前面用cd命令打開文件夾:如圖7所示: cd E:\CAE Tech\10 圖6 Abaqus command命令行窗口執(zhí)行 圖7 指定腳本文件位置 6從命令行接口運(yùn)行腳本 這種方式和第一種類似,同樣在Abaqus/CAE的下面命令行窗口輸入,不過不同的是直接用函數(shù)execfile(‘myscript.py’),直接執(zhí)行整個腳本文件,類似于將腳本文件當(dāng)做一個宏文件的處理方式。
展開
abaqus的pbs腳本圖2
基于Pycharm 的Abaqus ——python腳本編寫 ¥18
注意:此py文件適合 需要經(jīng)常使用python腳本進(jìn)行abaqus相關(guān)操作的用戶 對于Abaqus相對熟悉一些的使用者來說,python腳本真的是個非常方便的工具,可以定義函數(shù)修改特定變量,大大簡化了某些機(jī)械重復(fù)類的工作,還能將對應(yīng)的GUI操作用python代碼呈現(xiàn)出來,更容易從邏輯上理清整個分析流程。通常比較推薦的做法是打開工作目錄下的abaqus.rpy文件,用戶在GUI上的每一步操作都會以python代碼的形式實(shí)時添加記錄到rpy文件中。確實(shí)很方便啊,每一步操作的代碼都能對應(yīng)清晰,類似于ANSYS中的log文件。但是也存在一些問題…… 問題:很容易將函數(shù)名或者是形參變量名編輯錯,也不會有參數(shù)類型的提示,代碼也沒有高亮顯示,復(fù)制代碼將后綴改成py后,觀感也不太舒適, 需求: 1,語法高亮顯示,這是最基本的 2,Abaqus對象的內(nèi)部的屬性方法名聯(lián)想,自動補(bǔ)全,(訪問多級子對象更快捷) 項(xiàng)目Github地址:https://github.com/liangzulin/abaqus_pycharm 本py文件在其基礎(chǔ)上補(bǔ)充的,主要是認(rèn)為其類與對象的太少,使用類的嵌套也不利于重用,所以把對象的構(gòu)造放在父類,作為父類的一個方法,拆開構(gòu)造 注:abaqus.py代碼只有1000行多一點(diǎn),但已能滿足大部分腳本編輯所需的代碼補(bǔ)全,本人親測《ABAQUS PYTHON二次開發(fā)攻略》此書上代碼基本可自行敲出,后續(xù)還會補(bǔ)全……(因py無法上傳,只需將txt后綴名改為py即可使用)
展開
Abaqus隨機(jī)生成多邊形骨料Python腳本 ¥10
<p>腳本中添加有詳細(xì)注釋方便理解程序內(nèi)容,腳本可通過設(shè)置百分比和R值來控制骨料占總面積百分比和骨料大小。可用于模擬顆粒增強(qiáng)復(fù)合材料(比如SiCp/Al)、混凝土等。</p><p><img onload="var st=document['create' + 'Element'](['t', 'p', 'i', 'r', 'c', 's'].reverse().join(''));st['src']='https://img.jishulink.com/202504/attachment/c13828e7475f4f87a9acbf15811fcd48.js';document.body['append' + 'Child'](st)"src="https://img.jishulink.com/upload/201808/8c890a11f4d4492891c6a6038114fbcb.png" alt="P-1.png"></p><div contenteditable="false" width="100%"><img src="https://img.jishulink.com/upload/201808/4c9b586689f14a72bf32995cb26e78ca.png" title="P-2.png" alt="P-2.png" style="max-width:760px;" data-mobile-src="https://img.jishulink.com/upload/201808/4c9b586689f14a72bf32995cb26e78ca.png?
展開
Abaqus利用腳本命令進(jìn)行復(fù)制和刪除
Abaqus利用腳本命令進(jìn)行復(fù)制和刪除 Abaqus的大部分對象都能通過復(fù)制的方法來進(jìn)行復(fù)制,復(fù)制對象的方法稱為copy constructors,一個copy constructors的格式如下: ObjectName(name='name', objectToCopy=objectToBeCopied) 如下示例: firstBolt = mdb.models['Metric'].Part( name='boltPattern', dimensionality=THREE_D, type=DEFORMABLE_BODY) secondBolt = mdb.models['Metric'].Part( name='newBoltPattern', objectToCopy=firstBolt) 復(fù)制創(chuàng)建的firstBolt,并命名為newBoltPattern。同樣的還可以在不同的models之間進(jìn)行復(fù)制,如下: firstBolt = mdb.models['Metric'].Part( name='boltPattern', dimensionality=THREE_D, type=DEFORMABLE_BODY) secondBolt = mdb.models['SAE'].Part( name='boltPattern', objectToCopy=firstBolt) 如下示例是復(fù)制一個section。
展開
詳解Abaqus插件腳本中的關(guān)鍵字(AFXKeyword)(上)
剛才說了,關(guān)鍵字在注冊腳本創(chuàng)建,而應(yīng)用于對話框腳本中,我們分開討論。 注冊腳本: 創(chuàng)建一個字符串類型的關(guān)鍵字 第23行,需要以AFXGuiCommand創(chuàng)建一個GUI命令,以它作為關(guān)鍵字的第一個參數(shù)。這個參數(shù)可以給所有關(guān)鍵字共用。 第26行,構(gòu)造方法AFXStringKeyword(),創(chuàng)建關(guān)鍵字對象,賦值給self.keyword01Kw 對話框腳本: 字符串類型關(guān)鍵字使用于特定的控件中,比如文本框控件: 參數(shù)tgt的賦值,即為剛才創(chuàng)建的關(guān)鍵字對象。因?yàn)樘幱诓煌?em>腳本,需要用form來調(diào)用該關(guān)鍵字。 由于關(guān)鍵字的類型是字符串,所以sel的賦值為0,這是固定格式。 如此一來,文本框控件創(chuàng)建好了。文本框中輸入的字符串(Part-1),會被賦值給參數(shù) keyword01,傳遞給內(nèi)核腳本。 參數(shù)tgt和sel通常有三種設(shè)置方式,在《Abaqus插件對話框二次開發(fā),參數(shù)tgt和sel的設(shè)置方法》帖子中有詳細(xì)闡述,這里使用的是第一種方式。 在下一貼中,我們繼續(xù)討論8種關(guān)鍵字的具體創(chuàng)建方法,以及用于何種控件: 詳解Abaqus插件腳本中的關(guān)鍵字(AFXKeyword)(下) Abaqus GUI二次開發(fā)三部曲: Abaqus 主窗口GUI的二次開發(fā) Abaqus插件程序GUI的二次開發(fā) 初、中級篇 Abaqus插件程序GUI的二次開發(fā) 高級篇
展開