9rnsr / FlexID

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

excおよびmixの計算でini,endをaveと別建てで計算している #32

Open 9rnsr opened 4 months ago

9rnsr commented 4 months ago

https://github.com/9rnsr/FlexID/blob/ff6601e022d74d076bd4b1e8443e627263fffe7a/FlexID.Calc/SubRoutine.cs#L97-L100

https://github.com/9rnsr/FlexID/blob/ff6601e022d74d076bd4b1e8443e627263fffe7a/FlexID.Calc/SubRoutine.cs#L124-L127

FlexIDでは、コンパートメント間の放射能の移動については計算時間メッシュ内で一定であるものとして計算するため、移動元の平均放射能のみが重要なはずである。蓄積コンパートメントはこの例外であり、計算時間メッシュ内での崩壊定数を考慮した減衰を計算するために初期放射能iniと末期放射能endの計算が行われる。

このことを念頭に上に示す実装箇所を見ると、流入する放射能についてiniとendをaveとは別建てで計算しており、何か間違ったことをしているように見える。

9rnsr commented 4 months ago

いや、間違ってはないのか? 例えばn個のacc → mix という経路を考えたとき、mixに流入する放射能のiniとendは、n個のaccのiniとaveに連動するわけだから、現行のiniとendの計算方法自体は間違っているとまでは言い切れない。

mixがexcになってもこれは同じだ。

9rnsr commented 4 months ago

もう少し考えたが、少なくともmixについては、iniとaveはゼロになるべきだと考えられる。以下に自分の考えを示す。