Center of Buoyancy calculation error!

Hi there!

I noticed differences between the calculation the Center of Buoyancy.
Once for the clipped - underwater body and another time for the whole body in both cases
for the same elevation of 10 meters. All other parameters seem to be OK.

What causes the difference?
Thanks for the help and regards, Vojko

For clipped part bellow 10 m elevation:

From Analyze/Mass Properties menu/Volume Centroid
Volume Centroid = 116.29077,3e-15,5.2020734 (+/- 3e-05,1.4e-06,1.3e-06)

From Analyze/Mass Properties menu/VolumeMoments
Volume = 68853.4321 (+/- 0.0068) cubic meters
Volume Centroid = 116.29077,3e-15,5.2020734 (+/- 3e-05,1.4e-06,1.3e-06)

From Analyze/Mass Properties menu/Hydrostatics
Select surfaces or polysurfaces ( WaterlineElevation=10 Symmetric=Yes Longitude=X )
Volume Displacement = 68853.4
Center of Buoyancy = 116.291, 0, 5.20207

For whole ship hull bellow 10 m elevation:

From Analyze/Mass Properties menu/Hydrostatics
Select surfaces or polysurfaces ( WaterlineElevation=10 Symmetric=Yes Longitude=X )
Volume Displacement = 68853.4
Center of Buoyancy = 119.441, 0, 5.20207

Hi Vojko,

Can you provide your SystemInfo via the Rhino command line? Thanks

1 Like

Can you send us the model? We can take a look.

1 Like

Rhino 8 SR4 2024-2-13 (Rhino 8, 8.4.24044.15001, Git hash:master @ 5d3f86ffffae3c2ed84d21147c008b3907a40a2e)
License type: Evaluation, build 2024-02-13
License details: Stand-Alone
Expires on: 2024-05-06

Windows 10 (10.0.19045 SR0.0) or greater (Physical RAM: 16GB)
.NET 7.0.0

Computer platform: DESKTOP

Standard graphics configuration.
Primary display and OpenGL: NVIDIA GeForce GTX 1650 SUPER (NVidia) Memory: 4GB, Driver date: 6-8-2023 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 536.23
> Accelerated graphics device with 4 adapter port(s)
- Windows Main Display attached to adapter port #0

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPU’s maximum)

Anti-alias mode: 4x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High

Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 6-8-2023
Driver Version: 31.0.15.3623
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 4 GB

Rhino plugins that do not ship with Rhino

Rhino plugins that ship with Rhino
C:\Program Files\Rhino 8\Plug-ins\Commands.rhp “Commands” 8.4.24044.15001
C:\Program Files\Rhino 8\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino 8\Plug-ins\RhinoRenderCycles.rhp “Rhino Render” 8.4.24044.15001
C:\Program Files\Rhino 8\Plug-ins\rdk_etoui.rhp “RDK_EtoUI” 8.4.24044.15001
C:\Program Files\Rhino 8\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino 8\Plug-ins\MeshCommands.rhp “MeshCommands” 8.4.24044.15001
C:\Program Files\Rhino 8\Plug-ins\RhinoCycles.rhp “RhinoCycles” 8.4.24044.15001
C:\Program Files\Rhino 8\Plug-ins\RhinoCode\RhinoCodePlugin.rhp “RhinoCodePlugin” 8.4.24044.15001
C:\Program Files\Rhino 8\Plug-ins\Toolbars\Toolbars.rhp “Toolbars” 8.4.24044.15001
C:\Program Files\Rhino 8\Plug-ins\3dxrhino.rhp “3Dconnexion 3D Mouse”
C:\Program Files\Rhino 8\Plug-ins\Displacement.rhp “Displacement”
C:\Program Files\Rhino 8\Plug-ins\Calc.rhp “Calc”
C:\Program Files\Rhino 8\Plug-ins\SectionTools.rhp “SectionTools”

Hi Scott!

Thanks for the quick reply.
I am sending you two files, one represents the entire hull, the other
represents clipped body at a height of 10m.
whole_body.3dm (389.1 KB)
10m_clipp.3dm (248.8 KB)

Just curious, what is the Center of Buoyancy? Never heard of it…

1 Like

the volume centroid when all forces are equalled?

1 Like

Center of buoyancy is the volume centroid of the submerged portion of an object such as a boat hull. The buoyancy force effectively passes through the center of buoyancy.

2 Likes

David has given the formal definition in naval architecture terms.

More simple than that: it’s just the center of volume below the water when you cut a solid (the ship/boat/buoy/etc.) with a (water)plane.*

It doesn’t necessarily represent any kind of force or moment equilibrium: it’s common to specifically look at how far out of equilibrium the forces and moments are at various conditions because that answers questions like “How far can I tip it over and still expect it to come back to an upright condition instead of capsize if I release it?”.

*you can also assume a nonplanar surface such as including waves

1 Like

There are a couple problems in this case:

  1. The clipped hull was physically in a different spot, moved toward the stern a few meters. Import both models into the same file so they can be physically placed in the same position.
  2. The clipped version is struggling to get a proper intersection right at the clipped waterline. Essentially it is a tolerance problem with the waterline and overlapping face of the hull. You can see the waterline beam and waterplane area are drastically different. This can happen with intersections and overlapping surfaces within tolerance. I expect the waterline is not fully forming. This file has a min tolerance of 1 mm.

To test this I run the waterline at 9 meters and the numbers match. Also a waterline height of 9.99 meter waterline may also work tool.

Full hull waterline 9.99

Volume Displacement = 68778.1
Center of Buoyancy = 119.445, 8.95657e-15, 5.19683
Wetted Surface Area = 10887.9
Waterline Length = 219.539
Maximum Waterline Beam = 40
Water Plane Area = 7529.42
Center of Floatation = 115.711, 1.29603e-14,9.99

Clipped waterline 9.99

Volume Displacement = 68778.1
Center of Buoyancy = 119.445, -8.46311e-16, 5.19683
Wetted Surface Area = 10887.9
Waterline Length = 219.539
Maximum Waterline Beam = 40
Water Plane Area = 7529.42
Center of Floatation = 115.711, 1.54614e-14,9.99

I will need to have someone look under the hood on this to see what the intersection actually looks like at the waterline. i know with the overlapping surfaces it can be indeterminant a bit. but we will see if there is something we can do for it. In the mean time you have a work around I think.

Thanks! There are lots of things to learn still.

Hi Scott!
Sorry, my mistake! As soon as i move the hull to the right location the results are captured.
Thanks for that tip.
What can i do about the other problem you mention? My skills are limited here.

But another problem arises.

The command bellow returns None as a result:

ids = rs.BooleanIntersection(id,pl_id, False)

My clipping plane is rotated only around Y axis

xdeg = 0
ydeg = 0.2609554715605614    (not radians)
Elevation = 2.5     

As soon as I change angle to 0.26 the result is fine with elevation 2.5.
If i keep angle as 0.2609554715605614 and change elevation to 2.51 or 2.49 the results are also fine.

Do you have any clue regarding this problem.
Thank you for cooperation.
Regards, Vojko