本文为读者来信回复。
阿信老师,您好!
我目前是一名硕士一年级的学生,平时也在自己学习ABAQUS简单插件的制作。由于没有查找到资料,所以想请教您一些问题。
问题描述:打算完成一个自动划分网格的开发,给定相关基本参数即可完成网格的建立。目前自己在实施过程中,所用于完成插件开发的函数文件已经写好,但是在运行插件时发生如下错误,所生成的py文件在附件中。
这是制作的GUI界面:
然后在输入参数之后就出现了报错信息:
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
同学你好:
这个报错的问题在于python脚本中单元类型关键词不能用string,而必须为abaqus内置的关键词,比如报错信息中的TET、HEX等。
解决方法很简单,我这里提供一个示例,供参考学习。
比如下图的二维模型:
该模型可以用四边形网格,也可以用三角形网格进行划分,如下。
采用Python程序,可以这样处理单元类型的选择问题:
# -*- coding: utf-8 -*-
#公众号:ABAQUS二次开发
#阿信老师CAE
#email:axin_cae@163.com
from abaqus import *
from abaqusConstants import *
from caeModules import *
from driverUtils import executeOnCaeStartup
elem_shape = 'TRI'
p = mdb.models['Model-1'].parts['Part-1']
f = p.faces
pickedRegions = f[0:1]
if elem_shape == 'QUAD':
p.setMeshControls(
regions=pickedRegions,
elemShape=QUAD,
technique=STRUCTURED)
elif elem_shape == 'TRI':
p.setMeshControls(
regions=pickedRegions,
elemShape=TRI,
technique=FREE)
p.seedPart(size=0.5, deviationFactor=0.1, minSizeFactor=0.1)
p.generateMesh()