Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thermoelectric Generator Statistical Analyzer
#1
I've been playing around with trying to get absurd power outputs from the TEG via hellburns and I have a pretty good idea of exactly what's going on and what makes them work. I have an idea that would both help folks figure it out and also assist seasoned generator operators in fine-tuning their builds as to truly push the limits on what the TEG can do, without giving anything away too easily.

It consists of three entities:
  • Terminal in reactor control room for information display, linked to:
  • A floor mounted sensor in the combustion chamber tracking temperature, pressure, and gas composition (in relative amounts).
  • A similar sensor that tracks the same variables as above but in a pipe.
There'd be one floor sensor in the center of the combustion chamber, and four pipe sensors places at the input and output sides of the hot and cold loops. Both sensors would be indestructible.

The computer terminal would display information collected from these sensors and present them in (perhaps) a few ways, depending on what y'all think is reasonable/are willing to implement/etc.

The first (and simplest) interface would be a simple, realtime monitor of the three aforementioned gas characteristics (temp, pressure, gas comp.). The gas composition data could be as simple as just the relative concentrations of each gas in terms of percentages, and the numbers displayed upon interacting with the terminal would blink and change with each atmosphere tick similar to how most of the other generator computers work, with discrete data points being continuously updated. While simple, this would only really save us the trouble of running around the loops & coaxing staff assistants to poke their head in the combustion chamber to get a reading. What'd I'd like to see goes beyond this.

Secondly, extrapolating on the information from before, we could provide more nuanced data on the gas in the loops:
  • As loop pipes have a fixed volume, we could deduce and display the molar gas content instead of just relative amounts (this gets tricky because the atmospheric system relies on arbitrarily sized bignums to describe gas content, which are infinitely divisible, unlike discrete molecules/atoms. We'd have to pick an arbitrary number that coincides bignums with the concept of molarity. Or think of a better idea).


  • Pipe sensors placed across critical junctures (like the input/output sides of the TEG, the input/output sides of the combustion chamber, etc) could derive the pressure differential, and along with the above information could deduce the drift velocity of the gas through the pipes.

  • Taking the above information and factoring in the heat capacity of the measured gasses, we could deduce a derived amount describing the amount of energy passing through each juncture. This is one step behind what the TEG itself does, which is display the difference between such amounts in the hot/cold loops: the energy generated!)
FINALLY, the most complicated interface, but by far the most helpful one, would be to display the data points listed so far in an integrated fashion, as opposed to a single, transient discrete data point per tick. Things get a little complicated here so I will draft up some equations to more concretely describe what I'm talking about.

Once you know what you're doing, it's easy (more or less) to start a hellburn that doesn't burn out or out-gas so long as long as you don't exhaust (or detonate) your burn gasses. There is a critical threshold you cross that separates a doomed, convergent hellburn that will eventually die from a proper one that will diverge into a preposterous, neutron-star-level amount of generated energy. This last interface would directly convey that information in a way that someone who is really trying to figure this shit out will understand, and not in a way that just gives it up too easily. It'll also assist seasoned generator ops to fine-tune their configurations, further optimizing them to suit the relatively short SS13 round times.

Instead of providing blinking numbers that describe transient, discrete data points, we could integrate these points as a function of time. Oh boy calculus.

There are several non-derived unit-similar categories of variables to track. They are grouped and listed below with asterisks denoting how important I think each one is, along with symbols describing them. Red denotes absolute quantities while blue represents differential quantities:
  • Temperature of combustion chamber interior (*****) - Tci
  • Temperature across hot loop segment passing through combustion chamber (****) - Tcc
  • Temperature across hot/cold loop pipe segments (***) - Tc, Th
    • This changes when the pipes burst, along with pressure, etc.
  • Temperature across hot/cold loop generator in/out nodes (*) - Tgh, Tgc
  • Pressure of combustion chamber interior (*****) - Pci
  • Pressure across hot loop segment passing through combustion chamber (****) Pcc
  • Pressure across hot/cold loop pipe segments (***) - Pc, Ph
  • Pressure across hot/cold loop generator in/out nodes (*) - Pgh, Pgc
  • Gas content of combustion chamber interior (*****) - Mo, Mp, Mc
    • Molarity of Oxygen, Plasma, CO2 respectively
    • or whatever we choose, instead of moles, like dimensionless coefficients
We take the derivative of these quantities with respect to time, yielding the instantaneous rate of change for P/T/M. You can more or less eyeball this yourself watching extent computers, but having it calculated would help as well as be critically important for something later on. I'm only going to do ones for temperature and you can assume the pressure/molarity expressions are similar, just swap T for V or whatever:

