Jump to content

[1.12.x] SystemHeat - a replacement for the CoreHeat system (November 20)


Nertea

Recommended Posts

Upcoming changes to NTR modeling:

  •  NTRs do not fully participate in the thermal system unless sufficiently high power that they have waste heat (GCRs, etc) or power-generating (trimodal)
  •  NTRs have sticky engine throttles similar to jet engines that approximate the need to cool the reactor during startup and shutdown. These are similar to the current timings (~5-10s for 0-100, 2.5-5s for 100-0)
  • Non-trimodal NTR reactors have less user features than reactors:
    • No minimum throttle
    • Fuel burn rate directly tied to throttle, fuel loads generally reduced to provide meaningful gameplay 
    • It is not possible to accidentally damage the reactor core
    • Hibernate/manual control are disabled as they are not needed
    • Core temp/life readouts preserved
  •  Higher power NTRs (gas core) generate simple extra heat when running similar to FFT engines and are balanced similarly
  •  Editor UI shows only things that need to be compensated for all NTRs, this is limited to waste heat from power generation heat and extra heat from powerful engines. 
Link to comment
Share on other sites

3 hours ago, Nertea said:

Upcoming changes to NTR modeling:

  •  NTRs do not fully participate in the thermal system unless sufficiently high power that they have waste heat (GCRs, etc) or power-generating (trimodal)
  •  NTRs have sticky engine throttles similar to jet engines that approximate the need to cool the reactor during startup and shutdown. These are similar to the current timings (~5-10s for 0-100, 2.5-5s for 100-0)
  • Non-trimodal NTR reactors have less user features than reactors:
    • No minimum throttle
    • Fuel burn rate directly tied to throttle, fuel loads generally reduced to provide meaningful gameplay 
    • It is not possible to accidentally damage the reactor core
    • Hibernate/manual control are disabled as they are not needed
    • Core temp/life readouts preserved
  •  Higher power NTRs (gas core) generate simple extra heat when running similar to FFT engines and are balanced similarly
  •  Editor UI shows only things that need to be compensated for all NTRs, this is limited to waste heat from power generation heat and extra heat from powerful engines. 

Sounds great, I don't see any issues with this system. At first I thought that the sticky throttle might cause problems when making very precise burns, but then realized going between say 0% and 5% (as would be done during a precise burn) would probably be very quick.

Link to comment
Share on other sites

1 hour ago, coyotesfrontier said:

Sounds great, I don't see any issues with this system. At first I thought that the sticky throttle might cause problems when making very precise burns, but then realized going between say 0% and 5% (as would be done during a precise burn) would probably be very quick.

Another option is to bring some small chemical engines or suitable RCS for making fine adjustments. 

Link to comment
Share on other sites

Some other changes coming with 0.5.0:

  • Changing loops in flight: there is now nothing special about it, you can do it whenever you want. I've added some backend stuff to prevent/limit exploits
  • Increased simulator stability: the simulator now works more logically and better, particularly at high time warps and when high fluxes are involved
  • Radiator rotation toggles: deployable radiators can now be set in the editor to disallow rotation
  • Less buttons in Converter/Drill interfaces: Squad fixed something in 1.12 and I don't need the simulate button anymore
  • New ModuleSystemHeatBaseConverterAdapter: this should (in theory and somewhat tested) allow the conversion of anything that derives from BaseConverter to use SH, like MKS, etc...
  • New SystemHeatIonEngines extra: does what it sounds like it does
Link to comment
Share on other sites

2 hours ago, Nertea said:

Less buttons in Converter/Drill interfaces: Squad fixed something in 1.12 and I don't need the simulate button anymore

Will it still be backwards compatible to 1.11.2 for those who hesitate to upgrade to 1.12 (due to the actual bugs in vanilla ksp 1.12.1?), or should one stick to the actual version of SH until upgrading to 1.12?

Edited by Rakete
Link to comment
Share on other sites

2 hours ago, Nertea said:

New ModuleSystemHeatBaseConverterAdapter: this should (in theory and somewhat tested) allow the conversion of anything that derives

Can you explain a bit more, what the new module will do?

Link to comment
Share on other sites

17 hours ago, Rakete said:
19 hours ago, Nertea said:

anymore

Will it still be backwards compatible to 1.11.2 for those who hesitate to upgrade to 1.12 (due to the actual bugs in vanilla ksp 1.12.1?), or should one stick to the actual version of SH until upgrading to 1.12?

