1
我正在使用Abaqus/Python進行有限元分析。我遇到了以下問題:我有一個3D域,它由一個包含邊緣以及圓弧段的2D域組成,並在第三維中擴展。現在我想用這樣的約束來對該域進行網格劃分,即沿厚度方向只有一個元素必須被使用。繼Python代碼擠出四分之一圓的小例子:Abaqus/Python固定播種約束條件
from abaqus import *
from abaqusConstants import *
import __main__
# Sketch quarter circle
s = mdb.models['Model-1'].ConstrainedSketch(name='__profile__',
sheetSize=50.0)
g, v, d, c = s.geometry, s.vertices, s.dimensions, s.constraints
s.setPrimaryObject(option=STANDALONE)
s.ArcByCenterEnds(center=(0.0, 0.0), point1=(0.0, 5.0), point2=(5.0, 0.0),
direction=CLOCKWISE)
s.Line(point1=(0.0, 5.0), point2=(0.0, 0.0))
s.Line(point1=(0.0, 0.0), point2=(5.0, 0.0))
# Create part from sketch and extrusion in the depth
p = mdb.models['Model-1'].Part(name='Part-1', dimensionality=THREE_D,
type=DEFORMABLE_BODY)
p.BaseSolidExtrude(sketch=s, depth=0.1)
s.unsetPrimaryObject()
session.viewports['Viewport: 1'].setValues(displayedObject=p)
del mdb.models['Model-1'].sketches['__profile__']
# Mesh
# Global seeds
p.seedPart(size=0.35, deviationFactor=0.1, minSizeFactor=0.1)
# 'fixed' seeding constraint: only one element in thickness direction
e = p.edges
pickedEdges = e.findAt(((5.0, 0.0, 0.025),), ((0.0, 5.0, 0.025),),
((0.0, 0.0, 0.025),))
p.seedEdgeByNumber(edges=pickedEdges, number=1, constraint=FIXED)
# Generate mesh
p.generateMesh()
在最後一行,當我要生成網格,該域名不可以被齧合,因爲「固定」播種約束無法兌現。如果我使用
p.generateMesh(seedConstraintOverride=ON)
來生成網格,結構域可連接的,但只在厚度方向上的兩個元件。有沒有辦法在厚度方向只用一個元素對域進行網格劃分?如果不是,爲什麼?
謝謝你的回答! – SoB