Skip to content
This repository has been archived by the owner on Dec 7, 2019. It is now read-only.

Calculation of tank config parameters

Tidal-Stream edited this page Apr 8, 2018 · 3 revisions

Take a look at this spreadsheet: https://github.com/Tidal-Stream/ProceduralParts/blob/master/Source/CalcsAndModels/StockParts.xlsx

That's what I've used to do all the calculations.

The columns to look at are:

Mass - Which is the tank's dry mass as copied directly from its config file.

Liq/Ox - The number of units of fuel as per the config file

Vol - This is calculated in one of two ways, see below.

T/m^3 - The dry mass of the tank per unit volume - the dry density. This becomes dryDensity in the config file.

Fuel/T - Fuel per ton of dry mass. You'll note this is a constant for almost all of the mixed fuel tanks, and the liquid fuel tanks. This becomes unitsPerT in the config file

Liq/m^3 - The amount of fuel per volume. You can use this as unitsPerKL in the config file, but I don't because it's not consistent between tanks.

Fuel/T is the most 'fair' one to use really, because that gives you a constant payload fraction for your tanks. This means there's no size advantage between having one huge tank, or a whole bunch of little ones. (note that this is not the case in stock for RCS tanks, it's better in the game to have 2x FL-R10 than one FL-R25, which is pretty daft, but given what RCS is used for that doesn't matter too much).

Since rocketry is really about trying to get mass into orbit, then the better mass efficiency you have the better the part. While it doesn't matter too much when the tank is full (since the thrust / wt ratio is dominated by the mass of the fuel) when the tank runs close to empty the dry mass of the tank does matter a huge amount. If you don't believe me, attach a light command pod to an SRB and fiddle with the dryDensity a bit. See what a change it makes to the final altitude (I'll give you the hint: heaps!).

If you're using unitsPerT then it doesn't matter if the dryDensity is not quite accurate - the game doesn't do proper aerodynamics so a physically bigger part with the same mass as a smaller one will function otherwise identically. This isn't true of course if you're using FAR, but I've tried to get the densities as good as they can be given the variance in the game engine.

How I calculate volumes:

Most tanks are cylinders. You can eyeball the diameter of the part in the VAB (it's either 0.625, 1.25, or 2.5). You can figure out the length by looking in the config file at the location of node_stack_top and node_stack_bottom, taking into account scale and rescaleFactor. Then you just need to use your formula for volume of a cylinder V = pi * (d/2)^2 * h

You can't do that trick with some tanks (like side-mount ones) cos there's no stack nodes. Easiest way the is to just put a stretchy next to it and try and get a close approximation to the shape and volume.