I can't be certain but it should more or less work (emphasis on less though) However I always target the newest KSP version preferentially. 

16 hours ago, Rakete said:

Can you explain a bit more, what the new module will do?

It is not very relevant for users but will allow people to write patches that integrate SH functionality to modules that are derived from the stock BaseConverter.

Link to comment
Share on other sites

7 hours ago, Nertea said:

However I always target the newest KSP version preferentially. 

Perfectly alright. Any other strategy would not make sense... 

I think, i should wait to install the new upcoming SH version until I upgrade to 1.12.x as soon as the showstopper bugs in Ksp itself are fixed. (Currently not play worthy, as all my stations wobbled apart, due to bugs in the base game... so i went back to 1.11.2 for a while. Squad has to fix the docking mechanisms first) this may take a while...

 

7 hours ago, Nertea said:

It is not very relevant for users

Alright. I thought there would be an ingame module and was curious. Checkmark.

Edited by Rakete
Link to comment
Share on other sites

15 hours ago, Nertea said:

It is not very relevant for users but will allow people to write patches that integrate SH functionality to modules that are derived from the stock BaseConverter.

Ok, that one sounds pretty awesome. At some point in the near future, I'm going to try my hand at writing a dll / mod for the temperature management side of ECLSS. I'd rather use SH than the stock heat mechanic, and this sounds like it would enable that.

Link to comment
Share on other sites

On 7/20/2021 at 9:49 AM, panarchist said:

Ok, that one sounds pretty awesome. At some point in the near future, I'm going to try my hand at writing a dll / mod for the temperature management side of ECLSS. I'd rather use SH than the stock heat mechanic, and this sounds like it would enable that.

Mmm, you could do that already. This is more for taking mods that don't have anything to do with SH (specifically targeted at MKS) and allow them to be adapted without touching the other mod's code at all. 

Link to comment
Share on other sites

Well I'm pretty close to being able to issue 0.5.0 now. There's certain to be issues but overall the NTR experience feels a lot better in today's builds. I'll do some more refinement and testing and barring major issues kick out a release tonight.

Link to comment
Share on other sites

37 minutes ago, Nertea said:

Well I'm pretty close to being able to issue 0.5.0 now. There's certain to be issues but overall the NTR experience feels a lot better in today's builds. I'll do some more refinement and testing and barring major issues kick out a release tonight.

What will have changed mechanics-wise, especially with the NTRs? ... 

Found the anwer on post #1 on this page. Ignore it. :-)

Edited by Rakete
Link to comment
Share on other sites

System Heat 0.5.0

  • Marked for KSP 1.12
  • Removed nuclear fuel container inventory item as it no longer has a purpose
  • NTRs:
    • Changed how NTRs work again
      • NTRs do not fully participate in the thermal system unless sufficiently high power that they have waste heat (GCRs, etc) or power-generating (trimodal)
      • NTRs have sticky engine throttles similar to jet engines that approximate the need to cool the reactor during startup and shutdown. These are similar to the current timings (~5-10s for 0-100, 2.5-5s for 100-0)
      • Higher power NTRs (gas core) generate simple extra heat when running similar to FFT engines and are balanced similarly
      • Editor UI shows only things that need to be compensated for all NTRs, this is limited to waste heat from power generation heat and extra heat from powerful engines.
      • Non-trimodal NTR reactors have less user features than reactors:
        • No minimum throttle
        • Fuel burn rate directly tied to throttle, fuel loads generally reduced to provide meaningful gameplay
        • It is not possible to accidentally damage the reactor core
        • Hibernate/manual control are disabled as they are not needed
        • Core temp/life readouts preserved
  • New Features
    • Heat loops can be changed in flight (somewhat experimental, needs testing)
    • Deployable radiators can now be set as tracking or non-tracking in the Editor
  • Balance:
    • Increased maximum temperature of Squad radiators to 400K, increased radiative capacity by 25%
  • QoL/Bugfixes:
    • Corrected the sign of Radiator Efficiency field in the Editor
    • Coolant tanks no longer contribute to nominal temperature calculations
    • Corrected presence of overheat icon on radiators in the overlay
    • Tuned radiator PAW fields
    • UI now shows radiator capacity increasing with temperature instead of a binary on/off display
    • Tuned loop simulator for additional stability in timewarp and situations with very high positive or negative fluxes
    • Removed ISRU, Drill 'Simulate Editor' buttons, can now piggyback off of stock buttons (stock fix with 1.12)
    • Corrected nuclear fuel transfer not working on non-english localizations
    • Screen message now emitted when fission reactor forces an engine shutdown for some reason
    • Additional fission reactor state change log messages for debugging
  • Developer
    • Added new ignoreTemperature field to ModuleSystemHeat, which causes the module to be ignored for the purposes of loop nominal temperatures (set to true on coolant tanks, radiators, etc)
    • Added ModuleSystemHeatAsteroidHarvester,
    • Added ModuleSystemHeatBaseConverterAdapter, a new module that can adapt anything derived from BaseConverter to SH
    • ModuleSystemHeatFissionReactor can now have allowHibernate and allowManualControl specified in config
  • Extras
    • Adjusted SystemHeatNuclearEngines extra to conform with changes above, plus:
      • Reduced Nerv fuel load to 10 units of EnrUranium, reduces total burn time from 8 days to 1.6 days
      • Reduced Cherenkov fuel load to 40 units of EnrUranium, reduces total burn time from 12 days to ~1.8 days
    • Added SystemHeatIonEngines extra: adds heat generation from ion engines related to the engine's efficiency
