五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Abaqus二次開(kāi)發(fā):python參數(shù)化建模方法(文末附復(fù)材屈曲分析腳本源代碼)

2020-03-29 15:43 作者:復(fù)合材料力學(xué)  | 我要投稿

近期公眾號(hào)推送了一些Python開(kāi)發(fā)的建模工具,另外,過(guò)去幾年平臺(tái)發(fā)布的Abaqus的建模插件以及快捷建模腳本也都是基于Python語(yǔ)言開(kāi)發(fā),后臺(tái)常有一些同學(xué)詢問(wèn)Python程序開(kāi)發(fā)的問(wèn)題。作為一種開(kāi)源平臺(tái),Python積累的各種庫(kù)已非常豐富,在科學(xué)計(jì)算、可視化、大數(shù)據(jù)、人工智能等領(lǐng)域都得到了廣泛的應(yīng)用。

時(shí)間一晃,Python陪伴小編都十年之久了,它見(jiàn)證了一個(gè)翩翩少年變成油膩大叔的心酸歷程,那時(shí)候Python還不像現(xiàn)在這么火,寫點(diǎn)小程序小工具比較方便,也正是因?yàn)槠涓咝?、?jiǎn)潔的特點(diǎn)吸引了許多人。對(duì)于小編這種非計(jì)算機(jī)專業(yè)科班出身的工科男,編程效率第一位,人生苦短,我用Python。

下面講一下Abaqus中如何快速創(chuàng)建Python腳本


1.如何快速創(chuàng)建參數(shù)化腳本

我們?cè)诓僮鰽baqus/CAE時(shí),所有動(dòng)作指令都存儲(chǔ)在工作目錄下的abaqus.rpy文件中,abaqus.rpy是實(shí)時(shí)更新的,每操作一步就會(huì)更新一下,包括對(duì)視圖的操作都會(huì)記錄在內(nèi),因此可以直接修改abaqus.rpy文件來(lái)獲得參數(shù)化建模腳本。

另外,當(dāng)保存自己創(chuàng)建的CAE模型時(shí),與模型同名的會(huì)出現(xiàn)一個(gè).jnl的文件,該文件記錄的也是建模過(guò)程中的操作指令,不過(guò)不包含一些視圖操作。代碼更為簡(jiǎn)練,用戶同樣可以修改此文件來(lái)獲取腳本。

例如,下面幾句是rpy中獲得的指令:

p = mdb.models['Model-1'].parts['Ball']

session.viewports['Viewport: 1'].setValues(displayedObject=p)

session.viewports['Viewport: 1'].partDisplay.setValues(sectionAssignments=ON,

??? engineeringFeatures=ON)

session.viewports['Viewport: 1'].partDisplay.geometryOptions.setValues(

??? referenceRepresentation=OFF)

p = mdb.models['Model-1'].parts['Bulk']

session.viewports['Viewport: 1'].setValues(displayedObject=p)

a = mdb.models['Model-1'].rootAssembly

session.viewports['Viewport: 1'].setValues(displayedObject=a)

session.viewports['Viewport: 1'].assemblyDisplay.setValues(

optimizationTasks=OFF, geometricRestrictions=OFF, stopConditions=OFF)

?

下面幾句則是.jnl文件中的指令格式:


from part import *

from material import *

from section import *

from optimization import *

from assembly import *

from step import *

from interaction import *

from load import *

from mesh import *

from job import *

from sketch import *

from visualization import *

from connectorBehavior import *

mdb.jobs['Job-1']._Message(STARTED, {'phase': BATCHPRE_PHASE,

??? 'clientHost': 'taishanbuzuo-PC', 'handle': 0, 'jobName': 'Job-1'})

mdb.jobs['Job-1']._Message(ODB_FILE, {'phase': BATCHPRE_PHASE,

??? 'file': 'D:\\temp\\Job-1.odb', 'jobName': 'Job-1'})

mdb.jobs['Job-1']._Message(COMPLETED, {'phase': BATCHPRE_PHASE,

??? 'message': 'Analysis phase complete', 'jobName': 'Job-1'})

mdb.jobs['Job-1']._Message(STATUS, {'totalTime': 0.0, 'attempts': ' 1U',

??? 'timeIncrement': 0.0001, 'increment': 1, 'stepTime': 0.0, 'step': 1,

??? 'jobName': 'Job-1', 'severe': 1, 'iterations': 12, 'phase': STANDARD_PHASE,

??? 'equilibrium': 11})


2.python腳本的格式控制

在修改由.rpy或者.jnl文件獲取的代碼時(shí),經(jīng)常會(huì)出現(xiàn)下面這種格式的語(yǔ)句:

