Jump to content

[0.23.5] Spherical and Toroidal Tank Pack (Updated 05/02/14) (New download link)


Talisar

Recommended Posts

This is very cool. As I'm sure you found already, there is no collider associated with the struts to cause issues with the method you're using here. Making it so the struts themselves would "decouple" would require a model rework, but I think I have some ideas on how it could work. Something to look into when I go for V4.

Yeah, that weird fuel flow has been an issue from the beginning. I honestly have no idea what the cause is, but I'm pretty sure it has to do with the strange way I built the attachments between the toroids and the hubs. What confuses me is that I expected them to drain in the same order as regular stack tanks (top to bottom, etc), and for the life of me can't figure out why they drain evenly all the time.

The attachment pipes aren't really an issue, and honestly, it looks better with them coming away with the tanks (even if they do phase through the rocket in the process), unless there was a way to truncate them just outside the rim of the hub. And that wouldn't be easy, with the variable hub sizes and all.

The fuel flow is probably because the toroidal tanks are effectively leaf nodes off of the main stack, as if you'd put in the 6-way adapters and stuck rotated fuel tanks on the side attachment nodes. I'm not sure why it drains them all simultaneously instead of top to bottom, though. Maybe it counts from the 'ends' and works back toward the engine (as in, the most distant part is zero and closer parts are 1, 2, 3, etc, but all the leaf parts are also dead ends and therefore 'zero', and it drains whatever parts have the lowest number(s) first...?)

The only way I can think of to solve that problem is to have an intermediate part with crossflow disabled (I tried setting the toroidal tanks themselves to have no crossflow, but that apparently only affects parts *beyond* the one flagged as such). Disabling it on the hubs would most likely prevent fuel flow from the rest of the stack, not just the toroidal tank. Maybe the struts could be that part, but I can't think of a good way to attach the tank to the struts without making it flop around the way surface attachment would or ending up with an off-center CoM...

The best thing I could think of would be some way to make the center attachment node of the hub disallow crossfeed, without affecting the flow between top and bottom nodes. It might take a plugin to make that possible, or it might not be possible at all, and it would certainly confuse things like MechJeb if they didn't understand it.

Another topic: I think you may have mentioned plans regarding this before, but the dry masses on the toroidal tanks seem very high for the amounts of fuel they store. It would be awesome if those were reduced closer to stock tank ratios, even if they were still a few percent heavier in comparison.

Also, have you considered making toroidal tanks with thicker tank sections? I keep looking at them and wishing I could get one with a just over 2.5m inner radius but a larger outer radius so it could hold more fuel, instead of the only option being to increase both and not gain nearly as much fuel space.

There seems to be a noticeable gap in the choices of spherical tank sizes, big enough that a couple more sizes could easily fit with room to rattle around between them. The only spherical tank with a 3.75m end cap is absolutely mammoth in comparison to the next lower size, and I keep looking at the 2.5/3.75m tank and wishing for a 2.5/5m and 3.75/5m, and one somewhere between that and the largest as well.

And on the topic of spherical tanks, the hemispheres seem to have a bit of extra cylinder tacked on - putting two of them together, for example to get different size end caps on each end, doesn't make a perfect sphere. It's like the middle band from the full spheres was kept in its entirety, and only the part of the sphere sticking out below it was cut away. Even if the stats didn't change at all, it would be nice if we could (perhaps optionally, for those already using and/or liking the current models) have hemisphere models that could be mated without the result looking misshapen.

Edited by Tallinu
Link to comment
Share on other sites

Another topic: I think you may have mentioned plans regarding this before, but the dry masses on the toroidal tanks seem very high for the amounts of fuel they store. It would be awesome if those were reduced closer to stock tank ratios, even if they were still a few percent heavier in comparison.

Also, have you considered making toroidal tanks with thicker tank sections? I keep looking at them and wishing I could get one with a just over 2.5m inner radius but a larger outer radius so it could hold more fuel, instead of the only option being to increase both and not gain nearly as much fuel space.

