GHS Version Update History from Version 16.50 to 17.00


GHS Version Update History since Version 17.00

Version 17.00A

SCREEN SCROLL modes sometimes misformatted output after dragging the border
increased the number of window rows.

SEAkeep LIMIT combined with SEA /RESP was trapping an unusual error for
certain combinations of response subparameters (since 16.36 only).

SEAkeep /BILGEKEEL no longer traps an error when component names in the
geometry file do not include a side extension (since 16.46 only).

DISPLAY STATUS /SYNC repetition was sometimes spawning a bizarro duplicate CG
window on very busy systems (requires updated CG.EXE).


Version 17.00B

ENTER PM command COMMENT without any text was not attaching a blank line;
instead it was showing existing comments, which are now shown by "COMMENT ?"
(since 12.00 only; requires updated PM.EXE).


Version 17.00C

SEAkeep /BILGEKEEL now supports up to 20 appendage components.


Version 17.00D

TS /FORMAT:1 report was sometimes omitting the maximum sounding level row.

SEAkeep /BILGEKEEL now respects the shift in the seakeeping origin when
the /COUPLE parameter is used concurrently (since 16.70 only).


Version 17.00E

TEMPLATE /POS:SAME was not preserving screen position when redefining an
existing template dialog.

DISPLAY STATUS /SYNC repetition was made more reliable on very busy systems.


Version 17.02

SEAkeep /ROLLTANK:part[\component],... parameter was added to support
geometrically derived roll tanks.  A new Tank Dynamics table is automatically
included in the seakeeping report to list roll tank characteristics.

SEAkeep /DATA:TAnks writes tank moments and phase angles to a comma-delimited
data file TANKS.DAT in the current directory.

ENTER PM statement DAMPING = f defines a tank's Damping Factor (or set
negative to restore default 0.1 damping), aka the "damping coefficient" or
"decay coefficient" calculated as f = b / (2 * SQRT(c * a)) where b is the
dimensional damping, c is the stiffness, and a is the mass.  Note a damping
factor of <1 is considered "under-damped", a factor of =1 is "critically
damped", and a factor of >1 is "over-damped".  Default value 0.1 is
recommended for smooth-wall tanks, but should be increased for tanks with
extra damping due to structure, coatings, or baffles.

STATUS MOMENT and STATUS INERTIA:POINT were not always reflecting tanks
emptied since the last SOLVE.

STATUS MOMENT was showing incorrect values for WDF type tanks.


Version 17.02A

SET PARSE "substring" "text" operator was added to extract all characters
before any first occurrence of the substring item found inside the text item,
or all its text if not found.  Thus SET X=PARSE "TL" "TITLE" sets X to "TI".

DIVISION /WING:b1,... and /HBHD:v1,... parameters now support up to 6 values
(increased from 3 for wing breadths and 2 for horizontal bulkhead heights).

DISPLAY STATUS PLAN view was not showing any fuel portion of WDF type tanks
extending beyond the lower sea water portion (requires updated CG.EXE).

READ was sometimes trapping a run-time error when certain non-ASCII UTF-8
characters appeared in a geometry file (since 16.90 only).

GROUP command was not enforcing for the first tank the documented requirement
that all tanks in a group must be intact.


Version 17.02B

FSMFLOOR maximum floor value was raised for medium-large vessels.


Version 17.04

SEAkeep DATA datafile [/HYFO:forcingfile] [/dataparams] was added to
start seakeeping in data mode, accepting input from the specified data file,
respecting * wildcards to accommodate multiple cases.  Data mode prevents
numerical solving for the current condition, instead using external RAO data
to compute responses and statistics in the given seaway.  However if the /HYFO
parameter is present, data mode uses hydrodynamic (instead of RAO) data along
with the specified forcing data, preventing numerical solving for hydrodynamic
forces, but still solving the equation of motion.  One or more of the following
slash parameters can also be included: /SAMPle, /CONFidence, /PERiod,
/CRTpt, /SHW, /MSI, /TIME, /DATA, /RESPonse, /NOPlot, /[CASE]SUM, /POLAR,
/MIRror, /GNunit, /RELative.

