`Demonstrates finding tank loads to zero trim and heel.
PROJECT zhzt
READ fv.gf
MACRO GROUP `%1: group name %2: tanks to be in group (in quotes)
`Establishes tank group and sets contents to sea water.
CONT(%2) = SEA
GROUP %1 = %2
/
.GROUP hgroup "wt1.s,wt2.s,wt3.s"
.GROUP tgroup "forepeak.c"
LOAD (hgroup,tgroup) = 0.5
`Initial trim and heel to be overcome by tank load adjustments:
TRIM = 0.5
HEEL = 1.5
`Set up initial weight & CG to agree with foregoing:
DEPTH = 6.0
VCG = 7.0
SOLVE WEIGHT, LCG, TCG
STATUS
MACRO tload
`Adjust load in current tanks to reduce trimming moment.
SOLVE DEPTH
LOAD RAT
/
VARIABLE q
MACRO hload `%1: dLoad/dHeel estimate
`Adjust load in current tanks to reduce heel.
SOLVE HEEL
SET q = {HEEL} TIMES %1
IF {q}>0.2 THEN SET q = 0.2
IF {q}<-0.2 THEN SET q = -0.2
SET q = {LOAD} MINUS {q}
IF {q}<0 THEN SET q=0
IF {q} > 1 THEN SET q=1
LOAD = {q}
/
MACRO zt
`Zero trim by adjusting current tanks.
TRIM = 0
TANK = tgroup
.tload (3)
/
MACRO zh `%1: dLoad/dHeel estimate
`Zero heel by adjusting current tanks.
TANK = hgroup
.hload (3) %1
HEEL = 0
SOLVE DEPTH
/
MACRO solve `%1: dLoad/dHeel estimate
`Solve for both zero trim and zero heel.
.zt
.zh %1
.zt
.zh %1
SOLVE
/
.solve 0.03 `<-- dLoad/dHeel estimate (positive for stbd tanks)
GROUPS OFF
STATUS