2017-08-13 57 views
0

私は、Paraviewで視覚化したいANSYS Mechanicalからエクスポートした応力データとジオメトリを持つCSVファイルを持っています。各ノードには、それに関連する一連のストレスデータがあります。私はParaviewのポイントクラウドとしてポイントをインポートして管理しましたが、ANSYSメッシュも再作成したいと思います。私は、Paraviewの「プログラマブルソース」は別の方法かもしれないと思っていましたが、いくつかのグーグルでデータを読み込む方法が分かりましたが、基本的な質問は、Paraviewのプログラム可能なソースと細胞/顔? 私のCSVファイルには、次のようになります。Paraviewのセルとポイントからメッシュを作成

Node, X, Y, Z, Stress_data 
1, 1.0, 1.0, 1.0, 123 
2, 2.0, 2.0, 2.0, 234 
3, 3.0, 3.0, 3.0, 345 
... 

Faces 
1, 2, 3 
3, 4, 5 
... 

更新
Hereは、メッシュがメッシュのParaviewに見て、少し方法のANSYSでどのように見えるか、例のcsvファイルへのリンク(接続列が含まれている)であります変更されたスクリプト。

答えて

0

次のPythonスクリプトは、あなたのCSVファイルからpolydataオブジェクトを作成し、あるParaViewで読み取ることができ、ファイルにそれを書き込みます

import vtk 

f = open('Example-2.csv') 

pd = vtk.vtkPolyData() 
points = vtk.vtkPoints() 
cells = vtk.vtkCellArray() 
connectivity = vtk.vtkIntArray() 
connectivity.SetName('Connectivity') 
stress = vtk.vtkFloatArray() 
stress.SetName('Stress') 

line = f.readline() 
for line in iter(lambda: f.readline(), ""): 
    if 'Faces' in line: 
     break 
    v = line.split(',') 
    points.InsertNextPoint(float(v[1]), 
          float(v[2]), 
          float(v[3])) 
    stress.InsertNextTuple1(float(v[5])) 
    connectivity.InsertNextTuple1(float(v[4])) 

for line in iter(lambda: f.readline(), ""): 
    v = line.split(',') 
    cell = vtk.vtkTriangle() 
    Ids = cell.GetPointIds() 
    for kId in range(len(v)): 
     Ids.SetId(kId,int(v[kId])) 
    cells.InsertNextCell(cell) 
f.close() 

pd.SetPoints(points) 
pd.SetPolys(cells) 
pd.GetPointData().AddArray(stress) 
pd.GetPointData().AddArray(connectivity) 

writer = vtk.vtkXMLPolyDataWriter() 
writer.SetFileName('Example-2.vtp') 
writer.SetInputData(pd) 

writer.Write() 

それともあなたは、CSVファイルにプログラマブルフィルタを使用することができます(see here)。この方法では、ノードとフェースのデータを別々のオブジェクトにどのように送るかわかりません。

+0

あなたのソリューションをありがとうございますそれはほとんど私の問題を解決します。私はvtpファイルを生成することができましたが、Paraviewではモデルが奇妙に見えます。私のCSVファイルにいくつかの問題があるか、私が理解できないことがあります。 csv配列には、モデルを作成するために必要ではないと思った「接続性」列もあります。それは問題の一部になる可能性がありますか?実際の例csvとcgnsをどのように共有してもうれしいです – Klabbedi

+0

あなたの顔のポイント(1,2,3)が同一直線上にあるので、モデルが変わっているかもしれませんか?また、私は接続性が与えられているという印象を受けました – mululu

+0

私はいくつかのサンプルファイルへのリンクで質問を更新しました。何か考えてください? – Klabbedi

関連する問題