Demonstrates finding reactions on blocks during drydocking.
R eport off clear proj tao-3
`---Read geometry---
read {project}
`---Begin report file---
`---Dock floor slope (tangent of angle)---
variable s
set s = 0`.005
`---Draft mark locations---
lbp -310, 310
`---Initial drafts---
draft 18.5 @ FP, 24.5 @ AP
`---Estimated VCG---
vcg 35
`---Other data---
variable la,lf,dl1,dl2,m,n1,n2,sz,ns,ls,ts,vs
set la = 300 `Location of aftmost block from origin (see geometry file)
set lf = -300 `Location of forwardmost block from origin (see GF)
set dl1 = 31.58 `Distance (spacing) between aft blocks
 `(first or aftmost series)
set n1 = 17 `Number of blocks in first series (do not use 18 blocks)
 `due to getting only one side block
set dl2 = 4 `Distance (spacing) between aft blocks (second series)
set n2 = 0 `Number of blocks in second series
 `Note: n1 + n2
 set ls = 100 `Location of side blocks from origin (see GF for origin)
set ts = 22.5 `Distance of side block from CL
set vs = 3 `Contact point of side block above ship's BL
set m = .10 `Increase this number to increase penetration (deformation)
 `higher number for less stiffness, more penetration/deformation
 `"Penetration" is block deformation
 `m = 0.2 typical value used for grounding calc, values varies
 `depending upon length of vessel and soil condition, etc.
set ns = 18 `Number of steps for drydocking evolution to determine
 `"knuckle reaction"
set sz = 0.5 `"Step size factor (increase for larger steps)
 `Trim divided by 15 (arbitrary factor), this factor is used
 `in conjunction with "ns" factor
`====== End of Input Data ======
variable n,l,p,dl,dp,x,t
set n = 20 `Max number of blocks
`---Solve for weight & LCG---
solve weight, lcg
`---Set up blocks---
macro block
 if {n} = 0 then exit
 set t = %1 minus {la}
 set p = {s} times {t}
 ground "%4Block @ %1" * %1 %2 %3 /pen: {p} {m}
 set n = {n} minus 1
macro blocks
 .block {l} 0 0
 set l = {l} minus {dl}
macro sayerror
 \ Error: %1
set l = {la}
set dl = {dl1}
set s = tan {trim} minus {s}
if {s}
 .blocks ({n1}) `Makes first (aftmost) series of aft blocks
set l = {l} plus {dl}
set dl = {dl2}
if {n2} > 0 then .blocks ({n2}) `Makes second series of aft blocks
set l = {lf}
.blocks `Makes most fwd block @ end of block length (single block)
.block {ls} {ts} {vs} "Stbd Side "
set ts = minus {ts}
.block {ls} {ts} {vs} "Port Side "
`---Report macro---
macro status
 status displ:total, wpl:total
` status ground `use this Cmd for simplified report
 ground report `use this Cmd for complete report
`---Initial Condition---
`---Use a critical point to track the waterline---
`Set at initial draft at aft block
part hull
ref {la} 0 0
set t = minus {height}
crtpt (1) "Tracking pt." {la}, 0, {t}
`Define macro to do step
macro step
 set x = {x} plus %1
 height (1) {x} `Sets the waterline relative to the critical point
 solve trim `Find equilibrium holding heel constant
set x = 0
set dl = {la} minus {lf}
set t = {s} times {dl}
set t = {t} times {sz}
`The variable t now contains the step size
.step ({ns}) {t} `Number of steps in parentheses

 Previous document Back