Matrix 如何在Abaqus中提取、编辑和回复数据矩阵?

Matrix 如何在Abaqus中提取、编辑和回复数据矩阵?,matrix,transformation,contour,abaqus,stress,Matrix,Transformation,Contour,Abaqus,Stress,下午好 我们一直在研究一个动物模型(头骨),应用一系列的力,并在Abaqus中评估合成应力。我们得到了一些美丽多彩(从蓝色到红色)的等高线图。现在,我们想要得到一个类似的图像,但是被一个新的矩阵着色,这将是一些数学变换的结果 那么,我如何提取用于设置这些颜色模式的数据矩阵(我猜是X、Y、Z和von Mises值左右),应用我的转换,然后重新打印数据以获得一个新的(可比的)图形和新的值 非常感谢,祝你度过愉快的一天 我自己从未做过,但我知道这是可能的。您可以从文档开始(例如和) 使用GUI进行实验

下午好

我们一直在研究一个动物模型(头骨),应用一系列的力,并在Abaqus中评估合成应力。我们得到了一些美丽多彩(从蓝色到红色)的等高线图。现在,我们想要得到一个类似的图像,但是被一个新的矩阵着色,这将是一些数学变换的结果

那么,我如何提取用于设置这些颜色模式的数据矩阵(我猜是X、Y、Z和von Mises值左右),应用我的转换,然后重新打印数据以获得一个新的(可比的)图形和新的值


非常感谢,祝你度过愉快的一天

我自己从未做过,但我知道这是可能的。您可以从文档开始(例如和)

使用GUI进行实验后,您可以检查相应的python代码,这些代码应该自动记录在工作目录(或C:\temp)的abaqus.rpy文件中。在你可以得到如下信息的情况下工作:

myodb=session.openOdb('my_fem.odb')#或者'session.odbs['my_fem.odb']`如果它已经加载到会话中
#定义访问转换输出的临时步骤
tempStep=myodb.Step(name='tempStep',description='',domain=TIME,timePeriod=1.0)
#定义一个临时框架来存储转换后的输出
tempFrame=tempStep.Frame(frameId=0,frameValue=0.0,description='tempFrame')
#定义一个新的字段输出
s1f2_S=myodb.steps['Step-1'].帧[2]。fieldOutputs['S']#在'Step-1'步骤的第二帧处的应力张量
s1f1_S=myodb.steps['Step-1'].帧[1]。fieldOutputs['S']#在“Step-1”步骤的第一帧处的应力张量
tmpField=s1f2_S-s1f1_S
userField=tempFrame.FieldOutput(
name='Field-1',description='s1f2\u S-s1f1\u S',Field=tmpField
)
现在,要使用python显示新字段输出,可以执行以下操作:

session.Viewport['Viewport:1'].odbDisplay.setFrame(
步骤='TempStep',帧=0
)
有关所用方法和对象的更多信息,请参阅文档“Abaqus脚本参考指南”:

  • Step()
    :Odb命令->OdbStep对象->步骤()
  • Frame()
    :Odb命令->OdbFrame对象->Frame()
  • 字段输出对象
    :Odb命令->字段输出对象
欢迎来到StackOverflow!如果答案回答了您的问题,请将其标记为“已接受”,否则请添加评论。