KSP-RO / RealFuels

Modular fuel tanks and engines, with real fuels and realistic performance.
55 stars 66 forks source link

Logspam of: CalculateTankBoiloff found NaN #329

Closed JebsSY closed 1 year ago

JebsSY commented 1 year ago

Hello together,

on a fresh CKAN KSP 1.12.5 RP-1 Express-Install (latest v1 and also latest v2) my LEM starts log spamming "[ERR 11:05:40.007] RF: CalculateTankBoiloff found NaN part.temperature on ROC-LEMAscentBDB (Part)" after the first time warp and return from time warp when using MLI.

https://github.com/KSP-RO/RealFuels/blob/8da9a8012897b7cb442066704563873b5f73be62/Source/Tanks/ModuleFuelTanksRF.cs#L216C38-L216C68

I was debugging the issue and found a easy and reliable way to reproduce:

After spawning check thermal debug info. -Cond flux is NaN kW. -go to physicless timewarp 4 clicks ore more -stop timewarp -Now Cond Flux is 0.0kW but now internal Temp is NaN and the log spam starts.

So, basically, 4 conditions need to met for this bug:

I assume internal temp get's NaN because it is somehow calculated from the cond flux, which is NaN after spawn.

So the big question is, why is cond flux NaN after spawn when there's water+MLI+some parts attached?! That I wasn't able to figure out, yet.

BR Jebs_SY

KSP1 KSP2

Starwaster commented 1 year ago

There used to be code that guards against NaN temperatures, and problems like this tended to sort themselves out or at least be prevented from contaminating part temperatures. Unfortunately, that safeguard code seems to have been excised from the current code base.

NathanKell commented 1 year ago

KSP itself should be guarding against NaN conductive fluxes. Does this go away without MLI?

JebsSY commented 1 year ago

Hello Nathan, yes, when setting MLI to 0, the problem does not occur. My workaround for now is to comment out vsp and conductivity values for water and wastewater in RealFuels\Resources\ResourceHsps.cfg BR Jebs_SY