
發(fā)布
注冊(cè)
/
登錄ansys 提取節(jié)點(diǎn)力
關(guān)注創(chuàng)建者:王靖雯 創(chuàng)建時(shí)間:2023-03-07
ansys 提取節(jié)點(diǎn)力的視頻教程
abaqus插件085-批量提取樁土相互作用節(jié)點(diǎn)接觸法向力切向力(2026-01-14)-mark
abaqus插件085-批量提取樁土相互作用節(jié)點(diǎn)接觸法向力切向力(2026-01-14)-mark
免費(fèi) 9分鐘 11播放
查看
ansys 提取節(jié)點(diǎn)力的實(shí)例教程
<h2>摘要</h2><p>本文介紹如何使用Python腳本二次開發(fā)來批量提取ABAQUS輸出數(shù)據(jù)庫(ODB)文件中指定Step-x下的Set節(jié)點(diǎn)集的反力RF(Reaction force)。通過詳細(xì)的步驟說明、代碼示例和圖片展示,您將學(xué)會(huì)如何使用該腳本,自動(dòng)化輸出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>節(jié)點(diǎn)變形量 </u></em></strong>或者<strong><em><u>節(jié)點(diǎn)坐標(biāo) </u></em></strong>可以關(guān)注:<a href="https://www.yqgqt.org.cn/post/1939915" rel="noopener noreferrer" target="_blank">利用Python腳本 批量提取Abaqus的odb文件中Set節(jié)點(diǎn)集 初始節(jié)點(diǎn)坐標(biāo)、指定Step下的變形量、變形后節(jié)點(diǎn)坐標(biāo)_CAE Abaqus提取odb-技術(shù)鄰 (jishulink.com)</a></p><h2>1. 問題描述</h2><p>在工程仿真和分析領(lǐng)域,提取ABAQUS輸出數(shù)據(jù)庫(ODB)文件中的節(jié)點(diǎn)集的<span style="color: rgb(25, 27, 31);">反力RF(Reaction force)</span>是一項(xiàng)常見任務(wù)。然而,手動(dòng)提取這些數(shù)據(jù)是一項(xiàng)繁瑣且容易出錯(cuò)的工作。
展開 這幾天做了個(gè),需要將接觸面上的力提取做被接觸部件的進(jìn)一步分析,而ABAQUS中沒有自動(dòng)提取施加接觸力的功能,所以自己動(dòng)手用matlab+inp的方式,實(shí)現(xiàn)了一個(gè)很原始的接觸力提取和施加。可能用戶自定義載荷(VDLoad)能夠?qū)崿F(xiàn),但是時(shí)間不夠沒有嘗試這方面的東西。
首先說一下,abaqus中的一個(gè)不是很完整的功能。
就是Analytical Field - Mapped field,Mapped field 是個(gè)很有意思的功能,它包含了兩種一個(gè)是Point cloud field,即用一組對(duì)應(yīng)空間點(diǎn)的載荷,來表達(dá)載荷的空間分布,然后通過插值得到節(jié)點(diǎn)上載荷。
第二個(gè)叫做.odb mapped field(看到odb你懂的吧),這個(gè)就是自動(dòng)提取odb文件中的載荷分布,這個(gè)的用法很簡(jiǎn)單,在viewport菜單中新建一個(gè)viewport,叫做viewport2然后在這個(gè)viewport2里打開載荷存儲(chǔ)的odb文件,并打開你要提取的載荷的Field output,然后在viewport1中進(jìn)入到.odb mapped field,有按鈕可選提取哪個(gè)viewport的分布。很簡(jiǎn)單,很智能。
但是,還是要但是,在純力學(xué)的范疇內(nèi),這兩個(gè)功能都只能用在dload就是,pressure里,其余的載荷類型均無法識(shí)別。(除非只要接觸正壓強(qiáng),切向的力完全弄不出來)
所以另辟道路,簡(jiǎn)單的說吧,只提個(gè)方法好了!就是用編程語言改動(dòng)后處理輸出的接觸面節(jié)點(diǎn)力的prt文件成為inp的格式,然后放入對(duì)應(yīng)代碼模塊即可!!!
很簡(jiǎn)單的思路,但是有一些注意的地方:
1. 節(jié)點(diǎn)對(duì)應(yīng),即網(wǎng)格劃分得相同;所以最好copy一個(gè)part,然后換成mesh part;
2. 注意提取接觸力時(shí)別弄錯(cuò)了,接觸力有方向的問題,自己注意選擇;
3.
展開 以前用fortran寫小程序進(jìn)行后處理的腳本處理(abaqus),近期嘗試用python寫了個(gè)讀取文件/判斷最值/寫出文件的一個(gè)腳本
也許對(duì)一些朋友有借鑒作用
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
展開 首先選取好你想選取的節(jié)點(diǎn)
NSEL,S,…………………..
然后使用*vget讀取節(jié)點(diǎn)編號(hào)及相應(yīng)坐標(biāo)
*Get,nnod,NODE,0,COUNT
*vget,nl,node,,nlist !得到表面節(jié)點(diǎn)編號(hào)
*vget,locx,node,,loc,x
…………………….
*DIM,locx1,array,nnod,1 !定義一個(gè)數(shù)組,其為nnod行1列
………………………….
要注意,這里面得到的nl是從小到大排列的,只包含一部分節(jié)點(diǎn),而我們得到的locx卻是所有節(jié)點(diǎn)的坐標(biāo),所以我們還需要定義一個(gè)locx1,再用一個(gè)循環(huán)把你想選擇的節(jié)點(diǎn)編號(hào)和其坐標(biāo)一一對(duì)應(yīng)起來。具體的關(guān)系從下面的圖可以看出。
*DO, j,1,nnod,1
locx1(j)=locx(nl(j)) !節(jié)點(diǎn)對(duì)應(yīng)坐標(biāo)
…………………………….
*ENDDO
這時(shí)我們就已經(jīng)得到了想選取的節(jié)點(diǎn)坐標(biāo)及對(duì)應(yīng)編號(hào),此時(shí)我們需要運(yùn)行一個(gè)Output.mac文件,把得到的數(shù)組輸出。
Output.mac 中包含的內(nèi)容
!----------------------------------!
*cfopen,node_number.dat, ! Generate Ist File
*vwrite,nl(1)
(1F6.0)
*cfclos
*cfopen,node_locx.dat,
*vwrite,locx1(1)
(1E15.6)
*cfclos
………………….剩下的按照同樣格式寫
!----------------------------------!
最后得到的txt文件的內(nèi)容分別如下:
展開 在對(duì)結(jié)構(gòu)進(jìn)行時(shí)程分析后,我們經(jīng)常提取的是全時(shí)程最大von Mises stress。
那么如何提取某一個(gè)節(jié)點(diǎn)的von Mises stress呢?
首先明確ANSYS的節(jié)點(diǎn)附加在單元上,可以通過選擇單元上節(jié)點(diǎn)的方法提取節(jié)點(diǎn)應(yīng)力。
1 確定節(jié)點(diǎn)所在單元,顯示節(jié)點(diǎn)編號(hào)。
例單元號(hào)8560,節(jié)點(diǎn)號(hào)8678。
2 進(jìn)入TimeHist Postpro, 定義變量。
3變量顯示。
付費(fèi)內(nèi)容為相關(guān)命令流。

