Jump to content

[1.12.x] SystemHeat - a replacement for the CoreHeat system (September 1)


Nertea

Recommended Posts

3 hours ago, Nertea said:

Can I assume you mean consume rather than generate electricity?

Can you give me a test case? I tested a quick Kerbopower with the AFTER engines (both ~40 Ec/s ratings) and things seemed to behave correctly, if the engine was throttled to ~75% the reactor produced 30 Ec. 

Not OP, but my assumption was that that meant nuclear thermal engines that also generate electricity, like the Neptune or Eel. They did link a fission engine module as a suspected culprit, and those are parts that have all three things mentioned in one (engine, reactor, electricity generation)

Link to comment
Share on other sites

8 hours ago, Nertea said:

Can I assume you mean consume rather than generate electricity?

Can you give me a test case? I tested a quick Kerbopower with the AFTER engines (both ~40 Ec/s ratings) and things seemed to behave correctly, if the engine was throttled to ~75% the reactor produced 30 Ec.

Sorry, I mean the nuclear thermal engines that generate electricity, from Kerbal Atomics.

An engine that doesn't generate electricity (stock LV-N, or the Stubber, for example): when activated, the reactor is set to the minimum setting, and the reactor power level then scales with propellant flow (i.e. throttle)

However, for one of the trimodal engines that also do electricity generation, when activated they are set to 100%, regardless of the fact that the throttle is at 0 and the electricity generation maxes out at 5% reactor power, so they overheat very quickly (unless I use manual reactor control, which works but is awkward for multi-engine clusters)

Link to comment
Share on other sites

more explanation:
Stubber here has what I think is the correct behavior.
1) engine unstaged, reactor off, throttle at zero, no heat generation:
https://imgur.com/rfAJUAZ

2) hit the spacebar to activate the engine, it's generating only 75kw of waste heat because the reactor is at minimum power, throttle still zero:
https://imgur.com/hG9dFeo

3) throttle up, we have more power but also exhaust cooling, power scales with throttle level (here 66%)
https://imgur.com/CjWpuzk

 

However, Neptune (and any other nuclear engine that also does electric generation):

1) engine unstaged, reactor off, throttle zero, same as before:
https://imgur.com/ouGAscs

2) stage engine, it generates 2000kw of heat! because the reactor is at full power
https://imgur.com/Ow2Oh2Shttps://imgur.com/Ow2Oh2Shttps://imgur.com/Ow2Oh2S

3) throttle to 66%, exhaust cooling is 1280kw, but reactor still generating 2000kw because it's at full power
https://imgur.com/8JXKyT7

Link to comment
Share on other sites

Shouldn't the ISP of the engine rely on the core temperature, rather than the throttle? Ive noticed that if Im at anything less than full throttle, my ISP is limited even if the reactor has fully 'caught up' to my throttle position and the core temp is where it should be. I like that I need to adjust the throttle slowly so I don't quench the reactor cold or burn it up, but it doesn't feel right to be getting half ISP at lower throttle/thrust limiter. (At least, I don't think that's how it works, and definitely not with any other engines in KSP.)

Link to comment
Share on other sites

On 5/22/2021 at 2:11 PM, toric5 said:

Shouldn't the ISP of the engine rely on the core temperature, rather than the throttle? Ive noticed that if Im at anything less than full throttle, my ISP is limited even if the reactor has fully 'caught up' to my throttle position and the core temp is where it should be. I like that I need to adjust the throttle slowly so I don't quench the reactor cold or burn it up, but it doesn't feel right to be getting half ISP at lower throttle/thrust limiter. (At least, I don't think that's how it works, and definitely not with any other engines in KSP.)

the nuclear engines are more effiient at higher tempatures. also, the propellent acts as a coolant. most of the engines at full throttle need no heat management. you need to let the core maintain a stable temputure in order to have full efficiency.



now time to ask my own question. I am using a Hermes Fission Reactor and eight of the stock large radiators.

unknown.png?width=1191&height=670

What are those red things?

unknown.png

Also, what is goin on here?

Link to comment
Share on other sites

17 hours ago, RedRoyal25 said:

the nuclear engines are more effiient at higher tempatures. also, the propellent acts as a coolant. most of the engines at full throttle need no heat management. you need to let the core maintain a stable temputure in order to have full efficiency.

