下面的代码可以轻松地从'dataComponentsList‘变量创建自定义向量的字段输出。但是它仅仅显示了Abaqus的“符号图”中的向量的分量,与默认的Abaqus字段输出不同,后者也可以显示图中向量的结果。例如,如果请求位移矢量或反作用力向量,则odb将包括具有矢量的结果的组件。
newFieldOutput = odb.steps[stepName].frames[-1].FieldOutput(name = vectorName, description = '', type = VECTOR)
newFieldOutput.addData(position=ELEMENT_NODAL, instance = odbInstance, labels = elementsLabels, data = dataComponentsList)
所以,我的问题很简单:如何在向量场输出中添加向量的结果。
谢谢您的建议。
发布于 2020-01-08 14:25:54
由于您只对标量感兴趣,请计算python脚本中生成的向量,然后将".adddata“作为type =标量。
发布于 2022-06-10 17:03:26
你可以用
vectorName = 'myVector'
newFieldOutput = odb.steps[stepName].frames[-1].FieldOutput(name = vectorName, componentLabels = (vectorName+'1', vectorName+'2', vectorName+'3'), description = '', type = VECTOR)
newFieldOutput.addData(position=ELEMENT_NODAL, instance = odbInstance, labels = elementsLabels, data = dataComponentsList, validInvariants=(MAGNITUDE, ))
部分
newFieldOutput.addData(....., validInvariants=(MAGNITUDE, ))
可以得到这个震级。
但是,使用position=ELEMENT_NODAL,您将无法显示向量,因为Abaqus将输出:“警告:元素节点不支持矢量数量的符号绘图”。您应该在另一个位置给出您想要的向量值,例如元素的质心或INTEGRATION_POINT,或节点的节点。
https://stackoverflow.com/questions/59516760
复制相似问题