Assuming F(Tci) is the function describing the temperature on a tile in the combustion chamber...
(The atmospheric engine's concept of time is tick based, be aware)

[Image: eq1.png]

The first derivative, again, tells us something we pretty much see already. HOWEVER -- the second derivative is where the magic is. A deceivingly functional configuration that is doomed to fail or a mediocre configuration that will take 50 minutes to reach 10 MW would look much the same to someone only looking at the first equation. If we can show the rate at which change is accelerating, then we can have a pretty clear idea from intial setup how the reactor will play out, and with more or less instant feedback here, we'd be able to hone in on the parameters to make a really powerful reactor.

[Image: eq2.png]

phew

I realize I've written a huge wall of text and that this isn't a trivial feature and unlikely to be just picked up by one of the devs, which is why I am going to work on a rudimentary implementation (using the goonstation 2016 leak). I am pretty certain I am capable of getting this idea most of the way there, but I'd like some input. There are some more things I wanted to cover but this is enough for now.
Reply
#2
You just went full nerd bro



you never go full nerd

But for real, a way of seeing whats actually going on in your hellburn setups would be very convenient. I support this 100%.
Reply
#3
Gotta be something to collect this data with MechComp. Do any of those things actually monitor things outside of packet dorkery? Like an atmos monitor, or something that records the exam text of something?
Reply
#4
You seem to know what you're talking about when it comes to engines, apologies I skimmed through your post as the engine science is something that never really interested me, which i'll explain below.

I am however, familiar with other nerd shit such as derevitives over time, given my background in physics. My general question is; does the engine and by extension gas physics really something that can be pumped into a formula dt/dn? I read that even under general circumstance (i.e: Not a hellburn) it behaves under it's own accord. Increases over time yes, but whether it's quantifable to the sane mind is another question altogether.
Reply
#5
Can someone explain the thread but with words so that a 5 years old can understand? Asking for my lack of comprehension.
Reply
#6
To put simply: A derivative would be able to tell if the engine temperature (which is implied as power? that's where my knowledge of the engine runs awry) behaves with respect to time.

It plots it essentailly on a curve. Positive deravative would imply that your engine temp is currently increasing. But as was stated in the OP, that can be be fairly obvious when observing the engine. And doesn't extrapolate much useful information.

A second deritvative is essentially doing the same equation twice, but the result is different. It would provide the acceleration of the burn. This is a quantifyable number, it essentially provides a "score" for those acheiving a hellburn other than just simple what MW you reached or what PW you reached. The acceleration of the burn is much better for engineers as they can tell how quickly they can acheive a burn (and possibly for how long).

This is all well and good assuming the natural PV = nRT equation works as intended. But after Exadv looked at gooncode and had a mini stroke, I'm not entirely too sure if it's achievable.

Edit: Fuck my spelling is terrible today.
Reply
#7
big words make brain hurt

also i still dont get it after sundance put it simply but if it helps people to work the engine better but basically changes nothing with how the engine works im fine with it.
Reply
#8
NERD

But seriously this is amazing, bravo!
Reply
#9
(10-09-2017, 12:46 PM)HotCoffeeMug Wrote: big words make brain hurt

also i still dont get it after sundance put it simply but if it helps people to work the engine better but basically changes nothing with how the engine works im fine with it.

It's a computer and sensors that tells the tempurature, pressure and gas of pipes.

For the purpose of the splaining you can ignore the math and just think that it's a bunch of doodads that tells you A. what gas is in the pipes and burner room. B. How hot it is, and C. How much pressure it has. Maybe it even includes a nice graph that shows when something is horribly rising or horribly dropping. For instance Line goes up with tempurature is good because you can harness the difference as electricity. Other graphs might tell you whether the pipes will burst, or if someone has no idea what "flammable gas" means because they've filled everything with CO2 and Nitrogen.

I guess the dumbest way to explain what I think this concept is, would be to say that the engine is an excel spreadsheet with a bunch of numbers and this machine is what happens when you click the graph button.
Reply
#10
(10-09-2017, 03:07 AM)Sundance Wrote: You seem to know what you're talking about when it comes to engines, apologies I skimmed through your post as the engine science is something that never really interested me, which i'll explain below.

I am however, familiar with other nerd shit such as derevitives over time, given my background in physics. My general question is; does the engine and by extension gas physics really something that can be pumped into a formula dt/dn? I read that even under general circumstance (i.e: Not a hellburn) it behaves under it's own accord. Increases over time yes, but whether it's quantifable to the sane mind is another question altogether.

If my understanding of what's going on is accurate, then yes.

Here is my understanding:
Quote: HELLBURN NERD PHYSICS

This document answers such questions as, How do hellburns work on a deeper
level? Why is the PTL putting out as much energy as a quasar? Why is the
thermoelectric generator still working with all the pipes burst?

There are three critical things that make hellburns work:

* Characteristic gas values (P/V/T/amt.) held in arbitrarily-sized variables
(bignums)

* Atmospheric/Chemistry system ignores standard enthalpy of reaction

* Pipe (hot/cold loop) burst scheme works differently than how it is presented
on-screen

-------------------------------------------------------------------------------

Bignums

SS13 was originally written as an atmospheric simulator by a physicist and is
impressively built. It uses 'bignums' to store the fundamentally important
values of gases around the station, specifically pressure, temperature, and
molarity (amount, volume, however you want to think about it). This has the
effect of making gasses infinitely divisible. In "real life", gasses are limited
in this regard by the fact they are constituted by amounts of atoms/molecules
which are at some point indivisible and finite. SS13 has no such limitations,
and can be compacted/divided to an infinite degree bounded by the server's
free memory (and not by bitness bounds exhibited by fixed-width floats, ints,
etc.)

-------------------------------------------------------------------------------

Enthalpy and Le Chatelier's Principle

Secondly, SS13 has no concept of certain factors relating to specific enthalpy
and standard enthalpies of reactions. This is a little difficult to describe
without using verbose & impenetrable language, so instead here's a though
experiment that demonstrates what I'm talking about:

Imagine you have a bic lighter filled with infinite fuel enclosed in a hollow
sphere made of handwavium, a material that perfectly insulates heat and emits
zero black body radiation. The bic lighter ignites and burns perpetually.

In real life, the interior temperature of the sphere would only reach a finite,
stable point. "Energy", here, is in the form of Brownian motion of gas
particles, which is also temperature. As temperature increases, the
differential (perhaps, potential) for the oxidation reaction to "push" against
the system atmosphere decreases, and eventually you reach an equilibrium where
oxidation products, oxidants, and fuel all coexist.

In SS13, exothermic oxidation reactions aren't as intricately modeled and
energy/temperature is just some scalar quantity which is incremented with a
constant amount when oxidation occurs. The interior of the sphere's temperature
would diverge towards infinity.


-------------------------------------------------------------------------------

Burst Pipes

Finally, the way burst pipes comprising the hot/cold loops work "under the hood"
isn't intuitive and the on-screen graphics misrepresent things: Burst pipes look
like they have large empty gaps in them that would completely break any kind of
flow. The reality (in SS13) is more akin to the pipes just forming a single
crack per tile that leaks only some of the gas, and never expands or forms more
cracks past the initial one. *The takeaway to this is that since there are a
finite number of pipe tiles, then there are a finite number of cracks, and a
finite "leakage" figure describing how much gas is leaving the system that is
achieved once all pipes are burst.*

-------------------------------------------------------------------------------

Putting It All Together

The second point concerning enthalpy allows gas in the combustion chamber to
reach infinite temperatures. As gas is pumped in and burns, the temperature
increases at a constant (albeit large) rate. In turn, this causes the hot loop
gas passing through the combustion chamber heat exchange pipes to increase in
temperature and pressure at non-constant rates.

Those rates are the absolute #1 most critical components of a hellburn.

There is an efficiency drop at higher pressures in the loops, as in the eyes of
SS13 higher pressures always means less quantities of gasses in the loops. Your
temperature increase rate has to out-compete this loss.

Your pipes will eventually burst. Every single pipe in the hot/cold loop will
burst. The aforementioned shows how this results in a fixed amount of gas
leaving both loops, and your temperature increase rate has to be so high as to
power-through this. Note that the amount of gas lost is initially very high as
there is still a lot of gas in the loops, but as that quickly approaches zero,
this effect diminishes.

Once the pipes burst, you will have an incredibly small amount of gas present in
the pipes. We're talking like, less than a trillionth of a trillionth of an
atom. Because of bignums this is OK, but your temperature increase rate has to
overcome the diminishing heat capacities of smaller and smaller amounts of gas
mixing in the TEG from both loops.

-------------------------------------------------------------------------------

I'll update this as time goes on, as I realize I've forgotten and/or misspoke
about things, and keep a log below.


kremlin


https://ce.gl/hellburn-physics.txt
Reply
#11
(10-08-2017, 09:39 PM)Superlagg Wrote: Gotta be something to collect this data with MechComp. Do any of those things actually monitor things outside of packet dorkery? Like an atmos monitor, or something that records the exam text of something?
once this baby reaches 1.21 jiggawatts, you're gonna see some serious shit (totally not 30 crates being thrown at the clown  For Science! )
Reply
#12
I know HOW to make a hellburn but not WHY the process creates a hellburn and do not understand any of the big words be used in this thread so I am just going to say good idea kremlin and leave.
Reply
#13
i started working on this idea, see this linked thread
Reply
#14
i seemed to have missed some questions posted here:

(10-08-2017, 09:39 PM)Superlagg Wrote: Gotta be something to collect this data with MechComp. Do any of those things actually monitor things outside of packet dorkery? Like an atmos monitor, or something that records the exam text of something?

the meters around the loops, the ones that blink all crazy when there's too much pressure, do indeed transceive signals over the wireless network. similarly, the gas sensor found in the combustion chamber communicates over the wired network which is (im pretty sure) the same network you're talking about. nothing uses this functionality though. the data that both of these things collect is insufficient for what i am looking to do though, i'll say more about that later

i originally had all of my sensors/computers operate over the packet network but i ditched that really quick. my system pulls a lot of values from a lot of places every engine tick, and trying to coincide that with the packet network that operates on a different process scheduler is hairy & i also don't want to contribute to any lag.

(10-09-2017, 03:07 AM)Sundance Wrote: You seem to know what you're talking about when it comes to engines, apologies I skimmed through your post as the engine science is something that never really interested me, which i'll explain below.

I am however, familiar with other nerd shit such as derevitives over time, given my background in physics. My general question is; does the engine and by extension gas physics really something that can be pumped into a formula dt/dn? I read that even under general circumstance (i.e: Not a hellburn) it behaves under it's own accord. Increases over time yes, but whether it's quantifable to the sane mind is another question altogether.

yes and no. if you look at the FEA code you can find the equations it uses for certain things like how fuel burns, what is consumed/produced, at what rates, etc. you could use these to build a system of equations that models the engine exactly, and then derive these to get a generalized function. i'm not going to do that though. ss13 runs on a tickrate, and i can leverage the fact that these ticks are necessarily discontinuous to "cheat" a bit by simply subtracting the current value of (whatever) from the it's previous value one tick before. this gives the instantaneous derivative, but i also plan to give average derivatives of graduated sample size, e.g. the average of the last 10, 100, 1000 ticks. maybe some more in between.

i'm not actually deriving anything the way you'd do in a calculus class, basically

(10-09-2017, 07:09 AM)medsal15 Wrote: Can someone explain the thread but with words so that a 5 years old can understand? Asking for my lack of comprehension.

the generator currently only shows you the current value of the temp/pressure/output of the engine. sure, you can see that those numbers are getting bigger but you don't get a sense of how quickly they're getting bigger. this thing would tell you details like that, along with a bunch of others (e.g. how much energy is being released in the combustion chamber, how quickly is gas entering/leaving the chamber, etc.)

(10-09-2017, 03:02 PM)atomic1fire Wrote:
(10-09-2017, 12:46 PM)HotCoffeeMug Wrote: big words make brain hurt

also i still dont get it after sundance put it simply but if it helps people to work the engine better but basically changes nothing with how the engine works im fine with it.

It's a computer and sensors that tells the tempurature, pressure and gas of pipes.

For the purpose of the splaining you can ignore the math and just think that it's a bunch of doodads that tells you A. what gas is in the pipes and burner room. B. How hot it is, and C. How much pressure it has. Maybe it even includes a nice graph that shows when something is horribly rising or horribly dropping. For instance Line goes up with tempurature is good because you can harness the difference as electricity. Other graphs might tell you whether the pipes will burst, or if someone has no idea what "flammable gas" means because they've filled everything with CO2 and Nitrogen.

I guess the dumbest way to explain what I think this concept is, would be to say that the engine is an excel spreadsheet with a bunch of numbers and this machine is what happens when you click the graph button.

this hits the nail on the head. let me quickly write out a laundry list of everything i track:
  • gas content of every tile, differentiating between tiles that have an active fire on them and ones that don't
  • temp/pressure/heat capacity/fuel burnt/thermal energy of the gasses on the respective tiles
  • the amount of gas entering and exiting the chamber, TEG, and pipe networks
  • the respective rates of change (first derivative) and rate of acceleration (second derivative) of all of these. some things (like how quickly the heat capacity of burning gases is rising/falling will be omitted, because they don't convey any useful information

there are some things i'm probably forgetting and some things i'm intentionally leaving out as to not spoil anything. if i failed to clear anything up here please let me know, writing things out like this helps me work things out in my head just as much as it helps you understand wtf i'm talking about smile
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)