私は1つの部品のみからなるアセンブリを持っています。私は、Python内の全アセンブリ/パートのすべてのストレス・コンポネントの合計を取得しようとしています。 私の現在の方法の問題は、各要素のストレスを合計するのに時間がかかることです(下のコードを参照)。レポート・ファイルには1秒以内に合計が表示されるため、odbファイルを介してこれらの値にアクセスするには、より良い方法が必要です。Abaqus各応力成分の合計
ありがとうございます!
odb = session.openOdb(name='C:/temp/Job-1.odb')
step_1 = odb.steps['Step-1']
stress_1=step_1.frames[-1].fieldOutputs['S']
#Step-1
sum_Sxx_1=sum_Syy_1=sum_Szz_1=0
for el in range(numElemente):
Stress=stress_1.getSubset(region=Instance.elements[el],position=CENTROID, elementType='C3D8R').values
sum_Sxx_1 = sum_Sxx_1 + Stress[0].data[0]
sum_Syy_1 = sum_Syy_1 + Stress[0].data[1]
sum_Szz_1 = sum_Szz_1 + Stress[0].data[2]
統合ポイントデータにすばやくアクセスできます。「stressdata = stress_1.values」、「stressdata [i] .data'」を参照してください。重心値を得るには余分な計算が必要で、必然的に遅いです。あなたの要素がすべて同じサイズでない限り、そのようにストレスを合計する意味はほとんどありません。 – agentp