2024-05-15 03:36:34 发布
网友
我试图从obd文件中提取应变数据。 我发现我可以使用这些命令行:
在odb.台阶[stepname].frames[-1].fieldOutputs['LE'].values[1].data[0]
在odb.台阶[stepname].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
获取元素和连接性:
然后是节点坐标。。在
instance.getNodeFromLabel(c[0]).coordinates
最后,您需要根据节点坐标和您对元素类型/形状函数的了解手动计算积分点坐标。如果你想要变形的位置,你需要抓取节点位移,并做数学运算。在
如果你要求节点平均场值,它会简单一点,但是基本过程是一样的。在
注:根据您的输出请求,您可以同时拥有积分点和节点数据。在这种情况下,您需要检查val.position以查看您的类型。在
val.position
它实际上比你想象的更乏味。我在这里概述一下:
假设您已经请求了集成点字段数据,那么从
获取元素和连接性:
^{pr2}$然后是节点坐标。。在
最后,您需要根据节点坐标和您对元素类型/形状函数的了解手动计算积分点坐标。如果你想要变形的位置,你需要抓取节点位移,并做数学运算。在
如果你要求节点平均场值,它会简单一点,但是基本过程是一样的。在
注:根据您的输出请求,您可以同时拥有积分点和节点数据。在这种情况下,您需要检查
val.position
以查看您的类型。在相关问题 更多 >
编程相关推荐