There seems to be a noticeable gap in the choices of spherical tank sizes, big enough that a couple more sizes could easily fit with room to rattle around between them. The only spherical tank with a 3.75m end cap is absolutely mammoth in comparison to the next lower size, and I keep looking at the 2.5/3.75m tank and wishing for a 2.5/5m and 3.75/5m, and one somewhere between that and the largest as well.

And on the topic of spherical tanks, the hemispheres seem to have a bit of extra cylinder tacked on - putting two of them together, for example to get different size end caps on each end, doesn't make a perfect sphere. It's like the middle band from the full spheres was kept in its entirety, and only the part of the sphere sticking out below it was cut away. Even if the stats didn't change at all, it would be nice if we could (perhaps optionally, for those already using and/or liking the current models) have hemisphere models that could be mated without the result looking misshapen.

- On the toroidal weights, we did a lot of work to move them to "realistic" values, but some believe we did it to the detriment of gameplay. If you go into the config and remove the basemass=-1 lines, then MFT will figure the tank masses and they will be much lighter.

- Another toroid size is definitely possible. Another thing to keep in mind for V4

- The spherical tank diameters double for each size (2.5m - 3.75m - 7.5m) which is the reason for that progression that seems to leave such a large gap. That said, it wouldn't be hard to wedge a 5m diameter tank in there.

- The band on the hemispherical tanks I left purposely. The main reason was so that there would be a convenient flat place for attaching other parts such as RCS or landing legs. otherwise they would have angled off in weird ways. I could probably have reduced the band size by half so they would mate together and be exactly the same as a single tank though. (V4? :))

Link to comment
Share on other sites

Thanks for the tip regarding the config setting, I'm still figuring out some of the specifics of how MFT works. Realism is great, generally speaking. But unfortunately, despite being based on real orbital mechanics and such (to the extent possible in a simple simulation like this), a lot of KSP is notably unrealistic for gameplay reasons. Engine masses are often very high and ISPs low, planets unusually dense or the opposite, and with the stock drag model the atmosphere is like pea soup... I prefer to edge in realism's direction without getting too far from stock values, myself. So for now I'll try making that settings change, and see what the resulting masses are.

I wasn't suggesting that the band be removed, of course - I understand the need for having it there, believe me! Being able to use one (or more) of those hemispheres as the base for a lander is nice, especially when using radial engines. Keeps a lot of the weight low toward the surface for a more stable lander. Cutting it in half would be perfect.

And while I understand what you meant about the tank sizes, I must point out that 3.75m is not double 2.5 or 1.25... :) Increments of 1.25m would seem a more appropriate description, which would indeed mean that two sizes are missing (5m and 6.25m) between 3.75m and 7.5m... So, I hope you will consider adding both of those for V4 so that we can have a greater flexibility in choosing the right size tank for our building needs. :) The same goes for the toroid sizes - the current sizes seem pretty good for lower-capacity versions, at least below the biggest one (that might qualify as medium-capacity tank of its diameter). Having one or two more capacities available would be really great.

(Have you ever thought about procedurally defined tanks, like some of the Goodspeed parts or the StretchySRB stuff? Being able to define inner and outer diameter for toroidals and pick different end cap sizes for your choice of sphere sizes would be awesome too.)

Anyway, now I have even more reason to look forward to V4. :)

Link to comment
Share on other sites

Tallinu: those masses are based on stock (jumbo-64) tank masses. I even went to efforts to increase their mass ratios (high mass ratio = good). Long story short: toroids are one of the worst possible shapes for tank mass/volume efficiency (the sphere is the best, but has its own problems). What I don't get is why they're so much worse than a cylinder of the same volume.

Link to comment
Share on other sites

And while I understand what you meant about the tank sizes, I must point out that 3.75m is not double 2.5 or 1.25... :) Increments of 1.25m would seem a more appropriate description, which would indeed mean that two sizes are missing (5m and 6.25m) between 3.75m and 7.5m... So, I hope you will consider adding both of those for V4 so that we can have a greater flexibility in choosing the right size tank for our building needs. :) The same goes for the toroid sizes - the current sizes seem pretty good for lower-capacity versions, at least below the biggest one (that might qualify as medium-capacity tank of its diameter). Having one or two more capacities available would be really great.

