
發(fā)布
注冊
/
登錄ansys二次開發(fā)批處理的案例
CMD在CAE二次開發(fā)中的應用和批處理(batch)
CMD在CAE二次開發(fā)中的應用和批處理(batch)
CMD是命令提示符,在Windows系統(tǒng)下其執(zhí)行程序是cmd.exe,在cmd窗口輸入命令可以執(zhí)行,cmd的命令很多,因此在軟件的二次開發(fā)時也有很多的用處。
批處理(Batch),也稱為批處理腳本,批處理就是對某對象進行批量的處理。
1. Abaqus
在應用Abaqus分析時,有兩個格式的文件比較有用,一個是py文件,一個是inp文件。Py文件是腳本文件,記錄了在Abaqus 的CAE界面的所有操作,inp文件是最后在生成job時準備submit 計算時產(chǎn)生的一個文件,也是文本文件,inp文件記錄了所有在Abaqus CAE界面進行操作的結(jié)果。
很明顯,這兩個文件的區(qū)別是過程與結(jié)果,Py是執(zhí)行命令的集合,而inp是執(zhí)行結(jié)果的集合。在Abaqus里,這兩個文件都可以用來執(zhí)行有限元分析過程。如圖1所示,為通過Input Files建立有限元分析過程的方法。
圖1
同樣的,通過Py腳本文件建立有限元分析過程的方法前面文章已經(jīng)詳細說過,有幾種不同的方式來Run Script,最終也能實現(xiàn)整個過程。
這兩個過程中,不同的是執(zhí)行inp文件最后只能得到結(jié)果文件,不能得到過程中的模型、載荷、材料屬性等數(shù)據(jù),而py文件則全都可以得到。
而CMD在這個過程的應用也很方便。
展開 基于Python的CAE后處理二次開發(fā)-ANSYS篇
前面講到了基于Python進行Nastran .pch結(jié)果文件的自動后處理過程。可用于如IPI、VTF、NTF等自動后處理。原計劃繼續(xù)介紹Nastran結(jié)果文件.op2自動后處理的內(nèi)容。但有朋友問到了ANSYS結(jié)果文件.rst的后處理內(nèi)容。今天簡單介紹下基于Python的ANSYS結(jié)果自動后處理內(nèi)容。這里用Python做后處理主要有以下幾個原因:1.可以進行數(shù)據(jù)深度處理,尤其是對于大量分析數(shù)據(jù)可以進行基于機器學習等內(nèi)容的研究。2.可以完成商用后處理軟件無法完成的數(shù)據(jù)處理工作。3.可自動化后處理包括自動出報告等。4.可用于優(yōu)化軟件的聯(lián)合。(誠然無論是ANSYS自帶的后處理模塊還是商業(yè)后處理軟件hyperview/hypergraph/meta/Animator4等都可以進行豐富的后處理工作,亦可以進行二次開發(fā)完成結(jié)果處理和自動報告生成。ANSYS經(jīng)典界面的參數(shù)化編程語言APDL,Hyperworks的tcl語言,meta自帶的Python接口,Animator4的tcl語言等都可以進行二次開發(fā)。這里只是簡單介紹一下另外一個思路)。
為了不過于單調(diào),這里選了一個比較有意思的小例子介紹基于Python的ANSYS結(jié)果文件自動后處理過程。
Anterior Cruciate Ligament (ACL) 前交叉韌帶仿真分析
背景:運動和汽車事故是韌帶損傷的重要原因,前交叉韌帶(ACL)的損傷是最常見的韌帶損傷。在將人的膝蓋關節(jié)固定在一起的許多韌帶中,ACL尤為重要,因為它可以保持膝蓋的穩(wěn)定性,并通過限制關節(jié)運動來幫助防止對膝蓋的傷害。ACL主要由連接股骨和脛骨的密集堆積的膠原纖維組成。
展開 ANSYS基于VC++6.0的二次開發(fā)ANSYS基于VC++6.0的二次開發(fā)與 相互作用分析在ANSYS中的實
ANSYS基于VC++6.0的二次開發(fā)ANSYS基于VC++6.0的二次開發(fā)與
相互作用分析在ANSYS中的實現(xiàn) (轉(zhuǎn)貼)
1 概述
ANSYS是一套功能十分強大的有限元分析軟件,能實現(xiàn)多場及多場耦合分析;是實現(xiàn)前后處理、求解及多場分析統(tǒng)一數(shù)據(jù)庫的一體化大型FEA軟件;支持異種、異構平臺的網(wǎng)絡浮動,在異種、異構平臺上用戶界面統(tǒng)一、數(shù)據(jù)文件全部兼容,強大的并行計算功能支持分布式并行及共享內(nèi)存式并行。該軟件具有如下特點:
(1) 完備的前處理功能
ANSYS不僅提供了強大的實體建模及網(wǎng)格劃分工具,可以方便地構造數(shù)學模型,而且還專門設有用戶所熟悉的一些大型通用有限元軟件的數(shù)據(jù)接口(如MSC/NSSTRAN,ALGOR,ABAQUS等),并允許從這些程序中讀取有限元模型數(shù)據(jù),甚至材料特性和邊界條件,完成ANSYS中的初步建模工作。此外,ANSYS還具有近200種單元類型,這些豐富的單元特性能使用戶方便而準確地構建出反映實際結(jié)構的仿真計算模型。
(2) 強大的求解器
ANSYS提供了對各種物理場量的分析,是目前唯一能融結(jié)構、熱、電磁、流體、聲學等為一體的有限元軟件。除了常規(guī)的線性、非線性結(jié)構靜力、動力分析外,還可以解決高度非線性結(jié)構的動力分析、結(jié)構非線性及非線性屈曲分析。提供的多種求解器分別適用于不同的問題及不同的硬件配置。
(3) 方便的后處理器
ANSYS的后處理分為通用后處理模塊(POST1)和時間歷程后處理模塊(POST26)兩部分。后處理結(jié)果可能包括位移、溫度、應力、應變、速度以及熱流等,輸出形式可以有圖形顯示和數(shù)據(jù)列表兩種。
(4) 多種實用的二次開發(fā)工具
ANSYS除了具有較為完善的分析功能外,同時還為用戶進行二次開發(fā)提供了多種實用工具。
展開 HyperMesh批處理的運用(batch)-二次開
HyperMesh批處理的運用(batch)-二次開發(fā)
多數(shù)CAE軟件都有批處理模式,也就是batch,通過批處理模式運行軟件不需要打開界面程序,只需通過運行批處理腳本即可完成CAE過程,主要優(yōu)勢:一是因為不打開界面程序,實際運行時只能看到黑框存在,因而實際上避免了可視化顯示過程,對于大模型來說節(jié)約了計算機資源;另一方面批處理通常用于二次開發(fā),例如可以通過其他語言控制CMD只需批處理并運行腳本。
先介紹一下HyperWork的批處理。
HyperWorks的批處理可以完成以下工作:
1)Generating a PostScript File in HyperWorks Using Batch Mode
2)Generating a MotionView Solver Input File with MDL Batch
3)Setting the MotionView Analysis Type using Batch Mode
4)Running the AMF Builder in Batch Mode
運行HyperWorks的批處理過程如下:
在文件夾:
F:\ProgramFiles\Altair\13.0\sTDesign2014_3959\Inspire\unity\bin\win64\hw\hmbatch\hw\bin\win64下面,按住Shift和鼠標右鍵,打開命令窗口,在窗口中輸入:
hw.exe –h可以查看hw.exe可以用的參數(shù),如下所示:
根據(jù)具體需要可以選擇參數(shù)。
此次主要介紹hyperMesh的批處理,應用的可能性更多。
展開 
ABAQUS 后處理的二次開發(fā)
1
后處理二次開發(fā)的一般步驟
在進行ABAQUS后處理二次開發(fā)之前,用戶必須明確二次開發(fā)所要實現(xiàn)的功能,并且實現(xiàn)設計功能的流程。后處理的二次開發(fā)一般按照以下四個步驟進行。
(1)文件的讀寫和復制:通過Python語言提取Odb文件中提供的OdbAccess模塊,實現(xiàn)對計算結(jié)果數(shù)據(jù)庫文件的讀寫。除此之外,有時還需要對dat文件和fl文件進行數(shù)據(jù)的讀取。文件的復制使用了Python語言中的shutil模塊。
(2)數(shù)據(jù)的讀取:用openOdb函數(shù)打開odb文件,通過模型數(shù)據(jù)的子對象獲取所要操作的模型范圍,通過結(jié)果數(shù)據(jù)的子對象獲取上述范圍的結(jié)果數(shù)據(jù)。
(3)數(shù)據(jù)的操作:對所讀取的數(shù)據(jù)按用戶自定義的公式或理論進行操作。
(4)數(shù)據(jù)的輸出:對數(shù)據(jù)操作所得到的結(jié)果進行寫入操作,對于在odb文件中寫入的結(jié)果需要通過fieldOutput函數(shù)建立新的場,然后通過addData函數(shù)將上述結(jié)果文件寫入新建立的場中。對于通過.dat文件輸出的文本結(jié)果則需要通過write等函數(shù)寫入文本。
2
后處理二次開發(fā)的實例
本例以懸壁梁模型為例,計算不同分析步之間位移的差值。
展開 hyperview二次開發(fā)--NVH結(jié)果后處理
IPI、VTF、NTF分析后處理,如不借助腳本程序,需要人工不斷的截圖、統(tǒng)計數(shù)據(jù)表格,周期長,存在過多的重復性操作,有可能還會出現(xiàn)人工的失誤。 正常后處理的工時4-5天/人,枯燥無味,累的半死。 借助腳本程序最多只需要30min,這不只是效率的提升,這降低了勞動強度,解放了勞動力。 如有需要IPI、VTF、NTF分析自動后處理的腳本,可私信聯(lián)系我,可提供演示視頻。
hypermesh二次開發(fā)之體網(wǎng)格包殼處理
本人在進行整車碰撞分析中,經(jīng)常會碰到體網(wǎng)格和面網(wǎng)格的接觸問題,一般的處理方法是在體網(wǎng)格的外表面進行包殼處理,即在體網(wǎng)格的表面包一層面網(wǎng)格。但是在進行行人保護和約束系統(tǒng)分析時,單靠體網(wǎng)格的外表面包殼仍然會報錯,一些人建議對體網(wǎng)格的每個單元進行包殼,而hypermesh沒有單獨的這個功能,因此本人共享了一個小型的程序來實現(xiàn)。
實現(xiàn)的原理很簡單,就是一個一個網(wǎng)格進行find face 然后把face 移動到指定的component里面。程序本身沒有什么技術含量,期待能起到拋磚引玉的效果,希望大家能有更多的二次開發(fā)程序傳上來。
程序內(nèi)容如下:*collectorcreateonly components "shell_element" "" 5
*createmarkpanel element 1 "Select element to covert solid to shell";
set elementIDs [hm_getmark element 1];
set Numeles [llength $elementIDs];
foreach eleid $elementIDs {
*createmark elements 1 $eleid
*findfaces elements 1
*createmark elements 2 "by comp name" ^faces
*movemark elements 2 "shell_element"
}
展開 hyperview二次開發(fā)--NVH結(jié)果后處理
IPI、VTF、NTF分析后處理,如不借助腳本程序,需要人工不斷的截圖、統(tǒng)計數(shù)據(jù)表格,周期長,存在過多的重復性操作,有可能還會出現(xiàn)人工的失誤。
正常后處理的工時4-5天/人,枯燥無味,累的半死。
借助腳本程序最多只需要30min,這不只是效率的提升,這降低了勞動強度,解放了勞動力。
如有需要IPI、VTF、NTF分析自動后處理的腳本,可私信聯(lián)系我,可提供演示視頻。
abaqusXFEM二維裂紋仿真后處理二次開發(fā)
abaqus擴展有限元模擬裂紋擴展時后處理比較麻煩,難以獲取相關參數(shù),本貼提供了一個腳本可以快速提取裂紋擴展軌跡,裂紋擴展長度a,裂紋擴展壽命N等參數(shù),直接將數(shù)據(jù)導入EXCEL表,適用于二維邊界裂紋及中心裂紋。有需要的朋友可以聯(lián)系:微信SuChai_FEM
分享python進行前處理的二次開發(fā)資料(原創(chuàng))
當所建立模型具有某種循環(huán)重復規(guī)律或者模型比較復雜無法進行CAE建模的時候,人們常常利用Python進行建模,這里總結(jié)了利用Python進行建模的常用一些語法功能和一些注意事項(絕對原創(chuàng)),特獻出來和大家一起學習分享,共同提高,希望以后論壇里面利用python進行二次開發(fā)方面的討論能夠更多一些。
ABAQUS中mdb對象詳細講解.pdf
HyperWorks前后處理二次開發(fā)培訓(HyperMesh+HyperView)
Altair官方線下培訓日程公布-5月20日,上海,HyperWorks前后處理二次開發(fā)培訓(HyperMesh+HyperView)
線下培訓時間:2024.5.20-23(為期四天)
培訓地點:上海
溫馨提示:
線下公開培訓僅支持報名后當天觀看線上直播,暫不提供回看錄播。
培訓席位有限,請至少提前一周報名,報名入口請耐心等待帖子更新或添加客服。
#線下培訓教室地點:
上海辦公室:
上海市靜安區(qū)恒通路268號 凱德星貿(mào)大廈2803室
如您有其他問題請聯(lián)系技術鄰客服jishulink888回復【線下】咨詢↑