SEAkeep /DATA[:[datadir\]datalist] now supports an optional data directory
subparameter to specify the subdirectory or absolute path for creation of
data files; the default is the current directory.

SEAkeep /DATA data files now include the number of wave samples in the file
header line.

SEAkeep /DATA:REsponse no longer includes redundant "Critical Point Motions"
subtitle lines.

SEAkeep stiffness coefficients are now computed using waterplane inertias for
the overall vessel condition and not just for the hull component specified by
the /HULL parameter.

WINERTL, WINERTT, and WINERTLT system variables were added to return
the overall waterplane longitudinal, transverse, and product of inertia
through the Center of Flotation.


Version 17.04A

BML system variable (as well as BML and GML reported by GHS and HS commands)
was giving incorrect values at substantial trim when displacer components have
non-zero longitudinal translation vector shifts.

TWPA, TLCF, and TTCF system variables were not returning correct values for
frozen tanks.

DISPLAY STATUS PLAN@WPL[:BE] view was not showing critical points (requires
updated CG.EXE).


Version 17.04B

ENTER PM command RENDER was trapping a run-time error on a new installation
(since 17.00E only; requires updated PM.EXE).


Version 17.06

TCF and TTCF system variables, along with TCFs shown by STATUS WPL
and COMP commands, now give transverse Center of Floation using the standard
ship coordinate system (instead of a modified waterplane coordinate system).

VCF and TVCF system variables were added to return the vertical location
in ship coordinates for the waterplane or selected part Center of Flotation.
TWPA, TLCF, TTCF, and TVCF may be used for displacer parts as well as tanks.

STATUS WPL /VCF parameter was added to include Vertical Center of Flotation,
replacing the BML column.

COMP /FORM added Vertical Center of Area to its waterplane information.

SEAkeep was computing incorrect stiffness coefficients when /COUPLE was used
(since 17.04 only).

SEAkeep DATA now allows specifying data files outside the current directory.

SEAkeep DATA improved support for multiple data files using the * wildcard,
which only matches cardinal case numbers.

SEAkeep DATA importing of RAO data now requires only one of Period, Freq,
or LWL/WvLen fields to be given, allowing * for unknown data fields.

SEAkeep DATA /HYFO was trapping an error when viscous damping data was
included (since 17.04 only).

SEAkeep DATA was trapping an unusual memory deallocation error (since 17.04
only).


Version 17.06A

Load Editor improved data entry error handling by aborting data entry when
the Esc key is pressed (instead of offering to exit Load Editor).  When the
error was due to a missing suffix, entering an appropriate suffix now appends
the suffix to the previously entered number instead of overwriting it.

DISPLAY STATUS PROFILE:BE was incorrectly showing frozen tank waterplanes
and was not always showing critical points (requires updated CG.EXE).

SEAkeep was returning incorrect results for even numbered sequential runs
when not using the /BOX parameter (since 16.90 only).


Version 17.06B

SEAkeep was trapping a memory deallocation error for certain geometry files
(since 17.06A only).

SEAkeep was trapping a run-time error when the first station of the hull
component had only one point.


Version 17.08

CUSTOM (GHSERIAL) added Modbus extensions for holding register addresses
up from 10000 to the 16-bit limit, 32-bit integer data using register pairs
instead of 16-bit cardinal by setting new $DATAPLUS parameter to 1, 32-bit
floating-point data by setting $FLOATING to 1, and little-endian data instead
of default big-endian by setting $LITTLEND to 1 (requires updated GHSERIAL.DLL).

SEAkeep /BILGEKEEL was not finding certain appendage component names
(since 17.02 only).

SEAkeep DATA mode now supports /BILGEKEEL parameter.

SEAkeep DATA mode was polar-plotting multiple speed results incorrectly
(since 17.06 only).


Version 17.08A

MAXVCG without /FIRSTMAX was not always looking to the end of the angle list
for even higher RA beyond the first-encountered maximum righting arm angle
(since 14.34A only).

