Big Reactors

Big Reactors

11M Downloads

Excess Coolant/Cooling Blocks causes extra heat

NullMagic opened this issue ยท 1 comments

commented

Alright, currently we're on build 3.2a for our server, so this may no longer be applicable, however I've been doing some experimentation with reactors and I've found a couple of things that I'm not sure are supposed to work this way.

Chief among these is the way that Coolant/Blocks are being handled. I've been Testing with Tartarite, Diamond, and Resonant Ender. To begin with the Resonant Ender is actually proving to be a worse coolant than Diamond, I'm not sure how or why, but whenever I use it the core temp always ends up higher than the case temp where with the Tartarite and Diamond (which seem to have equal cooling properties) the case temp is usually slightly higher than the core temp (which, as I understand it is the ideal as case temp determines power output and core temp determines fuel burn rate). On top of this I've encountered what I can only think is a bug. It appears that the more rods that touch a block/coolant the more effectively that coolant works, however the opposite is also true, in that if only one rod is touching said block/coolant the core temp actually goes UP rather than decreasing.

For instance, if I Place four rods in a cross pattern, and fill the center with Tartarite, and then use Tartarite at each corner, I see a good amount of cooling, however if I then place Tartarite on the outside (so that it touches only one rod) the temp of the core actually increases slightly, as if I was insulating the rod instead of cooling it. This means that for a cooler reactor any type of liquid is useless, as it will spread when it hits the bottom and that will mean a higher core temp.

The next interesting thing I encountered is reactor height vs reactor width. To put it simply, the shorter your reactor the better it cools, while this does decrease maximum power output that can be fixed by simply making the reactor wider.

Currently my experimentation has lead me to a reactor design that produces just over 1.5 million RF/tic (when running at full capacity) with a Radiation of around 600% and a Core temp of 1070 C, while the target temp may be under 1000 C this is sufficiently close so as not to worry me about the slight loss in power produced. That said I never run it at full capacity because I don't need that much power, which means it's temp is usually around 400 C.

http://img10.imagefra.me/i558/crystaldragon/2v03_768_u83eo.png

The above picture is of the reactor in question, it's a 49 x 49 x 3 reactor, with 484 rods.

http://img15.imagefra.me/i758/crystaldragon/2v03_0e1_u83eo.png

As you can see above the Tartarite doesn't ever touch anything less than at least Two Rods at a time, the liquid in the "negative spaces" (spaces that have no adjoining rod but may touch coolant) is IC2 Coolant, funnily enough as long as it doesn't touch any rod at all it doesn't have any heating or cooling properties.

TL;DR summary:

In summary, the way that coolant is handled in the reactor is confusing at best, the more rods a coolant touches the more it cools (when logic would dictate that the coolant would quickly reach it's limit and start to distribute heat back to the rods as their combined heat would make it hotter than the rods it touches), while touching only one rod causes an increase in temperature, filling "negative spaces" has no effect at all when logic indicates it should allow for greater cooling, and Resonant Ender is actually proving to be a pretty crappy coolant, while Tartarite (from metallurgy) is proving to be only as adequate as Diamond despite being far harder to obtain (especially if any mod such as Magic Crops is present).

in addition wide, short reactors provide superior cooling than tall square reactors (not sure this is a bug, but I feel it should be pointed out).

Thank you for taking the time to read this, and I hope to see many more updates in the future. Keep up the good work (we love this mod!).

commented

Heat transfer works on a per-face basis. Instead of thinking of each block as having its own temperature, think of each block as an interface between two heat pools: the core, and the casing.

Heat transfer works by summing the unit heat transfer rate of each face around a fuel rod (cardinal directions only), which is determined by the material immediately adjacent to that fuel rod. That nominal transfer rate is then adjusted based on the actual heat difference.

If you want to look at the actual heat conductivity values for liquids and solids, they're in BigReactors.java, starting here: https://github.com/erogenousbeef/BigReactors/blob/master/erogenousbeef/bigreactors/common/BigReactors.java#L783

The heat conductivity is the final value in the function call, with most drawn from constants defined here: https://github.com/erogenousbeef/BigReactors/blob/master/erogenousbeef/bigreactors/api/IHeatEntity.java

Everything you've stated sounds like intentional behavior. There's other factors at work for casing heat, such as radiation absorption. Those values are also present in the above BigReactors.java lines.

Blocks like resonant ender are highly efficient at converting radiation into additional casing heat, and higher casing heats of course lead to higher core heats. You may need to increase active coolant flow or reactor size, without increasing the number of fuel rods, in order to improve your design.

Glad you're enjoying the mod.