如何使用 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
以查看您的类型。
我正在尝试从 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
以查看您的类型。