これはコードの一部であり、実行するたびに(1つのelに対して)約5分かかります。実行時間を短縮するために以下の助けが必要
フィールド値の長さは1e6のオーダーです。私は複数の追加が時間を食べていると信じています、これのための代替手段がありますか?
PK2=[]
E_pl=[]
E_tot=[]
for k in range(103,109):
PK2_k=[]
E_pl_k=[]
E_tot_k=[]
b=frame.fieldOutputs['SDV'+str(k)]
fieldValues=b.values
for v in fieldValues:
PK2_k.append(v.data)
PK2.append(PK2_k)
b=frame.fieldOutputs['SDV'+str(k+6)]
fieldValues=b.values
for v in fieldValues:
E_tot_k.append(v.data)
E_tot.append(E_tot_k)
b=frame.fieldOutputs['SDV'+str(k+12)]
fieldValues=b.values
for v in fieldValues:
E_pl_k.append(v.data)
E_pl.append(E_pl_k)
t3=time.time()
print stepName,"All PK,E terms written",t3-at,"Sec"
PK2=np.array(PK2)
PK2=np.transpose(PK2)
E_tot=np.array(E_tot)
E_tot=np.transpose(E_tot)
E_pl=np.array(E_pl)
E_pl=np.transpose(E_pl)
ありがとうございました!
'frames'は何ですか?私たちが実行できる完全な作業プログラムを見せてくれれば非常に便利です。 –
このデータはどのように生成されていますか?あなたがそれを変えることができるなら、あなたはかなりのスピードの改善を見るかもしれません。 'frames'データ構造体はあなたが変更できるものですか? –
Abaqusとして知られている他の標準的な商用ソフトウェアからデータが問い合わせされます。私は構造を変更することはできないと思う。ありがとう! – Mechanician