Link to comment
Share on other sites

2 hours ago, Nertea said:

Deployable radiators can now be set as tracking or non-tracking in the Editor

Has this influence on their cooling performance ? Or is it just a nice way let us build visually more pleasing crafts, as sometimes no tracking makes them more streamlined?

 

2 hours ago, Nertea said:

Coolant tanks no longer contribute to nominal temperature calculations

Also fixed for the heat exchanger, which has shown same behavior as reported?

 

 

Thanks for the update and your efforts. It's mindblowing how you as a single person are developping so many great mods, that turn KSP into a whole new game.

Link to comment
Share on other sites

What a cool mod, pun intended. I like the idea of managing heat with the loops and it has helped me add enough radiators to cool my engines properly. I think it is hard to figure out how to manage more than one loop if you exchange heat between them. I would love to see a part that you can use to add some logic into the loops. For example, I could use the part to set things up so if loop 0 gets above a certain amount of heat then it transfers heat to loop 1. You could also say do something like sending heat in loop 0 to the coolers on loop 1 if the total flux of loop 0 gets too high. In short, it would be very useful to be able to make loops that you use as extra cooling. Overall, this is an epic mod and I wish it were part of the base KSP2 game.

Link to comment
Share on other sites

8 hours ago, beez1717 said:

What a cool mod, pun intended. I like the idea of managing heat with the loops and it has helped me add enough radiators to cool my engines properly. I think it is hard to figure out how to manage more than one loop if you exchange heat between them. I would love to see a part that you can use to add some logic into the loops. For example, I could use the part to set things up so if loop 0 gets above a certain amount of heat then it transfers heat to loop 1. You could also say do something like sending heat in loop 0 to the coolers on loop 1 if the total flux of loop 0 gets too high. In short, it would be very useful to be able to make loops that you use as extra cooling. Overall, this is an epic mod and I wish it were part of the base KSP2 game.

You can do that by using the heat exchanger module. It shifts heat between loops and can be activated if you need it. But it can't be automatized. To my experience most of my cooling loops are on a rather static heat level (engines not considered). And even engines can (given that you have enough loop volume) be controlled by hand (activation of exchangers if needed). By the way - are the exchangers toggable bei Action groups?

Edited by Rakete
Link to comment
Share on other sites

@Nertea Been looking at installing the Extras. Not totally sure about the correct install path. I'll give SystemHeatConverters, as an example. Is that the folder to put into GameData or the contents of that folder? GameData/SystemHeatConverters/stuff Vs Gamedata/stuff. Hope the question is clear.

Link to comment
Share on other sites

2 hours ago, DirtyFace83 said:

@Nertea Been looking at installing the Extras. Not totally sure about the correct install path. I'll give SystemHeatConverters, as an example. Is that the folder to put into GameData or the contents of that folder? GameData/SystemHeatConverters/stuff Vs Gamedata/stuff. Hope the question is clear.

Because the extras are just .cfg files, it's fine to put them as GameData/SystemHeatConverters/stuff or GameData/SystemHeat/SystemHeatConverters/stuff . I wouldn't recommend putting the contents of SystemHeatConverters directly in GameData, since that will spread the files all over GameData/Squad, GameData/NearFutureElectrical, etc. It would still run, but updating would be messy and probably lead to conflicts.