p?=?mdb.models['Model-1'].parts['Part-1']

f?=?p.faces

faces?=?f.getSequenceFromMask(mask=('[#2 ]',?),?)?

p.Set(faces=faces,?name='Set-2')

上述語(yǔ)句中對(duì)于一個(gè)和特征的索引采用的是一種掩碼的方式,即getSequenceFromMask()函數(shù),我們是無(wú)法確定自己所需對(duì)象的掩碼的。因此,就需要采用其他更直觀的方式獲取用戶所需要的對(duì)象。下面將介紹如何轉(zhuǎn)換.rpy文件以及.jnl文件的指令輸出格式。

第一種,在CAE主視圖下方的命令交互行輸入以下指令:

>>>session.journalOptions.setValues(replayGeometry=COORDINATE,recoverGeometry= COORDINATE)

運(yùn)行上述指令之后,在CAE中重復(fù)上述set的建立過(guò)程,將set命名為“set-3”,類型選擇Geometry,且仍舊選擇同一平面作為該集合對(duì)象。操作完成后,重新查閱當(dāng)前工作目錄下的Abaqus.rpy文件,代碼會(huì)變成如下形式:

p?=?mdb.models['Model-1'].parts['Part-1']

f?=?p.faces

faces?=?f.findAt(((20.211912,?3.333333,?20.0),?))

p.Set(faces=faces,?name='Set-3')

此時(shí)對(duì)象faces的索引方式已經(jīng)轉(zhuǎn)換為findAt()函數(shù)配合點(diǎn)坐標(biāo)的方式。

第二種:在Abaqus GUI命令行交互窗口輸入以下指令:

>>>session.journalOptions.setValues(replayGeometry=INDEX,recoverGeometry=INDEX)

????上述命令執(zhí)行完后,再次重復(fù)建立一個(gè)集合,命名為“set-4”,集合類型和對(duì)象同上。再次查看工作目錄下的Abaqus.rpy文件,其最新更新內(nèi)容如下:

p?=?mdb.models['Model-1'].parts['Part-1']

f?=?p.faces

faces?=?f[1:2]???????????????????????????????????

p.Set(faces=faces,?name='Set-4')

此時(shí)選取對(duì)象faces的索引方式已經(jīng)轉(zhuǎn)換為實(shí)際特征索引號(hào)的方式。按照同樣的道理,讀者可以建立相同的單元集合或者節(jié)點(diǎn)集合來(lái)檢驗(yàn)上述區(qū)別,一般地,在Abaqus的GUI程序開(kāi)發(fā)中,優(yōu)先選擇這兩種對(duì)象索引方式,更具有通用性。

3.python腳本的執(zhí)行

一種是在Abaqus/CAE主界面下方命令行輸入,如下圖所示。

第一種腳本運(yùn)行方法

另一種,將自己的腳本存為.py文件,然后在File→Run Script中選擇該文件運(yùn)行。

第二種腳本運(yùn)行方法


給大家分享一個(gè)Abaqus幫助文檔中的復(fù)合材料特征值屈曲分析案例的建模腳本,包含幾何、材料、屬性、網(wǎng)格、分析步、網(wǎng)格、裝配、邊界載荷、任務(wù)提交等完整建模過(guò)程,感興趣的可以關(guān)注“復(fù)合材料力學(xué)”微信公眾號(hào),后臺(tái)回復(fù)“打擊盜版003”即可獲取源代碼下載鏈接,關(guān)鍵字太長(zhǎng)可以直接復(fù)制。

復(fù)合材料力學(xué)微信公眾號(hào)


代碼執(zhí)行效果:


代碼執(zhí)行效果


代碼結(jié)尾是自動(dòng)提交計(jì)算的指令,如果不想讓它自動(dòng)提交,可以部分刪除,計(jì)算結(jié)果如下:

應(yīng)變?cè)茍D


Abaqus二次開(kāi)發(fā):python參數(shù)化建模方法(文末附復(fù)材屈曲分析腳本源代碼)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
宝丰县| 邵阳县| 崇州市| 新余市| 买车| 万安县| 迭部县| 兴海县| 肇庆市| 齐齐哈尔市| 铁岭县| 潍坊市| 奉节县| 龙口市| 六枝特区| 绵竹市| 鹿邑县| 都昌县| 华池县| 揭阳市| 漳平市| 南乐县| 西乌珠穆沁旗| 清徐县| 安塞县| 邛崃市| 黔西| 沾益县| 通州市| 姜堰市| 平和县| 安图县| 徐州市| 镇赉县| 文昌市| 西乌珠穆沁旗| 武胜县| 磴口县| 大冶市| 印江| 南开区|