最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

在abaqus平臺通過python腳本生成非均質(zhì)材料

2022-04-23 23:46 作者:施弓且錯(cuò)畫  | 我要投稿

(1)寫作動機(jī)

在網(wǎng)上相對容易找到在abaqus平臺生成非均質(zhì)材料的視頻,但是很多視頻扣扣嗖嗖不愿意把代碼分享出來,代碼很簡單的,但是對剛?cè)腴T的萌新實(shí)在是不知道如何下手,本文提供了在abaqus平臺上通過python腳本生成非均質(zhì)材料的簡單代碼,希望達(dá)到拋磚引玉的效果。

(2)方法步驟

本文通過對每個(gè)單元賦不同的彈性模量,以達(dá)到非均質(zhì)材料生成的目的。在abaqus平臺創(chuàng)建模型,然后對模型創(chuàng)建集合Set-all,然后運(yùn)行如下python腳本文件。如圖1,其中彈性模量可以用不同的分布函數(shù)生成,如正態(tài)分布、韋伯分布等。圖2的python腳本文件提供了詳細(xì)注釋,以供查閱,

圖1 網(wǎng)格模型和對全局區(qū)域賦非均質(zhì)屬性
圖2 python腳本

此外,視需求可以劃分多個(gè)Set,對不同的Set分別賦材料參數(shù),如圖3。注意如果分別對多個(gè)Set分別賦材料參數(shù),建議修改setname、matname、secname,如將代碼中的setname中的‘Set-’修改為'Set1-',防止多次生成時(shí)材料信息不知道屬于哪一個(gè)集合(不過好像也無所謂)。


圖3 對部分區(qū)域賦非均質(zhì)屬性

(3)方法拓展

  • 本方法是通過對網(wǎng)格單元賦值,也即是說該方法不具有單元類型依賴性,無所謂三角形、四邊形、四面體等單元,都可以適用;

  • 本方法演示了對單元賦值不同的彈性模量,泊松比等其他參數(shù)同樣適用,其中如果想對材料內(nèi)聚力、內(nèi)摩擦角等其他參數(shù)賦值,可以采用插件PythonReader查看關(guān)鍵詞,PythonReader相關(guān)插件及使用方法在網(wǎng)絡(luò)上查找,或者打開abaqus生成的rpy文件和jnl文件查看相關(guān)關(guān)鍵詞。

  • 可以采用讀取文件數(shù)據(jù),然后保存為數(shù)組,然后從數(shù)組中按序取數(shù)據(jù)對模型進(jìn)行賦值,以達(dá)到按照任意分布方式、一定比例占比對模型進(jìn)行參數(shù)賦值。

  • 本方法也有局限性,目前暫時(shí)不知道怎么圖中的網(wǎng)格按照數(shù)據(jù)大小進(jìn)行顯示,即使在賦值參數(shù)都一樣,也是顯示不同網(wǎng)格顏色,某種程度無法告訴讀者模型材料參數(shù)所謂何樣。之前通過修改網(wǎng)格的色卡顏色,無奈色卡采用16進(jìn)制表示的,筆者本來以為顏色范圍都是0~255,按照數(shù)據(jù)大小映射到色卡上,但是沒有成功,因?yàn)楣P者搞不懂16進(jìn)制怎么轉(zhuǎn)換為10進(jìn)制,或者即使知道了也不知道能不能解決這個(gè)顏色顯示問題,因此淺嘗未果。如果有人知道如何解決色卡顯示的問題,希望不吝賜教。此外,用戶子程序應(yīng)該能解決這個(gè)問題,可以通過場變量的方式顯示數(shù)值大小,但是在一般情況下,還是盡量用能解決問題的簡單辦法吧。


不含注釋的python腳本以饗各位,復(fù)制即用。

#!/usr/bin/python

# -*- coding: UTF-8 -*-

# Do not delete the following import lines

import numpy as np

import math

from abaqus import *

from abaqusConstants import *

import __main__


mymodel = mdb.models['Model-1']

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

#

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

myset_all = mypart.sets['Set-all']

np.random.seed(1)


for ele_index in myset_all.elements:

? ? ele = ele_index.label

? ? Matname = 'Mat-'+ str(ele)

? ? myMaterial = mymodel.Material(name=Matname)? ? ??

? ? EE = (2000*math.pow(-math.log(np.random.rand()),1.0/3)+15000)*1e6

? ? vv = 0.25

? ? elasticProperties = (EE, vv)

? ? myMaterial.Elastic(table=(elasticProperties, ))

? ? myMaterial.Permeability(specificWeight = 9800.0, inertialDragCoefficient=0.142887,table=((1e-07,0.2), ))? ? ? ?

? ? sectionname = 'Sec-'+ str(ele)

? ? mySection = mymodel.HomogeneousSolidSection(name=sectionname, material=Matname, thickness=None)

? ? setname = 'Set-' + str(ele)

? ? mypart.Set(elements=mypart.elements[ele-1:ele], name=setname)

? ? region = mypart.sets[setname]

? ? mypart.SectionAssignment(region=region, sectionName=sectionname)


在abaqus平臺通過python腳本生成非均質(zhì)材料的評論 (共 條)

分享到微博請遵守國家法律
湘潭县| 上虞市| 宜兰县| 灵宝市| 秭归县| 遵义县| 连江县| 阳春市| 丰台区| 威海市| 青神县| 西城区| 大兴区| 铁岭县| 定州市| 涞源县| 宜兰市| 临湘市| 青川县| 洛扎县| 荥阳市| 翁牛特旗| 逊克县| 五台县| 明水县| 公主岭市| 浏阳市| 湖口县| 定兴县| 滨州市| 漠河县| 迁西县| 新密市| 萨迦县| 北安市| 桂平市| 司法| 弋阳县| 容城县| 班戈县| 沂源县|