just tested that, and the ISP definitly depends on the reactor power setting, rather than the reatctors core temp.

heres it at full throttle, I let the temp stabilize.

L48urOp.png

and at roughly half throttle, same reactor temp.

BelwWNi.png

 

I also messed around with manual reactor control a bit, and confirmed that the ISP indeed depended on the reactor power setting. I put some radiators on to absorb the waste heat, and set the throttle to a low setting, and messed with the reactor power setting.

At full power, full ISP was achived.

w1iBlcn.png

at half power, you get roughtly half ISP. Note that the temperature is roughly constant.

duhFGGA.png

 

@Nertea, is this intended behavor? I like the slow response of the reactor W.R.T. thrust, and I think the mechanic could be really fun if fleshed out. Think of it this way: If you want to save mass by forgoing radiators (and its significant savings!), you need to be gentle with the throttle. Throttle up to rapidly and you quench your engine, bringing the temperature crashing down and ruining your ISP until the reactor powers up and the thermal mass of the reactor heats back up. Throttle down too quickly, and, as you have forgone radiators, the reactor cant SCRAM fast enough, and you severely overheat your core, possibly stranding you with a broken engine. On the other hand, you can take a big hit to Dv and/or TWR by packing enough radiators and getting that instant throttle response needed for precision maneuvers and landing.

 

The only thing that feels out of place with the current system is the ISP depending on reactor power, not core (and therefore presumably propellant) temperature, meaning that half-throttle gets you half-ISP...

Link to comment
Share on other sites

1 hour ago, toric5 said:

just tested that, and the ISP definitly depends on the reactor power setting, rather than the reatctors core temp.

heres it at full throttle, I let the temp stabilize.

L48urOp.png

and at roughly half throttle, same reactor temp.

BelwWNi.png

 

I also messed around with manual reactor control a bit, and confirmed that the ISP indeed depended on the reactor power setting. I put some radiators on to absorb the waste heat, and set the throttle to a low setting, and messed with the reactor power setting.

At full power, full ISP was achived.

w1iBlcn.png

at half power, you get roughtly half ISP. Note that the temperature is roughly constant.

duhFGGA.png

 

@Nertea, is this intended behavor? I like the slow response of the reactor W.R.T. thrust, and I think the mechanic could be really fun if fleshed out. Think of it this way: If you want to save mass by forgoing radiators (and its significant savings!), you need to be gentle with the throttle. Throttle up to rapidly and you quench your engine, bringing the temperature crashing down and ruining your ISP until the reactor powers up and the thermal mass of the reactor heats back up. Throttle down too quickly, and, as you have forgone radiators, the reactor cant SCRAM fast enough, and you severely overheat your core, possibly stranding you with a broken engine. On the other hand, you can take a big hit to Dv and/or TWR by packing enough radiators and getting that instant throttle response needed for precision maneuvers and landing.

 

The only thing that feels out of place with the current system is the ISP depending on reactor power, not core (and therefore presumably propellant) temperature, meaning that half-throttle gets you half-ISP...

My thermodynamics are pretty rusty, but I think that's correct behavior. The reactor power setting indicates how much energy over time (power) it is generating that can be transferred to the propellant to increase ISP. The core temp is just an instantaneous measure of energy in the reactor. We only care about it because we want it at a certain point to safely and efficiently run the reactor. 

Link to comment
Share on other sites

2 hours ago, toric5 said:

just tested that, and the ISP definitly depends on the reactor power setting, rather than the reatctors core temp.

heres it at full throttle, I let the temp stabilize.

L48urOp.png

and at roughly half throttle, same reactor temp.

BelwWNi.png

 

I also messed around with manual reactor control a bit, and confirmed that the ISP indeed depended on the reactor power setting. I put some radiators on to absorb the waste heat, and set the throttle to a low setting, and messed with the reactor power setting.

At full power, full ISP was achived.

w1iBlcn.png

at half power, you get roughtly half ISP. Note that the temperature is roughly constant.

duhFGGA.png

 