Link to comment
Share on other sites

  • 2 weeks later...

@Nertea

Some KA-engines (Scylla, Poseidon, Neptune, Eel) show no static waste heat in the lefthandsided parts properties of the partslist. You have to look them up in the PAW.

But others nuclear engines do show the maximum waste heat (Deliverance, Liberator, Emancipator) in the part info box of the left hand sided part menue of the VAB. This heat variant scales by thrust.

Is this behavior in the part descripton intended, or got the  info about the static waste heat of the engine without thrust-heat-scaling just missing in the part description?

 

Tested with newest KA and SH versions in a KSP 1.11.2 install.

 

Apart from that: I love the KA-Engines and their implementation with SH. Great Job!

Unfortunately I can't get into my Github account, so please pick the issues up here at the moment, and handle them to your liking. Github's account verification mail doesn't get through to me somehow.

Edited by Rakete
Link to comment
Share on other sites

@NerteaAddendum:

I tested your fixes on target temperature of coolant tanks and the heat exchanger. Thank you, the issue with the tanks seems to be fixed.

 

I played around with the heat exchanger, to get to know the mechanics, but something is odd (You really hate me right now, do you ?! ;)): If I have a heat exchanger transfering heat from somewhere (here an acctive vulcan smelter) to a 750K reactor loop and match the exchangers output temperature to also 750K all is plausible, but it turns down the target temperature and the real temperature of the whole loop (from 750K to 287K (means defacto environmental temp.), as soon as I shut the exchanger down. So if it's not active anymore it should not contribute to the target temp of a loop, I would think, as it would only pass through the hot coolant and just be a coolant reservoir and not a temperature sink.

Think this might be a bug. :-) but a rather minor one, as it hits edge usecases.

Unfortunately github doesn't let me in right now... so... yeah...:confused: - Maybe someone else would be so kind to put it into github as issues?? Thanks in advance.

In this case here, all radiators belong to Loop 1:

CypfS21.png

 

Edited by Rakete
Link to comment
Share on other sites

@Nertea

And another odd thing: (Think, I'll win the award of nertea's most hated user :wink:)

Scylla and Coolant tanks are heat wise already glowing red (Stock KSP's heat indication (always have turned off KSP's heat gauges, but they are glowing red, esp. the tanks, which are additional highlighted by the stock heat indication system) but SystemHeat says all temps are nice in range (about 400K of 800K range). The setup consists of Scylla and two coolant tanks. Scylla runs on LOX-Augmented mode. So the engine seems to produce additional heat in KSPs old heat system (not core heat, ... the other heat type), even if it's bound to systemheat. Haven't tested with the other engines, since this is a snapshot from my main save while just playing (and not testing stuff :P).

 

As for testing: before taking this image two clydesdales were firing on the sides, but now have been decoupled. But the tanks still became hotter (more glowing red) even after decoupling of the clydesdales, so they should not be the reason. Also the SH-heat is very very slowly climbing. Drag can 't be the reason either since we are in space in the picture

RmcwNEH.png

Edited by Rakete
Link to comment
Share on other sites

55 minutes ago, Rakete said:

Scylla and Coolant tanks are heat wise already glowing red (Stock KSP's heat indication (always have turned off KSP's heat gauges, but they are glowing red, esp. the tanks, which are additional highlighted by the stock heat indication system) but SystemHeat says all temps are nice in range (about 400K of 800K range). The setup consists of Scylla and two coolant tanks. Scylla runs on LOX-Augmented mode. So the engine seems to produce additional heat in KSPs old heat system (not core heat, ... the other heat type), even if it's bound to systemheat. Haven't tested with the other engines, since this is a snapshot from my main save while just playing (and not testing stuff :P).

 

It's possible the MM patch that is supposed to turn stock heat off for both engine modes is only applying to the first one, which is not augmented. I'll check it out. 

Link to comment
Share on other sites

3 minutes ago, Nertea said:

It's possible the MM patch that is supposed to turn stock heat off for both engine modes is only applying to the first one, which is not augmented. I'll check it out. 

Thanks a lot. 

Info: I have not tested the other KA Engines for this behavior.  So they may have the same issue.  Don't know. :wink:

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...