HyperWorks前后處理二次開發(fā)培訓(HyperMesh+HyperView)
<p class="ql-align-justify"><strong>Altair官方線下培訓日程公布-9月26日,武漢,HyperWorks前后處理二次開發(fā)培訓(HyperMesh+HyperView)</strong></p><p class="ql-align-justify"><strong>線下培訓時間:2024.9.26-9.27(為期兩天)</strong></p><p class="ql-align-justify"><strong>培訓地點:武漢</strong></p><p class="ql-align-justify"><strong>溫馨提示:</strong></p><ul><li><strong>線下公開培訓</strong>僅支持報名后當天觀看線上直播,暫不提供回看錄播。</li><li>培訓席位有限,請至少<strong>提前一周</strong>報名,報名入口請耐心等待帖子更新或添加客服。
展開 Abaqus后處理二次開發(fā)顯示運動軌跡 ¥99.9
Abaqus的Visualization模塊提供了豐富的可視化、數(shù)據(jù)處理功能,但有時我們可能有一些“過分”的要求,比如想要在結(jié)果中顯示運動軌跡,在常規(guī)操作的情況下目前還實現(xiàn)不了,好在Abaqus提供了豐富的二次開發(fā)接口,使用Python可以很方便的實現(xiàn)這個“過分”的要求。
簡單的說一下通過*.rpy文件學習Python Scripts for Abaqus的方法:只要你在操作Abaqus,不管是否有存檔的動作,主工作目錄下的*.rpy文件都會像“阿賴耶識”一樣悄無聲息而準確地記錄你在GUI界面下的每一個操作,因為Python很直觀,所以你可以通過閱讀的方式來學習這個Replay File,從而提高自己使用Python來進行前、后處理的能力,遇到不懂的地方可以查找?guī)椭臋n的Scripting部分,有詳細的內(nèi)容可以參考。
Abaqus幫助文檔-Scripting
我們最終的碼為tracing.py,使用它可以實現(xiàn)在Abaqus后處理時顯示節(jié)點的運動軌跡,下面是tracing.py的文字釋義與部分代碼:
#指定作業(yè)名(ODB文件名稱)、實例名稱、節(jié)點編號、軌跡顏色代碼
jobName = 'YourJobNAME'
instance='InstanceNAMEinODB!!!'
NLabel= 1
USim='#000000'
from abaqus import *
from abaqusConstants import *
from odbAccess import *
...
展開 Abaqus C++ 后處理二次開發(fā)最新學習資源
Abaqus C++后處理接口的優(yōu)點
Abaqus C++后處理接口使用方便、性能強大,能夠直接在VS中進行編譯和調(diào)試,并且能夠和GUI插件聯(lián)合調(diào)試。對后處理有高性能需求的朋友,c++后處理是最佳選擇。
Abaqus C++后處理接口除了高性能的特點之外,還有十分靈活的特點。既能編譯成exe可執(zhí)行程序單獨運行,和abaqusGUI插件協(xié)同運行,又能編譯成dll動態(tài)鏈接庫讓其他程序調(diào)用。
Abaqus C++后處理接口的使用門檻
雖然優(yōu)點不少,但是相比python腳本后處理,有兩個小門檻:第一是VS編譯環(huán)境的配置;第二是使用c++接口要具備基礎的c/c++語言編程基礎。
課程推薦
為了幫助大家踏平C++后處理接口的使用門檻,提供直觀、詳細、上手快、實戰(zhàn)化的學習資源。4月、5月推出周末線上學習服務。詳情如下,有意向的朋友歡迎咨詢。
展開 ANSA前處理二次開發(fā)之剛片自動創(chuàng)建并命名 ¥3
為此,開發(fā)了一個自動快速建立剛片的小插件,能實現(xiàn)如下功能:
1、選擇連接螺栓孔周邊node點后washer單元自動創(chuàng)建剛片property;
2、根據(jù)總成連接關系自動設置剛片ID,名稱,并附材料;
3、自動設置FROZEN ID和FROZEN DELETE選項,防止剛片被compress掉,或剛片編號被renumber。
注:還以白車身與機罩連接為例,剛片ID命名規(guī)則為依順序增加,如從10001901、10001902……,如已存在編號為10001901的part則編號從10001902開始依次增加。
程序運行界面如下:
創(chuàng)建完成后剛片part編號如下所示:
視頻演示如下所示:
具體實現(xiàn)思路及關鍵函數(shù):
1、讓用戶選擇螺栓孔周邊nodes,用到的函數(shù)為base.PickEntities();
2、獲取與nodes相關聯(lián)的所有單元,用到的函數(shù)為base.NodesToElements()
3、根據(jù)用戶輸入的子文件編號、名稱、材料ID創(chuàng)建新的property,用到的函數(shù)為base.CreateEntity()
4、將第二步獲取的單元的PID設置為第三步創(chuàng)建的PID,用到的函數(shù)為base.SetEntityCardValues()
最后,附上小工具下載地址,更多可微信關注公眾號“汽車安全技術”
展開