Allowable KG & Stability Macros Allowable KG & Stability Macros

Allowable KG & Stability Macros

Printable Version

To use these macros, you should include the line:

     use_mac stab

in your data file. It loads the two macros: STAB_OK and KG_ALLOW.

STAB_OK produces the righting arm, heeling arm, and area ratio curves for the draft specified. Since the righting arm is based on the equilibrium of the buoyancy and weight of the vessel, the vessel weight must have been previously defined. This can be accomplished with the stanza:

     $
     $*********************************     set transit condition
     $
     &INSTATE -CONDITION 7
     $
     $*********************************      compute weight for condition
     $
     &WEIGHT -COMPUTE  5 32 85 85

Now, stability checks with the commands of the form:

     $
     $**************************************      check one intact
     $
     hystat
     stab_ok 5 2.5 10 -wind 100 -yaw 0
     $
     $**************************************      check one damaged
     $
     stab_ok 5 2.5 10 -wind 100 -yaw 0 -damage 5p

These two checks are identical, except that the first one checks intact stability for a draft of 5 feet, while the second one checks stability with compartment 5p damaged.

When using STAB_OK (or KG_ALLOW discussed below), the NWT_DOWN points are used to check intact stability, and both the NWT_DOWN and WT_DOWN points are used to check damaged stability.

There are other options for STAB_OK, and the general form of the command is:

     STAB_OK DRAFT RANG_INC NR_ANGLES -OPTIONS

where the options are:

     -YAW, Y_ANGLE
     -DAMAGE, DAM_CMP
     -WIND, WIND
     -THWAV, ANGLE_WAVE
     -CEN_LAT XC, YC, ZC
     -U_CURRENT
     -COEF_WIND, W_COEF
     -WIND_MAC MAC_NAME
     -NO_EQUI
 
     -I_GM, IGM
     -I_AR_RATIO, IARATIO
     -I_AR_WRATIO, IAWRATIO, MANG
     -I_ARM_RATIO, IARMRAT
     -I_DOWN_H, I_DOWNH
     -I_ARE@MARM, IARE@MARM
     -I_ARE@DFLD, IARE@DFLD
     -I_ARE@30, IARE@30
     -I_ARE@40, IARE@40
     -I_AREBTW, IAREBTW
     -I_ARM_AR, IARMARE
     -I_ZCROSS, IZCROSS
     -I_THETA1, ITHETA1
     -I_RANGE, IRANGE
     -I_ANG_DIFF, IANGDIF
     -I_DANG_T1, IDANGT1
     -I_DANG, IDANG
     -I_ANG@MARM, IANG@MARM
     -I_WAR_RATIO, I_WAR_RATIO
     -D_GM, DGM
     -D_AR_RATIO, DARATIO
     -D_AR_WRATIO, DAWRATIO, MANG
     -D_ARM_RATIO, DARMRAT
     -D_DOWN_H, D_DOWNH
     -D_ARE@MARM, DARE@MARM
     -D_ARE@DFLD, DARE@DFLD
     -D_ARE@30, DARE@30
     -D_ARE@40, DARE@40
     -D_AREBTW, DAREBTW
     -D_ARM_AR, DARMARE
     -D_ZCROSS, DZCROSS
     -D_THETA1, DTHETA1
     -D_RANGE, DRANGE
     -D_ANG_DIFF, DANGDIF
     -D_DANG_T1, DDANGT1
     -D_DANG, DDANG
     -D_ANG@MARM, DANG@MARM
     -D_WAR_RATIO, D_WAR_RATIO

The variable DRAFT sets the draft for which stability will be checked. When the command is invoked, it will rotate the vessel NR_ANGLES times adding RANG_INC to the roll angle. For each increment, the program will iterate an equilibrium position for the other degrees of freedom and then compute the righting and wind heeling arms.

The -YAW is analogous to the same option on the RARM command and is used to compute righting arms about a skewed axis. The -DAMAGE option is used to select tanks that will be damaged for damaged stability. If one does not wish to check damaged stability then this option should not be used.

The next set of options control the computation of wind heeling. The -WIND option is used to define the wind which will be considered. The -CEN_LAT, -U_CURRENT and -COEF_WIND options simply pass their data directly to the RARM command, so that their data is the same as that for the option to the RARM command of the same name.

To include the roll owing to wave action a wave angle can be includes with -THWAV. The righting arm and wind arm calculations will begin at the angle of roll do windward due to wave action (ANGLE_WAVE).

