第二课
1.2格-建筑物 热交换
建筑物包括小人造的,地图上现有的,也包括热交换板。
在模拟中,多数建筑物只与它们覆盖的格相互作用。
例外:如果建筑内部有储存一些物质,比如管道内的气液,送入农砖但还没被消耗完的水/污水。对于热交换板,除了与它们覆盖的一个格,还与周围一圈8个格子相互作用。
译注:根据
@月下独影者 的测试,导热板和同物质的煤电(3*3)对比没有区别,所以以下计算公式仍然适用于导热板,在此表示感谢。
坐标因子A,用于标记上下左右格子和建筑物的作用关系(译注:应该是建筑所占的格子数。比如大气泵就是4)
修正总热容C' = C / 5 / A (这个修正总热容似乎只有建筑才有。按正常考虑,比热应该为C=c*m,但建筑物的修正总热容却为总热容除以5。这个5十分重要,之后我会提到)
本来建筑物和格子的热交换还会涉及建筑的发热,但我这里删掉了。之后会单独拎出来讲
格-建筑物 热交换的原理较为简单,这里用数字1表示格,2表示建筑物
对于每个热力学周期和每个建筑,首先定义ΔQ=0
遍历左右上下4个单元格,如果其元素满足特定值(推测为真空),无热交换,跳到下一个格子。
中间量Chot:若T1 < T2, Chot = C'2,否则Chot = C1
Tmin = min(T1, T2)
Tmax = max(T1, T2)
第一步:通过给定公式计算传输的热量
ΔQ = Δt * k'1 * k2 * Chot * (T1 - T2) * 0.005 * x
其中x是游戏全局变量,一般为100。仅在游戏加载时为0.01
第二步:防止热交换后,温度波动过大(举个例子,A10度和B20度的传热,不会变成A22度和B8度)
T'1 = clamp(T1 - ΔQ/C1, Tmin, Tmax)
T'2 = clamp(T2 + ΔQ/C'2, Tmin, Tmax)
第三步:防止热交换后,较冷的反而变成较热的那一个
若(T1 - T2) * (T'1 - T'2) < 0,则T'1 = T'2 = (C1 * T1 + C'2 * T2) / (C1 + C'2)
第四步:
T'1是单元格1的最后温度
ΔQtot = ΔQtot + C'2 * (T'2 - T2)
第五步:
1-4步中建筑只和一个格子进行了热交换。接下来重复1-4步,所有覆盖建筑物2的单元格都进行一遍1-4步。
建筑物2的最终温度为T'2 = T2 +ΔQtot/(C'2 * A)
实战1
砂岩的堆肥,800kg 275K。4格氢气,每格都是1kg 320K
氢较热。所以对于每个单元格和建筑的热交换,Chot = 1 * 2.4
ΔQ = 0.25 * 0.168 * 2.9 * 2.4 * (320 - 275) * 0.005 * 100 = 12.6544
每个格子的情况都相同,因此每个格子的最终温度都是T'1 = 320 - 12.6544 / 2.4 = 314.7K
堆肥的最终温度为T''2 = 275/ (0.8*800/5/4*4) = 275.39545K.
译注:这里没有计算堆肥工作时的发热
实战2
275K黑曜石管,外部是320K的1kg氢气。
275K黑曜石隔热管,外部是320K的1kg氢气。
注意管道隔热系数没写入公式,因此两个管道都会传递相同的热量(尽管由于质量增加,隔热管的升温速度会变慢)
实战3
采取与上述相同的情况,但对调管道和氢气温度。现在,传递的热量将与管道的质量成正比(在chot这个参数中起作用),绝热管道将传递更多的热量(虽然它们的温度是相同的)
译注:注意,管道和外部格子的热交换中,管道的隔热系数没有影响,但是隔热/普通管道的不同质量仍然会有影响。这点很重要