如何使用 Abapy 提取应变及其坐标?

how do I extract strain and its coordinates with Abapy?

我正在尝试从 obd 文件中提取应变数据。 我发现我可以使用这些命令行:

odb.steps[步名].frames[-1].fieldOutputs['LE'].values[1].data[0]

odb.steps[步名].frames[-1].fieldOutputs['LE'].values[1].data[1]

访问 LE11 和 LE22。 但是我怎样才能找到这些菌株所在的位置呢? 换句话说;我如何获得与这些值关联的坐标?

亲切的问候, 西奥

其实比你想象的还要乏味。我将在这里概述:

假设您请求了积分点字段数据,从

获取元素和积分点
  val=odb.steps[ stepname ].frames[-1].fieldOutputs['LE'].values[1]
  lab=val.elementLabel
  ip=val.integrationPoint

获取元素和连接:

  el=instance.getElementFromLabel(lab)
  c=el.connectivity

然后节点坐标..

  instance.getNodeFromLabel(c[0]).coordinates

最后,您需要根据节点坐标和您对单元类型/形函数的了解手动计算积分点坐标。如果你想要变形的位置,你需要获取节点位移并进行计算。

如果您请求节点平均字段值,它会更简单一些,但基本过程相同。

请注意,根据您的输出请求,您可以同时拥有积分点和节点数据。在这种情况下,您需要检查 val.position 以查看您的类型。