Alternatively, the -WIND_MAC option will call the macro

     MAC_NAME yaw draft

immediately before each invocation of RARM. If you use this option, then you must write the macro, MAC_NAME. It takes the two arguments and set a variable. An example is:

     &MACRO MAC_NAME YAW DRAFT
     &SET COE_WIN = -W_COEF A B C
     &ENDMACRO
     &M_ACT MAC_NAME RARM

One can add any logical he wishes here to change the coefficients based on draft and yaw. The values A, B, and C are numbers depending upon the situation.

By default, righting arms are computed about the equilibrium position which is computed before starting. If the -NO_EQUI option is used, the basic position is used. Notice that the GM may not be defined when using this option.

The results of this macro are plots of the righting arm, heeling arm, and area ratio curves, and two reports. The first report is the standard stability report. The second presents: the condition, the allowables, and the results for each stability criterion along with a statement of "PASS" or "FAIL".

The next thirty six options define the criteria which will be used to check the stability. With these options a prefix of I_ defines a criterion for intact stability and a prefix of D_ defines one for damaged stability. Basically eighteen checks are made:

  • The GM must be greater than IGM (or DGM).
  • The area under the righting moment curve will attain a ratio with the area under the wind heeling moment curve of at least IRATIO (or DRATIO), with both measured at the lesser of the down-flooding angle or second intercept,
  • The ratio of two areas must be greater than IAWRATIO (DAWRATIO). The numerator is the area between the righting arm curve and 1.5 times the wind heeling arm curve for angles between the first intercept and either down-flooding or the second intercept. The denominator is the area between 1.5 times the wind arm curve and the righting arm curve for angles between the first intercept minus the specified angle and the first intercept. Here MANG is nominally the motion of the vessel.
  • The maximum righting arm will attain a ratio with the wind arm of at least IARMRAT (or DARMRAT), with both measured at the angle of maximum righting arm.
  • The minimum height of the Non-Weather tight points must be greater than I_DOWNH feet or meters at the first intercept (equilibrium position including wind), The minimum height of both the Non-Weather tight and Weather Tight points must be greater than D_DOWNH feet or meters at the first intercept (equilibrium position including wind),
  • The area under the righting moment curve up to the angle where the righting arm is a maximum is at least IARE@MARM (or DARE@MARM) ft-degrees or m-degrees,
  • The area under the righting moment curve up to the angle where the the vessel down floods is at least IARE@DFLD (or DARE@DFLD) ft-degrees or m-degrees,
  • The area under the righting moment curve up to 30 degrees is at least IARE@40 (or DARE@30) ft-degrees or m-degrees,
  • The area under the righting moment curve up to 40 degrees is at least IARE@40 (or DARE@40) ft-degrees or m-degrees,
  • The area under the righting moment curve between 30 and 40 degrees is at least IAREBTW (or DAREBTW) ft-degrees or m-degrees,
  • The area under the righting moment curve up to the smallest of the down flooding angle or the second intercept is at least IARMARE (or DARMARE) ft-degrees or m-degrees,
  • The first zero crossing will be at most IZCROSS (or DZCROSS) degrees. Here, the first zero crossing is the equilibrium heel without wind acting.
  • The first intercept, or equilibrium heel due to wind, will be at most ITHETA1 (or DTHETA1) degrees,
  • The second intercept will be at least IRANGE (or DRANGE) degrees.
  • The second intercept will be at least IANGDIF (or DANGDIF) degrees beyond the first intercept, and
  • The angle at which the vessel down floods minus the first intercept is at least IDANGT1 (or DDANGT1) degrees.
  • The angle at which the vessel down floods is at least IDANG (or DDANG) degrees.
  • The angle at which the maximum righting arm occurs is at least IANG@MARM (or DANG@MARM) degrees.
  • The ratio of the righting arm to the wind arm will be at least I_WAR_RATIO (or D_WAR_RATIO) when measured from the angle due to waves (ANGLE_WAVE).

We apologize for the complexity here, but we tried to make these macros applicable to as many rules as possible. Only the checks which are specified will be checked and reported.

We compute the maximum allowable KG for a set of drafts, intact wind speed, and a damage wind speed with the command KG_ALLOW, which has the general form:

     KG_ALLOW