RA was sometimes prematurely terminating before finding RA0 limit angles
in cases of very short angle lists that end before EQU0 is reached, which
can lead to spurious maximum VCG failures.

WAVE (SPEctra) BR ITTC form now correctly uses modal (peak) period input.


Version 17.10

CUSTOM (GHSERIAL) added Modbus support for large $MODPLUS parameter values,
such as 400001 to convert extended holding register address IDs to 16-bit
protocol addresses used for communication (requires updated GHSERIAL.DLL).

CUSTOM (GHSERIAL) START ignores any configuration line starting with $$,
which may be used for comments or to disable $ parameter lines.

SEAkeep DATA was trapping an invalid location error when using RAO data
input (since 17.08 only).

VIEW was occasionally showing spurious duplicate lines during scrolling
(since 16.96 only; requires updated GHSVIEW.EXE).
.


Version 17.10A

WAVE (SPEctra) improved variance sampling logic to deal with very low energy
spectra.


Version 17.10B

ROLL /S [steepness @ period],... parameter was added to specify an arbitrary
wave steepness factor function dependent on roll period, linearly interpolated
with no extrapolation beyond the ends, instead of the default formula for s
given in HELP ROLL.  If no function follows /S, then the IMO Second Generation
Intact Stability Criteria table is used (which closely matches the default
formula but extends steepness below 0.035 down to 0.020).

ADD and WEIGHT parameter /BOX:length,width,height again includes inertia
from any longitudinal distribution for individual dimensions where * is given
(since 16.12 only).


Version 17.12

WEIGHT /GYRadius is no longer permitted without subparameters, so should be
replaced with specific gyradius values (such as its old meaning /GYR:GF,*,*).
The GF keyword in /GYR:lr,tr,vr approximates lr gyradius using 40% beam for
roll, and tr or vr using 25% length for pitch or yaw; LOA and WOA are taken
from the Geometry File as assigned by Part Maker, or else from the bounding
box for all parts.  When a longitudinal distribution is present, its inertia is
automatically calculated and used by default (absent /GYR and /BOX) or for
individual gyradii where * is given; since typical weight distributions do not
provide information for roll gyradius, a common method is to combine the 40%
beam estimate with pitch and roll values from the distrbution using /GYR:GF,*,*.

MESSAGE SEND ON ["filespec"] optional parameter was added to use the specified
file as the channel for sending commands between concurrent program sessions,
thereby allowing communication between different computers using a shared
network file.

TEMPLATE /REFRESH [:n] optional parameter was added to speed up refreshing
by only updating the nth field in the dialog.

TEMPLATE drop-down list controls now support "label":* for a disabled label
that appears normally in the drop-down list but cannot be selected.

EXIT macroname neglected to execute the named macro when done directly from
a Run File called by another macro.

VARIABLE /LIST[:pattern] now excludes system variables unless pattern starts
with ".." double periods, otherwise just showing matching user variables.
VARIABLE by itself in the global namespace still shows all system variables
followed by all user variables, but VARIABLE /LIST without a pattern now
shows only user variables.

SKCASES system variable was added to return the number of cases in the
last SEAKEEPING command run.

SEAkeep /BOX was sometimes trapping "Odd intersection at station 0." error
when used on long prismatic hull forms.


Version 17.12A

COMP /SECTIONS report replaced its Waterline Ctr column with TCtr and VCtr
columns to show the waterline center for each section in vessel coordinates
(requires updated RGSTYLE.DAT).

COMP /SECTIONS second plot with WAVE present includes a text line clarifying
that the plotted value is the sum of the "Baseline Depth + Wave Height" columns.


Version 17.12B

TEMPLATE /REFRESH was sometimes trapping a run-time error (since 17.12 only).


Version 17.14

RA /NOTIght parameter was added to completely ignore weathertight flood points.


Version 17.14A

MAXVCG and SOLVE MAXVCG commands support /NOTIght to ignore watertight points.

WRITE (LIMits) filespec writes all limit definitions to the specified file.

WRITE (Hmmt) filespec writes HMMT and TMMT functions to the specified file.

SEAkeep now traps "Hull component is above the free surface" if the specified
hull component is completely out of the water.


