9rnsr / FlexID

内部被ばく線量評価コードFlexID (Flexible code for Internal Dosimetry)
MIT License
1 stars 0 forks source link

収束計算の終了判定処理における問題 #22

Closed 9rnsr closed 1 month ago

9rnsr commented 1 month ago

https://github.com/9rnsr/FlexID/blob/2906e215b691d463bc77100a20c677e5fe640b22/FlexID.Calc/MainRoutine_EIR.cs#L361-L371

todoコメントがある行のcontinueによって、Act.rNow[o.Index].end == 0となる場合、つまりendが計算限界の下限閾値を超えてゼロ設定された場合に、s1およびs2を確認しないまま当該コンパートメントが収束済みであると誤判定してしまう。

なお、endが下限を越えてゼロになっている状態ではiniaveもゼロかそれに近い値である可能性が高いため、誤判定がなくともすでに収束済みであるか、あるいは収束計算の回数が多少増える程度で計算結果への影響はほぼないと思われる。