The 1.25x upscale is what caused the weirdness for me there. When I initially modeled them the tank end diameters were 1.25m/2.5m, and I basically made the centerline diameters one step up from the ends. Then there was a request for a bigger tank as well as more variety in endcap sizes, and for some reason I doubled the centerline diameter instead of stepping it up. The spherical tanks were actually my first attempt at modding, so you are seeing the end result of a very poorly planned out learning process :). The only reason they ended up usable was due to a LOT of help from people like taniwha and Greys (among others).

(Have you ever thought about procedurally defined tanks, like some of the Goodspeed parts or the StretchySRB stuff? Being able to define inner and outer diameter for toroidals and pick different end cap sizes for your choice of sphere sizes would be awesome too.)

I had thought about the next iteration of the pack being procedural, but that's outside my current skillset (and now it looks as if swamp_ig is doing a great job of getting procedural versions out here). I feel that I have made significant progress toward improving both my modeling and texturing skills, so I think my next swipe at this pack will be aimed at making very good looking models and textures, as well as more firmly planned out workflow to make the tanks offered in sizes that make more sense.

I haven't made too much progress on this lately, but here are some reposts of what I'm thinking of for the future of the pack:

VNvbSuq.jpgoCTQXnz.jpg

It seems that concerning procedural tanks (and this is totally my own opinion, so take it for what it's worth), they are great for flexibility such as when you need just a little more or less space in a tank, but specifically modeled sizes can compete if they look really good. I've actually found that I personally tend to rarely use the procedural tanks if I am able to accomplish the same thing with standard tanks, but I have definitely been using them more and more.

Edited by Talisar
Link to comment
Share on other sites

@Talisar: for a first try, it's very good, the texture of the two last versions of your tanks are great, and in fact, I like the v1.6 (06/2013) release better than the next (v3.11 01/2014). I didn't really seen what I've done by chance by installing both on my test install.

The new model looks good, I hope you'll keep the "basic gray style" :).

(Procedural things could be great but looking at issues users found on current release, I even don't want to try it.)

Link to comment
Share on other sites

awww man... i hate MFT... but i REALLY want to use this mod... gah darnit

I personally love MFT, but if you don't have it installed the tanks in this mod will default to containing only Liquidfuel/Oxidizer. You just won't be able to switch out the contents unless you change the config manually.

Link to comment
Share on other sites

@Justin Kerbice: I really liked those textures on the v1.6 pack too (they were done by Wyseman76). I ultimately plan on trying to have several choices of texture for the tanks using the same texture switch module from FireSpitter that I currently use for the colored banding.

Link to comment
Share on other sites

Wyseman76 never requested that I not use them. The only reason I didn't continue using them was that when I made the new models the UV's changed quite a bit so I had to make new ones. I didn't want to just chop up his good work to make it fit my new texture maps, which I likely would have botched, and I hesitated to ask him to go through all the work to make new ones (the discussion when I initially switched to those textures from my first attempts got...a bit heated). I will definitely be paying closer attention to getting better quality textures made up before any release this time, whether I make them myself or somebody with more artistic skill helps me out with them.

Link to comment
Share on other sites

taniwha: I haven't used blender, but I'll look into it. I have all the old versions archived.

ialdabaoth: By all means, you're welcome to use any of the stuff I've made if you like. As mentioned above, I have the old versions still, so let me know if you need it.

Also, knowing my limitations at texturing, I included the UV templates along with each download. I happily invite anyone who has the inclination to make up textures for the tanks, and I'd be more than willing to provide links to their downloads along with the tank packs.

Link to comment
Share on other sites

Tallinu: those masses are based on stock (jumbo-64) tank masses. I even went to efforts to increase their mass ratios (high mass ratio = good). Long story short: toroids are one of the worst possible shapes for tank mass/volume efficiency (the sphere is the best, but has its own problems). What I don't get is why they're so much worse than a cylinder of the same volume.

Really? Maybe I'm missing something major. You probably know more about the subject than I do - I remember reading your discussions of it on these forums, but I'd have to go back and find them again for the details.

I suspected that the mass of a tank should be related mostly to its surface area (aside from issues like pressurization and other components), with the dry mass of the tank approximated by the surface area times the thickness of the tank's outer shell times the mass per cubic centimeter of the material used.

I looked up information on the volume and surface area of cylinders and tori, and right from the start, everything I read seemed to imply the torus was better. The formulas implied it, and explanations of proofs of the formulas seemed to support it as well. As a test, I used the same value for a cylinder's diameter and the minor diameter of a torus, and the correct cylinder height to make the volumes equal was then easy enough - just replace H with Pi*D. For tori and cylinders matched up by diameter in that way, the volumes were equal and the surface areas of the tori were always lower. So I decided to try values based on the J-64.

I don't know the exact height of the J-64 tank, but comparing it with three perpendicular tanks, it seems to be about 7.5 meters, for a volume of about 36.82 cubic meters. Making a 2.5m minor diameter torus with the same volume as a single J-64 would put the major diameter below 2.5m, which would turn it into a spindle torus (to which these formulas don't apply), so I've used two stacked J-64s instead for a volume of 73.63 m^3. The surface area of one is about 68.72, and doubling that gets 137.44 (I'm not simply increasing the height of a single cylinder because you can't actually do that while playing KSP, at least with stock tanks).

A height of 15m translates to a major diameter of 4.7746 (via division by Pi), so substituting 15 for Pi*D, the surface area of the torus would be A = Pi*D*Pi*d = 15*Pi*2.5 = Pi*37.5 = about 117.81 square meters. 117.81/137.44 = about 0.857 so the dry mass of the particular toroidal tank I've described should be about 14 to 15 percent lower than the dry mass of the pair of J-64s it was based on, while containing an equal volume of fuel.

I imagine it's possible to find some horribly high surface area to volume ratios for either a torus or a cylinder - for example, a very thin, wide pancake of a cylinder would be really bad, and a narrow diameter like a pencil would also be bad - both for a torus and a cylinder. By comparison with a sphere, which I believe has the lowest surface area to volume ratio possible in three dimensions, a larger minor diameter is always going to improve the area to volume ratio of a torus, while for a cylinder it will improve it as long as the diameter isn't so high that the squares in the end-cap terms don't grow too large... the height must keep pace with the diameter to avoid that. It's probably possible to write some kind of optimizing function, but that's a bit of a tangent.

http://en.wikipedia.org/wiki/Torus and http://www.engineeringtoolbox.com/surface-volume-solids-d_322.html were very helpful, as was Google with search strings like "right cylinder calc: find A" and "torus calc: find R, r=n/a, V=n/a".

Again, if I'm missing something important, please let me know. I spent quite a while working out errors in my math and I'm fairly certain everything agrees with everything else now, and I hope reading this doesn't seem like a waste of time in the end, but it seems to confirm the idea that tori are (or at least can be) better than cylinders, from a surface area to volume standpoint.

The 1.25x upscale is what caused the weirdness for me there. When I initially modeled them the tank end diameters were 1.25m/2.5m, and I basically made the centerline diameters one step up from the ends. Then there was a request for a bigger tank as well as more variety in endcap sizes, and for some reason I doubled the centerline diameter instead of stepping it up. The spherical tanks were actually my first attempt at modding, so you are seeing the end result of a very poorly planned out learning process :). The only reason they ended up usable was due to a LOT of help from people like taniwha and Greys (among others).

