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

[后处理] python语言提取节点变量

[复制链接]
发表于 2011-6-6 21:21:03 | 显示全部楼层 |阅读模式 来自 黑龙江哈尔滨
很多时候我们需要提取一下节点的变量来进行分析,这个过程在需要提取的节点数量少的时候我们可以手动炒作,如果节点数据多了的话用手解决显然非常麻烦。我在做课题的时候需要大量提取已知节点编号的位移与应力,所以当时使用python语言写了个小程序来减少手动的时间。
from odbAccess import *
from abaqusConstants import *
import sys
import os
import string
odb=openOdb('D:/shenyang/s1-c-in/new-s1-c1-in/new-s1-c1-in.odb')
myAssembly=odb.rootAssembly
f=open('D:/Temp6.10/s.txt','w+')
#f.write('TITLE=qunima')
f.write('VARIABLES="node","S11"\n')
FrameLen=len(odb.steps['Step-1'].frames)
Frame=odb.steps['Step-1'].frames[-1]
s11=Frame.fieldOutputs['S'].getSubset(ELEMENT_NODAL)
value=s11.values;
i=len(value)
t=0
while t<10000:
num=value[t].elementLabel
if num in [1,2,3]:
  gemen=value[t].data[0]
  f.write(str(gemen)+'\n')
  print num
t=t+1
f.close()

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

2

查看全部评分

发表于 2011-6-6 23:07:06 | 显示全部楼层 来自 江苏南京
Simdroid开发平台
提取x向正应力的,依葫芦画瓢,能把其他的也都给弄出来。谢谢LZ
回复 不支持

使用道具 举报

发表于 2011-8-6 14:17:19 | 显示全部楼层 来自 黑龙江大庆
太厉害了!谢谢斑竹
回复 不支持

使用道具 举报

发表于 2011-8-9 10:37:36 | 显示全部楼层 来自 浙江杭州
如何用这段程序来输出位移呢?我将S改成U貌似不太对,我运行了一下附件中的程序,也提示我错误,key error:step-1
回复 不支持

使用道具 举报

发表于 2011-8-9 15:19:49 | 显示全部楼层 来自 美国
4# 你的提示很明显了,key error,你看看你job的step名字是不是叫step-1
敦大的程序中设置的steps的变量为['Step-1'],如下,你更改一下steps的变量
FrameLen=len(odb.steps['Step-1'].frames)
Frame=odb.steps['Step-1'].frames[-1]

另外,敦大咋了?TITLE=qu ni ma

点评

呵呵,不好意思啊!哈哈哈,当时写着玩来着的啊!一直没有看到!  发表于 2012-4-23 22:52

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2011-9-9 14:09:41 | 显示全部楼层 来自 北京
kalvens 发表于 2011-8-9 15:19
4# 你的提示很明显了,key error,你看看你job的step名字是不是叫step-1
敦大的程序中设置的steps的变量为[ ...


学术不忘娱乐,呵呵
回复 不支持

使用道具 举报

发表于 2011-10-10 22:18:40 | 显示全部楼层 来自 四川成都
对于某个部件或者装配体的SET,输出其场变量的语句如何?
回复 不支持

使用道具 举报

发表于 2012-2-16 09:33:43 | 显示全部楼层 来自 清华大学
管理员:
     您好!
     我是学岩土工程的,做动力分析,有个问题困惑了很久,希望你帮忙解决一下,谢谢。
     进行动力计算前,先做静力分析(用stangard)(如路基的填筑施工),而后施加动荷载进行动力计算。考虑到单元数量很多,选择了显式动力来进行。由于波的反射和透射,需要在模型边界施加人工边界来模拟无限远的情况,即在模型四周和底面的每个节点施加弹簧和阻尼器并赋予其参数,每个节点都有X、Y、Z三个方向需要施加。显然不能采用人工的办法一个一个来施加,我想可以编个小程序,一次施加完成,但不知道如何下手,故请管理员指导,谢谢。
   这个问题是搞岩土工程动力分析不可避免的,估计群里很多坛友都有这方面的需求,希望高手们多指点。
   再次感谢!
回复 不支持

使用道具 举报

发表于 2012-8-23 21:12:19 | 显示全部楼层 来自 新疆乌鲁木齐
太好了。版主厉害
回复 不支持

使用道具 举报

发表于 2012-8-27 12:20:15 | 显示全部楼层 来自 美国
版主..我正好碰到类似的问题了..我的问题是如何把一个截面(比如说SET-1)上所有的节点值(比如说温度)在特定部长中显示出来呢....期望版主的指导..
回复 不支持

使用道具 举报

发表于 2013-4-11 10:37:50 | 显示全部楼层 来自 浙江杭州
value[t-1].data[0] = 0 ,提示不支持float?
回复 不支持

使用道具 举报

发表于 2015-9-14 11:17:59 | 显示全部楼层 来自 陕西西安
不错的帖子
回复 不支持

使用道具 举报

发表于 2015-10-11 19:51:04 | 显示全部楼层 来自 北京海淀
如果每个节点上都有一个局部坐标系,怎么输出每个节点针对于其局部坐标系的应力值
回复 不支持

使用道具 举报

发表于 2015-10-28 08:47:38 | 显示全部楼层 来自 黑龙江哈尔滨
支持支持 哦也
回复 不支持

使用道具 举报

发表于 2018-1-26 20:01:48 | 显示全部楼层 来自 大连理工大学
dg = session.viewports['Viewport: 1'].odbDisplay.displayGroup
dg = session.DisplayGroup(name='DisplayGroup-2', objectToCopy=dg)
session.viewports['Viewport: 1'].odbDisplay.setValues(visibleDisplayGroups=(dg,
    ))
session.viewports['Viewport: 1'].odbDisplay.displayGroupInstances['DisplayGroup-2'].setValues(
    lockOptions=OFF)
#: The selected probe values were written to file "C:/Temp/M V PLANE AUTOREMESH 0_03/1".
试试这段程序,建立一个set,就能把所有节点坐标变化输出来
回复 不支持

使用道具 举报

发表于 2018-12-6 09:20:02 | 显示全部楼层 来自 郑州大学
yirenhefang 发表于 2015-10-11 19:51
如果每个节点上都有一个局部坐标系,怎么输出每个节点针对于其局部坐标系的应力值 ...

层主解决了么。。。遇到同样的问题了。。。
回复 不支持

使用道具 举报

发表于 2019-7-20 00:01:47 | 显示全部楼层 来自 美国
11111111111111
回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

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

GMT+8, 2024-10-1 23:48 , Processed in 0.074643 second(s), 19 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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