自己做的一个简单的案例,用python用于abaqus的 模拟 比较省时间,留作参考
在abaqus中,点击file——run script ——运行脚本就可以了,abaqus工作目录下的.rpy文件是abaqus的日志,进行每一步操作也有相应的代码,可以直接拷贝过来用
#!/usr/bin/env/ python
# -*- coding:utf-8 -*-
# === 导入必要的模块 ===
from abaqus import *
from abaqusConstants import *
import mesh
import regionToolset
import job
#----------------------------------------------------------------
# === 设置参数 ====
modelName = "mixed_mode_2d"
length = 3.0
height = 6.0
width = 1.0
crack_len = 1.5
crack_y = 0.05 # 裂缝在y方向平移的距离
YM = 2.10E+11 # 杨氏模量(Pa)
MU = 0.3 # 泊松比
MAXPS = 2.2E+08 # 损伤开始的最大主应力
DTOL = 0.05 # 损伤容限
GI = 42200.0 # 断裂能
ETA = 1.0 # Power-law的指数
#----------------------------------------------------------------
# === 创建模型和视图设置 ===
Mdb()
viewportName = session.Viewport(name=modelName)
viewportName.makeCurrent()
viewportName.maximize()
plateModel = mdb.Model(name=modelName)
del mdb.models['Model-1']
#----------------------------------------------------------------
# === 创建部件,首先是平板部件 ===
plateSketch = plateModel.ConstrainedSketch(name='plateProfile',sheetSize=height)
plateSketch.rectangle(point1=(0.0, -height/2.0),point2=(length,height/2.0))
platePart = plateModel.Part(dimensionality=TWO_D_PLANAR,name='plate',type=DEFORMABLE_BODY)
platePart.BaseShell(sketch=plateModel.sketches['plateProfile'])
# === 创建裂缝几何部件 ===
crackSketch = plateModel.ConstrainedSketch(name='crackProfile',sheetSize=height)
crackSketch.Line(point1=(0.0,crack_y),point2=(crack_len,crack_y))
crackPart=plateModel.Part(dimensionality=TWO_D_PLANAR,name='crack',type=DEFORMABLE_BODY)
crackPart.BaseWire(sketch=plateModel.sketches['crackProfile'])
#-------------------
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删