I see. You've done well despite the learning process, I think! If these weren't so useful and decent-looking even with the existing textures and models, I wouldn't be here bugging you for more, after all... ;)

I had thought about the next iteration of the pack being procedural, but that's outside my current skillset (and now it looks as if swamp_ig is doing a great job of getting procedural versions out here). I feel that I have made significant progress toward improving both my modeling and texturing skills, so I think my next swipe at this pack will be aimed at making very good looking models and textures, as well as more firmly planned out workflow to make the tanks offered in sizes that make more sense.

I haven't made too much progress on this lately, but here are some reposts of what I'm thinking of for the future of the pack:

He wrote that he's not doing anything toroidal, though! But I can totally understand not wanting to jump into coding something like that, especially given the aforementioned newness to modding.

Those new models look great, but I hope you'll provide endcap models with cover panels as well as the ones with just struts, for when aerodynamics (or at least the appearance thereof) is an issue. I've used your hemispheres as size adapters (particularly 3.75 to 2.5m) because they look a lot more interesting than the boring cones most parts packs offer. The smaller end-capped hemispheres also make great caps for 2.5m and 3.75m tanks mounted radially (or in similar fashions), like this: http://imgur.com/a/1wRdE#41 Especially when you want to stick docking ports on the ends. (In the left foreground, those are 2.5m KW Rocketry tanks with the 2.5m base & .625m cap hemispheres on top and bottom, Jr. ports on both. Same thing on the opposite side of the ship.)

