2

問題文:

私は、2 つの節点のある有限要素で構成された有限要素メッシュを持っています (そのため、各有限要素 (線) は、その両端にある 2 つの節点で構成されています)。メッシュにはいくつかのタイプのコンポーネント (有限要素のグループ) があります。たとえば、垂直コンポーネントは、下から上に垂直に配置されたいくつかの有限要素で構成され、隣接する有限要素は共通の節点を共有します。

各リストに各垂直コンポーネントのノード ID (ノード番号) が下から上に並べられたリストのリストを取得する必要があります。

私が持っているもの: リストの 2 つのリストがあります:nodesとは次の構造elements nodesを持っています:elements

nodes = [[node_ID1, X1, Y1, Z1],[node_ID2, X2, Y2, Z2], ...]]
elements = [[element_ID1, nodeID_a, nodeID_b],[element_ID2, nodeID_b, nodeID_c], ...]]

また、それぞれノードと要素のサブセット サンプルを表すnodesVおよび と呼ばれる 2 つのリストのリストがあります。elementsV

nodesV = [[node_IDa, node_IDb, node_IDc],[ ....]]
elementsV = [[element_IDa, element_IDb, element_IDc],[ ....]]

これら 2 つのリストは、すべての垂直コンポーネントのノードと要素をそれぞれ表します。

必要なもの: 上記のデータに基づいて、各リストに各垂直コンポーネントの順序付けられたノード ID が含まれるリストのリストを作成する必要があります。

desired_list = [[first nodeID of vertical component 1, ...., last nodeID],[first nodeID of vertical component 2, ...., last nodeID], ...]]

例: メッシュにコンポーネントが 2 つしかなく、それぞれが 1 つの要素のみで構成され、1 つが垂直であると仮定します。

nodes = [[1, 0, 0, 0], [2, 1, 0, 0], [3, 1, 0, 1]]
elements = [[1, 1, 2], [2, 1, 3]]

nodesV = [[1,3]] #each list can only contain 16 elements
elementsV = [[2]]

それでdesired_list = [[1,3]]

複数の数千のノードメッシュに対してこれを行う方法はありますか?

4

0 に答える 0