Version 17.14B

RA was not finding vanishing righting arm angle RA0 occuring between table
angles that terminated RA processing due to trim capsize.

WAVE maximum wave length increased to 88,000 feet for SEAKEEPING use.


Version 17.16

HMMT WIND /BAND is now more precise for non-zero AXIS and substantial TRIM.

RA and SOLVE /FSM, /TRUEFSM, and /EXTRAFSM now trap an error if any
inapplicable tank type is present (such as DAMAGED, SPILLING, or BUBBLE).

NOTE ending in a linefeed (using ^CJ or ^H0A) can be used on the last line
of a page (where {LINELEFT}=0) to delay turning to the next page until
subsequent NOTE or report output (avoiding a final blank page if none).

WATER spgr restores default viscosity if no /V:viscosity parameter is present.


Version 17.18

MC file1.HUL file2.GF and MC file1.GF file2.HUL were added to import and
export MARIN's PRECAL offset files.  Default units of measurement are meters.
Note the /SCALE:-1,1,1 parameter can be used to invert longitudinal locations
from fore to aft (requires updated MC.EXE).

MC file1.PLN file2.GF and MC file1.GF file2.PLN were added to import and
export ABS's NLOAD3D offset files.  Default units of measurement are meters.


Version 17.20

HMMT TANK /VARYTRIM parameter was added to solve trim for each angle instead
of keeping trim constant.

RA and SOLVE /EXTRAFSM no longer trap for inapplicable tanks (since 17.16 only).


Version 17.22

PROPulsor [(n)] diameter, l, t, v [/POWer:p] [/BP:pull] [/S:sf] [/H:ht]
[/THRust:t0[,t1[,t2[,t3]]]] [/TD:tdf] [/WF:wf] [/ACcess] commmand was added to
define the nth propulsor by specifying its diameter, location, and associated
characteristics; if (n) is missing, the first available unassigned propulsor
number is used.  However if /ACCESS is present, all other parameters except (n)
are variable names used to access the corresponding information; asterisks can
placehold for any unneeded names.  Other optional parameters:

PROP /POWER:p specifies the propulsor power in horsepower (hp) for English
units or kilowatts (kW) for metric units.

PROP /BP:bp specifies the propulsor bollard pull in current weight units.

PROP /S:sf specifies the fraction of the projected propulsor circle area that
would be intercepted by the rudder turned 45 degrees from centerline.

PROP /H:ht specifies the vertical distance from the propulsor shaft centerline
at the rudder to the towing bitt, in current length units.

