abaqus script提取应力应变位移 odb学习 addData

在这里插入图片描述得到结果

在这里插入图片描述
S,U,RF,LE这四个value的成员名称竟然完全一模一样,里面竟然都有mises(应该只有应力才有mises应力的说法)。这实在是说不通,唯一说得通的可能是,这些value的成员都是应力。但经过实验发现他们各自不相等,不可能都代表应力。
但根据官网这个说法,那么实际上确实都是应力,只不过有的不合理

进行个数统计的结果:

在这里插入图片描述得到

3200
1681
3200
1681

在这里插入图片描述
就个人感觉,官方文档似乎也没有很详细的把abaqus script每个涉及到的内置的结构体讲的很清楚。
这里还有一本书
在这里插入图片描述
是讲解这方面知识的。

那么,提取位移,应变等正确的办法是什么呢?
在这里插入图片描述

v.data。就可以提取出想要的3个自由度的位移了
应变出了一点问题:
field Output request里面明明有E,但是最后

# E_output = o1.steps['Step-1'].frames[-1].fieldOutputs['E'] # 报错——根本没有E,即使在fieldoutput中增加E request,最后字段里也没有,但是好消息是,有EE。我大概明白这个逻辑了,就是在abaqus里面E选上之后,最后就会同时有PE,EE.但似乎也不太对。。。

原来在这里
http://130.149.89.49:2080/v2016/books/ker/default.htm?startat=book01.html#ker
有详尽的介绍

FieldValue object
http://130.149.89.49:2080/v2016/books/ker/default.htm?startat=book01.html#ker

根据这个说法,那么实际上确实都是应力。

abaqus里面的 conjugate data 是指
the imaginary portion of a complex result

最终答案:
通过查文档以及
https://www.cnpython.com/qa/171659
得到

S11_output = o1.steps['Step-1'].frames[-1].fieldOutputs['S'].getScalarField(componentLabel='S11') # 这一行仍然报错。
经过这三行的实验,成功确定了 elementfieldvalues.data 
第一个元素(共四个元素)是S11,
第四个元素是S12,
第二个元素是S22,
第三个元素是S33。
S13,S23两个直接就不存在
print S_output.getSubset(region=ElementSet[i]).values # 这一行返回2个 <type 'FieldValue'> array

在这里插入图片描述

我推测为什么fieldValueArray有2个元素,是因为一个是全局的,一个是局部的。经过实验确认第一个是全局的。
通过自己搭模型也可以确认很多事情——例如values[0]是全局的,values[1]不知道是什么东西,等等.
现在明确了 values的成员是不同积分点的输出
另外,abaqus很特殊的一点是:其位移输出是全局坐标系下的量,但是对复合材料,**它的应力和应变输出都是主方向坐标轴的量。**对于普通材料,师兄给我演示的例子显示似乎输出的是全局坐标系的量

哈哈,这个不是和式分解吗?(abaqus theory guide)
在这里插入图片描述
S4R单元在我本次实验3方向的应力和应变似乎都被强制设置为0.
 
 
 
 

在撤去BC-3(z=0),以及增加横向载荷(magnitude=10)后,静力分析的结果不再收敛。调整magnitude=1后,结果收敛,而且 ε z \varepsilon_z εz ε 33 \varepsilon_{33} ε33仍然为0.如下图
在这里插入图片描述通过下图这段话,结合上面的应力、应变均为0的实验结果,可以做这样一个判断:abaqus认为我们使用的S4R单元是thin-only shell elements.
在这里插入图片描述

在这里插入图片描述
http://130.149.89.49:2080/v2016/books/usb/default.htm?startat=pt06ch29s06alm19.html#usb-elm-eusingshellsection
这是这个页面有用的地方——如何定义泊松比:
在这里插入图片描述OdbFile可以用来生成模型
在这里插入图片描述odb的显示问题
在这里插入图片描述原来odb的信息还可以直接在窗口查看(如下,查看了所有的fieldoutput,果然没有E)
在这里插入图片描述控制台的输出:

hahaha
({'baseElementTypes': ('S4R',), 'bulkDataBlocks': ' object', 'componentLabels': (), 'description': 'Active yield flag', 'isComplex': OFF, 'locations': 'FieldLocationArray object', 'name': 'AC YIELD', 'type': SCALAR, 'validInvariants': (), 'values': 'FieldValueArray object'})
({'baseElementTypes': (), 'bulkDataBlocks': ' object', 'componentLabels': ('CF1', 'CF2', 'CF3'), 'description': 'Point loads', 'isComplex': OFF, 'locations': 'FieldLocationArray object', 'name': 'CF', 'type': VECTOR, 'validInvariants': (MAGNITUDE,), 'values': 'FieldValueArray object'})
({'baseElementTypes': (), 'bulkDataBlocks': ' object', 'componentLabels': ('CM1', 'CM2', 'CM3'), 'description': 'Point moments', 'isComplex': OFF, 'locations': 'FieldLocationArray object', 'name': 'CM', 'type': VECTOR, 'validInvariants': (MAGNITUDE,), 'values': 'FieldValueArray object'})
({'baseElementTypes': ('S4R',), 'bulkDataBlocks': ' object', 'componentLabels': ('LE11', 'LE22', 'LE33', 'LE12'), 'description': 'Logarithmic strain components', 'isComplex': OFF, 'locations': 'FieldLocationArray object', 'name': 'LE', 'type': TENSOR_3D_PLANAR, 'validInvariants': (MAX_INPLANE_PRINCIPAL, MIN_INPLANE_PRINCIPAL, OUTOFPLANE_PRINCIPAL, MAX_PRINCIPAL, MID_PRINCIPAL, MIN_PRINCIPAL), 'values': 'FieldValueArray object'})
({'baseElementTypes': ('S4R',), 'bulkDataBlocks': ' object', 'componentLabels': ('PE11', 'PE22', 'PE33', 'PE12'), 'description': 'Plastic strain components', 'isComplex': OFF, 'locations': 'FieldLocationArray object', 'name': 'PE', 'type': TENSOR_3D_PLANAR, 'validInvariants': (MAX_INPLANE_PRINCIPAL, MIN_INPLANE_PRINCIPAL, OUTOFPLANE_PRINCIPAL, MAX_PRINCIPAL, MID_PRINCIPAL, MIN_PRINCIPAL), 'values': 'FieldValueArray object'})
({'baseElementTypes': ('S4R',), 'bulkDataBlocks': ' object', 'componentLabels': (), 'description': 'Equivalent plastic strain', 'isComplex': OFF, 'locations': 'FieldLocationArray object', 'name': 'PEEQ', 'type': SCALAR, 'validInvariants': (), 'values': 'FieldValueArray object'})
({'baseElementTypes': ('S4R',), 'bulkDataBlocks': ' object', 'componentLabels': (), 'description': 'Magnitude of plastic strain', 'isComplex': OFF, 'locations': 'FieldLocationArray object', 'name': 'PEMAG', 'type': SCALAR, 'validInvariants': (), 'values': 'FieldValueArray object'})
({'baseElementTypes': (), 'bulkDataBlocks': ' object', 'componentLabels': ('RF1', 'RF2', 'RF3'), 'description': 'Reaction force', 'isComplex': OFF, 'locations': 'FieldLocationArray object', 'name': 'RF', 'type': VECTOR, 'validInvariants': (MAGNITUDE,), 'values': 'FieldValueArray object'})
({'baseElementTypes': (), 'bulkDataBlocks': ' object', 'componentLabels': ('RM1', 'RM2', 'RM3'), 'description': 'Reaction moment', 'isComplex': OFF, 'locations': 'FieldLocationArray object', 'name': 'RM', 'type': VECTOR, 'validInvariants': (MAGNITUDE,), 'values': 'FieldValueArray object'})
({'baseElementTypes': ('S4R',), 'bulkDataBlocks': ' object', 'componentLabels': ('S11', 'S22', 'S33', 'S12'), 'description': 'Stress components', 'isComplex': OFF, 'locations': 'FieldLocationArray object', 'name': 'S', 'type': TENSOR_3D_PLANAR, 'validInvariants': (MISES, MAX_INPLANE_PRINCIPAL, MIN_INPLANE_PRINCIPAL, OUTOFPLANE_PRINCIPAL, MAX_PRINCIPAL, MID_PRINCIPAL, MIN_PRINCIPAL, TRESCA, PRESS, INV3), 'values': 'FieldValueArray object'})
({'baseElementTypes': (), 'bulkDataBlocks': ' object', 'componentLabels': ('U1', 'U2', 'U3'), 'description': 'Spatial displacement', 'isComplex': OFF, 'locations': 'FieldLocationArray object', 'name': 'U', 'type': VECTOR, 'validInvariants': (MAGNITUDE,), 'values': 'FieldValueArray object'})
({'baseElementTypes': (), 'bulkDataBlocks': ' object', 'componentLabels': ('UR1', 'UR2', 'UR3'), 'description': 'Rotational displacement', 'isComplex': OFF, 'locations': 'FieldLocationArray object', 'name': 'UR', 'type': VECTOR, 'validInvariants': (MAGNITUDE,), 'values': 'FieldValueArray object'})
['baseElementTypes', 'bulkDataBlocks', 'componentLabels', 'description', 'isComplex', 'locations', 'name', 'type', 'validInvariants', 'values']
<type 'FieldValue'>
['baseElementType', 'conjugateData', 'conjugateDataDouble', 'data', 'dataDouble', 'elementLabel', 'face', 'instance', 'integrationPoint', 'inv3', 'localCoordSystem', 'localCoordSystemDouble', 'magnitude', 'maxInPlanePrincipal', 'maxPrincipal', 'midPrincipal', 'minInPlanePrincipal', 'minPrincipal', 'mises', 'nodeLabel', 'outOfPlanePrincipal', 'position', 'precision', 'press', 'sectionPoint', 'tresca', 'type']
['baseElementType', 'conjugateData', 'conjugateDataDouble', 'data', 'dataDouble', 'elementLabel', 'face', 'instance', 'integrationPoint', 'inv3', 'localCoordSystem', 'localCoordSystemDouble', 'magnitude', 'maxInPlanePrincipal', 'maxPrincipal', 'midPrincipal', 'minInPlanePrincipal', 'minPrincipal', 'mises', 'nodeLabel', 'outOfPlanePrincipal', 'position', 'precision', 'press', 'sectionPoint', 'tresca', 'type']
['baseElementType', 'conjugateData', 'conjugateDataDouble', 'data', 'dataDouble', 'elementLabel', 'face', 'instance', 'integrationPoint', 'inv3', 'localCoordSystem', 'localCoordSystemDouble', 'magnitude', 'maxInPlanePrincipal', 'maxPrincipal', 'midPrincipal', 'minInPlanePrincipal', 'minPrincipal', 'mises', 'nodeLabel', 'outOfPlanePrincipal', 'position', 'precision', 'press', 'sectionPoint', 'tresca', 'type']
['baseElementType', 'conjugateData', 'conjugateDataDouble', 'data', 'dataDouble', 'elementLabel', 'face', 'instance', 'integrationPoint', 'inv3', 'localCoordSystem', 'localCoordSystemDouble', 'magnitude', 'maxInPlanePrincipal', 'maxPrincipal', 'midPrincipal', 'minInPlanePrincipal', 'minPrincipal', 'mises', 'nodeLabel', 'outOfPlanePrincipal', 'position', 'precision', 'press', 'sectionPoint', 'tresca', 'type']
3200
1681
3200
1681
0
({'coordinates': array([254.0, 247.649993896484, 0.0], 'f'), 'instanceName': 'MENGPI_REAL-1', 'label': 1640})

这个图是shell element里面的thickness change,在membrane单元里也有类似的thickness change
在这里插入图片描述

20220219:终于被我找到藏在这里——

For plane stress, membrane, and shell elements, only the in-plane tensor components (11, 22, and
12 components) are stored by Abaqus/Standard. The out-of-plane direct component for stress (S33) is
reported as zero to the output database as expected, and the out-of-plane component of strain (E33) is
reported as zero even though it is not. This is because the thickness direction is computed based on
section properties rather than at the material level. The out-of-plane components can be requested for
field-type output and cannot be requested for history-type output. The out-of-plane stress components
are not reported to the data (.dat) file or to the results (.fil) file.

此外,Script User Guide 里搜索S11,或component或试试其他分量名称可以找到一张完整分量的表格。

addData方法:

向odb中增加数据。这个方法是在创建odb时使用的,像我只是读取job默认生成的odb文件(只是读取odb),用不到addData方法。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值