Regarding the config options, I've tried removing all of the basemass = -1 lines I could find in the toroidal tank configs, but the game still wants to assign a dry mass of 56.2106 tons to the XL toroidal tank as soon as it has fuel tanks defined. The others have similar results. Pulling a fresh XL out of the parts window, it has 3910.3 LF and 4779.3 Oxidizer, and a wet mass of over 99 tons. Removing the LF tank reduces dry mass to 33.7264 tons, and removing both results in 6.2456, which doesn't even match the part mass listed in the config (mass = 16.0109). Looking in the configs for the spherical tanks (for example, the large), I see that the dry mass of the part does match (mass = 13.5) and doesn't change when the tanks are removed or re-added in the editor. These still have the basemass = -1 lines. I'm rather confused as to how this works and what's going on...

Link to comment
Share on other sites

IMHO, those volume calculations may be meaningless as there is first the shell width, the sealed tank inside, some stuffes to (re)fill it, valves, etc so fuel volume might be x % of the external volume, x depending of what is inside (how safe has to be to be stored and use in all kind of temperatures/pressure encountered) as we have to remember material's temperature greatly change between low & high values.

Link to comment
Share on other sites

Talinu: I used blender's mesh volume tool to calculate the volumes, but they matched closely with my rough hand calculations. Note that they're not all that bad: ~3:1 vs stock's 9:1.

If I'm reading that right, it's wet:dry mass... So 3:1 means having to carry around half a ton of dead weight for every ton of fuel? That's... absolutely abysmal, honestly.

I went back and examined a bunch of stock parts, and it's clear Squad was at the very least fudging the math, if not ignoring it entirely, probably for simplicity and gameplay reasons. Both wet and dry masses of successively smaller 2.5m tanks are exactly halved. A 1.25 tank of the same length as a certain 2.5m tank has exactly 1/4 the masses (which theoretically corresponds correctly to the reduction in diameter, but ignores all sorts of engineering issues like thickness of the tanks and the skin of the part). And halving the length of 1.25m tanks again exactly halves both the wet and dry mass.

The takeaway from this, in terms relevant to the discussion, appears to be that Kerbal engineers have a preferred volume to dry mass ratio and adjust things like the thickness of tanks of varying volumes as needed to give them that mass ratio, regardless of surface area. Which throws all discussion of surface area to volume ratios in regards to part mass right out the window in a flurry of scattering paperwork. Sigh.

I guess I'll just edit the configs on mine to set the dry mass proportional to the volume and call it a day...

Link to comment
Share on other sites

Justin Kerbice: I did those measurements using shells. My use of "volumes" included shell volume, not just contents volume. That said, what you are suggesting will only add to the mass and reduce the storage volume.

Anyway, after a bit of thought, I think I've figured out why tori are so terrible for mass ratios: it's not so much their shape but rather their aspect ratio. In fact, a cylinder and a torus of the same volume and the same radii (ie, minor radius for the torus), the torus will actually have a slightly smaller surface area than the cylinder because it has no end-caps, and surface area translates to mass well enough for this argument.

