数値が合わない原因は?

 投稿者:島村1243  投稿日:2015年 2月18日(水)13時01分28秒
  下記のプログラムは、周囲温度が年間を通じて変動する条件下での変圧器の熱寿命を計算するものです。
意図したロジックでは、寿命到達時間rtは30年以下になる筈だったのですが、rtの計算結果は

[計算結果]
1)寿命到達まで使用可能な実年数[年]= 30.0728310502283
                     同上の時間数[h]= 263438

となり、僅かですが30年を超えてしまいます。

For-Next間のプログラムロジックの何処に誤りが有るのかを知りたいのですが、お分かりになる方居られましたらご教示お願い致します。
なお、For-Next間の下式
LET dsumrt= drt/Life(rt)  !drtを寿命消耗時間[h]に換算
は誤っておりません。

LET Hangendo=8 !寿命半減則温度[deg]
LET Lifeyear=30 !95℃設計寿命[年]
LET b=LOG(2)/Hangendo
PRINT "巻線最高温度θmが95[℃]の設計寿命Y0[年]=";Lifeyear
PRINT "期待寿命Yの計算は『";Hangendo;"℃半減則』を適用"
PRINT "技術報告の基本式 Y=Y0×EXP{-b(θm-95)}"
PRINT "上式の係数b=";b
print
PRINT "[周囲温度変動条件]"
LET Ondoave=20
PRINT "年間平均温度θave[度]=";Ondoave
LET Am=15
PRINT "年間変動温度振幅A[deg]=";Am
LET Bm=5
PRINT "日間変動温度振幅B[deg]=";Bm
print
LET wyear=2*PI/365/24
LET wday=2*PI/24
DEF Ondo(t)=Ondoave+Am*SIN(wyear*t)+Bm*SIN(wday*t)
DEF Life(t)=EXP(-b*(Ondo(t)+55+15-95)) !実使用時間を寿命消耗時間に換算する関数
LET Lifehour=Lifeyear*365*24 !設計寿命年数[年]を時間[h]に換算
LET sumrt=0
LET drt=1   !微分実時間[h]
FOR i=1 TO 50*365*24/drt
   LET rt=i*drt  !運転実時刻
   LET dsumrt= drt/Life(rt)  !drtを寿命消耗時間[h]に換算
   LET sumrt=sumrt+dsumrt    !累積
   IF sumrt>Lifehour THEN !Lifetimeに達したらrtの進行を停止
      LET rt=rt-drt
      EXIT FOR
   END IF
NEXT i
PRINT "[計算結果]"
PRINT "1)寿命到達まで使用可能な実年数[年]=";rt/365/24
PRINT "                     同上の時間数[h]=";rt

!*** 等価周囲温度の計算 ****
LET ToukaOndo=LOG(Lifehour/rt)/b+95-55-15
PRINT "2)等価周囲温度[℃]=";ToukaOndo

END
 

Re: 数値が合わない原因は?

 投稿者:島村1243  投稿日:2015年 2月19日(木)17時03分53秒
  > No.3595[元記事へ]

> 意図したロジックでは、寿命到達時間rtは30年以下になる筈だったのですが、

寿命半減則の温度設定が8なら使用可能年数が30年を超えることはない、と思い込んでいたのが原因でした。掲示板を汚して申し訳ありません。
 

戻る