GHS Version 16.00 Update
New features, changes, and bug fixes since version 15.50
=========== MAJOR NEW FEATURES =========
New PFExport Wizard to MS Word and HTML Format
Print File Exporter wizard converts report files into .DOC and .HTM format.
New SeaKeeping (SK) Hydrodynamics Analysis Optional Module
SEAkeeping [/HULL:part[\component]] [/HEADing:degrees] [/SPEED:knots]
[/DATA:[FOrcing] [HYdros] [WAves]] [/SAMPles:n] [/RELative]
[/CRTpt:num1,...,numn] [/BF:beamfactor] [/LF:lenfactor] command was added
to invoke a linear, 6-degree-of-freedom, rigid-body, frequency-domain,
strip-theory method to compute vessel motions (requires the SK module).
Output includes absolute and relative position, velocity, and acceleration
amplitude and phase, as well as RAOs and response statistics for the vessel
center-of-gravity and any specified critical points.
Seakeeping requires that a loading condition, seaway, and critical points
(if desired) be defined prior to issuing the SEAKEEPING command. Other
factors affecting seakeeping include WATER spgr and viscosity, SMOD moduli
of elasticity and rigidity, and SMOD at each axis.
Loading conditions may be specified using WEIGHT and ADD commands as needed.
However, the resulting mass moments of inertia are important, as these
quantities have a significant effect on the motion response. For this
reason, if using WEIGHT to specify a lightship weight and centers, include
the /GYRADIUS parameter to specify the gyradii about each axis. If the roll
gyradius is not known, it may be entered as zero, and SeaKeeping will default
to a roll gyradius of one-fourth the beam. Alternatively, if WEIGHT is used
to specify a longitudinal weight distribution, the program will automatically
compute the pitch, yaw, and roll gyradii (using default B/4 if roll gyradius
is internally computed as zero).
Additional weights may be added using the ADD command; tank weights may be
included by loading the desired tanks and these loads will be included in the
loading condition passed to SeaKeeping. Even if tanks are slack, Seakeeping
models these tanks as frozen in their equilibrium condition. This means that
if true CG shifts are used when modeling tanks, Seakeeping will accommodate
these shifts in the static sense, but Seakeeping ignores both free-surface
corrections and dynamic sloshing effects.
It is advisable to include STATUS INERTIA in your seakeeping analysis run
file to provide a convenient reference of the total inertia condition. Note
that its summary includes the gyradii and mass moments of inertia about the
center-of-gravity axes parallel to the ship coordinate system. When heel and
trim are zero, this is equivalent to the Seakeeping axis orientation.
A seaway may be specified using the WAVE command, which offers three methods
for wave input: a single sinusoidal wave, a range of waves at constant
amplitude, or a wave energy spectrum. If an energy spectrum is used,
Seakeaping will sample the spectrum using a constant variance method.
If motion results are desired at points other than the vessel
center-of-gravity, their locations must first be defined as Critical Points
using the CRTPT command so they can be listed in the SEAKEEPING /CRTPT
parameter (irrespective of flooding status).
Seakeeping begins by showing basic information to the screen and any open
report file, including the part\component name, speed, heading, and Froude
number.
Second, the Critical Points table summarizes Center-of-Gravity along with any
Critical Points specifed for the analysis, including number, description and
position of points and position of points in the ship coordinate system.
Third, the Wave Components table lists the wave type, spectra type, number of
wave components, and component variance. As the motions problem is solved
for each wave component, its period, frequency, waterline-to-wavelength
ratio, encounter frequency, spectral ordinant, and component wave amplitude
are reported.
Fourth, the motion results for each mode are reported in the following order:
Surge, Sway, Heave, Relative Heave (if specified), Roll, Pitch, and Yaw.
Tables for each mode show CG and listed Critical Points with: (1) position
amplitude and phase; (2) velocity amplitude and phase; (3) acceleration
amplitude and phase; (4) RAO; and (5) acceleration response statistics.
Plots for these responses are also included in the report. Note that if a
single wave or wave range was specified for the analysis, response statistics
are not included in the report and any data files. Response statistics are
also omitted if less than three wave samples are used. Plots are omitted if
less than two wave components are used.
SEA /HULL:part[\component] parameter specifies the hull component to be
used in the seakeeping analysis. If only a part name is included, its first
component is used. If omitted, the first HULL component or (if absent) the
first displacer component is used.
SEA /HEADing:degrees parameter specifies the wave heading (in degrees) with
respect to the forward longitudinal ship axis; the default is 180 degrees
for head seas.
SEA /SPEED:knots parameter specifies the forward speed of the ship in knots;
the default is zero for a stationary vessel.
SEA /DATA:[FOrcing] [HYdros] [WAves] parameter outputs the specified data
files containing raw forcing, hydrodynamic, and wave seakeeping data. If
omitted, no data files will be created; if just /DATA is present, all data
files will be created. Data is output in the current directory to files
named FORCING.DAT, HYDROS.DAT, and WAVES.DAT.
SEA /SAMPles:n parameter specifies the number of wave component samples from
a wave spectrum in the range 1 to 100; the default is 15. This parameter is
ignored if WAVE (SPECTRA) is not defined or if it specified a wave period
range. Note that spectra sampling is performed according to a constant
variance method, so more sampling will occur around the spectrum peak.
SEA /RELative parameter specifies that relative vertical motions should be
computed for the vessel CG and all critical points. This will add an
additional section to the report file and any data files.
SEA /CRTPT:num1,...,numn parameter specifies a list of Critical Point numbers
used for seakeeping (up to 25 points are supported).
SEA /BF:beamfactor parameter specifies the "beam factor" used to develop the
2D panels; the default is 8.0, meaning the maximum panel length is bs/8 where
bs is the section waterline beam. The beam factor also implicitly sets
minimum panel length as half the maximum panel length (or bs/16 by default).
SEA /LF:lenfactor parameter specifies the "length factor" used to refine the
number and spacing of 2D sections; the default is 50.0, meaning the minimal
longitudinal section spacing is 2% of the overall length.
New SeaKeeping Configuration Features
WAVE (SPEctra) amplitude, t1,...,tn defines a wave spectrum for seakeeping
from an amplitude in current units for all wave periods in the specified range.
WAVE (SPEctra) DAta ["datafile"] defines a wave spectrum from an external
data file (default=SPECTRA.CSV). This form is particularly useful if a
unique spectrum is required, or statistical analysis has been performed on a
specific locale to create a spectrum. Following a header line and a unit line
("F" or "M") comes the data lines, each containing a single comma-separated
wave frequency and spectral ordinate pair.
WAVE (SPEctra) PM wspeed defines a Pierson-Moskowitz wave spectrum formulation
from wind speed in knots.
WAVE (SPEctra) BR period, hsig [,brform] defines a Bretschneider wave spectrum
formulation from characteristic period in seconds, significant wave height in
current units, and optional form General (default), Narrowband, or Ittc1978.
WAVE (SPEctra) J1 wspeed, fetch defines a general JONSWAP wave spectrum
formulation from wind speed in knots and fetch distance in current units.
WAVE (SPEctra) J2 period, hsig defines an ITIC 1984 JONSWAP wave spectrum
from characteristic period in seconds and significant wave height.
The various SPECTRA forms define wave range or spectrum parameters necessary
to perform a spectra-based seakeeping analysis. WAVE (SPECTRA) is essentially
equivalent to WAVE OFF for all purposes besides seakeeping, so unlike other
wave forms does not show active "WAVE" in the screen header.
WATER /V:viscosity optional parameter was added to specify the dynamic
viscosity of the water environment in millipascal-seconds. If not specified,
default viscosity is interpolated on specific gravity using 1.0 mPa-s for
fresh water and 1.1 mPa-s for sea water.
SMOD /E:elasticity parameter was added to specify a default modulus of
elasticity (Young's modulus) for use in deflection computations. Units are
current weight units per square inch (or square centimeter with metric units)
or megapascals with KN units. If not specified, 12946 long tons/inch^2
(2039 metric tons/cm^2 or 199948 megapascals) is used.
SMOD /G:rigidity parameter was added to specify a default modulus of
rigidity (shear modulus). Units are the same as for /E. If not specified,
4866 long tons/inch^2 (766 metric tons/cm^2 or 75153 megapascals) is used.
SMOD (axis) optional parameter was added to specify a section modulus curve
around the Centerline or Polar axis instead of the default transverse axis.
Note Longitudinal Strength uses only the default SMOD curve information.
New GROUND Seafloor Features
GROUND [(part\component)] /FLOOR:"filename"|depth [/[L]POS:x,y]
[/HEADing:angle] [/CLEARance:c] [/MAXPEN:ddm] [/NPoints:n] [/LINEAR]
command was added to automatically issue ground points determined by location
and penetration of candidate points on the specified displacer component
relative to the seafloor (first deleting any existing ground points whose
description is prefixed with "part\component-" and retaining any others).
Multiple GROUND /FLOOR commands may be issued for multiple components of
interest. Because the seafloor ground point naming convention includes the
component name in the prefix, ground points previously issued for different
components will not be deleted.
When using a seafloor file, if the position and/or heading of the ship
results in a portion of the geometry falling outside the extents of the floor
data, ground points will only be issued for the portion of the geometry that
falls within the X-Y domain of the floor data. In the case of constant
depth, the floor is assumed to extend to infinity.
GROUND /FLOOR:"filename"|depth parameter specifies the filename containing
seafloor data, or alternatively a constant depth relative to the water surface.
The first line of the seafloor text file is an arbitrary title line. The
second line starts with an optional "L" indicating longitude-latitude data,
followed by required "F" for feet or "M" for meter units. Each subsequent data
line defines a single point on the seafloor based on three numbers (separated
by spaces or commas). The first number on each line is the horizontal (West
to East) coordinate, the second is the vertical (South to North) coordinate,
and the third is the associated sounding depth. Longitude and latitude data
may be entered in decimal degrees or degree-minute-second format (e.g.
-122d56'58.974"). To create a seafloor data file from NOAA's geology data:
(1) go to https://ngdc.noaa.gov/mgg/mggd.html; (2) click "create custom grid";
(3) choose a layer and map area; (4) choose "XYZ" output format; (5) download
the data; (6) insert a title line and "LF" line at top using a text editor.
Be sure to note the data model standard, which may have varying tolerances and
tide-based reference locations for soundings.
GROUND /HEAD:angle parameter specifies the heading in degrees of the vessel's
positive longitudinal axis counterclockwise from the positive vertical North
seafloor axis (default=0).
GROUND /[L]POS:x,y parameter specifies the location of the vessel origin in
the seafloor coordinate system (default=0,0). If /LPOS is used, locations
are taken as degrees of longitude and latitude in either decimal degrees or
degree-minute-second format.
GROUND /CLEAR:c parameter specifies the maximum clearance within which all
issued ground points must fall. Clearance is defined as the vertical distance
from the ground point to the nearest ground or the negative of the penetration.
If not specified, the default may take one of two forms: (1) if a seafloor
file is indicated, the default clearance will be set to the vessel's current
origin depth; or (2) if a constant floor is specified, the default clearance
will be set equal to the floor depth.
GROUND /MAXPEN:ddm parameter specifies the maximum penetration of any issued
ground point (in the same as /PEN's ddm parameter). GROUND /LINEAR generates
linear instead of quadratic ground reactions.
GROUND /NPOINTS:n parameter specifies maximum number of ground points to issue.
If omitted, all candidate points found within the clearance are issued up to
the maximum unused ground points available.
New HMMT Features
HMMT WIND and HMMT TURN added /ARMdraft:fraction parameter to calculate
vertical lever arms around a draft-based height instead of the centroid of the
underwater lateral plane. The specified fraction between 0 and 1 multiplies
the draft line height used for the lever arm (so /ARM:1 uses the full draft
height down to the keel for hydrofoil criteria). The draft is located at
any mid perpendicular MP defined by the LBP command, else at any midpoint
MS defined by the LBP or LWL commands, otherwise at the LCF. Note that
/ARM:0.5 can be used for regulations that specify Draft/2 be used for heeling
arms (which is more conservative but less realistic than the program's default
lateral plane centroid method).
HMMT TURN improved precision slightly and supports /YESNEGBELOW parameter.
HMMT parameter /C:power increased maximum power from 2 to 3.
HMMT parameter /CS is now described properly in HMMT report notes.
SPECial HMLPA [ON] was added to enable calculation of lateral plane areas
in the STATUS LPLANE report (along with system variables LPA1, LPA2,
HCP2, and LPAARM) using shape factors and treating deducting displacer
components the same as the HMMT command. Normally HMMT WIND displacer
deductions reduce above-water area but have no effect on underwater area
unless /NONEG or /YESNEGBELOW is present, so STATUS LPLANE shares
this HMMT behavior in HMLPA mode (instead of ignoring shape factors
and including displacer deductions). Note HMLPA mode does not try to match
HMMT WIND /BAND behavior, which differs by using shape factors above-water
only and ignoring all deductions (even for sails).
New LIMIT and Righting Arm (RA) Features
LIMIT ABSolute AREA was added to limit absolute area below the righting arm
curve regardless of any heeling moment. Otherwise this limit behaves the same
as LIMIT AREA, which pertains to residual area above any heeling arm curve.
LIMIT FLOODHT AT POINT limit report descriptions were improved to make
clear the lowest flood/tight equilibrium height is being limited.
LIMIT FLOODHT AT POINTs limits the height for all Critical Points when none are
specified.
LIMIT report description for Area limit is prefixed with "Residual" or "Res."
when moments are present.
RA /LIM detection of initial equilibrium was improved, preventing unnecessary
errors and allowing higher SOLVE MAXVCG results in certain unusual cases.
RA column header for "Area" now appears in the report as "Res. Area" when
moments are present.
RA precision for LIMATTn limit values was increased from 5 to 6 decimal places.
New Maximum VCG (MAXVCG) Features
MAXVCG /SIZE:max[,min] parameter was added to scale the maximum VCG
plot so the top is at least max and optionally the bottom is at most min.
Assuming this range is large enough to include any expected max VCG value,
this provides uniform scaling for easy comparison of a series of MAXVCG plots.
If /SIZE:* is given, then sizes from the last MAXVCG plot are reused.
MAXVCG and SOLVE MAXVCG commands added /MXMACRO:name parameter to execute
the named macro after every intermediate RA computation. This hook can be used
for diagnostics, harvesting attained limit values, changing limits, etc.
New ADD and WEIGHT Features
ADD (n) dvar... /ACcess and GROUND (n) dvar... /ACcess syntax was added
to access description and other data for the nth fixed weight or ground point.
The description is loaded into the variable dvar (declared by the VARIABLE
command), and any subsequent named variables are loaded with data according
to the documented /ACCESS sequence. If n is past the last item, all variables
are set empty.
ADD PREFIX [(pn)] pvar [,lvar] /ACcess syntax was added to access prefix
category name and optional label for prefix number pm (default=1) by loading
them into the named variables. If pn has not been assigned to a prefix,
then all variables are set empty.
ADD REPORT with ADD PREFIX active now shows only weights matching the
current prefix, like LOAD ST FIX does.
ADD command can now make incremental adjustments to the weight or CG of
a distributed weight item (using an asterisk for the old value of the weight
or any of the lcg, tcg, or vcg coordinates along with optional + or - values)
without converting the distribution to a point weight.
WEIGHT REPORT /NOTab was added to omit tabular data, just including the plot.
WEIGHT REPORT /PLAN parameter was added as an optional replacement for
/PROfile to show the vessel plan instead of the profile on plots.
New Frame Location Features
SET operator FRLoc "name" was added to return location of the specified
frame name (or undefined if no such frame).
SET operator FRName n was added to return the nth frame name; the empty
string if n is out of range or there are no frames.
READ file.FRA loads frame descriptions and locations from the given frame file,
replacing any previous vessel frame information.
ENTER PM commands READ file.FRA and WRITE file.FRA import and export
frame files composed of comma-separated description and location lines.
STATUS FREEBD added :FRame optional subparameter to display freeboards at
all frame locations.
New Help Features
Help menu "PDF manual" now has hotlinked Bookmarks for each section.
Help menu added a "Training guide" option to read the GHS training book.
Help menu added a "Release notes" option to read about new features and
changes in the current and previous major releases. The "Web help" submenu
added a direct link to the "GHS support" reference center.
Wizard menu now supports listing a description of each wizard after its name
(to appear over time as wizards get updated to include descriptions).
New Advanced Features (AF)
EXTEND HOPPER plot scale labels improved their color and spacing.
New Condition Graphics (CG) Features
DISPLAY STATUS supports extra-width output such as A3, Ledger, and landscaped
Letter paper sizes, filling the full width of the legend box. Note appropriate
lines per page (such as PRINT CONFIGURE /L:44 for landscaped Letter paper)
must be set for best report quality.
DISPLAY STATUS views added optional :"title" subparameter to override the
view's default title. For example, BODY @0:"Origin" shows "Origin" on top of
this view instead of "Body @ 0".
DISPLAY STATUS views for BODY @loc := angles now allow more space between
their header titles by using heel angle suffixes.
New Floodable Lengths (FL) Features
FL /PLAN parameter was added as an optional replacement for /PROfile
to show the vessel plan instead of the profile on plots.
New GHS Integration Via COM (GHSCOM) Features
GHSCOM function GetVariableString increased its maximum string length from
256 to 10,000 characters.
New Load Editor with Windows (LEw) Features
LOAD (*) EDIT, LOAD (*) STATUS, and DISPLAY (*) STATUS vessel views
exclude tanks set by the PERM -0 command, thereby omitting inactive superimposed
tank configurations. Other than this visual tank exclusion, PERM -0 works the
same as PERM 0, effectively using minimum permeability 0.0001.
LOAD EDIT /BUTTON template .macro fields may now be followed by a parameter
list just like regular TEMPLATE execute button fields.
LOAD STATUS /NOEMPTY parameter was added to omit empty tanks.
New Longitudinal Strength (LS) Features
LS /COL:Shear|Moment parameter can be used with /NOTable to show the summary
with just Shear or Moment information.
LS /COLumn: [Weight] [Buoyancy] [Shear] [Moment] [Section] parameter was added
to show only the selected middle table columns (not with /PER or /LIM present).
Note options for left location columns can be selected by the /FRAME parameter
and right columns by the /NODEFLECT and /NOSTRESS parameters.
LS /LIM now excludes all shear information from table columns, summary, and
plot columns by default when no LSLIMIT SHEAR limits have been defined
(similar to how LS /PER behaves without shear limits). Note that including
the /COL: Shear Moment parameter restores the old shear-showing behavior.
LS /LIM now supports /COLumn: [Shear] [Moment] parameter to show table
columns for just Shear, just Moment, or both by default.
LS /PLAN parameter was added as an optional replacement for /PROfile
to show the vessel plan instead of the profile on plots. This /PLAN option
was also added for the TORQUE command.
LS summary now includes Largest Deflection location.
LS tolerance was increased for avoiding weight-center discrepancy errors
while MB module interactions are active.
TANK (tanklist) SHEARCF added optional /DELTA parameter to use shear
correction delta magnitudes in current weight units (not factors).
TANK (tanklist) SHEARCF: correctfwd, correctaft now supports two shear
correction factors (from 0 to 1), with the first applying to the forward half
and the second to the aft half of each listed tank (use 0 to correct only the
other half). If only one correction is given, it applies to the entire tank.
New Model Converter (MC) Features
MC FIXUP /NOCRIT parameter was added to omit critical points (which were
causing problems with some Rhino imports).
New Multi-Body (MB) Features
MB module suppresses waterplane information from the STATUS GHS report
and traps an error for STATUS WPL, in order to avoid showing misleading GMT
and related values that assume constant displacement, which does not hold under
multi-body conditions.
New Part Maker (PM) and Geometry File Features
ENTER PM command ENRICH (part[\component]) maxgap was added to reduce distances
between station points in the specified part or component to maxgap or less by
inserting new points.
ENTER PM command SHIFT added optional SHAPES keyword that causes the shift
to take place in the shape data instead of the component vectors.
ENTER PM command SHIFT and statements VECTOR and CYLINDER support an
optional final ,LST parameter to interpret the preceding vector coordinates
as Length-Swing-Topping values. The swing azimuth angle is zero going aft and
90 degrees going starboard. The topping elevation is zero for horizontal and
90 degrees for vertical. For the CYLINDER statement, the second end point is
defined by the LST vector from the first end point.
PMX statement ROTATE is now effective for CYLINDER, ELBOW, and SPHERE
shapes as well as edges (either explicitly defined by EDGE statements or
implicitly derived from TOP, BOTTOM, etc. boxes).
PMX statement ROTATE added optional fourth parameter to specify the pivot point
height at centerline for rotations in heel. An optional NODOUBLE keyword was
added to prevent shapes copied from centerline components from being made to
cover both sides. The ROTATE statement is now effective in a CREATE command
where the shape is referenced from another component without affecting the
original shape.
PMX statement ROTATE trim, heel, azimuth now rotates any shape by heel angle;
note rotation by trim and azimuth is only effective for EDGE-created shapes.
PMX statement ROTATE trim, heel, azimuth now rotates edges around any part
reference point assigned by the REFERENCE statement, or the origin if none.
Note ROTATE does not allow non-zero heel or azimuth rotation of centerline
components to avoid "butterfly" effects with port and starboard sides rotated
in opposite directions.
ENTER PM command WRITE (also in Section Editor) no longer permits overwriting
read-only Geometry Files. Note the main program likewise prevents overwriting
read-only files without first deleting them using the ERASE command.
New Tank Soundings (TS) Features
TS /CAPacity:f1[,f2] parameter was added to report Capacity in the table header
using the specified load fractions (default 100%,95% to show full capacity
followed by secondary 95% capacity for contents lighter than Fresh Water).
New PRINT and REPORT Features
MESSAGE PLOTSTART /SIZE:max[,min] parameter was added to scale the plot
so the top is at least max and optionally the bottom is at most min,
providing uniform scaling for easy comparison of a series of custom plots.
If /SIZE:* is given, then sizes from the last custom plot are reused.
MESSAGE PLOTSTART skips points for non-numeric data values like * or ""
instead of inserting curve gaps, thereby allowing points to be added for
selected curves at given X values without affecting the remaining curves.
MESSAGE PLOTSTYLE P doubles the area of isolated plot points for better
visibility.
COMMENT now centers text in fancy boxed reports using ME REPFONT CENTER.
PRINT was improved to smooth kinks from plot curves.
New READ (DATA) Features
READ (DATA) file /REPLace:[old,new],... parameter was added to replace a
series of old text with new text (specified either as a quoted string or ASCII
value character) whenever found in read data. This can be done to change or
delete problematic characters (like braces used for variable replacement), or
to identify meaningful control characters that otherwise would be filtered out.
READ [/SKIP | /LINE | /CHAR[:n]] without any variable name is now supported
in READ DATA mode to move the file pointer as if a variable were present
without saving any data.
READ variable /CHAR :Keep [:n] subparameter was added in READ DATA mode
to keep the next n characters (default n=1) available for future reading.
READ variable /CHAR:Keep:n supports n<0 to read the rightmost -n characters
from the end of the current line, keeping data available for future reading.
READ variable /CHAR[:n] parameter was added in READ DATA mode to read
the next n characters (default n=1) into the specified variable.
READ variable /LINE safely excludes any portably-encoded footer files put
into a PPF file using COPY name.PF name.PPF /CONVERT, instead saving the
encoded footer text or logo file to the current directory (first renaming the
saved file if necessary to avoid overwriting existing files). Note READ /LINE
ends embedded filenames with ":" to distinguish them from external files.
READ variable /LINE safely excludes any portably-encoded image put into a
report file using the NOTE {%IMAGE("file:")%} command, instead saving the
encoded BMP or JPG file to the current directory.
New Dialog Box (TEMPLATE) Features
TEMPLATE variable edit input fields now supports editing text files by
specifying @"filespec" in place of a variable name. The VARIable keyword is
required to distinguish this from static image fields. When used with the
/Height:rows parameter, text is horizontally and vertically scrolled within
the edit field window, allowing new line insertion by pressing the Enter key;
otherwise only the first line of the file is read and written.
TEMPLATE variable edit input field /Height:rows parameter was added to show
a multiline edit control with space for the specified rows of wordwrapped
variable text.
TEMPLATE execute, exit, file, and directory push button fields support the
/Height:rows parameter to specify the number of text rows for the button height
(which may be a fractional number).
TEMPLATE list input fields now support the /Width:n parameter to format the
list control to fit n average-size characters instead of the widest list label.
TEMPLATE field /SIZE:MAX subparameter was added to set the font size so the
dialog width matches the main window or (if minimized) the screen, along with
/SIZE:n to set the dialog width to n pixels (for n>=50).
TEMPLATE field /TAB:n parameter was added for any button or input field
so pressing the Tab key moves focus to the nth button or input field following
(or preceding if n<0; n=0 doesn't move).
TEMPLATE field /Tip:"text" information no longer disappears after 5 seconds,
instead staying for 32 seconds or until the mouse cursor moves off the control.
TEMPLATE field /Vgap:n was added to specify the vertical gap below the
current field (default=5 unless set by /GAP).
TEMPLATE fields FILE and DIR using the /SHORT parameter now provide
horizontal scrolling for filenames exceeding the dialog box width.
New System Variables and Other VARIABLE Features
SUBSLIST system variable was added to return a space-separated list of all
available substance descriptions defined by the CONTENTS command (excluding
special names like "OIL", "cargo", and "unknown"). Each description is safely
surrounded by quotes, so {SUBSLIST} can be used directly for a TEMPLATE
drop-down variable list field or sent through the SET command ITEM operator
to pick out each substance description by item index.
LINENUM system variable was sometimes exceeding the maximum lines per page
after returning from an external program like Condition Graphics. The sum
of LINENUM plus LINELEFT can now be used reliably to calculate page length.
======= Miscellaneous New Features =======
COMP /PLAN parameter was added as an optional replacement for /PROfile
to show the vessel plan instead of the profile on /SECTION and /SKIN plots.
COPY /FROMAnsi, /FROMUnicode, /TOAnsi, and /TOUnicode parameters improved
conversions when original source was Unicode, now supporting combinations
(for example, /FROMA /TOU assumes ANSI source and converts to UTF-8).
CRTPT command maximum number of critical points was increased from 250 to 400.
ERASE command is no longer restricted to 80-character file specifications.
GLM now puts any command error messages into the report file so premature
termination in such cases won't be a mystery.
PERM /VOlume:unit parameter was added to report capacities in GA (gallons),
IM (imperial gallons), CY (cubic yards), LI (liters), and BB (barrels) units,
along with default CF (cubic feet) and CM (cubic meters).
SE provides alternative function keys #[A|C|S]n for [Alt|Ctrl|Shift] Fn
using n from 0 to 9 (0=F10) to help with missing function keys on tablet
screen keyboards.
======= Bug Fixes =======
ADD "desc" "ref*" was not combining any /LPA assignments from referenced
weights into the replacement item.
ADD REPORT was failing when ADD PREFIX had turned on automatic weight
description prefixing.
COMP /EFF and /PERM parameters were not always correctly updating the maximum
capacity of the containing part.
COMP /SKIN plot printing was sometimes trapping an error for components
containing stations split across the centerline into separate lobes.
COPY /CODE avoids trapping errors for WEIGHT lines longer than 65,535 chars
by inserting line breaks as needed after commas and semicolons.
COPY dir1 dir2 no longer risks getting into a recursive loop if the second
directory is a subdirectory of the first directory, instead trapping an error.
DAMSTAB without the /SIDE parameter was not always determining the predominant
side of damage correctly for DIVISIONs not using the /WING parameter (since
10.68G only).
DISPLAY PRINT was not including any SUBTITLE lines.
DISPLAY STATUS /SYNC was delaying up to 5 seconds when immediately followed
by DISPLAY STATUS to a report file.
DISPLAY STATUS BODY @ loc :=ANGLES no longer traps an "invalid location"
run-time error if the number of angles exceeded 30 total view boxes, instead
truncating the angle list.
DISPLAY STATUS PROFILE:WITHSAILS was sometimes reducing the vessel size
to make space for unset sails.
DISPLAY STATUS body view with /YESEMPTY parameter was sometimes failing
to show loaded tanks that were obscured by empty tanks occupying the same space.
DISPLAY STATUS for WDF-type tanks was not always showing the correct load
depth (since 15.20B only).
DISPLAY STATUS header was not always showing correct drafts when deflection
or waves were present.
DISPLAY STATUS profile views were sometimes incorrectly coloring above
discontinous internal waterlines.
DISPLAY STATUS profile views were sometimes incorrectly coloring above
extremely short internal waterlines.
DISPLAY command VISUALIZE was not correctly rendering any arc points.
ENTER PM command CREATE statement LOCUS now traps "Too many points on station"
instead of a run-time error if given more than 500 locus points.
ENTER PM command MODIFY was not supporting SHEARCF statement.
ENTER PM command RENDER no longer traps an "invalid location" run-time error
when shapes like CYLINDERs extend entirely on the negative side of centerline
components so get chopped away.
ENTER PM command SHELL was sometimes corrupting shapes containg arc points.
ENTER PM command SHELL was sometimes creating pairs of adjoining DK code points.
ENTER PM prevented a rare "invalid location" run-time error risk.
ENTER PM was hanging on Windows 10 tablets when using the on-screen touch
keyboard.
FIXUP /TANKORDER:file was trapping "All tanks must be present to reorder"
needlessly.
FIXUP and MC FIXUP were not preserving any GF variables set by Part Maker.
FIXUP was sometimes matching the first instead of the last component having
the same name when multiple parts share the same component.
GROUP name=tanklist /CONT:"contents" no longer creates an empty group
if no tanks in the list have the indicated contents name; this empty group
was invisible except when written to a SAVE file.
GROUP reports for multiple groups were clearing all but the last group off the
Display area of SCREEN COMMAND split-screens in default SCROLL ON mode.
HEEL -{variable} and similar commands no longer trap an error if the variable
has a negative value.
HMMT REPORT was including a spurious "OTHER" line whenever HMMT WIND
or HMMT TURN was in effect along with a cosine-based parameter like /C1.
This "OTHER" line now correctly only appears to report the results of pure
cosine-size or cosine-based heeling moment functions.
LOAD EDIT /HMMT:contents "Heeling Moment Input" tank heel angle changes were
sometimes being ignored when solving for equilibrium.
LOAD FLOWC was sometimes ineffective following RA /NOPRINT or RA /NOTAB.
LOAD STATUS /EVAL:FRA was misformatting output with a report file open.
LOAD STATUS was not displaying weight totals to the screen.
LS /LIM was sometimes plotting bending moment limit curves too close to upper
and lower grid lines.
LS no longer omits any plot curve lines when more than 6 total.
LS plot curves for Stress and Deflection were misformatted if the /CURVE
parameter excluded the Moment curve (since 14.54 only).
LS plot legends abbreviate "Bending" to "Bend" when necessary to avoid
collision with adjoining columns.
LS plots were sometimes not showing the local shear impact of point weights.
LS was sometimes plotting Corrected Shear wrongly near tank ends.
LS was sometimes reporting apparently successful deflection results despite
underlying weight-buoyancy discrepancies due to very low moments of inertia
set by the SMOD command, but now LS either finds valid deflection solutions
or traps "Deflection too great due to insufficient SMOD".
LS was trapping "PSI ERROR - WEIGHT DISCREPANCY" in rare cases when a
flooded tank had been assigned forward and aft points of attachment.
Load Editor current row and field were unnecessarily disrupted by macro
execution containing READ /APPEND or DELETE commands.
Load Editor in Weights mode was trapping an "integer overflow" run-time error
in rare cases with distributed weight items composed of multiple pieces having
the same VCG but differing TCG (since 15.46B only).
Load Editor was incorrectly setting LB/GAL density units when pressing F6
(or right-clicking LB/CF) with the cursor in the Contents column for a
general cargo tank when not in /BULK mode (since 7.42E only).
Load Editor was not allowing repeated F11 hotkey presses to toggle back and
forth between intact and flooded without moving the cursor field.
MESSAGE ... \c was incorrectly displaying a second line beginning with the
specified character (since 15.22 only).
MESSAGE PLOTSTART custom plots were sometimes clipping off the top or bottom
of curves that reach their maximum or minimum between plot data points.
MESSAGE PLOTSTART data rows beginning with a quote mark (") were causing
the report to trap "Unknown keyword" when printed (since 15.28B only).
MESSAGE REPFONT RIGHT was mispositioning boxes in fancy boxed reports.
OUTFLOW was incorrectly dividing Breadth by an extra metric conversion factor
when calculating Reg 12A.6 minimum bottom shell plating distance.
PRINT path\file.PF and COPY path\file.PF /CONVERT and opening file.PF
from the operating system were omitting any non-embedded {%IMAGE(...)%} output.
RA /LIM evaluation of LIMIT ANGLE to FLD was sometimes passing with zero
attained value when a tight point was submerged at equilibrium with no true
flood points present and zero limit value.
RA /LIM evaluation of LIMIT FLOODHT AT POINT was sometimes producing
spurious UNDEF results (since 15.38 only).
RA /LIM evaluation of LIMIT FLOODHT was sometime passing with zero attained
value when downflooded at equilbrium.
RA /LIM no longer ever treats tight points as flood points when no true
flood points exist, instead giving a LARGE result for the FLD angle when
tight points exist but are not immersed at EQU, restoring the usual behavior
prior to version 15.10.
RA /LIM risked hanging if any relative limit angle value extended beyond
180 degrees when added to the starting heel angle (since 14.34A only).
RA /LIM using LIM ANG FROM EQU TO FLD OR TFLD was sometimes missing
lowest Tight Point submersion if its location coincided with an existing heel
angle in the table, so did not need to be interpolated and inserted.
RA /LIM was failing with UNDEF for limits where angle RA0 or RA00 was
not found within 180 degrees of EQU after reaching the end of the angle list;
now such cases treat RA0 as LARGE so long as any angle limits involving RA0
are sure to pass their minimum values.
RA /LIM was including superfluous final angles when EQU0 occurred before the
start of the angle list with flood points defined (since 15.38 only).
RA /LIM was incorrectly including EQU0 with the angles prior to EQU0
that get ignored for downflooding (since 15.42 only).
RA /LIM was not consistently reporting negative angle limit margins when
weathertight downflooding occurs initially at equilibrium followed by later
immersion of normal downflooding points.
RA /LIM was sometimes failing with undefined Deck Immersion limit angle
when the first two listed heel angles straddle upright and the deck immerses
between upright and the second heel angle.
RA /LIM was sometimes stopping before RA0 and reporting spurious UNDEF limit
results in cases with negative heeling arm at high angles.
RA with flood points defined no longer traps "EQU0 is out of range" in cases
of undefined equilibrium disregarding external heeling, ignoring angles for
downflooding prior to upright instead of undefined EQU0 (since 15.38 only).
RUN command was sometimes ejecting blank pages before plots.
SAVE and WRITE commands were not always saving the precise deflection
curve when computed by the LS command with section moments of inertia present.
SE command Name no longer traps "Illegal name" for existing part names if
given without a trailing backslash; note however that the final backslash
would be needed to avoid selecting any shape having the same name as the part.
DISPLAY command Name was not warning when given non-existent names, but now
traps "Illegal name".
SHELL OPEN document.ext was not working for document names containing spaces.
Solving was trapping spurious bad slope errors for long skinny tanks such as
pipes in rare cases.
Solving was trapping spurious negative waterplane errors for long skinny tanks
such as pipes in rare cases.
TANK selection using /ENDS, /IN, /OUT, /BOTTOM, and /TOP parameters
was sometimes failing to include portside tanks whose points all straddle the
selected volume without any being inside of it.
TEMPLATE dialog boxes fixed a rare risk of hanging when multiple nested
dialogs are closed simultaneously.
TEMPLATE execution was sometimes doubling underscore characters retrieved
from variables in braces.
TFSMMTL system variable was differing from true longitudinal free surface
moment shown by the TC command at high trims.
TMMT /C1 was undocumented and ineffective but caused future TMMT tm0, tm90
to fail, so now traps bad parameter.
TMMT REPORT and RA notes were not always reporting the correct trimming
moment direction.
WAIT NORMAL mode for default split-screen scrolling was failing to wait
for user confirmation before clearing the Display area when a report command
(such as RA, STATUS, etc.) is started.
WATER spgr1, spgr2 was ignoring the second specific gravity for WDF-type
tanks unless preceded by the undocumented /WDF slash parameter.
Previous Version Update Features
Copyright (C) 2017
Creative Systems, Inc.