Anyway, a torus is just a cylinder that's had its end-caps removed and been bent into a circle. The length of the cylinder is 2ÀR where R is the major radius of the torus. We will ignore the end-caps so the surface area is just the minor circumference of the torus multiplied by its major circumference, or A=4À2Rr (r is the minor radius).

However, the volume is the cross-sectional area of the torus (one side) multiplied by the major circumference, so V=2À2Rr2.

This means that for a constant volume, as the minor radius is halved, the major radius must be quadrupled, so the surface area doubles. This is why a torus is a sub-optimal choice of tank shape (for mass ratios): they are long skinny cylinders while stock cylinder tanks are relatively squat.

Link to comment
Share on other sites

Ah, that makes sense. Thanks, I hadn't thought about that approach.

But even so, my first reaction to that is: They don't *have* to be long and skinny! Why would you want to maintain a constant volume while increasing the major diameter anyway? Let the volume increase. And instead of reducing the minor radius, increase it too. The closer to the major radius it can be, the better, right? Yeah, some sizes wont' fit around the larger hubs, but so be it. Instead of "what size must a certain volume tank be", consider "what's a good volume for a certain size tank to be".

Link to comment
Share on other sites

Talinu: that's if they weren't 4:1 (I don't remember the numbers now, but they should be in the thread).

And yes, stock tanks probably are a little off between the two size families, but not too bad within the one (they're way out for 0.625m) (double the length, double the volume, not quite double the mass (end-caps)).

Anyway, I hope my above post satisfies you on the torus mass issue.

Link to comment
Share on other sites

Heh, we're ninjaing each other.

The point of a torus tank is to put something in the middle. This forces the minor radius to be significantly smaller than the major radius. Constant volume itself isn't the goal, but just a way of explaining why the ratios are bad.

Link to comment
Share on other sites

Yeah, I've been watching the thread and refreshing any time my email beeped at me. :)

It only forces that if you constrain the total width of the torus. A torus with a bad ratio might as well have its hub replaced with a pancake fuel tank, resulting in a more efficient rocket. The way I see it, if you need more room in the middle, you need to expand the torus to a size where the ratio isn't bad, not shrink the minor diameter and make it worse. It's clearly possible to have a surface area to volume ratio that IS better than cylindrical tanks, even with the funny way of assigning masses they've used. But to do it you have to make a torus that takes up a lot more space, not less space. The one I described in my comparison to the J-64s would not fit around a 2.5m hub, for example. But if you didn't mind being equal instead of better, you could use a slightly more convenient minor:major ratio and have a better fit.

Additionally, if you look at the A/V of the 1.25m tanks instead of the 2.5m tanks, and/or keep in mind the "Kerbal Way" that I mentioned a couple posts back, it's not hard to see how even the current sizes and shapes of the toroidal tanks could have decent mass ratios. The 1 meter minor radius of the large tank isn't that far from 1.25m, and the XL is definitely more than 1.25m, and those stock 1.25m tanks are still 9:1... What's that tell us? Apparently, Kerbals can make thin-skinned tanks strong enough to stand up to high accelerations... So why not actually make use of that capability? :)

Link to comment
Share on other sites

Tallinu: it's the ratio between major and minor radius that causes the poor mass ratio, not the absolute amounts. The Jumbo-64 is six times as long as its radius (7.5m vs 1.25m (radius)). The absolute minimum ratio of length to radius for a torus is 2À (when both major and minor radius are the same).

That said, the actual A/V ratio for a torus is simply 2/r (for comparison, a sphere is 3/r).

However, for structural reasons, the mass of a tank is not proportional to its surface area, but rather to its volume. As you increase the volume of the tank, you must also increase the thickness of its walls in order to contain the same internal pressure. Admittedly, a torus might mess with the exact relation as I'm not sure (don't remember) if cylinder length (torus major radius) has an effect on required wall thickness, but cylinder width (torus minor radius) certainly does, but a quick glance at the equations indicates that wall thickness being proportional to just the minor radius would keep the tank mass proportional to the tank volume.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...