找回密码
 注册
Simdroid-非首页
查看: 132|回复: 3

[求购] 请大侠帮忙看看,为何已经写入了场变量,但是后处理里面却看不到创建的Step和云图?

[复制链接]
发表于 2010-7-24 15:22:00 | 显示全部楼层 |阅读模式 来自 江苏镇江
悬赏5仿真币已解决
请大侠帮忙看看,为何已经写入了场变量,但是后处理里面却看不到创建的Step和云图?
为了完成课题,我做了一个小程序,建了一个场变量对象,然后将计算的结果写入这个新的场变量当中。
但是但是后处理里面却看不到创建的Step和云图,不知是哪一步出错了,请高手们帮忙看看,不胜感激!程序如下:
# -*- coding: cp936 -*-
from abaqus import *
from abaqusConstants import *
import visualization
import math
myViewport = session.Viewport(name='X-percent',
    origin=(10, 10), width=150, height=100)
# Open the tutorial output database.
myOdb = visualization.openOdb(path='06_700.odb',readOnly=False)
# Associate the output database with the viewport.
myViewport.setValues(displayedObject=myOdb)
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#创建新的场变量输出
newStep=myOdb.Step(name='New_Step',description='haha',domain=TIME,timePeriod=1.0)
newFrame=newStep.Frame(frameId=1,frameValue=1.0,description='haha')
newField=newFrame.FieldOutput(name='DELT',description='',type=SCALAR)
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#访问原有的等效塑性应变变量
instance1 = myOdb.rootAssembly.instances['PART-1-1']
myStep = myOdb.steps['Step-2']
myFrame = myStep.frames[-1]
myPEEQ = myFrame.fieldOutputs['PEEQ']
myPEEQV = myPEEQ.values
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#重新将等效塑性应变写入新建的场变量中
elements=instance1.elements
elementLabels=[0]*len(elements)
for i in range(len(elements)):
    elementLabels[i]=elements[i].label
elementLabels.sort()#给单元号排序
elementValues=[0]*len(elements)
for v in myPEEQV:#用数组储存积分点处应变数值
    find = elementLabels.index(v.elementLabel)
    elementValues[find]=v.data#与单元号相对应
elementValuesN=a=[[0 for x in range(1)] for y in range(len(elements))]#创建二维序列储存积分点处应变数值
for u in range(len(elements)):
    elementValuesN[u][0]=elementValues[u]
newField.addData(position=INTEGRATION_POINT, instance=instance1, labels=elementLabels, data=elementValuesN)#将结果写入新建场变量
myOdb.save()
print newField.values[9].data#为了检查是不是将数据真的写入了新建变量中,用这一行程序读取任意一个变量值

最佳答案

查看完整内容

我帮你回答了,用newField.addData(field)。把我选为最佳答案吧。
发表于 2010-7-24 15:22:01 | 显示全部楼层 来自 北京
Simdroid开发平台
我帮你回答了,用newField.addData(field)。把我选为最佳答案吧。
回复

使用道具 举报

 楼主| 发表于 2010-7-27 13:31:42 | 显示全部楼层 来自 江苏无锡
帖子要沉了!
回复

使用道具 举报

发表于 2010-7-30 20:58:11 | 显示全部楼层 来自 天津
对学习很有帮助的论坛 支持
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-25 16:38 , Processed in 0.033540 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表