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

abaqus創建集合作用的案例

abaqus-python 利用getByBoundingCylinder(...)創建單元集合
在學習的時候被網上的帖子和幫助文檔誤導(其實是新新手的緣故),命令老寫成這個樣子: 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'> 這就是運行結果。
展開
ABAQUS二次開發|findAt函數創建集合的使用方法
關注微信公眾號:仿真社,回復“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,即頂點,這也就是為什么要切分的原因。模型只有切分了之后才會有頂點!
展開