GHS Version 19.00 Update

New features, changes, and bug fixes since version 18.50

=========== SUMMARY OF TOP NEW FEATURES =========

Condition Graphics (DISPLAY STATUS) has greatly expanded its support for rendering three-dimensional surface views, which now can be written to report files as seen from any camera angle.

CG also added an interactive WIND view that colors wind-pressured panels distinctly from shielded panels. This ties in with a new HMMT WIND /PANEL method to compute wind heeling moments cognizant of 3D downwind shielding.

=========== MAJOR NEW FEATURES =========

New Condition Graphics (CG) 3D and WIND and Reporting Features

DISPLAY STATUS 3D [:WIRE] view was added to display the hull and sails in a three-dimensional rendered view that may be rotated, zoomed, or panned, starting parallel to the waterplane same as PROFILE:3D[:WIRE] view.

DISPLAY STATUS WIND was added to display a wind-focused 3D view where surface panels which are active in a preceding wind calculation are colored red and surface panels which are shielded are colored blue.

DISPLAY STATUS 3D|WIND @azimuth [@elevation] locations were added to specify the initial 3D view angles in degrees. Azimuth angle respects the same convention as the AXIS command and {AXIS} system variable, so 0 degrees looks starboard (bow on the left), 90 degrees looks aft from the bow, 180 degrees looks port (bow on the right), and 270 degrees looks forward from the stern. Default azimuth is 180 for DI STATUS 3D to match the regular PROFILE view, but default azimuth is 0 for DI STATUS WIND to look along the wind direction. Optional elevation angle defaults to zero, with 90 degrees looking downward onto the deck, and -90 degrees looking upward from below.

DISPLAY STATUS 3D|WIND :AXES subparameter was added to include longitudinal, transverse, and vertical axes in the 3D or WIND view.

DISPLAY STATUS 3D rendered views are now written to any open report file in the same way as 2D views. This applies to 3D and WIND views, as well as PROFILE and PLAN views that include the :3D or :WIRE subparameter or /3D.

DISPLAY STATUS /QUIT:SYNC subparameter was added to close any synchronized Condition Graphics window, instead of all CG windows as DI STATUS /QUIT does.

CHANGE [(partlist)] /Color:n may now be used for non-tank parts to change the color of part shapes in Condition Graphics 3D, WAVE, and PROFILE:OUTBOARD views, as well as non-origin reference points in Load Editor and command area graphs.

New HMMT Command Features

HMMT WIND /PANEL[:d | FULL] was added as a new fully-3D method to compute wind heeling moments using surfaces from Part Maker. Optional subparameter d specifies the shielding distance (or FULL for infinite, defaulting to zero) within which downwind surface panels are shielded by upwind surface panels.

HMMT WIND /BAND area calculations were made more precise at the waterline and the outermost bands, especially for larger band widths.

HMMT REPORT /SHOWFixed parameter was added to report all fixed weight items contributing wind plane area heeling via the ADD /LPA parameter, instead of combining them into a single "Fixed Weights" line.

New Drag & Drop File Support

Run files, geometry files, and print files can be dragged & dropped into the command window to run, read, and preview them.

New LIMIT and Righting Arm (RA) Improvements

RA /LIM now treats DI or FB limit angles as FAIL instead of UNDEF when the freeboard is initially negative, putting a note in the report that "Deck edge already immersed at the starting angle".

RA with MB active now settles back gradually to mutual equilibrium upon completion without abrupt shifts in heel that can cause solving problems.

New Advanced Features (AF)

DAMSTAB manual layer assignments were previously enforced strictly based on layer number. This could be incorrect in multi-division cases where wings from different divisions increase the layer indexes. DAMSTAB now compares the wing distance associated with the assigned layer against the distance of the damage extent.

New PRINT, Plotting, and REPORT Improvements

PRINT image quality was dramatically improved for NOTE {%IMAGE("file")%} and footer logos output to monochrome printers or using /PREVIEW "Color off" mode.

LS and TORQUE /PLOT: SCALE10 subparameter was added to use powers of 10 for all plot curve scale factors.

MESSAGE PLOTSTART /SCALE10 parameter was added to use powers of 10 for scale factors that replace "%" characters in MESSAGE PLOTLABEL (potentially increasing scales and shortening heights for certain curves).

