Makes TEG generate heat based on heat again
This commit is contained in:
@@ -12,6 +12,8 @@
|
||||
var/lastgenlev = -1
|
||||
var/lastcirc = "00"
|
||||
|
||||
var/max_efficiency = 0.45
|
||||
|
||||
|
||||
/obj/machinery/power/generator/Initialize(mapload)
|
||||
. = ..()
|
||||
@@ -61,15 +63,12 @@
|
||||
|
||||
|
||||
if(delta_temperature > 0 && cold_air_heat_capacity > 0 && hot_air_heat_capacity > 0)
|
||||
var/efficiency = 0.45
|
||||
var/efficiency = LOGISTIC_FUNCTION(max_efficiency,0.0009,delta_temperature,10000)
|
||||
|
||||
var/energy_transfer = delta_temperature*hot_air_heat_capacity*cold_air_heat_capacity/(hot_air_heat_capacity+cold_air_heat_capacity)
|
||||
|
||||
var/heat = energy_transfer*(1-efficiency)
|
||||
if(delta_temperature < 16800) // second point where derivative of below function = 1
|
||||
lastgen += LOGISTIC_FUNCTION(500000,0.0009,delta_temperature,10000)
|
||||
else
|
||||
lastgen += delta_temperature + 482102 // value of above function at 16800, or very nearly so
|
||||
lastgen += energy_transfer * efficiency
|
||||
var/heat = energy_transfer * (1-efficiency)
|
||||
|
||||
hot_air.set_temperature(hot_air.return_temperature() - energy_transfer/hot_air_heat_capacity)
|
||||
cold_air.set_temperature(cold_air.return_temperature() + heat/cold_air_heat_capacity)
|
||||
|
||||
Reference in New Issue
Block a user