[Research] Detailed Heat Mechanics

I think I might have a reasonable approximation of how to work out the WEP distributor heat generation for a single weapon, but of course it will need some pretty extenstive testing (Only tested with my AspX & Python):

YtrGYue.png


T_h = Total heat generated from weapon firing
W_h = Weapon thermal load during firing (eg 20 for stock 2B rail gun, 12 stock for 1D rail gun)
D_T = WEP distributor total capacity
D_C = WEP distributor current capacity
W_D = Weapon distributor draw (eg for a stock 2B rail gun that is 5.11MW)

Firing multiple weapons:
I tested firing 2 rails at once. From the results, it looks like the heat values are calculated as if the weapons were fired in sequence, rather than the same time ie:

What I expected
-Two rail guns firing simultaneously, expect heat calculation to work as if it was one bigger rail gun (combine weapon distributor draws and thermal loads of both weapons together).

How the game mechanics appears to work
-1st rail gun fires (remove weapon's distributor draw from WEP capacitor and calculate heat)
-2nd rail guns fires (use WEP capacitor figures after deducting the 1st rail gun, and then deduct the distributor draw for this weapon from the WEP capacitor and then calculate heat)

Regarding testing:
Most of the equation results were within 10% of the real measured results. This does seem like a high amount of error, but it possibly can be explained in several ways:

-To translate %heat increase in to actual heat units relies on the heat capacity values on page 1 (eg Python 450, AspX 410).

-Normal mode results - Usually only very small differences in heat can be measured. If for example the heat increases by 3% after a shot, it is possible that it could be anywhere in between 2.5->3.49*, which makes these results more error prone.

-Silent mode results - It turns out silent mode generates what appears to be exactly 4x the normal heat per shot. This makes it easier to get larger values, which should reduce measurement error a little. Unfortunately, because I'm firing a weapon in silent mode, the time elapsed before triggering the weapon and it firing could give a slightly higher value of heat generated. I'm not sure if this is what happened, but most of the results taken in silent mode were slightly higher than those taken in normal mode.

Observations:
-If you fire a weapon with your WEP capacitor nearly empty it can generate up to 5x the base weapon thermal load, eg a 2B rail gun that would normally generate 20 heat/shot will do 100 heat/shot if you drain your WEP distributor to 0 by firing a shot.

-Unlike the suggestion in my previous post, Thermal load is very important here; a -40% reduction (20->12), means a maximum of 72 (5x12) heat instead of 100 (5x20) in the worst case scenario.

-The weapon's distributor draw is also very important for heat reduction; less draw means less additional heat per shot, as well as making it easier to keep your WEP capacitor near 100% (which you want for the lowest thermal load generation).

Example; firing a single stock 2B rail gun (20 Heat stock):

100% WEP Capacitor before firing: 20+ heat/shot (Weapons distributor draw is removed from the capacitor first, so you will always use more than the stock heat on a weapon)
75% WEP Capacitor AFTER firing: 40 heat/shot
50% WEP Capacitor AFTER firing: 60 heat/shot
25% WEP Capacitor AFTER firing: 80 heat/shot
0% WEP Capacitor AFTER firing: 100 heat/shot

Disclaimer:
And, well, I can't be sure that what i've posted is possibly rubbish, the data I took after all is very messy, and I've had tunnel vision for a while so I would not at all be surprised if I messed up in some significant way. In any case I will be appropriately embarassed, and make amends if possible :D

EDIT: Collected data and formula comparison in Excel 2003 format: View attachment distributor.xls (I currently don't have any online document/spreadsheet services setup that I can link to, sorry about that).
 
Last edited:
I think I might have a reasonable approximation of how to work out the WEP distributor heat generation for a single weapon

Great stuff.

Only had a quick glance through but by way of approximate corroboration, as someone with an interest in rail guns and Hammers and a longstanding preference for running a Wep Cap from the top, not the bottom, this all seems to stack up to me.
 
Unfortunately I only just stumbled on this very interesting thread. Great work! The fact that the heat generated increases as you use up the PD charge means that we would have to calculate the new PD charge level on a shot by shot or second by second basis, taking into account also the PD recharge rate. I have tried to plot the resulting curve of time against heat generation (assuming a beam laser) using excel and the result looks feasible: at each step i first calaculate the new PD charge level, including the recharge, and then base the heat generation on the new current PP charge level. If you plotboth PD charge level and heat against time you should quickly see if you would overheat before using all the PD charge or not. So far I have only used random values for thermal load and PD discharge/recharge rates. I will try to test it using a real ship soon. Only problem is that I am out in the black, so i’ll Need a couple of weeks!
 
Another thought: have any tests been done regarding heat dissipation against time for each ship in normal mode? Maybe it is related to surface area .. anyway that would have to be taken into account ..
 
Another thought: have any tests been done regarding heat dissipation against time for each ship in normal mode? Maybe it is related to surface area .. anyway that would have to be taken into account ..

I'm not sure if I'm understanding the question correctly, but Frenotx determined that the cooling rate followed the formula .2x^2 (where 'x' is the ship heat from 0%->66% heat) and then maxes out at -8.7% (67%+ ship heat) of the ships thermal capacity, therefore the more thermal capacity a ship has, the better it's cooling capability. The ship with the best cooling capacity in the game is the Diamondback Explorer (527 heat units, so ~ -46 heat/sec maximum cooling rate when above 66% ship heat).

This is an example of the AspX's cooling profile that I graphed in another post (410 heat units capacity):
https://forums.frontier.co.uk/showt...t-generation?p=6406339&viewfull=1#post6406339

I'm still not certain on how everything works myself, so it's all best guesses until FD chime in and say "Nice try guys, but..." *proceeds to show us how it's actually done*.
 
Some weapons specifically received huge thermal penalties for firing in silent running, iirc. Rails were the focus of the change. It might be a global % thermal penalty for all weapons (and rails are just most evident due to their high base heat), but I seem to remember it being for specific weapons. Either way, weapon heat generation in silent running is different (magnified) by design, as of a patch that happened a good while back.

This was some time in the 2.1 beta, if I recall correctly, and is what largely ended stealth combat vessels as a mainstream choice.

In another somewhat-distant patch, FDev altered weapon heat mechanics to work as you described: The lower your WEP capacitor, the more heat your weapons will produce.

I believe this change is much older, but I'm fuzzy on the specifics...I seem to recall it being an issue when I was still using a quad beam Viper, which would have had to have some time in early-mid 2015 at the latest.

Much more recently, I've seen people start to use WEP focused distributors, rather than charge enhanced, to mitigate the heat of plasma and rails better.
 
@Frenotx

Tested the Alliance Chieftain for heat capacity today with a 2A powerplant and unmodded 4D thrusters using the procedure in the OP:

Heat Efficiency: 0.4
4D Thruster power consumption: 3.69 MW
Time to heat from 0 to 100% after coolant purge: 294 seconds
Capacity: 294 * 0.4 * 3.69 = 433.94

I figure that's close enough to round that up to 434. :)
 
Ok, wait wouldn't this mean engineering the capacitor tresholds DOES have an effect ont his as well?

The formula part in brackets: (Dt-Dc+Wd)/Dt would change with the amount of how the total Distributor is sized.

so lets take a regular PP with 1MW heat efficiency, and an 8A rated PD which gets with weapon focussed build a 115,2MW wep capacity.
And unmodded 4A plasma accelerator drains 21,04 Mw

The first shot with this setup would cause the PA to do 50,92 heat.

in comparison an charge enhanced Build, with only 68,4 wep capacity would make the first shot deal 69,97 heat. so thats 39% more heat generated due to the lower capacitors capacity alone. is that right? can you test this ingame? I don't have the engineered PD's to test this. But thiskind of difference is quite a lot.

if you now factor in using efficient builds paired with an effiicent PD and a high capacity PD you get some kind of heavily exponential outcome in heat reduction.

I mean, take an Efficient build 4A plasma together with a Weapon Focussed PD and you get 16,5 heat for a single plasma accelerator shot? can this be right? if so, it feels horribly wrong how mich effect engineering can have given that those 2 different setups mean 3x as less heat generated or even 4x compared to charge focussed. thats even comapred to the vanilla ship with vanilla plasma accelerator 69,9 heat and a massive difference.

in fact a charge focussed PD with non enigineered PA c4 would empty its distributor in 2 shots? wjile the full heat and energy reduces wepaon focussed and efficient build could fire 7xc$PA's at once before capacitor runs dry.

Funnily, if I calculated correctly, shooting these 3x in sequence on the vanilla build causes 338 heat while the 7 shots if fired in sequence will cause only 222 heat?

Engineering scaling feels horribly wrong if thats true and I didn't made a claulation mistake.


but here is somehting someone can test for good data:

take 2 PD one vanilla and one Weapon focussed and see how much heat difference there is on the first shot and the second shot to see if and how the capacitor size affects heat.
 
Last edited:
+rep for a great post and much-needed info.

The most infuriating thing FDev has done is put the power plant efficient ratings at just one decimal place.

A is 0.4, C is 0.5, E is 1.0, and yet most people run modded power plants which affect efficiency:
OverchargedG5 on an A-rated PP will cap out at around 0.48% (0.5 shown in-game)
Low-EmissionG3 on an A-rated PP will cap out at around 0.24% (0.2 shown in-game).

Obviously, there's a lot of innacuracy in these numbers if an A-rated is actually not exactly 0.4, but that's rounded to the nearest decimal place, so on the ASSUMPTION that a stock, E-rated PP has exactly 1.000 efficiency, it would be good to use this method to confirm that A is actually 0.4 and not something else in the 0.35-0.45 range)

We know the game rounds the display of the efficiency to an absurdly low and useless accuracy, since I used to overcharge an A-rated power supply, end up with a 10% efficiency reduction (so 0.40 to 0.44?) and it would still show as the same 0.4 efficiency. Also, a B-rated and C-rated both show as 0.5 efficiency, yet swapping to a B from a C results in lower heat levels for the otherwise identical builds.
 
+rep for a great post and much-needed info.

The most infuriating thing FDev has done is put the power plant efficient ratings at just one decimal place.

A is 0.4, C is 0.5, E is 1.0, and yet most people run modded power plants which affect efficiency:
OverchargedG5 on an A-rated PP will cap out at around 0.48% (0.5 shown in-game)
Low-EmissionG3 on an A-rated PP will cap out at around 0.24% (0.2 shown in-game).

Obviously, there's a lot of innacuracy in these numbers if an A-rated is actually not exactly 0.4, but that's rounded to the nearest decimal place, so on the ASSUMPTION that a stock, E-rated PP has exactly 1.000 efficiency, it would be good to use this method to confirm that A is actually 0.4 and not something else in the 0.35-0.45 range)

