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

NodeSet的案例

PhiPsi-高性能有限元程序
# -*-coding:UTF-8-*- from odbAccess import * from math import sqrt # 打開ODB文件 odbName = session.viewports[session.currentViewportName].odbDisplay.name odb = session.odbs[odbName] assembly = odb.rootAssembly # 打印所有節點集的名稱 print("All node sets in the model:") for nodeSetName in assembly.nodeSets.keys(): print(nodeSetName) # 選擇步驟和增量 stepName = 'Step-1' # 替換為你的實際步驟名稱 lastFrame = odb.steps[stepName].frames[-1] # 初始化最大位移合量變量 maxDisplacementMagnitude = 0 # 遍歷所有節點 # 我將頂面節點設置為set-up for node in assembly.nodeSets['SET-UP'].nodes[0]: # 獲取節點的位移輸出(這里假設輸出變量為U,即位移) displacement = lastFrame.fieldOutputs['U'].getSubset(region=node).values[0] # 計算位移合量 displacementMagnitude = sqrt(displacement.data[0]**2 + displacement.data[1]**2 + displacement.data[2]**2)
展開
LS-DYNA鈦合金切削仿真
0.000 0.000 0 *DATABASE_GLSTAT 1.0000E-7 0 0 1 *DATABASE_MATSUM 1.0000E-7 0 0 1 *DATABASE_RBDOUT 1.0000E-7 0 0 1 *DATABASE_RCFORC 1.0000E-7 0 0 1 *DATABASE_TPRINT 1.0000E-7 0 0 1 *DATABASE_BINARY_D3PLOT $# dt lcdt beam npltc psetid 1.0000E-7 0 0 0 0 *DATABASE_BINARY_D3THDT $# dt lcdt beam npltc psetid 1.0000E-7 0 0 0 0 *DATABASE_EXTENT_BINARY $# neiph neips maxint strflg sigflg epsflg rltflg engflg 0 0 3 1 1 1 1 1 $# cmpflg ieverp beamip dcomp shge stssz n3thdt ialemat 0 0 0 1 1 1 2 1 $# nintsld pkp_sen sclp unused msscl therm intout nodout 0 0 1.000000 0 0 *BOUNDARY_PRESCRIBED_MOTION_RIGID $# pid dof vad lcid sf vid death birth 2 1 0 1 1.000000 01.0000E+28 0.000 *BOUNDARY_SPC_SET $# nsid cid dofx dofy dofz dofrx dofry dofrz 1 0 1 1 1 1 1 1 *SET_NODE_LIST_TITLE NODESET
展開
深刻理解inp文件
標簽的開始和結束不能用雙重“_” 下面是一個使用了引號和沒有使用引號的例子: *ELEMENT, TYPE=SPRINGA, ELSET="One element" 1,1,2 *SPRING, ELSET="One element" 1.0E-5, *NSET, ELSET="One element", NSET=NODESET *BOUNDARY nodeset,1,2 4.數據行重復: 數據行可以重復,也就是說每行數據可以有一行響應的變量也可以有幾行。同樣也可以有多行數據行,對應各自的變量行.如: *ELASTIC, TYPE=ISOTROPIC 200.E3, 0.3, 20. 150.E3, 0.35, 400. 80.E3, 0.42, 700. 定義了一個零件的材料性質,均質,線彈性,在不同應力下的揚式模量和泊松比. 三、從外存儲器中引入模型或者歷史數據 The *INCLUDE option can be used to specify an external file that contains a portion of the ABAQUS input file. This file can include model and history definition data, comment lines, and other *INCLUDE references. When the option is encountered, ABAQUS will immediately process the input data within the file specified by the INPUT parameter.
展開
Python 提取odb結果
### python腳本提取解釋 # 導入模塊 from odbAccess import * from abaqusConstants import * from odbMaterial import * from odbSection import * import math # 打開odb文件 odb = openOdb(path=r'G:\CABLE_CON\TEXT2\Job-1.odb') Step_1=odb.steps['Step-1'] # 鎖定目標繩索 region = Step_1.historyRegions['Element ASSEMBLY.1'] xy1=region.historyOutputs['CTF1'].data[300] # 取最后一幀數據,并將括號刪掉 s=str(xy1) s = s.replace("(", "") s = s.replace(")", "") # 將繩力輸出到 F1.txt 文件 disFile=open('F1.txt','w') disFile.write(s) disFile.close() # 取最后一幀數據 lastFrame=Step_1.frames[-1] Zuobiao=lastFrame.fieldOutputs['COORD'] Regioncare=odb.rootAssembly.nodeSets['RP'] Coor1=Zuobiao.getSubset(region=Regioncare) Zuobiao_x=Coor1.values[0].data[0] Zuobiao_y=Coor1.values[0].data[1] Zuobiao_z=Coor1.values[0].data[2] Zhuanjiao=lastFrame.fieldOutputs
展開
NodeSet圖1
技術小貼士-柔性體專用力元素中LoadEx和Pressure的區別是什么?
LoadEx - Uniform 類型 在向指定的NodeSet施加相同方向的力時使用。力被施加到節點上。 如果將100N應用到20個節點上,則總計20000N的力被施加。 2. LoadEx - Relative 類型 向指定的節點施加力,力的方向由連接基準節點和目標節點的方向向量確定。 用于基于特定節點應用不同方向均勻大小的力。 3. Pressure 當您想在指定的面上指定一個值為“壓力”時使用。 由于壓力,按指定的Patch大小施加的力的大小可能會有所不同。 例如,如果在mm,N單位系中,將100 N/mm^2的Pressure應用于總面積為100 mm^2的Patch Set,則總計10000N的力。
展開
批量提取Abaqus的節點坐標(初始坐標、指定Step下的變形量、變形后節點坐標) ¥40
</p><p><br></p><p><br></p><p><br></p><p><br></p><p><br></p><p><br></p><pre class="ql-syntax" spellcheck="false">from odbAccess import * odb_path = r"E:\Abaqus work directory\rubber1.odb" my_odb = openOdb(path=odb_path) for node_set_name in my_odb.rootAssembly.nodeSets.keys(): &nbsp; &nbsp; node_set = my_odb.rootAssembly.nodeSets[node_set_name] &nbsp; &nbsp; print("Node Set: {}".format(node_set_name)) </pre><div contenteditable="false" width="100%"> <figure class="figure-image" data-img="https://img.jishulink.com/202405/attachment/b3f22aacab034851a385b77d4a98c4ea.jpg" style="text-align: center;"> <img src="https://img.jishulink.com/202405/attachment/b3f22aacab034851a385b77d4a98c4ea.jpg" style="max-width: 100%;" data-mobile-src="https://img.jishulink.com/202405/attachment/b3f22aacab034851a385b77d4a98c4ea.jpg
展開
利用Python提取ABAQUS的計算結果(ODB)信息
圖4 查看模型在x方向的寬度 03 用python將位移導入excel odb=openOdb(path=odbname) wbkName='NodalDisplacement' wbk1=xlwt.Workbook() sheet=wbk1.add_sheet('Sheet1') RefPointSet=odb.rootAssembly.nodeSets['U-XYZ'] frameRepository=odb.steps['Step-1'].frames for i in range(3): sheet.write(0,i,('U'+str(i+1)+'(U-XYZ)')) 第1行表示打開odb計算結果文件。 第2行表示生成的excel文件名為NodalDisplacement。 第3行和第4行表示添加Sheet1工作表。 第5行建立節點SetU-XYZ,方便后續對該Set進行位移提取。 第6行表示Step-1里的幀(frames)對象。 第7行和第8行通過循環在excel第1行第i列(也就是代碼中的0,i),寫入U1(U-XYZ),U2(U-XYZ),U3(U-XYZ),如圖5所示,其中Python編程用+可以實現字符連綴,str(i)可以將數字變量i改為字符i。
展開
Abaqus利用region讀取結果數據
示例一創建一個變量center,將一個叫做PUNCH的節點set賦值給這個變量,通過整個模型的位移場displacement得到該節點set的輸出數據,代碼如下: center = odb.rootAssembly.instances['PART-1-1'].nodeSets['PUNCH'] centerDisplacement = displacement.getSubset(region=center) centerValues = centerDisplacement.values for v in centerValues: print v.nodeLabel, v.data 其中的displacement是已經創建好的位移場數據,centerDisplacement變量得到該節點集的所有數據,centerValues變量得到該節點集的數值數據,通過循環輸出節點號和當前數據。
展開
Abaqus利用region讀取結果數據
示例一創建一個變量center,將一個叫做PUNCH的節點set賦值給這個變量,通過整個模型的位移場displacement得到該節點set的輸出數據,代碼如下: center = odb.rootAssembly.instances['PART-1-1'].nodeSets['PUNCH'] centerDisplacement = displacement.getSubset(region=center) centerValues = centerDisplacement.values for v in centerValues: print v.nodeLabel, v.data 其中的displacement是已經創建好的位移場數據,centerDisplacement變量得到該節點集的所有數據,centerValues變量得到該節點集的數值數據,通過循環輸出節點號和當前數據。
展開
MATLAB啟動ABAQUS——優化
time costed %d:%d:%d\n',h,m,sec); xx=1; else fprintf('\n runabaqus error:InpFile submmit failed\n'); xx=0; end end 更新迭代采集步數的程序代碼 from odbAccess import * from abaqusConstants import * from odbMaterial import * from odbSection import * import math 將當前步數寫到cycle.txt 文件下 f=open('cycle.txt','r') n=f.read() f.close() 讀取odb文件 odb = openOdb(path=r'G:\CABLE_CON\TEXT2\Job-' + n + '.odb') 取odb文件中最后一個分析步進行數據提取 Step_1=odb.steps['Step-'+n] region = Step_1.historyRegions['Element ASSEMBLY.1'] xy1=region.historyOutputs['CTF1'].data[300] s=str(xy1) s = s.replace("(", "") s = s.replace(")", "") disFile=open('F1.txt','w') disFile.write(s) disFile.close() lastFrame=Step_1.frames[-1] Zuobiao=lastFrame.fieldOutputs['COORD'] Regioncare=odb.rootAssembly.nodeSets
展開
MATLAB啟動ABAQUS——優化
time costed %d:%d:%d\n',h,m,sec); xx=1; else fprintf('\n runabaqus error:InpFile submmit failed\n'); xx=0; end end 更新迭代采集步數的程序代碼 from odbAccess import * from abaqusConstants import * from odbMaterial import * from odbSection import * import math 將當前步數寫到cycle.txt 文件下 f=open('cycle.txt','r') n=f.read() f.close() 讀取odb文件 odb = openOdb(path=r'G:\CABLE_CON\TEXT2\Job-' + n + '.odb') 取odb文件中最后一個分析步進行數據提取 Step_1=odb.steps['Step-'+n] region = Step_1.historyRegions['Element ASSEMBLY.1'] xy1=region.historyOutputs['CTF1'].data[300] s=str(xy1) s = s.replace("(", "") s = s.replace(")", "") disFile=open('F1.txt','w') disFile.write(s) disFile.close() lastFrame=Step_1.frames[-1] Zuobiao=lastFrame.fieldOutputs['COORD'] Regioncare=odb.rootAssembly.nodeSets
展開
NodeSet圖2
Abaqus后處理二次開發顯示運動軌跡 ¥99.9
nodeSet = instance.NodeSetFromNodeLabels(name=nodeSetName, nodeLabels=(nodeLabel,)) ... #定義背景色彩等 session.graphicsOptions.setValues(backgroundStyle=SOLID, backgroundColor='#FFFFFF') session.printOptions.setValues(vpDecorations=OFF, vpBackground=ON) #顯示軌跡、定義軌跡線型等 ... Abaqus案例應用 A. 在這個模型中,小球以一定的初速度扔進漏斗,彈跳幾下之后沿著漏斗曲面來回滾動,最終落入漏斗,圖中顯示的是球心的運動軌跡。 小球落入漏斗 B. 該模型為示意模型,演示了行星公轉時衛星繞行星的運動,圖中顯示的是衛星的運動軌跡。 衛星運動 C. 這個模型是一個三級球面擺,外圈以恒定的速度轉動,內圈在重力作用下做非規則運動,圖中顯示的是最內圈的擺端部中心點的運動軌跡。 三級球面擺 D. 最后這一個模型是之前的文章-奇妙的單擺中介紹過的,這里不再贅述,我們用此模型作為tracing.py的教學演示。 沖浪者單擺 本文章付費部分目錄 1. tracing.py使用方法詳細教學 2. tracing.py與沖浪者inp文件surfer.inp的Baidu網盤下載鏈接
展開
基于HyperWorks/LsDyna的保險杠40%偏置碰撞仿真解析
通過卡片的設置已經創建好了接觸的類型即SingleSurface,所以我們只需在add界面中添加Slave的組件即整車的部件(除去焊接的1D單元),點擊update就完成了保險杠自身的接觸變型. 2.3 車身剛體與保險杠的連接(在卡片CONSTRAINED_EXTRA_NODES_SET中進行設置) 在設置連接之前首先對連接保險杠的車身剛體進行模擬和定義,通過Card Edit/comps面板對vehicle mass部件進行設置,具體操作如圖所示: 在該界面中需要設置它的質心坐標、質量、轉動慣量和仿真時的速度(在整車碰撞中不需要這樣定義,這樣設置的一些參數是為了模擬整車的作用效果才這樣定義的 在CONSTRAINED_EXTRA_NODES_SET的創建中首先要設置它的剛體部件即在PID中選擇,然后再對接觸進行設置,具體操作如圖所示: 圖中藍色的部件為剛體,紅色的NodeSet為車身剛體與保險杠連接點即在slave/sets中進行定義 2.4 左右前縱梁之間通過剛性連接,前縱梁與防撞橫梁之間也是通過剛性連接(主要是為了使模型更加簡單方便計算) 除了以上設置的接觸和連接之外,在碰撞仿真中通常還用以下接觸: a、CONTACT_AUTOMATIC_SURFACE_TO_SURFACE用于兩個獨立組件之間的接觸,比如說側碰中,試驗臺車撞試驗車,兩個車之間的接觸就可以這樣設置 b、CONTACT_SPOTWELD用于整車焊接的部件與焊點單元的接觸 3、添加載荷和約束 3.1 碰撞速度的設置,通過卡片INITIAL_VELOCITY可以完成。
展開
基于HyperWokes/LsDyna的保險杠40%偏置碰撞仿真解析
通過卡片的設置已經創建好了接觸的類型即SingleSurface,所以我們只需在add界面中添加Slave的組件即整車的部件(除去焊接的1D單元),點擊update就完成了保險杠自身的接觸變型 2.3 車身剛體與保險杠的連接(在卡片CONSTRAINED_EXTRA_NODES_SET中進行設置) 在設置連接之前首先對連接保險杠的車身剛體進行模擬和定義,通過Card Edit/comps面板對vehicle mass部件進行設置,具體操作如圖所示: 在該界面中需要設置它的質心坐標、質量、轉動慣量和仿真時的速度(在整車碰撞中不需要這樣定義,這樣設置的一些參數是為了模擬整車的作用效果才這樣定義的 在CONSTRAINED_EXTRA_NODES_SET的創建中首先要設置它的剛體部件即在PID中選擇,然后再對接觸進行設置,具體操作如圖所示: 圖中藍色的部件為剛體,紅色的NodeSet為車身剛體與保險杠連接點即在slave/sets中進行定義 2.4 左右前縱梁之間通過剛性連接,前縱梁與防撞橫梁之間也是通過剛性連接(主要是為了使模型更加簡單方便計算) 除了以上設置的接觸和連接之外,在碰撞仿真中通常還用以下接觸: a、CONTACT_AUTOMATIC_SURFACE_TO_SURFACE用于兩個獨立組件之間的接觸,比如說側碰中,試驗臺車撞試驗車,兩個車之間的接觸就可以這樣設置 b、CONTACT_SPOTWELD用于整車焊接的部件與焊點單元的接觸 3、添加載荷和約束 3.1 碰撞速度的設置,通過卡片INITIAL_VELOCITY可以完成。
展開
ABAQUS常見問題解答(一)
***ERROR: NODE SET ASSEMBLY_CENTER HAS NOTBEEN DEFINED 答:“NODESET ASSEMBLY_CENTER HAS NOT BEEN DEFINED”:模型中用到了名為center 的集合,但沒有定義它。 6.用批處理方式:abaqus job=aus interactive,運行abaqus 時如何設置內存大小? 答: 如果你是想提高abaqus 可以運用的內存的量,你可以修改environment 文件中的memory 設置。不過如果你沒有這個權限的話,你也可以把這個文件拷貝下來到你的運行目錄里面,再修改,abaqus 默認運行目錄里面的設置優先。 歡迎關注微信公眾號:SimC結構工作室
展開