資源簡介
用于Abaqus二維晶粒建模。相比較Python腳本,改文件已經封裝為插件,使用更加方便快捷!

代碼片段和文件信息
#-----------------------------------------------------------------------
#?????Plugin?pour?la?generation?d‘un?schema?Voronoi?avec?epaisseur
#?????entre?les?cellules
#-----------------------------------------------------------------------
#?????Authors:?Stephane?Lejeunes??Stephane?Bourgeois
#?????Institute:?LMA?UPR7051?CNRS
#?????Date:?24/02/10
#?????Rev:?14/06/10??
#-----------------------------------------------------------------------
from?abaqus?import?*
from?abaqusConstants?import?*
#from?Numeric?import?*
from?math?import?ceil?fabs?atan?degrees?pi?asin?cos?sin?radians
import?__main__
from?voronoi?import?*
import?random
#?Iterations?max?sur?les?tirages?aleatoires
ITEMAX=20
import?section
import?regionToolset
import?displayGroupMdbToolset?as?dgm
import?part
import?material
import?assembly
import?step
import?interaction
import?load
import?mesh
import?job
import?sketch
import?visualization
import?xyPlot
import?displayGroupOdbToolset?as?dgo
import?connectorBehavior
import?os
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def?getCurrentViewport():
????vpName?=?session.currentViewportName
????return?session.viewports[vpName]
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def?getCurrentModel():
????vpName?=?session.currentViewportName
????modelName?=?session.sessionState[vpName][‘modelName‘]
????return?mdb.models[modelName]
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def?getNewModel():
????vpName?=?session.currentViewportName
????modelName?=?session.sessionState[vpName][‘modelName‘]
????if(len(mdb.models[modelName].parts)==0):
??????return?mdb.models[modelName]????
????modelName=modelName+“-1“??
????return?mdb.Model(modelName)
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#?Construction?d‘un?schema?de?voronoi?aleatoire?avec?controle?de?la?distance
#?mini?entre?grain?(le?schemas?peut-etre?periodique?ou?non...)
def?constrainedVoronoi(boundnpointDMINPERIODICradiuscenter):
???nbound=bound
???if(PERIODIC):
??????nbound?=?[(-bound[2][0]-bound[2][1])?(-bound[2][0]2.*bound[2][1])?(2.*bound[2][0]2.*bound[2][1])?(2.*bound[2][0]-bound[2][1])]
???points?=?[]
???voronoi?=?bounded_voronoi(nbound?points)
???ite?=?0
???for?i?in?range(1npoint+1):
?????if(len(bound)<=4):
????????newpoint?=?(random.uniform(0bound[2][0])?random.uniform(0bound[2][1]))
?????else:
????????r=random.uniform(0radius)
????????angle=?random.uniform(0radians(360))
????????newpoint?=?(center[0]+r*cos(angle)center[1]+r*sin(angle))
?????j?=?0
?????if?i>1:
???????ite?=?0
???????while?((j?????????d?=?dist(points[j]newpoint)
????????j?=?j+1
????????if?(d????????????if(len(bound)<=4):
??????????????newpoint?=?(random.uniform(0bound[2][0])?random.uniform(0bound[2][1]))
???????????else:
??????????????r=random.uniform(0radius)
??????????????angle=?random.uniform(0radians(360))
??????????????newpoin
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????35148??2012-08-22?14:42??VoronoiCells2D\macroVoronoi.py
?????文件??????28830??2018-02-09?18:23??VoronoiCells2D\macroVoronoi.pyc
?????文件???????7008??2011-02-17?10:19??VoronoiCells2D\voronoi.py
?????文件???????6626??2018-02-09?18:23??VoronoiCells2D\voronoi.pyc
?????文件???????5384??2011-02-17?10:19??VoronoiCells2D\voronoiDB.py
?????文件???????5735??2018-01-30?20:43??VoronoiCells2D\voronoiDB.pyc
?????文件?????150902??2011-02-17?10:19??VoronoiCells2D\voronoiIcon.py
?????文件?????148649??2018-01-30?20:43??VoronoiCells2D\voronoiIcon.pyc
?????文件???????2334??2014-11-12?15:34??VoronoiCells2D\Voronoy_plugin.py
?????文件???????2383??2018-01-30?20:43??VoronoiCells2D\Voronoy_plugin.pyc
?????目錄??????????0??2018-02-09?18:23??VoronoiCells2D
?????文件?????????39??2018-07-26?13:44??test.txt
-----------?---------??----------?-----??----
???????????????393038????????????????????12
- 上一篇:協同過濾代碼實現
- 下一篇:徐州地區及周邊范圍noaa氣象數據數據自動python
評論
共有 條評論