We know the game rounds the display of the efficiency to an absurdly low and useless accuracy, since I used to overcharge an A-rated power supply, end up with a 10% efficiency reduction (so 0.40 to 0.44?) and it would still show as the same 0.4 efficiency. Also, a B-rated and C-rated both show as 0.5 efficiency, yet swapping to a B from a C results in lower heat levels for the otherwise identical builds.


Sad is, some ships can't even utilise the full range of Engineering available, because their PP i so small that you have no choice except going for Overcharged. And then you end up with a ship either insufficient in power or too hot. there are just a few ships which are great because you can do evertyhing with them since the vanilla PP hits the sweet middle and you can optimise towards the wnated laodout.
 
If there are any mathematicians about, something I could use some help with is deriving formulas for heatlevel-H-at-time-T and time-T-until-heatlevel-H.

As I understand it, what we have so far is a formula for the heatgain-G-at-heatlevel-H:
Code:
g = -Ah^2 + B
where A is the dissipation constant (baked into the hull) and B is the thermal load constant (power draw * powerplant efficiency + thrusters/FSD/etc). But we can also view that as the derivative (slope) of the formula for heatlevel-H-at-time-T:
Code:
dh / dt = -Ah^2 + B

So it seems to me we ought to be able to integrate, and I think what we have is a first order separable differential equation. Or maybe it's called something else, I dunno; I'm just paraphrasing what I think I read online because calculus was a long time ago. But supposing we can integrate by parts after separating the variables:
Code:
dh / (-Ah^2 + B) = dt
then the integral of dt is simply t, which leaves the integral of 1 / (-Ah^2 + B), with the constraints that A > 0 and B >= 0. All of the online integral calculators I've tried give me something that boils down to this:
Code:
atanh(h * sqrt(A/B)) / sqrt(A*B) + C = t
with which we can supply an initial heat level h0 at t0=0 to derive the constant C:
Code:
C = -atanh(h0 * sqrt(A/B)) / sqrt(A*B)
And that works great! But only when h0 < sqrt(B/A), i.e. the initial heat level is below the equilibrium heat level, because atanh() is only defined between -1 and 1.