ansys 提取節(jié)點(diǎn)力的相關(guān)專題、標(biāo)簽、搜索
ansys節(jié)點(diǎn)力提取ansys 節(jié)點(diǎn)力 提取提取ansys節(jié)點(diǎn)力ansys 提取節(jié)點(diǎn)力ansys提取節(jié)點(diǎn)軸向力ansys提取節(jié)點(diǎn) Ansys ansys提取節(jié)點(diǎn)力與節(jié)點(diǎn)位移ansys節(jié)點(diǎn)力提取ansys提取節(jié)點(diǎn)力ansys中節(jié)點(diǎn)力(怎么提取?ansys中節(jié)點(diǎn)力(不是約束反力)怎么提取?ansys提取節(jié)點(diǎn)的集中力時(shí)程
ansys 提取節(jié)點(diǎn)力的最新內(nèi)容
在常規(guī)的結(jié)構(gòu)仿真中,我們通常是“已知力,求變形”。但在實(shí)際工程中,往往遇到相反的情況:我們知道彈簧需要壓縮多少(比如 2cm),但想知道需要多大的力。
01 案例概述
物理場(chǎng)景:一個(gè)四圈半的鋼制彈簧,一端固定,另一端需要拉伸(或壓縮)2cm。
核心目標(biāo):求解彈簧達(dá)到該變形量時(shí),端部需要施加的載荷大小。
02 軟件設(shè)置與詳細(xì)步驟
第一步:項(xiàng)目建立與幾何導(dǎo)入
打開
<h2>摘要</h2><p>本文介紹如何使用Python腳本二次開發(fā)來批量提取ABAQUS輸出數(shù)據(jù)庫(ODB)文件中指定Step-x下的Set節(jié)點(diǎn)集的反力RF(Reaction force)。通過詳細(xì)的步驟說明、代碼示例和圖片展示,您將學(xué)會(huì)如何使用該腳本,自動(dòng)化輸出CSV文件包含(Node Label;Step Name、Increment、Step Time,RF1(X),<span style=
在對(duì)結(jié)構(gòu)進(jìn)行時(shí)程分析后,我們經(jīng)常提取的是全時(shí)程最大von Mises stress。
那么如何提取某一個(gè)節(jié)點(diǎn)的von Mises stress呢?
首先明確ANSYS的節(jié)點(diǎn)附加在單元上,可以通過選擇單元上節(jié)點(diǎn)的方法提取節(jié)點(diǎn)應(yīng)力。
1 確定節(jié)點(diǎn)所在單元,顯示節(jié)點(diǎn)編號(hào)。
例單元號(hào)8560,節(jié)點(diǎn)號(hào)8678。
2 進(jìn)入TimeHist Postpro, 定義變量。
首先選取好你想選取的節(jié)點(diǎn)
NSEL,S,…………………..
然后使用*vget讀取節(jié)點(diǎn)編號(hào)及相應(yīng)坐標(biāo)
*Get,nnod,NODE,0,COUNT
*vget,nl,node,,nlist !得到表面節(jié)點(diǎn)編號(hào)
*vget,locx,node,,loc,x
…………………….
*DIM,locx1,array,nnod,1 !定義一個(gè)數(shù)組,其為nnod行1列
一 分析背景
當(dāng)處理大量reaction force時(shí),常常需要將數(shù)值提出,在excel或者matlab,再或者python中處理。
本文就講一下如何將reaction force提出到txt中。
本文代碼,主要能實(shí)現(xiàn)的功能是:
1.根據(jù)name selection 定位到相關(guān)面,并施加reaction force
2. Evaluate 各個(gè)所需時(shí)間下的結(jié)果,并寫成list
這幾天做了個(gè),需要將接觸面上的力提取做被接觸部件的進(jìn)一步分析,而ABAQUS中沒有自動(dòng)提取施加接觸力的功能,所以自己動(dòng)手用matlab+inp的方式,實(shí)現(xiàn)了一個(gè)很原始的接觸力提取和施加。可能用戶自定義載荷(VDLoad)能夠?qū)崿F(xiàn),但是時(shí)間不夠沒有嘗試這方面的東西。
首先說一下,abaqus中的一個(gè)不是很完整的功能。
就是Analytical Field - Mapped field,Mapped
以前用fortran寫小程序進(jìn)行后處理的腳本處理(abaqus),近期嘗試用python寫了個(gè)讀取文件/判斷最值/寫出文件的一個(gè)腳本
也許對(duì)一些朋友有借鑒作用
import re
Data = []
f = open('data.txt')
line = f.readline()
Num_time=0
Num_nd=0
Num_line=1