
發布
注冊
/
登錄abaqus集合怎么創建
關注創建者:王靖雯 創建時間:2023-02-27

abaqus集合怎么創建的實例教程
在學習的時候被網上的帖子和幫助文檔誤導(其實是新新手的緣故),命令老寫成這個樣子:
elist = e.getByBoundingCylinder(7,6,0,7,6,20,5.8)
# 正確命令:
elist = e.getByBoundingCylinder(center1=(7,6,0),center2=(7,6,20),radius=5.8)
abaqus python 二次開發攻略 P195,P196
abaqus 用戶幫助文檔
2 簡單案例
案例簡介:選取多個圓柱體框中的單元并創建為集合。
具體命令:
################################
# 可以運行#######
from abaqus import*
from abaqusConstants import*
p = mdb.models['Model-3'].parts['Part-1']
e = p.elements
elist_I = e.getByBoundingCylinder(center1=(7,6,0),center2=(7,6,20),radius=5.8)
elist = elist_I
elist_I = e.getByBoundingCylinder(center1=(21,6,0),center2=(21,6,20),radius=5.8)
elist = elist+elist_I
p.Set(elements=elist,name='Set-matrix')
print(type(elist)) # <type 'Sequence'>
這就是運行結果。
展開 關注微信公眾號:仿真社,回復“findAt”獲取源文件
Abaqus二次開發時,經常會遇到getSequenceFromMask,用此命令創建的集合是掩碼編碼,若集合是作為優化變量,則不具備操作性,應該盡量避免使用它。findAt函數是解決這一不足的有力武器,findAt函數是通過坐標點的方式來創建point、surface、cell集合,具有參數化的特點,方便控制。
1.問題描述
a)
建立A
、B
兩個區域的集合
圖1 A,B區域圖
有限元模型的長寬分別為60mm,25mm,A區域的位置為x小于30,y大于18;B區域的位置為x大于30,y小于7。
b)為優化集中力位置,使用findAt()函數在懸臂梁的頂部創建一個施加集中力的可變集合(圖2)。
圖2懸臂梁模型
2.技術路線
2.1創建A、B區域的集合
findAt函數是利用區域內的一點坐標創建集合,因此選擇A區域的坐標(10,20,0),B區域的坐標(50,5,0),為新創建的集合命名為Set-target,代碼如下:
2.2 創建點的可變集合
創建點集合的思路為:如果點在線內(不包含端點),則首先創建一個基準點,然后對模型基于基準點進行切分,最后創建集合;如果點在線的兩端,則直接創建集合。圖2展示了實現該功能的代碼,主要是一個判斷功能,保證創建的點集合在模型上,否則就報錯。
圖3 判斷是否需要進行切分
下面展示了實現創建集合功能的代碼,其中findAt函數實現了對加載集中力位置的定義。在定義點時,用到的一個對象是vertices,即頂點,這也就是為什么要切分的原因。模型只有切分了之后才會有頂點!
展開 
abaqus集合怎么創建的相關專題、標簽、搜索
abaqus集合怎么創建的最新內容
這通常可以通過輸出節點坐標或生成一個代表變形表面的集合來實現。
創建新模型并映射解
構建新網格: 基于上一步得到的變形后幾何形狀,重新劃分高質量的網格。對于接觸問題,新網格的表面必須與舊分析中的變形表面高度吻合,否則后續接觸計算極易失敗。
定義映射作業:
創建一個新的分析模型,導入新網格。
高斯熱源和雙橢球熱源怎么選?
DFLUX子程序里的坐標系怎么轉換?
幾十道焊縫的分析步,手動設置要累死人,怎么用Python自動化?
攪拌摩擦焊(FSW)的CEL歐拉-拉格朗日耦合怎么做?
為了解決這些問題,我花時間整理編寫了這份《使用Abaqus進行焊接模擬工程師指南 V2.0》。
在導入到ABAQUS后,Mapping accuracy默認1E-07時,無法創建一一對應哪個的節點集合。只有將其放大,例如1E-03才可以。所以該方法既有較高的學習成本,網格質量也一般。
2.方法2就是在ABAQUS中實現。劃分網格時選擇Sweep,就可以讓Easypbc插件在后續過程中正確運行。
但是我們采用了體素的思想,適當降低基體范圍的精度,只在纖維區域進行基體創建。
然而一個大問題來了,纖維束做梁,那基體怎么處理呢?
身懷利器,殺心自起。我有了梁技術,哪怕削足適履也要把基體搞成梁。于是又一通折騰,搞了個全梁模型:
單從建模效果看,我這個代碼效果是不輸TexGen的。
開發軟件的樂趣就在這,一旦開發出來,就想怎么怎么玩。
集合的定義
單元集合的定義是為了將屬于同一層的所有單元歸為一組,以便對這一組單元統一指定材料方向和截面屬性。
由于單元是按層依次生成的,每層的單元編號是連續的,因此可以通過單元編號的范圍來定義每層的單元集合。
ABAQUS支持使用generate關鍵字來定義連續編號的單元集合,只需要指定起始編號、終止編號和步長即可。
對于N層的層合板,會生成N個單元集合,每個集合對應一層材料。
<p>問題:習慣了在Abaqus中前處理、后處理等,但有時候需要用HyperMesh(后續簡稱HM)畫六面體網格。由此導致一個問題,HM網格導入Abaqus中只有網格,沒有實體。因此在后續Abaqus中前處理邊界或者載荷、接觸等需要選擇面對應網格或節點很困難。</p><p>解決方法:HM里有幾何的情況下,提前將需要用到的集合創建好,再導入到Abaqus。
4)Abaqus使用SPH的步驟較為繁瑣,首先在Abaqus/CAE中創建質量單元,再寫入輸入文件。
1.5 Abaqus/Explicit優勢分析
有限元仿真領域對流固耦合問題一般采用計算流體動力學(CFD,Computational Fluid Dynamics),目前較為主流的求解器包括CFX、Fluent、COMSOL。
因為7、8年沒怎么摸過了(之后想用abaqus編一些自己的本構模型),所以先做了這么一個驗證模型。付費內容里面有完整的cae操作流程,并給了流程的inp文件,可以下載。
1.
注意,比如想導入Abaqus求解器文件,那么首先在一開始選擇配置模板時就應該先選擇Abaqus,然后再去導入(注意先后次序)。
Import Bom,如下圖,這個是導入一個Bom表。