So what I need is an alternative form of these equations that works when cooling to equilibrium and not only when heating to equilibrium. Any ideas?
 
If there are any mathematicians about, something I could use some help with is deriving formulas for heatlevel-H-at-time-T and time-T-until-heatlevel-H.

As I understand it, what we have so far is a formula for the heatgain-G-at-heatlevel-H:
Code:
g = -Ah^2 + B
where A is the dissipation constant (baked into the hull) and B is the thermal load constant (power draw * powerplant efficiency + thrusters/FSD/etc). But we can also view that as the derivative (slope) of the formula for heatlevel-H-at-time-T:
Code:
dh / dt = -Ah^2 + B

So it seems to me we ought to be able to integrate, and I think what we have is a first order separable differential equation. Or maybe it's called something else, I dunno; I'm just paraphrasing what I think I read online because calculus was a long time ago. But supposing we can integrate by parts after separating the variables:
Code:
dh / (-Ah^2 + B) = dt
then the integral of dt is simply t, which leaves the integral of 1 / (-Ah^2 + B), with the constraints that A > 0 and B >= 0. All of the online integral calculators I've tried give me something that boils down to this:
Code:
atanh(h * sqrt(A/B)) / sqrt(A*B) + C = t
with which we can supply an initial heat level h0 at t0=0 to derive the constant C:
Code:
C = -atanh(h0 * sqrt(A/B)) / sqrt(A*B)
And that works great! But only when h0 < sqrt(B/A), i.e. the initial heat level is below the equilibrium heat level, because atanh() is only defined between -1 and 1.

