Did you know ...

#18: How to calculate gyradius for ship motion

Ship motion prediction programs require a ship's radius of gyration (or gyradius) around the longitudinal, transverse, and vertical axes passing through its center of gravity. The gyradius is defined as the square root of the ratio of total rotational inertia to mass for each axis:

Gyradius = SQRT ( I / M )

Hull inertia can be estimated by various standard methods, but the inertia contributed by tank loads is a particular problem for ship motion programs, because that requires modeling and configuration for every tank on the vessel, a potentially very time-consuming task.

Fortunately, GHS can calculate tank inertia and total gyradius directly, thereby sparing users of ship motion programs this burden. These values can either be reported for manual entry into other programs, or they can be written from system variables into text files for automatic reading into ship motion programs that support this feature.

Inertia Input

The minimum input needed is to specify Light Ship hull gyradius in each of three axes using the command:

WEIGHT weight, lcg, tcg, vcg /GYRADIUS: longitudinal, transverse, vertical

Note that the initial weight and center parameters can be replaced by a single asterisk to use the current values:

WEIGHT * /GYRADIUS: longitudinal, transverse, vertical

Another approach is to estimate hull inertia as if the Light Ship weight were evenly distributed over a box with specified dimensions, using the command:

WEIGHT * /BOX: length, width, height

In the examples above, the lightship weight is given as a point weight. If the lightship weight is instead given as a longitudinal distribution, the /GYRADIUS and the /BOX parameters only include the potential inertial contributions of the longitudinal weight distribution in directions where an asterisk is given instead of a value, such as:

WEIGHT d1 @ l1, ..., dn @ ln, tcg, vcg /BOX: *, width, height

Rotational inertia can also be assigned to each individual fixed weight using the corresponding /GYRADIUS or /BOX parameter for the ADD command. If neither /GYRADIUS or /BOX is included for a point weight, then it will have zero inertia about its own center of gravity.

Keep in mind that in addition to the moment of inertia about it's own center of gravity, every weight item (including the Light Ship) also contributes inertia according to the product of its weight times the square of the distance from its own center to the relavant axis of rotation through the overall vessel center of gravity.

It is possible to ignore all inertia effects for particular fixed weights by including the /GYRADIUS:OFF parameter on their ADD commands. Specifying only the overall vessel inertia without considering the inertia of individual fixed weights can be done by first combining all added weights with the Light Ship using the command:

WEIGHT *

Once the Light Ship inertia has been assigned, the gyradius for the entire vessel around each center axis can be reported using the STATUS INERTIA command. Since gyradius includes the inertia contributions of every tank load at the current waterplane, STATUS INERTIA requires every tank to be INTACT in order for gyradius to be shown.

To skip the full detailed list of all weight and tank inertia values, just the total inertia and gyradius around each axis can be shown using the command:

STATUS INERTIA: TOTAL

Each gyradius value can then be copied to the clipboard (for later pasting into a ship motion program) by selecting it with the mouse and keying in Ctrl-C (or right-clicking and picking Copy).

Gyradius values may also be retrieved using the GYRADL, GYRADT, and GYRADV system variables. For example, these values can be displayed on the screen using the command:

The total rotational inertia of the current intact tank selection around its own center axes can be retrieved using the TINERTL, TINERTT, and TINERTV system variables. For example, the own inertia for all HOLD tanks can be seen using the commands:

TANK HOLD*
MESSAGE {TINERTL} {TINERTT} {TINERTV}

The tank system variables make it possible to make calculations and prepare custom reports on tank inertia contributions. For example, the total longitudinal inertia for the current tank selection can be calculated as follows:

VARIABLE TankInertiaL, DistanceT, DistanceV
SET DistanceT = {TTCG} MINUS {TCG}, DistanceV = {TVCG} MINUS {VCG}
SET TankInertiaL = {DistanceT} TIMES {DistanceT}
SET TankInertiaL = {DistanceV} TIMES {DistanceV} PLUS {TankInertiaL}
SET TankInertiaL = {TWEIGHT} TIMES {TankInertiaL} PLUS {TINERTL}