
發布
注冊
/
登錄ansys節點力提取的案例
一點心得,接觸面節點力提取及再施加
這幾天做了個,需要將接觸面上的力提取做被接觸部件的進一步分析,而ABAQUS中沒有自動提取施加接觸力的功能,所以自己動手用matlab+inp的方式,實現了一個很原始的接觸力提取和施加。可能用戶自定義載荷(VDLoad)能夠實現,但是時間不夠沒有嘗試這方面的東西。
首先說一下,abaqus中的一個不是很完整的功能。
就是Analytical Field - Mapped field,Mapped field 是個很有意思的功能,它包含了兩種一個是Point cloud field,即用一組對應空間點的載荷,來表達載荷的空間分布,然后通過插值得到節點上載荷。
第二個叫做.odb mapped field(看到odb你懂的吧),這個就是自動提取odb文件中的載荷分布,這個的用法很簡單,在viewport菜單中新建一個viewport,叫做viewport2然后在這個viewport2里打開載荷存儲的odb文件,并打開你要提取的載荷的Field output,然后在viewport1中進入到.odb mapped field,有按鈕可選提取哪個viewport的分布。很簡單,很智能。
但是,還是要但是,在純力學的范疇內,這兩個功能都只能用在dload就是,pressure里,其余的載荷類型均無法識別。(除非只要接觸正壓強,切向的力完全弄不出來)
所以另辟道路,簡單的說吧,只提個方法好了!就是用編程語言改動后處理輸出的接觸面節點力的prt文件成為inp的格式,然后放入對應代碼模塊即可!!!
很簡單的思路,但是有一些注意的地方:
1. 節點對應,即網格劃分得相同;所以最好copy一個part,然后換成mesh part;
2. 注意提取接觸力時別弄錯了,接觸力有方向的問題,自己注意選擇;
3.
展開 基于python 提取整個模型 節點力最大最小值的腳本(abaqus)
以前用fortran寫小程序進行后處理的腳本處理(abaqus),近期嘗試用python寫了個讀取文件/判斷最值/寫出文件的一個腳本
也許對一些朋友有借鑒作用
import re
Data = []
f = open('data.txt')
line = f.readline()
Num_time=0
Num_nd=0
Num_line=1
Num=0
time=[]
column=1
while line:
searchObj= re.search( r'n o d a l f o r c e g r o u p o u t p u t t=', line)
searchObj2= re.search( r'nd#', line)
if searchObj:
Data.append([])
Num_time+=1
Num_nd=0
s=line
parts= (re.split( '\s*=\s*' ,s ))
TT=float(parts[1])
time.append(TT)
Data[Num_time-1].append([])
Data[Num_time-1].append([])
Data[Num_time-1].append([])
if searchObj2:
Num_nd+=1
# print (Num_nd)
s=line
parts= (re.split( '\s*' ,s ))
Num_node
展開 批量提取Abaqus指定Step-x下 Set節點集的反力RF(Reaction force) ¥40
<h2>摘要</h2><p>本文介紹如何使用Python腳本二次開發來批量提取ABAQUS輸出數據庫(ODB)文件中指定Step-x下的Set節點集的反力RF(Reaction force)。通過詳細的步驟說明、代碼示例和圖片展示,您將學會如何使用該腳本,自動化輸出CSV文件包含(Node Label;Step Name、Increment、Step Time,RF1(X),<span style="color: rgb(25, 27, 31);">RF2(Y),RF3(Z)</span>)。</p><p><br></p><p>如果還需要提取<strong><em><u>節點變形量 </u></em></strong>或者<strong><em><u>節點坐標 </u></em></strong>可以關注:<a href="https://www.yqgqt.org.cn/post/1939915" rel="noopener noreferrer" target="_blank">利用Python腳本 批量提取Abaqus的odb文件中Set節點集 初始節點坐標、指定Step下的變形量、變形后節點坐標_CAE Abaqus提取odb-技術鄰 (jishulink.com)</a></p><h2>1. 問題描述</h2><p>在工程仿真和分析領域,提取ABAQUS輸出數據庫(ODB)文件中的節點集的<span style="color: rgb(25, 27, 31);">反力RF(Reaction force)</span>是一項常見任務。然而,手動提取這些數據是一項繁瑣且容易出錯的工作。
展開 ANSYS如何提取某一節點的應力時程 ¥100
在對結構進行時程分析后,我們經常提取的是全時程最大von Mises stress。
那么如何提取某一個節點的von Mises stress呢?
首先明確ANSYS的節點附加在單元上,可以通過選擇單元上節點的方法提取節點應力。
1 確定節點所在單元,顯示節點編號。
例單元號8560,節點號8678。
2 進入TimeHist Postpro, 定義變量。
3變量顯示。
付費內容為相關命令流。

ANSYS使用APDL語言提取節點編號及對應坐標 ¥10
首先選取好你想選取的節點
NSEL,S,…………………..
然后使用*vget讀取節點編號及相應坐標
*Get,nnod,NODE,0,COUNT
*vget,nl,node,,nlist !得到表面節點編號
*vget,locx,node,,loc,x
…………………….
*DIM,locx1,array,nnod,1 !定義一個數組,其為nnod行1列
………………………….
要注意,這里面得到的nl是從小到大排列的,只包含一部分節點,而我們得到的locx卻是所有節點的坐標,所以我們還需要定義一個locx1,再用一個循環把你想選擇的節點編號和其坐標一一對應起來。具體的關系從下面的圖可以看出。
*DO, j,1,nnod,1
locx1(j)=locx(nl(j)) !節點對應坐標
…………………………….
*ENDDO
這時我們就已經得到了想選取的節點坐標及對應編號,此時我們需要運行一個Output.mac文件,把得到的數組輸出。
Output.mac 中包含的內容
!----------------------------------!
*cfopen,node_number.dat, ! Generate Ist File
*vwrite,nl(1)
(1F6.0)
*cfclos
*cfopen,node_locx.dat,
*vwrite,locx1(1)
(1E15.6)
*cfclos
………………….剩下的按照同樣格式寫
!----------------------------------!
最后得到的txt文件的內容分別如下:
展開 結構仿真逆向邏輯:深度解析如何在 Ansys 中給定位移并精確提取支反力 ¥2
05 結語
在 Ansys Workbench 中,雖然沒有直接名為“全局方程”的模塊來求解這種“已知位移反求載荷”的問題,但通過 “位移約束 + 探針提取反力” 這一組合,我們可以更直觀地獲得等效結果。
思考拓展:
如果需要模擬彈簧在拉伸 2cm 后,再增加 100N 載荷的情況,僅用靜力學分析是不夠的,需要引入 Multi-Step 分析,即第一步強制位移 2cm,第二步鎖定位移并施加載荷。
根據命名自動提取并導出支反力_Ansys ACT Python ¥9.9
只需要定義面的name、時間、txt文件路徑、提取的數據類型,就可以自動化實現。
二 分析模型
提取支撐柱上和平板接觸的三個面的reaction force。
2.1 建立named selections用于程序參數識別;
2. 復制代碼,運行。
修改代碼main函數中的自定義參數,以及提取信息函數。Txt結果如下,