So what I need is an alternative form of these equations that works when cooling to equilibrium and not only when heating to equilibrium. Any ideas?
I'm not entirely sure what you're tying to accomplish, here. What is it that you're wanting to calculate?
 
For me the most important part is time until overheat, and I have that already from the integral above in the case when the ship is going to overheat, but in working with the equations I got curious to see if we could derive formulas for all cases. But in general I think it might be useful to be able to accurately model cooling behavior over time, so that you know for example exactly how long you'll be over 100% heat after using an SCB; to calculate that you'd need what I mentioned above, a form of the equation that allows initial heat level (the SCB spike) to be higher than the equilibrium level.
 
I don't have a fraction of the mathematical knowledge to understand - let alone participate in - what's being discussed here, but thank you for this thread.
No problem. It's not quite as complicated as it looks (baring Taleden's recent dive into rate-based mathematics). If you'd like clarification on anything or have any other relevant questions, feel free to ask.
 
For me the most important part is time until overheat, and I have that already from the integral above in the case when the ship is going to overheat, but in working with the equations I got curious to see if we could derive formulas for all cases. But in general I think it might be useful to be able to accurately model cooling behavior over time, so that you know for example exactly how long you'll be over 100% heat after using an SCB; to calculate that you'd need what I mentioned above, a form of the equation that allows initial heat level (the SCB spike) to be higher than the equilibrium level.

Above the equilibrium (66%) the cooling is fixed, thus its linear.

So time until you reach a value above 66% is:

t = (heat_percentage - desired_percentage) / (8.7 -equlibrium_heat_rate)

Where of course heat_percentage and desired_percentage are >= 66 and their difference >0 and equlibrium_heat_rate is the same as the cooling rate at the heat-cooling equilibrium.