WEIGHT REPORT and LS /CURVE with only WEIGHT and/or BUOYANCY curves attempt to plot using unary or integer scale factors whenever possible.

MESSAGE REPSTART custom report table lines now allow numbers to be separated from the next column by a single space when appearing after the first column (previously allowed only when the custom table had column header lines).

NOTE braced color numbers preceded by a plus sign (like {+5} for magenta) apply the color to succeeding text in print output as well as on the screen. This is less complicated than using the special variable form {%COLOR(n)%} and differs by not continuing its color {n} to subsequent NOTE lines.

New Part Maker (PM) and RENDER Command Features

ENTER PM command SURFACE (list) OFF parameter was added to remove any existing surface models for listed parts or components.

RENDER and SE Visualize commands were creating temporary surface models for all rendered parts, but now any existing surfaces are used instead. Note that SURFACE (*) OFF can be done first in PM to force rendering updated surfaces, otherwise all commands now honor and preserve any existing surfaces.

New System Variables and Other VARIABLE Features

FBLOC and FB0LOC system variables were added to return longitudinal locations of minimum freeboard FREEBD and FREEBD0, respectively with and without margins.

======= Miscellaneous New Features =======

CRTPT /FLood:fvar /TAnk:tvar /INside:ivar /ACcess parameters were added to access flood status (FL, TI, or NO), linked tank name, and inside tank name.

CRTPT increased maximum Critical Point number from 400 to 600.

SAVE and WRITE (SAVE) output file name now has default extension ".SAV"; otherwise the default extension for WRITE output files names is ".RF".

STATUS LPLANE now shows "LPA*SF" instead of "LPA" in report column headers when in SPECIAL HMLPA mode.

TYPE INtact /FLDeffect parameter was added to have FLOODED type effects for disabling critical points with CRTPT /TANK and /INSIDE parameters and for overriding permeability with PERM FLOOD in intermediate flooding stages.

WIND (PRESSURE) p @ height,... increased maximum height from 199m to 999m.

======= Bug Fixes =======

DISPLAY STATUS /3D improved normal vector logic for highly-twisted and flat end surface panels.

DISPLAY STATUS /3D no longer shows the waterplane if the depth is undefined, fixed z-fighting between waterplane and ship geometry for zero depth in most cases, and improved frustrum scaling for larger models and view centering for profile and plan views.

DISPLAY STATUS /3D was not always correctly positioning components shifted by translation vectors.

DISPLAY STATUS /3D was not properly respecting AXIS command settings.

DISPLAY STATUS /3D was sometimes trapping a run-time error when mixed with non-3D views.

DISPLAY STATUS and DISPLAY PRINT /YESCRTPT were not guaranteeing views always scaled large enough to fit any offboard critical points.

DISPLAY STATUS now relocates Critical Point labels if necessary to avoid being truncated off the left or right side of vessel views.

DISPLAY STATUS was sometimes overflowing the right side of the legend box when showing Critical Points.

DRAFT /PRINT was restored to use regular NOTE-compatible output even in fancy reports, optionally using proportional font if MESSAGE REPFONT is in effect, thereby no longer skipping an extra line between DRAFTs (since 18.14 only).

ENTER PM command CHOP was sometimes failing for components shifted by longitudinal translation vectors.

ENTER PM command SURFACE was inverting normal vectors in rare instances.

ENTER PM command SURFACE and implicit surfacing improved panel shading for DISPLAY STATUS 3D|WIND.

ENTER PM commands CHOP, REVERSE, and SCALE were unnecessarily discarding deck edges and other markings (since 16.90 only).

ENTER PM statement FIT for catamaran shapes risked rare run-time errors (since 17.86 only).

ENTER PM statement FIT was extending beyond the fitted to component and losing stations in rare cases, especially with cylinders.

ENTER PM statement JOIN for adjacent components with longitudinal shape shifts was sometimes mislocating a station at the shared location (since 14.84 only).

ENTER PM statements SHELL and FIT create more consistent inner shells for centerline catamaran-like bottoms and no longer risk distorting non-centerline shapes (since 16.42 only).

HMMT REPORT was corrected to show the precise same HCF for Fixed Weights as shown by STATUS LPLANE:BRIEF.

