|
|
General HydroStatics
Ship Stability Software |
|
Command of the Week
(New or interesting aspects of GHS that you may not know about) |
|
Update 19.00
|
|
At the beginning of each year, we publish and distribute a software update.
The version numbers increase by 0.50 each year, so you can see we have been at this awhile.
Only once before have we published the update log as a COW. That was for version 18.00. Here we include the new features that came out in version 18.50 along with those in 19.00. While some of the new features are logical extensions that have been in the planning, most of them represent efforts to please our wonderful users. Condition Graphics (DISPLAY STATUS) 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. Also, an interactive WIND view was added. It 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. 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 the 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 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 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. 18.50 Update New Condition Graphics (CG) Interactive 3D Profile and Plan Features DISPLAY STATUS /3D[:WIRE] parameter was added to render any PROFILE or PLAN views as surfaced three-dimensional graphics, which may be rotated, zoomed, or panned using the mouse (right-click and drag for rotate, scroll wheel for zoom, and center-click and drag for pan) or keyboard (ALT+arrow keys for rotate, -/+ keys for zoom, and arrow keys for pan). Optional WIRE subparameter renders the vessel using lines instead of surfaces. They cannot be used with "@" locations or report output. DISPLAY STATUS PROFILE|PLAN:3D|WIRE|2D subparameters override any /3D[:WIRE] parameter for a particular view. New RENDER Command Features RENDER [(partlist)] command was added to render an interactive visualization of the listed parts (or entire vessel geometry if omitted), respecting any sail transformations specified by the TYPE command and showing the current vessel waterplane unless the /NOWPL parameter is present. ENTER PM command RENDER added ;SPAWN parameter to continue while the rendered geometry appears in a persistent separate window. SE and DISPLAY command Visualize added SPAWN parameter to continue while rendering geometry in a persistent separate window. New ROUTINE Command Programming Features ROUTINE name ([[VAR] parameter];...) defines a programming routine with a parenthesized list of semicolon-separated parameter variable names. Each parameter declares a routine-local variable that is assigned the corresponding value from the parameter list when the routine is called. If preceded by the keyword VAR, the parameter refers to a variable (not a value) passed by the caller, so that any value assigned by the routine to that parameter is passed back to the caller's variable when the routine returns. The routine definition ends when a line comprised of END then the routine name is reached. A routine may begin defining local VARIABLEs, MACROs, TEMPLATEs, and sub-ROUTINEs; these are available only while the routine is running, disappearing when it returns. Once these initial definitions are done and other commands are issued, no further routine definitions are allowed aside from local VARIABLEs. A routine may be called directly using its name followed by a parenthesized comma-separated list of parameters. Even if a routine has no parameters, calling it still requires empty parentheses. A routine may assign a value to its name that will be returned to its caller. This value can then be assigned to a variable when the routine is called using variarble:=name(parameter,...) or returned anywhere in a braced expression like {name(parameter,...)}. All names appearing in a routine refer to local variables, macros, templates, and subroutines declared within the routine, unless prefaced by a period "." to refer to global names (such as system variables). Module names can be accessed by prefacing with "^." and names declared in any calling routine can be accessed by prefacing with "^". IF statements operate differently within routines, using a multi-line block separated by ELSIF and ELSE lines and terminated by an END line instead of being all contained in a single line. LOOP blocks are provided within routines to skip back to the top of the LOOP when its matching END line is reached, only exiting the LOOP when an EXIT line is encountered. Note LOOP and IF blocks can be nested together to any level, so an EXIT line gets out of the innermost active LOOP block, skipping through any intervening IF blocks, or exiting the routine if no LOOP is active. New TANKS Selection Features TANKS /IN, /OUT, /BOTTOM, and /TOP parameters accept arbitrary location-based functions instead of just a constant value (e.g. /BOT:15@50a,5@20A,5@20f,15@50f to select tanks intersecting above a varying floor). TANKS /IN:offset,complist and /OUT:offset,complist were added to exclude tanks based on the transversely-shifted intersection curve of the current waterplane (not including any wave) with the port or starboard side of the specified components. Offset is the transverse distance toward centerline including "p" or "s" suffix to indicate the side of the components to use when creating the waterplane intersection curve. Complist may consist of one or more part[\component] specifications respecting * wildcard. For example, /IN: 2.5s, HULL\HULL.C to exclude tanks entirely 2.5 inboard of HULL\HULL.C's starboard waterline). New Maximum VCG (MAXVCG) Features MAXVCG no longer limits the number of trim angles or LCG values to 10 maximum. MAXVCG and SOLVE MAXVCG now ROLLs back opposite from the ANGLES direction when /FIXDIR is present or the current HEEL is zero. MAXVCG exit tolerance was modified to reduce the chance of results having slightly negative limit margins. New NEXT String Searching Features SET operator NEXT n was added to return the position (0 if none) of any character from the next string found in the second string if n=0, or the first case-sensitive match of the next string found starting at position n in the second string if n>0, or the first case-insensitive match of the next string starting at position -n in the second string if n<0. NEXT can also appear as a function in braced expressions; thus ME {NEXT(N,"AB","ABCabcABC")} displays 7 if N=3, 4 if N=-3, or 1 if N=0. New in Advanced Features (AF) DAMSTAB /SDI421PSP method was added by appending "SP" after /SDI421P to indicate a special purpose ship (similar to /SDI194CSP, etc.). DAMSTAB /DIVLENGTH parameter replaced /EXPERIMENTAL (though the former parameter name still works for backward compatibility), still causing inner compartments to be examined only with the division length when deciding whether the bottom is low enough to be flooded, but no longer putting "EXPERIMENTAL" into the report title. EXTEND HOPPER improved its heel solving. New Load Editor (LE, LEw) Features LOAD EDIT /SAFEFILL:maxsafe now works with tanks listed in SAFEFILLTANKS user variable if it has been defined, overriding default usage with petroleum tanks having varying density dependent on temperature. New SeaKeeping (SEA) Features SEA now imposes limits on inertial forcing amplitudes when computing responses for small encounter frequencies; while not strictly necessary, this limit is consistent with those already imposed on the forward speed corrections for the added mass and damping coefficients. New Tank Soundings (TS) and Characteristics (TC) Features TS /Format:7 was added to include columns for Volume, Cu.Ft/M., Weight, Center, and Transverse Moment vs Sounding per Norwegian Maritime Authority preference. TS /CAP:f1[,f2[,f3]] shows the capacity for up to three load fractions in each table header. A negative fraction f can be specified to show -f capacity only for tanks having specific gravity less than 1 (i.e. those with contents lighter than Fresh Water). Using /CAP:0 omits capacity information from table headers. The default TS behavior is /CAP:100%,-95% when /CAP is not present. TS /VDEC:places parameter was added to specify the number of decimal places to use when displaying volume values. TC /CM parameter was added to format soundings and reference heights in centimeters instead of millimeters when in metric unit mode. New Keyboard Access to Split-Screen Display Area Features Command-line editing from the main program added the Alt-E key combination. Whereas Ctrl-E picks the previous command and the Up-Arrow key picks up the previous word whether it's a command or not, Alt-E keeps going up until it reaches a non-command word (so it can be used to get to the Display area in split-screen mode). After the first press of Alt-E or Up-Arrow, the other arrow keys can be used to select a word from various places on the screen. New PRINT and REPORT Features PRINT /PAPER:LETter|LEGal|LEDger|A4|A3|A2|h,w|* parameter was added to print or preview using the given paper size name or height and width in inches; note /PAPER:* restores the old behavior using paper size from system printing preferences. PRINT filename uses paper size implied by any previous PRINT CONFIGURE /L:lines configuration setting unless overridden by the /PAPER parameter; note this also applies when previewing any *.PF file opened directly from the operating system. PRINT /PREVIEW right-click menu Print dialog Preferences Paper size is now active so it can be changed to print using the selected paper size (note all other Printing Preferences dialog info is read-only so any changes are ignored). PRINT CONFIGURE dialog only selects the primary printer for PRINT output without affecting any printer settings, so now disables all other dialog controls (such as Properties and Number of copies) to avoid confusion. REPORT CLOSE and PRINT (without filename) print the current report file using paper size implied by any REPORT /L:lines parameter when the report was opened, otherwise using any previous PRINT CONFIGURE /L:lines configuration. MESSAGE REPFONT Wrap parameter was added to left-justify NOTE output, wrapping any overflow past the page width margin to the next line instead of compressing it to fit. If a fancy REPORT /BOX:COLOR|BW report is active then the current PRINT CONFIGURE /FONT is wrapped, otherwise the default fixed font is wrapped (unlike other REPFONT modes that only work with fancy reports). NOTE {%IMAGE("file",hpos,-1|width[,-1|height])%} places a BMP or JPG file image on the report page starting at the current line, then moves that current line down by the image height, which can be specified in inches or (if missing) taken from any vertical height encoded in the image file; aspect ratio is preserved when -1 is given in place of width and/or height, even when these are automatically reduced to avoid truncation past the edge of the page. NOTE commands no longer restrict {expression} evaluation except for literal color number codes (e.g. {4}) and style markers ({+b}, {+d}, {+i}, and {+u}) appearing at the top level (not resulting from nested {expression} evaluation). New Improved MESSAGE and ERROR Reporting Features MESSAGE output of overlong text to the screen now wraps to the next line at space boundaries when possible, instead of the extreme edge of the window. ERROR output of overlong error messages now wraps to the next line instead of being truncated. ENTER PM error messages no longer truncate the command causing the error after 77 characters, instead showing up to 1024 command characters on multiple lines. New Dialog Box (TEMPLATE) and MACRO Features TEMPLATE field EXPAND now works with SET-free assignments variable := expression in the same way that SET, VARIABLE, and IF commands are executed. LIST /PRINT parameter was added to list macros and templates to the current output file instead of to the screen. LIST output of overlong command lines now wraps to the next line instead of being truncated. New System Variables and Other VARIABLE Features RAANGDIR system variable was added to return 1 if the RA command angle list is starboard-directed or -1 if port-directed. This is primarily useful within a macro specified by the /RAMACRO parameter, but can also be used outside the RA, MAXVCG, and SOLVE MAXVCG commands to get the ANGLES list direction. LOAD2 system variable now works for multiple selected tanks by returning the total actual volume divided by total maximum volume instead of undefined. PATHHERE system variable now respects the current SPECIAL SHORTNAME setting. SET-free variable assignment variable := number now preserves full precision in the same way as variable := "number" or SET variable = number instead of rounding to 5 decimal places (or as specified by the SPECIAL SYSDEC command). VARIABLE {name:-d} replaces a numeric variable with a compact representation of its value rounded to d decimal places trimmed of trailing zero decimals. Miscellaneous New Features ADD /PED:loc,len /ACcess was added to access LS pedestal location and length. DISPLAY (list) PRINT /ONLYINtro shows only the initial graphics and the part summary list, omitting part plots and offsets. ENTER /ENVironment parameter was added to pass the vessel waterplane, loading, any sail transformations, etc. to the external program. HMMT hm1 @ ang1,... and HMMT TANK added /LINEAR parameter to force linear interpolation between and beyond specified heel angles instead of default 2nd degree polynomial interpolation. WRITE /NAME:pattern parameter now supports a comma-separated pattern list. |
|
Questions, comments, or requests?
Contact Creative Systems, Inc. USA phone: 360-385-6212 Fax: 360-385-6213 Office hours: 7:00 am - 4:00 pm Pacific Time, Monday - Friday Mailing address: PO Box 1910 Port Townsend, WA 98368 USA Click here for an index to this and previous COWs |