Regarding the actual heat - cooling equilibrium, looks like a free fall with velocity dependant friction, but would need some more thinking, bit late here for that. =D
 
Last edited:
Ok, wait wouldn't this mean engineering the capacitor tresholds DOES have an effect ont his as well?

The formula part in brackets: (Dt-Dc+Wd)/Dt would change with the amount of how the total Distributor is sized.

so lets take a regular PP with 1MW heat efficiency, and an 8A rated PD which gets with weapon focussed build a 115,2MW wep capacity.
And unmodded 4A plasma accelerator drains 21,04 Mw

The first shot with this setup would cause the PA to do 50,92 heat.

in comparison an charge enhanced Build, with only 68,4 wep capacity would make the first shot deal 69,97 heat. so thats 39% more heat generated due to the lower capacitors capacity alone. is that right? can you test this ingame? I don't have the engineered PD's to test this. But thiskind of difference is quite a lot.

if you now factor in using efficient builds paired with an effiicent PD and a high capacity PD you get some kind of heavily exponential outcome in heat reduction.

I mean, take an Efficient build 4A plasma together with a Weapon Focussed PD and you get 16,5 heat for a single plasma accelerator shot? can this be right? if so, it feels horribly wrong how mich effect engineering can have given that those 2 different setups mean 3x as less heat generated or even 4x compared to charge focussed. thats even comapred to the vanilla ship with vanilla plasma accelerator 69,9 heat and a massive difference.

in fact a charge focussed PD with non enigineered PA c4 would empty its distributor in 2 shots? wjile the full heat and energy reduces wepaon focussed and efficient build could fire 7xc$PA's at once before capacitor runs dry.

Funnily, if I calculated correctly, shooting these 3x in sequence on the vanilla build causes 338 heat while the 7 shots if fired in sequence will cause only 222 heat?

Engineering scaling feels horribly wrong if thats true and I didn't made a claulation mistake.


but here is somehting someone can test for good data:

take 2 PD one vanilla and one Weapon focussed and see how much heat difference there is on the first shot and the second shot to see if and how the capacitor size affects heat.

Yeah this is one of the interesting things I found during my testing. Weapon capacity matters significantly for heat generation and so should be a strong consideration in engineering your distributor.

When I tested the same weapon with a much smaller distributor the heat climbed dramatically (the figures are in the first post I made, but it was a bit of a mess; the post I made with the equation in it has some other results I collected in excel format at the end of it):

6D (34.79MW capacity): 1st Shot: ~33 heat for single 2B rail shot
1D (11MW capacity): 1st Shot: ~56 heat for a single 2B rail shot

Working out a relationship to determine the best trade off is a bit more difficult here though; although that could be because more mathematical kung-fu is needed. I've only studied up to the single variable calculus level (and I haven't really used it for a while), and injecting the sudden heat increase of firing weapons into the cooling capacity of the ship seems pretty challenging (at least at my level). The rate above 66% is linear, so that shouldn't be too difficult, but the variable rate from 0%->66% seems to make this pretty tricky at my level of knowledge.

So for me it's a bit hard to determine when dealing with Charged Enhanced Capacitors whether "Super Conduits" or "Cluster Capacitors" or simply choosing nothing at all will work out better for a given setup. For my FDL I've gone with "Cluster Capacitors" but I'm not sure whether this is the best option, however, I do know for certain that the first shots fired from my FDL won't contribute so much heat over the "Super Conduits" option.

Morband also pointed out that more builds are using WEP focused distributors to mitigate the heat from plasma and rails, so that is definitely a distributor upgrade worth considering.
 
If you want to avoid the actual math behind it, you can approximate it via a step by step computation. The game itself has most likely a fixed update rate at which it calculates the values, so for the heat and energy management you can assume an update rate of once per second or for fast firing guns once every 0.1s. Then make the calculations step by step, which will simulate the game better than actual continuous formulas. Doing this by hand is rather tedious so I would advise writing a small script, essentially a loop with the break condition of the heat-equilibrium.
 
Last edited:
Top Bottom