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

Run LS for load conditions, capture curves to variables, and custom plot
    clear | clear all
    
    `This run file doesn't print LS limit values yet
    
    read tanker.gf
    lbp 94.5
    variable nLC=4,nFr=19
    variable dloc=47.25f `<--- mean draft location
    
    `Create a frame file for this vessel:
    me (report) tanker.fra
    macro meFR
     variable FR%1={90-(%1-1)*5}
     me ""FR%1" {FR%1}f M
    /
    .meFR(nFR,1) 1
    me (report) off
    
    `Declare variables to receive shear force and bending moment values for each frame:
    macro var
     variable FR%1$SF,FR%1$BM, FR%1$SLN, FR%1$SLP, FR%1$BLN, FR%1$BLP
    /
    .var(nFr,1) 1
    
    
    `Load Condition Macros
    macro LC1  `full cargo
     load (c*) .95
    /
    macro LC2 `full ballast
     load (w*) .95
    /
    macro LC3 `hog
     load (f*) .95
     load (WBFPK.C, WBWT1.*, CGC1.C, CGS1*) .9
     load (WBAPK.C, WBWT6.*, CGC6*, CGS6*) .9
    /
    macro LC4 `sag
     load (f*) .95
     load (WBWT3.*, CGC3.C, CGS3*) .9
     load (SLOP.*, CGC4*, CGS4*) .9
     load (WBWT5.*, CGC5*, CGS5*) .9
    /
    
    macro valSV  `%1: Frame number, %2:load condition number
     variable LC%2_Fr%1_S={FR%1$SF}, LC%2_Fr%1_B={FR%1$BM}
     variable LC%2_Fr%1_SLN={FR%1$SLN}, LC%2_Fr%1_BLN={FR%1$BLN}
     variable LC%2_Fr%1_SLP={FR%1$SLP}, LC%2_Fr%1_BLP={FR%1$BLP}
    /
    
    macro DoLC `%1: load condition number
     load (*) 0
     .LC%1
     page 99%
     solve
     \Load Condition %1\
     status
     ls /notable:plotonly /plot:scale10
     ls /noprint /frame
     .valSV(nFR,1) 1 %1
    /
    
    macro plotSTR `%1:LC number, %2:Frame, %3:S or B
     if %1=1 then plotSTR:=", {LC%1_Fr%2_%3LN}, {LC%1_Fr%2_%3LP}"
     plotSTR:="{plotSTR}, {LC%1_Fr%2_%3}"
    /
    
    macro plotdataFR
     variable plotSTR=""
     .plotSTR (nLC,1) 1 %1 %2 `put values from each load condition into
     me {FR%1}{PlotSTR}
    /
    
    macro setLClabels
     LClabels:="{LClabels}, LC%1"
     LCstyles:="{LCstyles} L"
    /
    
    macro plot `%1: S for shear or B for bending moment
    message plotstart %2
    variable LClabels="", LCstyles=""
    .setLClabels(nLC,1) 1
    message plotlabel FrameLoc "Lower Limit" "Upper Limit"{LClabels}
    message plotstyle L L {LCstyles}
     .plotdataFR(nFR,1) 1 %1
    message plotend
    /
    
    weight 6.0 @97.57f,
    14.0 @85.05f,
    19.6 @85.04f,
    22.8 @5.03f,
    20.0 @5.03f,
    21.2 @2.90a;
    5.5 @12.0f,
    3.3 @0.0
    vcg=5.0
    heel=0
    fix heel
    
    lslim shr= 1000 @5, 1500 @ 20f, 1500 @ 70f, 1000 @ 95f
    
    lslim mmt=-10000 & 12000 @  5,
              -11000 & 15000 @ 20f,
               -9000 & 16000 @ 70f,
              -10000 & 15000 @ 95f
    
    
    report
    .DoLC(nLC,1) 1  `get LS values for each load condition
    
    .Plot S SHEAR   `plot shear values at each frame for each load condition
    .Plot B B_MMT `plot bmmt  values at each frame for each load condition
    
    print prev
    report off
    
Add a free link to your site
Copyright © , Creative Systems, Inc.
Privacy policy