PROP /THRUST:t0[,t1[,t2,[t3]] specifies curve coefficients to compute thrust
from a 3rd order polynomial function of advance ratio J, scaled with respect
to other propulsor characteristics.  All coefficients default to zero.

PROP /TD:tdf specifies the propulsor's thrust deduction factor, which must be
positive; the default is 0.1.

PROP /WF:wf specifies the propulsor's wake fraction, in the range -1<=wf<=1;
the default is 0.1.

PROPulsor [(n)] OFF command was added to delete the nth propulsor, or all
propulsors if no number is given.

PROPulsor [REPort] [/BRief] command was added to display all propulsors to
the screen and also to the current report file if REPORT is given.  Optional
/BRIEF parameter reduces display information to a single line per propulsor.

SEAkeep improved wave spectra plot precision for low energy spectra.

SEAkeep fixed several minor memory leaks related to file/directory handling,
multithreading, and geometry deallocation.

SEAkeep now erases instead of recycling old SK data files when successively
run in order to work around a known Recycle Bin bug under Windows 7 and Vista.

SEAkeep now traps "Too small gyradius" errors for near-zero gyradii values.


Version 17.24

SEAkeep improved default hull component logic to select the component of a
displacer part which accounts for 90% or more of the total displaced volume of
the vessel, first checking any part named "HULL".  The error "Suitable hull
component not found" is trapped if no single component meets 90% volume limit.

STATUS FIXED:BRIEF no longer shows weight groups with zero total weight,
instead showing separate positive and negative weights for a group if they
happen to add exactly to zero so total weight CGs can be computed correctly.

STATUS GROUND:BRIEF no longer traps "REACTION DISCREPANCY" if some ground
point starts with the same word as a fixed weight.

STATUS INERTIA marks any combined weight with an asterisk if it contains
both negative and positive components, explaining "* Partial negative inertia"
in the report footer.  Such mixed-sign combined weights arise using ADD /LEN
with weight center outside the middle third of the given length (or any use
of the /PLEN parameter) and can be remedied by assigning an explicit gyradius
(such as /GYR:0,0,0 for point weight inertia).


Version 17.24A
    
MESSAGE PLOTSTART /POLAR was ignoring any MESSAGE PLOTLABEL "axisX",
but now places it centered beneath the polar plot.  The legend box is omitted
if there is only one curve (but its label appears under the plot if axisX="").


Version 17.26

MESSAGE PLOTSTART /PROFILE or /PLAN now reverse the order of the independent
scale to match normal Aft left orientation, but this can be overridden if the
first ME PLOTLABEL label has "<-" (not preceded by "Aft") followed by "->".

LS was omitting initial and final shear and bending moment lines for BOOMs
using the /PED parameter when no distributed weights were present (since
13.66B only).


Version 17.26A

GROUND /FLOOR was trapping a random run-time error in rare cases.


Version 17.26B

SEAkeep was inverting panel normal vectors on transom stern sections when the
transom section was submerged (since 17.22 only).

SEAkeep fixed a minor memory leak using /SPREAD and/or WAVE (SPE) DATA files.

ENTER PMX unary minus ("-") operation was not working in a consistent manner
(requires updated PMX.EXE).


Version 17.26C

SEAkeep /SPEctrum parameter was added to plot scaled wave spectrum behind RAOs
for convenient reference.


Version 17.28

TEMPLATE "label"[:value],... /REFRESH:n was added to reset new labels and
values into any drop-down list input field in the top template dialog.

DISPLAY STATUS was sometimes failing to center PROFILE:REVERSE and other views
when PROFILE:OUTBOARD or :WITHSAILS views are present (requires updated CG.EXE).

DISPLAY STATUS profile views were not reliably showing showing thruster
tunnel deductions for heeling vessels.

SEAkeep /HEAD was truncating headings for very long subparameter strings.


Version 17.28A

DEFLMAX and DEFLLOC system variables were added to return the maximum
deflection and its longitudinal location from the last LS command.


Version 17.30

VARIABLE replacement within braces ("{" and "}") supports variables and numbers
combined with "(", ")", "^", "*", "/", "+", and "-" operators into expressions
evaluated using PEMDAS (Parentheses, Exponent, Multiply and Divide, Add and
Subtract) order of operations.  For example, if variables A=1, B=2, and C=3
are already defined, then {A+B*C} is replaced by 7, since multiplication of B*C
has priority over addition of A+B, unless parentheses overrule as in {(A+B)*C}.

Note that if a variable named A+B*C already exists, then {A+B*C} will fetch its
value instead of evaluating any expression to preserve backward compatibility,
but expression evaluation can be forced by wrapping braces around the smaller
variable names as in {{A}+{B}*{C}}.  Likewise the sum of variables A and A-1
can be evaluated using {A+{A-1}}.

Since braces around one- or two-digit integers and "+" or "-" preceding a letter
are used for NOTE colors and styled text (e.g. {4}, {+b}), these forms are kept
from expression evaluation only within NOTE and SUBTITLE commands.

ENTER PM command TEMPLATE text fields also support expression evaluation
within braces (requires updated PM.EXE, PMX.EXE).

ENTER PM command TEMPLATE was trapping a stack overflow run-time error when
retrieving an undeclared variable in braces for text fields (since 16.54 only).


Version 17.30A

REPORT /BOX:COLOR|BW fancy reports risked trapping a run-time error in rare
cases with continued pages.


Version 17.30B

STATUS total lines for fixed weights and ground reactions were sometimes being
unnecessarily split off to a new page, risking STATUS GROUND run-time errors
when no ground force is present with an open fancy boxed report.


Version 17.30C

VARIABLE replacement of non-ASCII characters was not using the correct encoding
for unquoted NOTE output (since 17.30 only).


Version 17.32

COPY file1 [,file2] /REPLace:old,new parameter was added to replace all
occurrences of old text with new text during copy (or within file1 if file2
is omitted).  Special characters can be indicated using "\" followed by their
2-digit hexadecimal ASCII values (or "\" by "\\").

ROLL IMO /K parameter without a value linearly interpolates from the IMO table
using the /AK:Ak value, which is close to the default cubic formula used when
the /AK parameter is present but /K is omitted.

ROLL IMO /K:k /AK:Ak parameters can now appear together, but then the Ak
value is just shown in the ROLL report and used internally for bilge keel area
instead of affecting k.


Version 17.32A

STATUS TANKS /SOund and /ULlage parameters were added to show soundings or
ullages for tanks having sounding tubes, replacing the Reference Height column.

STATUS TANKS:TOTAL/FSM and WPL:TOTAL mark the solitary FSM or BMT
total with an asterisk whenever a note would appear in the report saying that
"FSM values marked with an asterisk (*) are formal values which are not the
same as the true values in the present condition".

DISPLAY STATUS /YESEMPTY [:VIEWs] optional subparameter was added to cause
empty tanks to be displayed without numbers in CG views but not in the legend
(requires updated CG.EXE).

ENTER PM statements COMPONENT and DEDUCT referencing a new component
inside the current part were trapping "Component not found" during repeated use
in a CREATE command (since 16.76A only; requires updated PM.EXE, PMX.EXE).


Version 17.34

SET variable = "{expression}" can be abbreviated as variable := expression
for assigning PEMDAS expressions to variables, without needing SET or braces.
Quoted strings are directly assigned without evaluating as braced expressions.

STATUS GHS and WPL:TOTAL were sometimes omitting the FSM note in the report
despite marking the total line with an asterisk.


Version 17.34A

LOAD DELTA was not updating righting arms in the header, sometimes leading to
replacing righting arms with "WEIGHT EXCESS: 0.00" in STATUS reports.

TMMT report notes sometimes showed incorrect directions with AXIS present.


Version 17.34B

MAXVCG /NOTOL was sometimes failed with spurious "No MAXVCG data for this
condition" warnings, particularly for single trim or LCG curves.

TMMT /C2 trimming moment function was not described correctly in RA notes.

ENTER PM statement LOCUS error reporting was improved (requires updated PM.EXE).


Version 17.36

MACRO name /FUNction parameter was added to identify the macro as a function
whose value is initially empty but can be SET within the body of the macro.
Functions can be executed and their values retrieved within braced expressions
by following their names with a parenthesized comma-separated parameter list or
"()" if none.  So {function(1,2,3)} executes .function 1,2,3 before returning
the function value.  This value can also be directly assigned to a variable X
using X:=function(1,2,3) without requiring braces.  All the useful SET operator
keywords (including LOG, SIN, etc. through CLEAN) are available as predefined
functions so cannot be redefined.

EXECUTE and EXPAND macro (n [,inc]) support braceless expressions for n and inc.

LS was sometimes showing zero-weight items located past the end of the vessel
for BOOMs using the /PED parameter.


Version 17.36A

SET operations on strings containing styled text markers like {+b} were
sometimes incorrectly trapping "Variable undeclared" (since 17.36 only).


Version 17.36B

COPY /CODE was sometimes miscoding unprintable characters.

NOTE was trimming out styled text markers like {4} and {+b} (since 17.36 only).


Version 17.36C

EXECUTE and EXPAND macro (n [,inc]) braceless expression evaluation was
fixed for expressions containing spaces and parentheses; note comma is
required to separate expressions, but space is sufficient to separate numbers
for backward compatibility (since 17.36 only).


Version 17.38

SCREEN COMmand lines splits the screen with the specified maximum number of
Command area lines, adjusting downwards (to 1 command line minimum) as needed
so the Display area has at least 10 lines.  User resizing can reduce the Display
area further (down to shared SCR ROWS minimum), no longer switching from split
screen to a single Command area (which sometimes led to garbled screen output).


Version 17.40

SCREEN COMmand in split-screen scrolling mode risked blanking out data lines
in the scroll history during aggressive up-and-down user resizing.

STATUS failed to show Righting Arms information following SOLVE /EXTRAFSM.

LOAD EDIT /INCH, /FID, and /FIE were not showing correct sounding units
in the footer with the cursor in the sounding column.

TEMPLATE /POS alignment is now maintained (instead of just centering) when
redisplaying a dialog box after its size changes due to macro execution.


Version 17.40A

RA /LIM /NOTAB /GRAPH now includes graph plots after the stability criterion
evaluation.

SEAkeep was retaining a scaled wave spectrum shape in all RAOs with or without
the /SPEctrum parameter (since 17.26C only).


Version 17.42

RA /GRAPH parameter added ONLY subparameter to omit all output except the graph.

RA /GRAPH parameter added FIT subparameter to omit the page break before the
graph if there is enough space left on the current page for the graph to fit,
scaling smaller as necessary down to the minimum legible size.

RA reports sometimes had inconsistent separation between each graph plot
(requires updated PP.EXE).

RA now truncates the report when trim exceeds 89 degrees instead of continuing
indefinitely, which risked passing criteria with spurious limit results.

TMMT with negative moments was not being correctly written to a Save File.


Version 17.44

SEAkeep /EMG[:num1,...numN] parameter was added to compute probability
and frequency of point emergence (such as propeller emergence) for a list of
(up to 25) Critical Point numbers. If omitted, all seakeeping critical points
are included.  Probabilities are computed using the relative vertical motion
at each location, and point depth is computed as the vertical height below
the waterplane.  Frequency is computed over the /TIME interval.

SEAkeep LIMIT EMGP and EMGN were added to enable limit statements for point
emergence.

SEAkeep /SLAM no longer traps "Slamming requires zero heel" error when heel
is very close to zero.

SEAkeep was unintentionally retaining a scaled spectrum plot on all RAOs when
/SPEED parameter was included (since 17.26C only).


Version 17.44A

SEAkeep /SLAM was trapping "Slamming requires zero heel." even for zero heel
angles (since 17.44 only).


Version 17.44B

RA /GRAPH:FIT and ME PLOTSTART /PAGE% no longer require an explicit PAGE
command beforehand to prevent misformatting after prior pages too full to fit.

Load Editor sounding column changes to individual non-spilling GROUP tanks
was sometimes trapping "Tank volume discrepancy" (since 16.68 only).

SEAkeep /ROLLCOEF now functions in addition to /BILGEKEEL, allowing external
damping input to be mixed with numerical appendage damping predictions.

SEAkeep /ROLLCOEF no longer retains 2nd order hull viscous damping if only
first order additional damping is given.  Any input (regardless of order) now
overrides all numerical viscous hull damping.


Version 17.46

WIND (PRessure) p1 @ h1, .... pn @ hn was fitting a 3rd-order curve then
throwing away the points, but now keeps the points (like /LINEAR and /STEP)
while interpolating up to 3rd-order polynomial curves between them.

DISPLAY (tanklist) STATUS now supports group names in the tank list.

DISPLAY STATUS /LEGEND[:LOAD] was sometimes excluding tanks in the legend
when including Critical Points (requires updated CG.EXE).

SEAkeep was sometimes crashing after successive runs if the /SPEED and /DATA
parameters were present (since 17.40A only).


Version 17.48

BHS main program was reconfigured to provide the most useful basic features
by adding LIMITS stability criteria, DB DataBase functions, Model Converter,
and MaxVCG availability as an optional module, while reserving BOOM, DEFLECT,
GROUND, LOAD FLOW, PULL, THRUST, and WAVE capabilities for GHS.

SEAkeep /BRIEF was added to greatly reduce length of seakeeping reports by
including a single table containing the wave environment and vessel RAOs at
the Center of Gravity for all 6 degrees of freedom (respecting /RELATIVE and
/SPREAD parameters).  The wave spectrum plot is omitted and all RAO plots are
retained, but may be reduced using /NOPLOT or /RESPONSE parameters.

SEAkeep /ROLLCOEF:d% was added to allow input of desired damping ratio,
where d is the critical damping ratio given in percent.

SEAkeep /NOPLOT:RAO was added to omit only RAO plots from the report.

SEAkeep LIMIT now respects % character when specifying percentage values for
SLAMP, SHWP, EMGP, and MSI.

SEAkeep was sometimes including a blank page at the end of the report.

ENTER PM "file.RF" was trapping an error for file names containing spaces
(requires updated PM.EXE).


Version 17.50

DYNstab [modelist] [/SPEED:knots] [/BRIEF] [/LEVEL:level] [/MAXDI:displ]
[/SUM] [/RES:r1,r2,r3,r4,r5] [/PASSenger] [/SHARPBILGE] [/NOPLot] [/FORMAL]
[/NAVCAD:filespec] command was added to invoke a dynamic stability analysis
according to IMO Second Generation Intact Stability criterion (requires the
DS module, along with AF and SK).

Up to five different dynamic failure modes may be listed using their two-letter
acronyms (or all if omitted):

1. Dead Ship (DS) mode considers a ship that has lost power and is positioned
in beam seas, rolling and drifting under the action of wind and waves.

2. Excessive Acceleration (EA) mode considers the vulnerability of a ship to
large lateral accelerations due to synchronous resonance.  Lateral accelerations
are computed at locations where crew or passengers are expected to be present.

3. Pure Loss of Stability (PL) mode considers the vulnerability of a ship to
capsize via complete loss of stability due to a sudden and significant change
in waterplane by the action of waves.

4. Parametric Roll (PR) mode considers the vulnerability of a ship to parametric
roll resonance in waves.

5. Surf-riding/Broaching (SB) mode considers the vulnerability of a ship to
surf-riding, during which a following wave accelerates a ship forward, and
broaching, which is a violent uncontrollable turn that often follows surf-riding
and may cause stability failure.  SB mode requires previous specification of
the ship's propulsor(s) using the PROPULSOR command.

Each mode may be evaluated using a level 1 and/or level 2 analysis, with level 1
being a basic vulnerability check and level 2 providing a more complex analysis.

DYNstab /SPEED:knots specifies the vessel forward speed in knots (default=0).

DYNstab /BRIEF formats the report such that each failure mode returns only the
final limit attained table, omitting any intermediary tables.

DYNstab /LEVEL:level restricts analysis to level 1 or 2 (or 2t for PR mode
only); if omitted, the analysis will start with level 1 and automatically
continue to level 2 if needed; PR failure mode continues if needed to special
level 2t for level 2 nonlinear time domain solution.

DYNstab /MAXDI:displ specifies the vessel's full load (maximum) displacement
in current weight units, as required for EA, PL, and PR failure modes.

DYNstab /SUM appends a summary table to the end of the report displaying the
overall outcome for each failure mode in a single table.

DYNstab /RES:r1,r2,r3,r4,r5 specifies the vessel resistance curve using up
to 5th order polynomial regression coefficients vs. forward speed in knots,
where rN units are WU-s^N/LU^N using current Weight Units and Length Units,
as required for SB level 2 failure mode.

DYNstab /PASSENGER indicates a passenger vessel for PL level 2 analysis.

DYNstab /SHARPBILGE indicates a vessel having a sharp bilge for EA level 1
and PR level 1 and 2 analyses.

DYNstab /NOPLOT omits all plots from report output.

DYNstab /FORMAL forces use of simplified IMO methods; for DS level 2 analysis,
the IMO simplified effective wave slope function calculation is used instead
of the direct method which computes the roll moments using a strip method.

DYNstab /NAVCAD:filespec allows import of propulsor and resistance information
from the given NAVCAD export file for use in SB level 2 failure mode.

RA /LIM was trapping "Righting arms undefined" in rare cases with empty
spilling tanks (since 16.70A only).

Copyright (C) 2020 Creative Systems, Inc.