GHS Port Reference Center
Information for maritime designers, engineers and builders
Maintained by Creative Systems, Inc., Creators of GHS
Click here for information about GHS and other fine marine software.
Go to Main page

Demonstration of an approach to implementing the German Warship Stability Standard BV1033
    `Demonstration of an approach to implementing
    `the German Warship Stability Standard BV1033
    
    proj BV1033
    
    read tanker.gf
    
    LBP 0 94.0F
    
    variable (str) repname="German.pf"
    report {repname} /p:1 /nograph
    set PAGES=2
    
    \\\Average Righting Arms in Waves\
    \\
    
    macro rawaves
     wave {wphase} {wlen} {wamp}
     solve trim
     set racum={racum} plus {RAH}
     set wphase = {wphase} plus {wphasei}
    /
    
    macro raw
     set wphase=0, racum=0
     .rawaves(%1)
     set racum={racum} div %1
     wave off
    /
    
    macro wh1
     heel {h}
     .raw %1
     variable h{n}, ra{n}, wra{n}, ha{n}
     set h{n} = {h}
     solve trim
     set ra{n} = {RAH}
     set wra{n} = {racum}
     set ha{n} = {HMMT} div {WEIGHT}
     set h = {h} plus 5
     set n = {n} plus 1
    /
    
    macro wrep
     variable rra,rwra
     set rra = {ra{n}} minus {ha{n}}
     set rwra = {wra{n}} minus {ha{n}}
     \{ h{n}:0}    { ra{n}:3} { wra{n}:3}    { ha{n}:3}     { rra:3}  { rwra:3}\
     set n = {n} plus 1
    /
    
    macro wh
     variable wlen,wamp,wphase, wphasei, h, racum, n, oldpage
     set oldpage={PAGES}
     report off
     report temp
     screen nograph
     set wlen = {AP} minus {FP}
     set wamp = {wlen} div 20 plus 10.0
     set wamp = {wlen} div {wamp} times 10 plus 0.5
     set wamp = trunc {wamp}
     set wamp = {wamp} div 10
     set n = %1 plus 1
     set wphasei = 360 div {n}
     set h = 0
     set n = 10
     .wh1(19) %1
     screen graph
     report off
     set PAGES = 3
     report {repname} /append /p:{oldpage}
     \Wave Amplitude: {wamp:2}   Wave Length: {wlen:2}   Number of phases: %1\
     \               Righting Arms                      Residual Arms   \
     \Heel Angle  Flat-Water     Waves  Heeling Arm    Flat-Water     Waves\
     set n = 10
     .wrep(19)
     hmmt off
     heel 0
     `ra
    /
    
    macro hm1
     set f = cos {h}
     set f = {f} power 3
     set f = 0.75 times {f} plus 0.25
     set hm = {HMMT} times {f}
     set hms = "{hms} {hm}@{h}"
     set h = {h} plus 5
    /
    
    macro hmmt
      heel 0
      solve trim
      hmmt wind /const
      hmmt report
      variable f,hm,h
      variable (str) hms
      set h=0
      .hm1(19)
      hmmt {hms}
    /
    
    macro draft
     page
     `Ship weight & CG:
     trim 0 | heel 0
     draft %1
     vcg %2
     solve weight, lcg
     status weight, displ /noref
     .hmmt
     .wh 10   `<-- number of wave phases
    /
    
    wind 80
    
    `Drafts & VCGs
    .draft 5 5
    .draft 6 5.5
    
    print preview
    report off
    
Add a free link to your site
Copyright © , Creative Systems, Inc.
Privacy policy