ABAQUS python二次开发,监控分析作业为什么一直调试失败(附代码)? 20

浏览:1459 回答:5

求助,我想在运行过程中,监控单元节点的位移或者应变,但是在定义monitor()函数的时候,一直报错,报错如图:you must specify a region that contains only one vertex.
微信图片_20190320111714.png程序如下

#############################创建监控对象 

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停止运算 

#############################提交任务 

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()

邀请回答 我来回答

全部回答

(4)
默认 最新
mzlmzl

感觉应该是定义的区域应该包含几何顶点,而不是网格节点

2019年3月20日
评论 点赞 1
西瓜草莓

您好我想请问下 您这个问题解决了吗 

2020年10月9日
评论 点赞
10071892

myAssembly.Set(name='MONITOR_MID',nodes=(myInstance['MID'].nodes.sequenceFromLabels(labels=(myInstance['MID'].nodes.getClosest(pointZ).label,))))


myStep.Monitor(node=mySet['MONITOR_MID'],dof=3)


我这个使用abaqus2016和2018调试不报错误,仅供参考。

2019年5月14日
评论 1 点赞
Faraway

自己顶下~~~求帮助

2019年3月20日
评论 点赞

没解决?试试专家一对一服务

换一批