```

Question:

I need to model a bottom-dump scow which is basically a double-rake barge with
a slope-bottom hopper and a longitudinal tunnel the full length of the bottom.

There are two things that make it a little challenging:

ف. The tunnel and the hopper are symmetrical, but they are 3 inches off
the longitudinal centerline of the barge - and I need to account for this in
my stability calculations, and:

ق. Because the bottom-dump doors are not tight, the hopper can free-flood
at drafts greater than 5.5 feet.  At the same time, the hoppers may be full
of rocks of varying permeability.

Answer:

Model the exterior as usual (HULL\HULL.C) then make the tunnel a deducting
component.  If it is symmetrical about its own CL then you can make it
a CL component and shift it to one side using the VECTOR statement.
Otherwise it can be a port or starboard component e.g. HULL\TUNNEL.S if it is
on the starboard side or HULL\TUNNEL.P if on the port side.  For example,
in Part Maker:

CREATE HULL\TUNNEL.P
DEDUCT
ENDS -90, 90
TOP 1.0
OUT 0.75
IN  -0.25
FIT HULL.C
/

Then make the hopper as a tank.  The same ideas apply here, except it is
a separate PART, not a deducting component.  Assuming it is symmetrical
about its own CL and shifted to port, for example,

CREATE HOPPER.C
LOC @ -90 = 0.5, 1,  14, 10,  14, 20
LOC @  90 = 0.5, 1,  14, 10,  14, 20
PERM = 1.0
VECTOR 0, -0.25, 0
FIT HULL\HULL.C
CONT = "SEA", 1.025
/

So far you have a scow that you can model with its flooding hopper simply
by designating TYPE (HOPPER.C) = FLOOD in the main program.

Now here comes the tricky part.  We need to account for the rock in such a
manner that it automatically reduces the weight contribution from the flooding
water in the hopper.  In order to do this we need to make another hopper
with identical geometry superimposed on the first one.  For example,

CREATE HOPPER2.C
SHAPE HOPPER.C
PERM = 1.0
VECTOR 0, -0.25, 0
/

In the main program you would set the contents and load level of HOPPER2.C
to represent the rocks.

A rough way of handling the varying permeability which the water sees is
to set the permeability of HOPPER.C to some average value.  If you want a
more detailed analysis than that, consider the following techniques.

If the level of the surface of the rocks is below the level of the water, you
would set the density of the rocks to equal their average density in water
less the density of the flooding water (since the rocks are superimposed on
the water).  That way the total weight and CG comes out correctly.  For
example, if the rocks with water-filled spaces have an average density of 4.0
and the water is 1.025 and the level of the surface of the rocks is 5.0 below
the deck level, then you would use commands like,

TANK = HOPPER2.C
CONT = "ROCKS", 2.975 `spgr of rocks with water in spaces less water spgr.
REFPT = 0, 0, 16
LOAD = REF: 5.0

If the level of the surface of the water is below the level of the rocks, a
similar thing can be done.  In this case, use the true average density of the
rocks in air and either use a lower density for the water to reflect the
low permeability due to the rocks or set the permeability of HOPPER.C
accordingly.  For example,

TANK = HOPPER2.C
CONT = "ROCKS", 3.67
REFPT = 0, 0, 16
HEEL = 0 | TRIM = 0
LOAD = REF: 5.0
TANK = HOPPER.C
PERM = 0.33
CONT = SEA
TYPE = FLOOD

It gets more complicated when you heel the vessel.  The easiest case is when
the hopper is full of rocks and they stay put.  Then the second method shown
above applies at any heel angle.

The other cases that are readily handled are when the water is either always
above or always below the surface of the cargo and the surface of the cargo is
assumed to remain parallel to the waterplane, spilling out of the hopper when
the heel becomes too large.  For this you can make the type of HOPPER2.C
SPILLING after placing its reference point at a representative point over
which spilling will take place.  For example,

TANK = HOPPER2.C
CONT = "ROCKS", 2.975 `spgr of rocks with water in spaces less water spgr.
REFPT = 0, 0, 16
HEEL = 0 | TRIM = 0
LOAD = REF: 5.0
REFPT = 0, 14, 18
TYPE = SPILL

If the rocks stay put, you can make HOPPER.C in two layered components
each with different permeabilities.  The boundary between components would
be at the top of the rocks.  The lower component would have the permeability
of the spaces between the rocks and the upper component would have a
permeability of 1.0.  When you change the level of the rocks in HOPPER2.C
you would have to change the model of HOPPER.C.  For example,

MACRO MODHOPER
ENTER PM
DELETE HOPPER.C
CREATE TEMP1.C
TOP 20
BOT %1
ENDS -100, 100
OUT 25
//
CREATE TEMP2.C
TOP %1
BOT 0
ENDS -100, 100
OUT 25
//
CREATE HOPPER.C\TOP.C
SHAPE HOPPER2.C
FIT (EXTERNAL) TEMP2.C
VECTOR 0, -0.25, 0
PERM 1.0
//
CREATE HOPPER.C\BOT.C
SHAPE HOPPER2.C
FIT (EXTERNAL) TEMP1.C
VECTOR 0, -0.25, 0
PERM 0.33
//
DELETE TEMP1.C
DELETE TEMP2.C
WRITE SCOW.GF2
QUIT PM
/

MACRO LOAD
.MODHOPER %1
.LITESHIP
TYPE (HOPPER.C) = FLOOD
TANK = HOPPER2.C
REFPT = 0, 0, 0
HEEL = 0 | TRIM = 0
LOAD = REF: -%1
TYPE = FROZEN
/

Let's say you want the rocks to be loaded at a level of 9.0 above baseline.
Then you would say,

.LOAD 9.0

Note that a macro LITESHIP is assumed which establishes the light ship
condition.  This is necessary because in the process of reading the new
geometry the weights are discarded.

Another strategy would be to prepare a series of hoppers when you build
your model originally, each with a different boundary between the upper
and lower components.  Then use only the appropriate hopper for the flooding
water according to the rock load level at hand.

If the rock surface shifts and the water surface crosses over the rock
surface, things become very complicated and much more difficult to model
with GHS.  In this case it would be more practical to simply assume an average
permeability for the water hopper according to the amount of rock aboard and
the expected draft.

```

Copyright (C) 2011 Creative Systems, Inc.