where the options are:

     -DRAFTS, D1, D2, ......
     -TOL, KG_TOL
     -KG_MIN, KG_MIN
     -KG_MAX, KG_MAX
 
     -YAW, Y_ANGLE(1), .....
     -DAMAGE, DAM_CMP(1), .....
     -WIND, I_WIND, D_WIND
     -CEN_LAT XC, YC, ZC
     -U_CURRENT
     -COEF_WIND, W_COEF
     -WIND_MAC MAC_NAME
     -NO_EQUI
 
     -I_GM, IGM
     -I_AR_RATIO, IARATIO
     -I_AR_WRATIO, IAWRATIO
     -I_ARM_RATIO, IARMRAT
     -I_DOWN_H, I_DOWNH
     -I_ARE@MARM, IARE@MARM
     -I_ARE@DFLD, IARE@DFLD
     -I_ARE@30, IARE@30
     -I_ARE@40, IARE@40
     -I_AREBTW, IAREBTW
     -I_ARM_AR, IARMARE
     -I_ZCROSS, IZCROSS
     -I_THETA1, ITHETA1
     -I_RANGE, IRANGE
     -I_ANG_DIFF, IANGDIF
     -I_DANG_T1, IDANGT1
     -I_DANG, IDANG
     -I_ANG@MARM, IANG@MARM
     -I_WAR_RATIO, I_WAR_RATIO
     -D_GM, DGM
     -D_AR_RATIO, DARATIO
     -D_AR_WRATIO, DAWRATIO
     -D_ARM_RATIO, DARMRAT
     -D_DOWN_H, D_DOWNH
     -D_ARE@MARM, DARE@MARM
     -D_ARE@DFLD, DARE@DFLD
     -D_ARE@30, DARE@30
     -D_ARE@40, DARE@40
     -D_AREBTW, DAREBTW
     -D_ARM_AR, DARMARE
     -D_ZCROSS, DZCROSS
     -D_THETA1, DTHETA1
     -D_RANGE, DRANGE
     -D_ANG_DIFF, DANGDIF
     -D_DANG_T1, DDANGT1
     -D_DANG, DDANG
     -D_ANG@MARM, DANG@MARM
     -D_WAR_RATIO, D_WAR_RATIO

The options here are "the same as" those for the STAB_OK command, except that one should specify wind speeds for both intact and damaged cases with -WIND and one can specify more that one thing with -YAW and -DAMAGE. The only new options are -TOL which define the tolerance (feet or meters) for the computation of the allowable KG, -DRAFTS which defines the drafts to be considered, KG_MIN, and KG_MAX. The last two of these are used in setting the limits which will be searched and normally should not be needed. KG_MIN has a default of 0 and thus it is assumed the vessel has been coded up according to the documentation or that if the KG is at the keel, the vessel will pass the stability requirements. If you get a message that "LOWER BOUND FAILS", then you need to use this option with some negative KG so that the message goes away. The KG_MAX value defaults a value which yields zero GM. If you have a partial run which establishes an upper bound on the allowable KG, you can use it here to minimize the computational effort.

For each draft specified, the command will find an "allowable KG" for the set of damages and yaw angles specified. By allowable, we mean that any KG greater than (to within KG_TOL) that found will fail one of the stability requirements for some damage and yaw angle. Basically, this macro simply incorporates an iterative algorithm and repeatedly calls STAB_OK to find the allowable. The macro uses the following search technique:

  • It first sets a lower bound, KL, to MIN_KG and checks to make sure that this passes all cases (intact and all damages for all yaws).
  • It then sets the upper bound, KU, to about where the GM is MIN_GM or that specified with -MAX_KG.
  • An estimate of the KG, KC, is obtained as a*KL+b*KU, and each cases is considered; i.e. for each intact and damaged condition, each yaw angle is considered until one fails or all pass. Here, a and b are chosen based on the number of cases to be considered (number of damage compartments + 1 times the number of yaw angles). The reason for doing this is that it costs much more to check a condition that passes than it does to check one that fails! Thus, the coefficients are chosen to minimize the total cost of the search.
  • If all pass, the KL is replaced by KC and the above process is repeated.
  • If one fails, KU is replaced by KC and the process is repeated.
  • This continues until KU - KL is less than TOL and the allowable is taken to be KL.
  • All of the above was done with no reporting. After an allowable KG has been found, all of the cases are again considered and a report of the stability are printed.

If more than one draft was specified, a plot of the allowable KG vs draft will be made. Since the algorithm favors failure, it is much more efficient if you order the data "properly". In particular, you should input the damage cases in order of most likely failure. The same can be said of the yaw angles.




Ultramarine, Inc. | Suite 325 | 3100 S. Gessner | Houston, Texas 77063 | (713)975-8146

Next

Copyright(C) 1996-2008 Ultramarine,Inc.