python abaqus二次开发 模拟3维裂纹扩展

已调试,备份留作日后参考,

#!/usr/bin/env/ python
# -*- coding:utf-8 -*-

# === 导入必要的模块 ===
from abaqus import *
from abaqusConstants import *
import mesh
import regionToolset
import job
#----------------------------------------------------------------

# === 设置参数 ====
modelName = "model_3D"

length = 3.0
height = 6.0
width = 1.0
sheetSize=20.0

crack_len = 1.3
crack_y = 0.15                          # 裂缝在y方向平移的距离

YM = 2.10E+11                           # 杨氏模量(Pa)
MU = 0.3                                # 泊松比
MAXPS = 8.44E+07                        # 损伤开始的最大主应力
DTOL = 0.05                             # 损伤容限
GI = 42200.0                            # 断裂能
ETA = 1.0                               # Power-law的指数

jobName = '12'
#----------------------------------------------------------------

# === 创建模型和视图设置 ===

Mdb()

viewportName = session.Viewport(name=modelName)
viewportName.makeCurrent()
viewportName.maximize()

plateModel = mdb.Model(name=modelName)

#----------------------------------------------------------------

# === 创建部件,首先是平板部件 ===
plateSketch = plateModel.ConstrainedSketch(name='plateProfile',sheetSize=20.0)
plateSketch.rectangle(point1=(0.0, -height/2.0),point2=(length,height/2.0))
#plateSketch.rectangle(point1=(0.0, 3.0), point2=(3.0, -3.0))
platePart = plateModel.Part(dimensionality=THREE_D,name='plate',type=DEFORMABLE_BODY)
platePart = mdb.models[modelName].parts['plate']

# 设置拉伸深度
platePart.BaseSolidExtrude(sketch=plateSketch, depth=1.0)
platePart.BaseShell(sketch=plateModel.sketches['plateProfile'])


# === 创建裂缝几何部件 ===
crackSketch = plateModel.ConstrainedSketch(name='crackProfile',sheetSize=20.0)
crackSketch.Line(point1=(0.0,crack_y),point2=(crack_len,crack_y))
crackPart = plateModel.Part(dimensionality=THREE_D,name='crack',type=DEFORMABLE_BODY)
crackPart = mdb.models[modelName].parts['c

你可能感兴趣的:(abaqus,python,python)