Jump to content

[Game Update] - 265438


Recommended Posts

3 minutes ago, Nemez said:

10 cycle

It looks like none of the heat is moving through the borders, just the edges interacting with nearby cells.
Funny enough it's the high heat capacity of abyssalite that is the problem with this. They really want to soak up all the nearby heat.
 

  • Like 1
Link to comment
Share on other sites

I'm pretty sure that the best, "most correct" way of "averaging" two heat transfer coefficients c1 and c2 for ONI purposes is:

c(average) = 1/(1/c1 + 1/c2) = c1*c2/(c1 + c2)

Edit: I was wrong by factor of two - it should probably be standard harmonic mean. See my later post:

 

Edited by Kasuha
  • Like 4
Link to comment
Share on other sites

1 hour ago, watermelen671 said:

What does this even mean?

...Does this mean I have to update my neat little critter sheet? I JUST FINISHED THAT!!! :wilson_cry:

It mean's that, for example: If a hatch lays a stone hatch egg, it should now look like a stone hatch egg instead of a hatch egg, and vice versa.

And no, you don't have too update the sheet.

Link to comment
Share on other sites

52 minutes ago, onebit said:

Average of 0 and 1.

Arithmetic: (0 + 1) / 2 = .5

Geometric: [(0+1) x (1 + 1)]^(1/2) - 1 = .41

Not much difference and higher computational cost.

@Nemez Double every wall.

The geometric mean is the square root of the product, so 0 and 1 would have a geometric average of 0. Abyssalite and anything else would be roughly sqrt(1e-5 * 1) or 0.003.

Link to comment
Share on other sites

20 minutes ago, Kasuha said:

I'm pretty sure that the best, "most correct" way of "averaging" two heat transfer coefficients c1 and c2 for ONI purposes is:

c(average) = 1/(1/c1 + 1/c2) = c1*c2/(c1 + c2)

Fourier's law for two bodies in contact (area = 1 = 1*1) ?

Link to comment
Share on other sites

31 minutes ago, Kasuha said:

I'm pretty sure that the best, "most correct" way of "averaging" two heat transfer coefficients c1 and c2 for ONI purposes is:

c(average) = 1/(1/c1 + 1/c2) = c1*c2/(c1 + c2)

This really is the best way to handle it. Since there's no square roots involved it should be mathematically simple for the game to calculate.

Technically the formula to determine the heat transfer through a pipe from the liquid to the surround atmosphere is U = 1/[(1/h1)+(dw/k)+(1/h2)] Where h1 and h2 are the heat transfer coefficients of the fluids, k is the conductivity of the pipe, and dw is the pipe's thickness.

Link to comment
Share on other sites

1 hour ago, Saturnus said:

Well, at least it was mentioned in the update notes. A very effective way to heat death the entire map quite fast I must say.

Guess we'll go back to the vacuum separated outer walled dwarven fortresses we made a year ago before abyssalite was a thing you could build stuff from. We have come full circle it seems.

Fortunately, Borg Cubes still work so we'll have to rely on those a lot more than before to have any chance of making a sustainable base, I guess.

"Fortunately" my arse... :D

What an incredibly silly change. So once a piece of the asteroid is revealed, it begins to average out in temperature. Genius.... :p

Looking forward to the incoming reverts for final release.

  • Like 3
Link to comment
Share on other sites

This averaging of heat coefficients does not make any sense physically or gameplay wise! Thermal conductivity is mathematically the same as electrical resistance. If you have a 1 ohm resistor in series with a 1,000,000 ohm resistor, you do not use the arithmetic average of 500,000! The resistance should be the sum of both!

Edited by QuantumPion
  • Like 1
Link to comment
Share on other sites

Actually the problem with using the standard equation for thermal resistance is that then materials wind up with much lower conductivity than normal. For instance a block of copper conducting heat to a block of copper would do so at 30 W/k rather than 60.

The more I look into it, the more I think the geometric mean will create values that "feel" right to people.

Of course, given that square roots are a bit more processor heavy than you'd want for something that is calculated for thousands of blocks a tick, it might be best to create a lookup table of material interface conductances.

  • Like 2
Link to comment
Share on other sites

19 minutes ago, regault said:

The more I look into it, the more I think the geometric mean will create values that "feel" right to people.

Of course, given that square roots are a bit more processor heavy than you'd want for something that is calculated for thousands of blocks a tick, it might be best to create a lookup table of material interface conductances.

This, exactly. I've played around with the numbers for a bit (see below). The original (minimum) formula breaks radiance (assuming that it's implemented as a constant factor, analogous to insulation before). The arithmetic mean kills insulation between solids. Kasuha's proposal causes self-conductance issues as you noted, but even if you "fix" those (say, by doubling the result), naive radiance still doesn't do what one would expect. The geometric mean looks much more reasonable.

conductivity examples.png

Link to comment
Share on other sites

6 minutes ago, pnambic said:

This, exactly. I've played around with the numbers for a bit (see below). The original (minimum) formula breaks radiance (assuming that it's implemented as a constant factor, analogous to insulation before). The arithmetic mean kills insulation between solids. Kasuha's proposal causes self-conductance issues as you noted, but even if you "fix" those (say, by doubling the result), naive radiance still doesn't do what one would expect. The geometric mean looks much more reasonable.

conductivity examples.png

Factors: Insulated 0.03125(1/32), radiant 32

  • Like 2
Link to comment
Share on other sites

50 minutes ago, QuantumPion said:

This averaging of heat coefficients does not make any sense physically or gameplay wise! Thermal conductivity is mathematically the same as electrical resistance. If you have a 1 ohm resistor in series with a 1,000,000 ohm resistor, you do not use the arithmetic average of 500,000! The resistance should be the sum of both!

Electrical engineer here.. Wouldn't thermal conductivity be more like resistors in parallel?  If that's the case, then I can see why heat is ignoring the insulators.  1/1 + 1/1000000 = 1.000001 = 1/R-total, so R-total would be 0.999999 -- Basically 1.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
  • Create New...