Jump to content

Bouyancy of various parts: Spreadsheet anyone can contribute to.


Pds314

Recommended Posts

[url]https://docs.google.com/spreadsheets/d/1zWK-f0ptMEJkSuEshDWPaaGoqbUMgZJ58zP3GGbOLik/edit#gid=0[/url]

This link is to my data results for the bouyancy of various parts. It should be highly valuable when it comes to making boats and submarines.

You can also contribute more science by doing tests on parts, and then editing the table as well. Just add the part name, the mass, and the bouyancy value you found in your testing, and protect the line for only you and the original poster, me.

Let's try to get data on as many parts as we can!
Link to comment
Share on other sites

[quote name='Tellar']Where are you getting the buoyancy force from?[/QUOTE]

Experiment.

First, I solved for two equations and two unknowns using 10 OKTO2 probe cores and 2 radial ore tanks, along with hyperedit, and another ship that had 10 probe cores and 3 radial ore tanks.

Then I used the known values for these items to compute the values for everything else.

In each case, I submerged them, and then adjusted the amount of ballast until the vertical velocity stabilized at ~1 mm/s in either direction.

And then did the math based on the known values.
Link to comment
Share on other sites

To calculate displacement, you need an object's drag cube. That's either in PartDatabase.cfg or the part's cfg, or it's generated during the game (procedural).
In the cube, there will be eight triplets of numbers. The first six triplets are the X+/X-, Y+/Y-, and Z+/Z- faces of the cube, the next triplet is the centroid, and the final triplet is the sizes (in x,y,z).
areas[n] refers to the first number in the nth of the first six triplets, where n starts at 0 and ends at 5 (0 = the X+ face, 1 = X- face, and so forth).
size.x or y or z refers to the first/second/third number in the final triplet.

Displacement is found by:
First, naively compute displament as size.x * size.y * size.z
Next calculate
xPortion = areas[0] / (size.y * size.z)
yPortion = areas[2] / (size.x * size.z)
zPortion = areas[4] / (size.x * size.y)
if none of those numbers are 0 or divide-by-zero, then we recalculate displacement, first calculating an xzPortion as (Min(xPortion, zPortion) + 2 * (xPortion * zPortion)) * 1/3
Finally
displacement = original displacement * xzPortion * yPortion
Link to comment
Share on other sites

[quote name='NathanKell']To calculate displacement, you need an object's drag cube.[/QUOTE]

That's not what I did here. The drag cubes would probably be more accurate, but my figures are experimental/empirical values.
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...