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

[二次开发] 用python计算每个单元体积与定义参数的乘积再加和: my code

[复制链接]
发表于 2011-12-2 20:08:13 | 显示全部楼层 |阅读模式 来自 欧洲
本帖最后由 wuweide127 于 2011-12-6 18:06 编辑

用子程序做了个计算,单元结果中有一个自定义的参数SDV,希望每个单元的体积(这个用EVOL可以输出)与SDV相乘后,再把全部单元的乘积相加(就是EVOL1*SDV1+EVOL2*SDV2...+EVOLn*SDVn),请问用python如何实现?
我刚学python,水平很低,如果能有提供一个类似的例子指导一下也非常感谢!
谢谢大家!

-----------------------------------------------------------------------------------------------
后来自己根据abaqus中的帮助和例子,想了一个code,但是需要双重循环语句 (以下用红色注明了),运行起来速度比较慢,希望有高手可以帮我优化一下。谢谢!


 楼主| 发表于 2011-12-6 18:06:55 | 显示全部楼层 来自 欧洲
Simdroid开发平台
本帖最后由 wuweide127 于 2011-12-6 18:07 编辑

my code:


from odbAccess import *

#
# get field
#

odb = openOdb(path='pytest.odb')
endSet = odb.rootAssembly.elementSets['ALLELE']
field_1 = odb.steps.values()[0].frames[-1].fieldOutputs['EVOL']
field_2 = odb.steps.values()[0].frames[-1].fieldOutputs['SDV11']
subField_1 = field_1.getSubset(region=endSet)
subField_2 = field_2.getSubset(region=endSet)

#
# sum values
#

sum = 0
vol = 0
for val_1 in subField_1.values:
   print 'ELENUMBER =', val_1.elementLabel
   print 'EVOL =', val_1.data
   for val_2 in subField_2.values:
      if val_1.elementLabel == val_2.elementLabel:
         print 'SDV11 =', val_2.data
         val = val_1.data * val_2.data
         break
   sum = sum + val
   vol = vol + val_1.data
   print 'val =', val
   print 'sum =', sum
ave = sum / vol

#
# print results
#

print 'All damage =', sum
print 'All volume =', vol
print 'Damage ratio =', ave
回复 不支持

使用道具 举报

发表于 2014-11-15 09:16:15 | 显示全部楼层 来自 江苏南京
你好,我找到一种方法能让计算快一点儿,但是我得出来的EVOL值却都是0,请大神给解答一下http://forum.simwe.com/thread-1116064-1-1.html
回复 不支持

使用道具 举报

发表于 2017-2-10 14:49:21 | 显示全部楼层 来自 四川成都
楼主,如果要提取11方向的平均应力怎么办?把S改成S11不行啊
回复 不支持

使用道具 举报

发表于 2017-6-26 10:35:02 | 显示全部楼层 来自 北京
zjfswjtu 发表于 2017-2-10 14:49
楼主,如果要提取11方向的平均应力怎么办?把S改成S11不行啊

如果提取S是可以的,那么S11也一定是可以的
回复 不支持

使用道具 举报

发表于 2017-7-25 11:57:23 | 显示全部楼层 来自 北京
楼主知道怎么把数组隔断
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 20:02 , Processed in 0.031864 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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