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

您所在的位置:网站首页 obd文件 abaqus script提取应力应变位移 odb学习 addData

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

2024-07-13 06:17| 来源: 网络整理| 查看: 265

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

在这里插入图片描述 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个 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'] ['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方法。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3