|
[求助]
ABAQUS python二次开发,监控分析作业一直调试失败(附代码)
求助,我想在运行过程中,监控单元节点的位移或者应变,但是在定义monitor()函数的时候,一直报错,报错如图:you must specify a region that contains only one vertex.
程序如下
#############################创建监控对象
mdb.models['Model-1'].rootAssembly.regenerate()
#重新生成装配体
e=mdb.models['Model-1'].rootAssembly.instances['Part-1-1'].nodes #提取装配体part1单元节点
e1=e[100:101] #提取监控的节点,第101个
print(e1)
mdb.models['Model-1'].rootAssembly.Set(name='Set-node', nodes=e1) #创建节点SET
Mdata=mdb.models['Model-1'].steps['Step-2'].Monitor(node='Set-node',dof=1) #创建监控对象,一直失败
#############################定义回调函数,位移监控,大于0.5停止运算
def monitorDataValue(jobName,messageType,data,userData):
print "%s"%(data.value)
if data.value>0.5:
mdb.jobs[jobName].kill()
#############################提交任务
mdb.Job(name='newJob', model='Model-1')
mdb.jobs['newJob'].submit()
#############################运算开始后调用回调函数
monitorManager.addMessageCallback('newJob',MONITOR_DATA,monitorDataValue('newJob',MONITOR_DATA,Mdata,None),None)
mdb.jobs['newJob'].waitForCompletion()
微信图片_20190320111714.png |
|