得到結果
S,U,RF,LE這四個value的成員名稱竟然完全一模一樣,里面竟然都有mises(應該只有應力才有mises應力的說法)。這實在是說不通,唯一說得通的可能是,這些value的成員都是應力。但經過實驗發現他們各自不相等,不可能都代表應力。 但根據官網這個說法,那么實際上確實都是應力,只不過有的不合理
進行個數統計的結果:
得到
3200
1681
3200
1681
就個人感覺,官方文檔似乎也沒有很詳細的把abaqus script每個涉及到的內置的結構體講的很清楚。 這里還有一本書 是講解這方面知識的。
那么,提取位移,應變等正確的辦法是什么呢?
v.data。就可以提取出想要的3個自由度的位移了 應變出了一點問題: field Output request里面明明有E,但是最后
原來在這里 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} ε 3 3 ? 仍然為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方法。
總結
以上是生活随笔 為你收集整理的abaqus script提取应力应变位移 odb学习 addData 的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網站內容還不錯,歡迎將生活随笔 推薦給好友。