@Nertea, is this intended behavor? I like the slow response of the reactor W.R.T. thrust, and I think the mechanic could be really fun if fleshed out. Think of it this way: If you want to save mass by forgoing radiators (and its significant savings!), you need to be gentle with the throttle. Throttle up to rapidly and you quench your engine, bringing the temperature crashing down and ruining your ISP until the reactor powers up and the thermal mass of the reactor heats back up. Throttle down too quickly, and, as you have forgone radiators, the reactor cant SCRAM fast enough, and you severely overheat your core, possibly stranding you with a broken engine. On the other hand, you can take a big hit to Dv and/or TWR by packing enough radiators and getting that instant throttle response needed for precision maneuvers and landing.

 

The only thing that feels out of place with the current system is the ISP depending on reactor power, not core (and therefore presumably propellant) temperature, meaning that half-throttle gets you half-ISP...

if I understand you correctly, you would also have to connect reactor power setting to throttle, correct?

 

 

36 minutes ago, TBenz said:

My thermodynamics are pretty rusty, but I think that's correct behavior. The reactor power setting indicates how much energy over time (power) it is generating that can be transferred to the propellant to increase ISP. The core temp is just an instantaneous measure of energy in the reactor. We only care about it because we want it at a certain point to safely and efficiently run the reactor. 

that would be the case if in a nuclear engine the reactor power is converted diectly into thrust, but the whay it actually works is by heating up the propellent, and think the trust is from an increase in pressure.

20 hours ago, RedRoyal25 said:

the nuclear engines are more effiient at higher tempatures. also, the propellent acts as a coolant. most of the engines at full throttle need no heat management. you need to let the core maintain a stable temputure in order to have full efficiency.



now time to ask my own question. I am using a Hermes Fission Reactor and eight of the stock large radiators.

unknown.png?width=1191&height=670

What are those red things?

unknown.png

Also, what is goin on here?

and can anyone please explain to me the red circles and how to fix the SH readout?

Link to comment
Share on other sites

58 minutes ago, TBenz said:

My thermodynamics are pretty rusty, but I think that's correct behavior. The reactor power setting indicates how much energy over time (power) it is generating that can be transferred to the propellant to increase ISP. The core temp is just an instantaneous measure of energy in the reactor. We only care about it because we want it at a certain point to safely and efficiently run the reactor. 

reactor power and mass flow determine thrust, yes, but the core temp should be what determines ISP.

http://www.projectrho.com/public_html/rocket/enginelist2.php#id--Nuclear_Thermal

Link to comment
Share on other sites

2 hours ago, toric5 said:

reactor power and mass flow determine thrust, yes, but the core temp should be what determines ISP.

http://www.projectrho.com/public_html/rocket/enginelist2.php#id--Nuclear_Thermal

Thinking further, I believe you are correct.

My mistake was in assuming that the reactor could "under heat" the propellant should it not be outputting enough energy to heat it all and maintain core temp, but now that I consider it, I'm not sure that is possible in a practical NTR.

Link to comment
Share on other sites

On 5/24/2021 at 4:41 PM, RedRoyal25 said:

now time to ask my own question. I am using a Hermes Fission Reactor and eight of the stock large radiators.

unknown.png?width=1191&height=670

What are those red things?

