hexagon logo

ユーザーサブルーチンFilm内で計算した熱伝達率を、取得する方法を教えてください

お世話になります。吉田と申します。
 
伝熱物体中の2点の温度データから、負荷されている熱流束を推定するため収束計算を実施しています。
その中で、ユーザーサブルーチンFilmを用いて物体温度等から熱伝達率を逐一計算させています。
 
計算途中で使用している熱伝達率を取得したく、サブルーチンfilm内でwrite文を使用し熱伝達率h(1)を書き出しました。
しかしfilm内でwrite文を用いて書き出しを行うと、同時刻中に2回に書き出されており、しかもそれらの値が異なる場合があります。
(値が一致するかは、収束判定の設定に依存していそうに思えます。収束しないため、判定をゆるくした時に値の差異に気づきました)
 
どのようにすれば熱伝達率を得られるでしょうか。
film自体が書き出しを想定していない事に起因しているのでしょうか。熱伝達率をアウトプットするために用いるべきサブルーチンをご教授いただけないでしょうか。
もしくは2重に書き出されたどちらの値が正しいのでしょうか。
 
何卒アドバイス頂ければ幸いに存じます。
 
 
#サブルーチンの一部抜粋
subroutine film(h,tinf,ts,n,time)
implicit real*8 (a-h,o-z)
dimension h(2),n(7),ts(6)
 
write(501,103)'time:',time,' el:',n(1),' int.point:'
&,n(3),' type:',n(2)
write(501,104)'heat transfer coefficient[]',h(1)
103  format(a,1pe12.3,a,i3,a,i3,a,i3)
104  format(a,f20.10)
 
return
end
 
 
#fort.501の中身抜粋
 
time:  3.600E+03 el: 56 int.point: 3 type: 1
heat transfer coefficient[]        0.0619825460
(((省略)))
time:  3.600E+03 el: 56 int.point: 3 type: 1
heat transfer coefficient[]        0.0619834438
Parents Reply Children
No Data