You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Abaqus脚本写入ODB最大应力场时omu_PrimArray维度错误怎么解决?

报错原因

你遇到的omu_PrimArray from sequence failed - dimensions报错由两个核心问题导致:

  • 计算最大值时直接调用了FieldValue对象,没有提取实际的标量数值:你代码里的v1=sigma_eq_1.values[i]拿到的是Abaqus的场输出值对象,不是应力数值本身,需要调用.data属性获取数值。
  • 传入addData的maxStress数据维度不符合要求:SCALAR类型的场输出要求传入一维数值序列,你代码里用(max(v1,v2,v3,v4,v5,v6),)把每个值包装成了元组,最终maxStress是二维嵌套结构,和Abaqus要求的维度不匹配。
  • 额外注意:需要确保6个源场输出的积分点数量、顺序完全一致,否则按索引遍历会出现积分点对应错误。
修复方法

修改maxStress的构造逻辑,提取数值同时调整维度即可,修改后的完整代码如下:

from abaqus import *
from abaqusConstants import *
import visualization
myViewport = session.Viewport(name='Max_Stess',
origin=(10, 10), width=150, height=100)
# Open the tutorial output database.
myOdb = visualization.openOdb(path='PROVA_04_10.odb', readOnly=False)
# Associate the output database with the viewport.
myViewport.setValues(displayedObject=myOdb)
instance1 = myOdb.rootAssembly.instances['MODIFICA_FUNZIONANTE']
# Create variables that refer to the first steps.
firstStep = myOdb.steps['sigma_equivalenti']

frame = firstStep.frames[-1]

# 读取6个等效应力场输出
sigma_fields = [
    frame.fieldOutputs['sigma_eq_1'],
    frame.fieldOutputs['sigma_eq_2'],
    frame.fieldOutputs['sigma_eq_3'],
    frame.fieldOutputs['sigma_eq_4'],
    frame.fieldOutputs['sigma_eq_5'],
    frame.fieldOutputs['sigma_eq_6']
]

# 计算每个积分点的最大值,构造一维数组
maxStress = []
for idx in range(len(sigma_fields[0].values)):
    current_vals = [field.values[idx].data for field in sigma_fields]
    maxStress.append(max(current_vals))

# 创建并填充新场输出
myFieldOutput = frame.FieldOutput(name='tensioni_max',description='calcolo delle tensioni massime', type=SCALAR)
myFieldOutput.addData(position=INTEGRATION_POINT, instance=instance1, data=maxStress)

# 在视口中显示新场输出
myViewport.odbDisplay.setPrimaryVariable(field=myFieldOutput,outputPosition=INTEGRATION_POINT)
myViewport.odbDisplay.display.setValues(plotState=(CONTOURS_ON_DEF,))

内容的提问来源于stack exchange,提问作者Federico Bellini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 09:30:01