HMMT REPORT was not reporting fixed weight items contributing wind plane area while in HMMT /BAND /COMBINE mode, instead including them in the Combined total (except was double-counting fixed weight area when /NOSHIELD was also active).

LIMIT RAR AT angle was behaving like LIMIT RAR BETWEEN EQU AND angle instead of measuring the precise Righting Arm Ratio at the given angle.

LIMIT RESIDUAL RATIO TO angle1 OR angle2 was inconsistently dividing the residual area at RA0 by the absolute area at angle2 when angle1>=RA0 and angle2<angle1; note this limit behaved correctly with these angles swapped.

Load Editor footer was not showing "Total SEA" contents for non-FLOODED tanks containing SEA water.

LS solving was not always ensuring the deflection curve returned to precisely zero at both ends, in extreme cases sometimes writing invalid zero length for the DEFLECT command in Save Files.

LS tables were not showing buoyancy discontinuities due to added or deducted components using multiple lines at the same location, now correctly showing them the same as if these components had been JOINed together in Part Maker.

LS tables were sometimes including more than two consecutive density lines at the same location; any inner line(s) had negligible effect on integrated results but could cause spurious vertical spikes to appear on plot curves, so these inner density lines are now omitted.

MAXVCG was not always returning maximum valid VCG found after terminating due to excessive iterations.

MAXVCG was not behaving dependably when RESERVE RATIO limit was present.

MAXVCG was sometimes taking excessive time returning non-optimal maximum VCG results after solving for a VCG whose angles did not include equilibrium with sufficient righting arm.

PERM RESTORE was not working after a permeability change (since 18.42A only).

RA /LIM for LIMIT RESIDUAL RATIO sometimes randomly showed FAIL margin due to minuscule positive righting arm at the first angle (since 18.38 only).

RA /LIM was unnecessarily failing LIMITs connected TO a third DI or FB angle (where the greater of the second and third angles should be controlling) when the freeboard is initially negative (since 11.88A only).

READ was sometimes hanging up to 10 seconds if a synchronized Condition Graphics window had been manually closed but another CG window was still active.

RENDER command was sometimes trapping a run-time error with flooded, frozen, or spilling tanks present.

REPORT /BOX:COLOR fancy reports CC, GROUP, HMMT, HS, LOAD STATUS, etc. were showing any final "Note:" lines in blue instead of standard black color.

SEAkeep /BOX was sometimes trapping an invalid location error when used on geometry files with many closely spaced stations.

SEAkeep /CONF was returning the variance instead of the extreme value amplitude in the statistics and summary tables when position and velocity moments (m0 and m2) were both very close to zero.

SEAkeep /ROLLTANK now only includes tanks with fill levels above 1% and below 90%, as beyond these values the underlying theory is invalid. Note that for low fill levels, the validity should still be questioned.

SEAkeep /ROLLTANK was sometimes yielding undefined results for tanks which are not strongly U-shaped and have low fill levels.

SEAkeep was sometimes trapping a run-time error when /ROLLTANK was not present following previous SEAkeep commands that included /ROLLTANK.

SEAkeep wave spectrum report no longer shows Significant Wave Height, only showing Spectrum Variance as this does not make assumptions about narrow-bandedness and is more informative for sampling convergence.

SOLVE MAXVCG /FSM was setting an internal upper boundary for VCG that sometimes prevented convergence to the VCG that results in zero limit margin.

SOLVE found a spurious solution with excessive RAT in rare ground point cases.

SOLVE starting extremely close to equilibrium was sometimes wandering off to find a more distant heel equilbrium angle.

STATUS FIXED without any subparameters was sometimes showing LIGHT SHIP+ with incorrect centers of gravity when zero weight items whose descriptions begin with "+" or "*+" are present (since 16.58B only).

TORQUE density curve integration was not correct for sloped segments. These could be caused by tank loads where the sectional area of adjacent stations differs or by non-uniform distributed weights. The issue was mostly masked by the linear correction factor which is applied as a function of longitudinal location to ensure that the torque is zero at the vessel ends.

VARIABLE replacement involving nested or multiple double braces around variables was not always giving correct delayed replacement results.

Previous Version Update Features

Copyright (C) 2023 Creative Systems, Inc.