Given a theoretical combustion engine, how can I calculate the output of this engine depending on the fuel it uses?

I'm writing a Minecraft mod (for those who don't know, it's sort of like a smaller "program" that loads into the Minecraft game and expands it, by adding other things to it).

My question is: consider a combustion engine that runs on anything that is flammable (even though Uranium has a lot of chemical energy, it can't be set on fire, so it's out).

The engine can burn, for instance, acetone, methane, ethanol, methanol, etc.

By burning these fuels the energy converts their chemical energy into mechanical or kinetic engine to move it's gears, pistons and stuff (whatever the engine uses to transmite the energy).

What is the simplest way of comming up with a "good enough approximation" function

energy = f(fuel)

What goes in this function? the volume of the engine doesn't change, so not that. pressure certainly is a factor (maybe the answer itself?) does it have anything to do with the Ideal Gas Law? What about the density of the fuel, molar mass, specific heat, etc?

The answer to this heavily depends on whether you have an internal combustion engine or an external combustion engine.

External

Because you're just heating the liquid from the outside, you can approximate the final output of the engine as the amount of energy gained from combusting the fuel multiplied by engine efficiency (as you like, but no greater than 100%). In other words:

$$E=kfV$$

Where E: Energy Output; k: Efficiency absorbing the energy; f: Thermal Energy obtained from burning a unit volume of the fuel; and V: volume of fuel combusted.

Internal

For an internal combustion engine, far more factors need to be taken into account. Wikipedia is always a good start to get a sense of the factors that play a role, and whether or not you want to consider them. De pending on how dedicated you are, and how much the player can 'mess with' the settings of the engine, you could do something as simple as the External Engine (if all the user can do is select fuel and amount of fuel) or as complex as is required based on the variables the user can change.

Some Other Factors to Consider (Optional):

1. Compression Ratio (internal only)
2. Gear Ratio (for high torque applications)
3. Working Fluid (external only)
4. Ambient Temperature (mainly external only)
5. Heat Exchanger Material (external only)
• Ok, I will have both types, the first being less powerfull than the second. So where do I find the value of f? And what is loss by k is turned into heat, so there's got to be a liquid there to prevent the engine from melting, right? All those optional factors you mentioned affect k, correct? Jul 17, 2016 at 5:17
• @FinnTheHuman so "f" in the equation would be enthalpy of combustion. As for k, it is largely affected by the design of the engine and that may include the cooling liquid, if there is a second hear recycling stage, etc. Jul 17, 2016 at 9:33
• Thank you, I have a much better understanding now. I will be able to ask more specific questions about this issue and I probably will be doing so soon. Jul 17, 2016 at 19:52