回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我尽量说清楚。问题是:</p>
<p>我有两个数组,ELEM和LAMI。你知道吗</p>
<p>ELEM数组包含有限元模型的信息,其类型为:</p>
<pre><code>ndtype= [('conn','i4',3),('sets','a12',2)]
</code></pre>
<p>所以ELEM的典型数据是:</p>
<pre><code>array([ ([47, 49, 36], ['web', 'gelcoat']),
([48, 30, 43], ['surf', 'balsa']),...])
</code></pre>
<p>现在,LAMI包含了层压序列的数据,可以用于ELEM的元素。拉米属于:</p>
<pre><code>ndtype = [('name', 'a12', 1), ('type', 'a12', 1), ('cons', 'float64', 6)]
</code></pre>
<p>比如说</p>
<pre><code>In[1]:LAMI
Out[1]:array([ ('udfrp', 'TRISOTROPIC', [37.0, 90.0, 4.0, 4.0, 0.28, 1860.0]),
('dbfrp', 'TRISOTROPIC', [10.0, 10.0, 8.0, 8.0, 0.3, 1830.0]),
('gelcoat', 'ISOTROPIC', [10.0, 0.3, 1830.0, 0.0, 0.0, 0.0]),
('nexus', 'ISOTROPIC', [1.0, 0.3, 1664.0, 0.0, 0.0, 0.0]),
('balsa', 'TRISOTROPIC', [10.0, 10.0, 2.0, 2.0, 0.3, 128.0])],
dtype=[('name', 'S12'), ('type', 'S12'), ('cons', '<f8', (6,))])
</code></pre>
<p>可以看出,ELEM['sets'][1]是元素的材质名称,元素的材质属性存储在LAMI['cons']中。你知道吗</p>
<p>问题是:哪种方法是找到元素的材料属性数组的最佳方法?我试过以下方法:</p>
<pre><code>index = np.where(LAMI['name'][0] == ELEM['sets'][element,1])]
prop_array = LAMI['cons'][index]
</code></pre>
<p>但我肯定有更好的办法。谢谢!你知道吗</p>