From the wiki (https://github.com/post-kerbin-mining-corporation/SystemHeat/wiki/Building-Cooling-Loops):

Uh oh. I placed the reactor and these red alerts have appeared! These indicate that the part is currently overheating.

Link to comment
Share on other sites

On 5/25/2021 at 1:55 PM, toric5 said:

reactor power and mass flow determine thrust, yes, but the core temp should be what determines ISP.

http://www.projectrho.com/public_html/rocket/enginelist2.php#id--Nuclear_Thermal

That's not strictly true. Core temp depends on reactor power and mass flow, because to get half thrust, you would cut back thrust, but would need to reduce reaction rate to not melt the core. 

However, I get what you are saying. It's a thorny problem though to not completely make the player manage the reactor throttle too. I will think about it. 

On 5/24/2021 at 4:41 PM, RedRoyal25 said:

now time to ask my own question. I am using a Hermes Fission Reactor and eight of the stock large radiators.

 

You are generating 6500 kW and rejecting 1600 kW. The simulation is warning you that this is very much not enough and your reactor will melt down rapidly when you turn it on.

 

Link to comment
Share on other sites

5 hours ago, Nertea said:

That's not strictly true. Core temp depends on reactor power and mass flow, because to get half thrust, you would cut back thrust, but would need to reduce reaction rate to not melt the core. 

However, I get what you are saying. It's a thorny problem though to not completely make the player manage the reactor throttle too. I will think about it.

sorry, thats more or less what I meant, wasnt communicated clearly.

 

So, having not worked with unity/ksp modding at all (my small background is in scientific computing, not game dev), take what Im saying with a massive pile of salt...

but what if the ISP depended on the core temp, core temp was regulated by system heat the normal way (via reactor power and radiator+exhaust cooling, though some engines might have a fraction of waste heat that can only be cooled by radiators, not exhaust), and the thrust was dependent on ISP and mass flow (all via the equations we already have/can find on atomic rockets.) Then we have a PID (or other lightweight control algo, I've only hacked around with controls) manage the reactor power to maintain the rated/desired reactor temp by adjusting the reactor power? Obv. the player could manually control this for situations where they have opted to use radiators for a faster throttle response, but the 'automatic control' would be determined by  the above control system. I think this could lead to interesting game play. The player might even choose to manually control their reactors dangerously hot to get some extra thrust and ISP, at the expense of their reactors core health.

 

again, I have no clue if you've already thought of this and its infesable to implement, and unfortunately I cant be much help outside psudocode and configs, as unity .NET seems an absolute pain of a dev environment to set up on linux, and I have yet to do it successfully.

Link to comment
Share on other sites

fair point. throttle would control propellant flow, meaning thrust would stabilize at the throttle level under automatic control but would take a while to respond to throttle changes, and would be at the proper throttle level under manual as long as the proper temp was maintained, but you might be right, maybe too decoupled.

 

out of curiosity, how is thrust calced now? ive mostly been concerned with ISP, but  is thrust not decoupled from throttle currently, due to the reactor taking time to increase power?

Link to comment
Share on other sites

6 minutes ago, RedRoyal25 said:

so if a mod does not have native System Heat support, is there a way to add a MM patch to make it work?

yup. take a look at the extras folder for examples.

Link to comment
Share on other sites

On 5/27/2021 at 5:42 PM, toric5 said:

yup. take a look at the extras folder for examples.

I use CKAN, and i can't find said files nor can i find them when i look in the folder on github? I'm sorry im not very experienced at this and idk what im looking for

Link to comment
Share on other sites

10 hours ago, RedRoyal25 said:

I use CKAN, and i can't find said files nor can i find them when i look in the folder on github? I'm sorry im not very experienced at this and idk what im looking for

CKAN doesn't give you the Extras folder like you get downloading the release from GitHub. However, if you search for "System Heat" it will give you the option to install each of the configs found in the Extras individually, like "System Heat - Nuclear Engine Configuration" or "System Heat - Nuclear Reactor Configuration," etc.  So you can install those, or just download the .zip and look at the contents.

Edited by Zelda
Link to comment
Share on other sites

 

On 5/27/2021 at 9:34 AM, toric5 said:

fair point. throttle would control propellant flow, meaning thrust would stabilize at the throttle level under automatic control but would take a while to respond to throttle changes, and would be at the proper throttle level under manual as long as the proper temp was maintained, but you might be right, maybe too decoupled.

 

out of curiosity, how is thrust calced now? ive mostly been concerned with ISP, but  is thrust not decoupled from throttle currently, due to the reactor taking time to increase power?

I thought about this a bit and I can't think of a good reason not to just pin the ISP to reactor power/exhaust cooling, so you get ideal Isp anytime (with a bit of a lag). In practice because reactor power change is really fast you almost always have ideal Isp though.

Link to comment
Share on other sites

3 minutes ago, Juba said:

I guess it does not work with TweakScale ?

 

I put 4 drills scaled at 75% but still each produce 60 kW according to SH overlay.

Nope. 

At the moment the temperature generation does not scale. That would require a patch to get them to interface and might require some complex math because size does not correlate linearly with heat production.

Link to comment
Share on other sites

On 6/2/2021 at 9:04 PM, Nertea said:

 

I thought about this a bit and I can't think of a good reason not to just pin the ISP to reactor power/exhaust cooling, so you get ideal Isp anytime (with a bit of a lag). In practice because reactor power change is really fast you almost always have ideal Isp though.

isnt temp directly proportional reactor power/exaust cooling? (assuming heat capacity is insignificant...)

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...