Build 139 Revision History

From SysCAD Documentation
Jump to navigation Jump to search

Navigation: User Guide ➔ SysCAD Version History ➔ Build 139 Revision History

Related Links: What's New, Product Blog, Upgrading Projects, Software Licenses Expiry Dates

This page contains details of all revisions since the initial release of SysCAD 9.3 Build 139.

NOTE: New builds can be downloaded from the SysCAD website. For more information see Upgrading Builds.

SysCAD 9.3 Build 139 Revision History

Build 33001

Released 18 May 2023
  • Fixes for bugs introduced in previous Builds:
    1. Build 32925: Fix for crash with loading TCE OLI projects.
  • Reaction Block (RB) improvements:
    1. Updated checks for RB Extent type Final Elem Frac when using by Total instead of by Phase.
    2. Improved convergence tolerance test for individual reactions in a RB. The result is greater accuracy in achieving reaction extents to more significant digits, and less "Extent not achieved" error condition messages where extent is almost achieved.
    3. Reduced memory use in RB.
  • TCE: New option for Reverse Mapping Algorithm which can greatly improve the calculated final composition of aqueous SysCAD species from TCE outlet ion composition. Tag is "RevIonMap.BreakdownFirst" in TCE ModelCfg. For existing projects behaviour is as before, user can change this setting and check the results.
  • For Hydrocyclone using Whiten Fishhook method with a "large" fishhook and low WaterRecovery (Rf), prevent small "negative" flows in small PSD sizes and give an error condition message.
  • For Single Variable Histogram added option to specifiy number of display digits for bucket percentages. Various other improvements including grid display in Access window of the histogram bucket values.
  • New graphics display commands "Update Makeup/Discard/SrcLink Graphics" to reset (repair) the default associated DirectLink graphics. Functionality is similar to existing Update Tear Graphics. Found in graphics Display menu (and graphics context menu).

Build 32925

Released 5 May 2023
  • NOTE: Full install recommended as Build 32925 includes new Reaction Editor, updated Basefiles (symbols, template reports, Notepad++ syntax files, etc), new VS Code extension for SysCAD PGM and updated example projects.
  • Improved options for PGM (and MP) code editing:
    1. Microsoft VS Code is an alternative text editor to Notepad++ for editing PGM files. Kenwalt has developed a VS Code extension for SysCAD PGM files which provides a productive rich environment for editing PGM files with full syntax colour highlighting, etc. If Microsoft VS Code is not installed, download and install the software. Then install the SysCAD PGM extension using syscad-pgm.cmd (located in SysCAD139\Setup\VSCode_PGM_Extension\syscad-pgm.cmd).
    2. The colours for keyword highlighting (for VS Code and Notepad++) have been updated, with a particular focus on use of a separate colour for all non-logic (i.e. formatting) type keywords. To update Notepad++ PGM Syntax keywords, follow updating user defined language instructions.
    3. Expand selections of editors in General Options General to include separate selection of PGM editor. This now includes functionality to find and use VS Code. Improved functionality under new "Select" button for selecting preferred editor.
  • Updates to rework Flowsheet Area management in Explorer Window and Plant Model - Flowsheets tab page for cleaner management of flowsheets by Area. Rework logic for "Unassigned" flowsheets. Removed Global Area. Added option to allow/disallow flowsheets to be unassigned to areas (belong to "None" when not assigned). New Explorer Window context menu option (for graphics Area) to add new graphics directly to Areas.
  • Added support for a Graphics, Trend or TagList document to have the same name. Names must be unique within the document window type.
  • New menu option "Tools|Upgrade Compatibility Checks". This lists all models and options used that are "old" and will be discontinued in the next Build. This will allow user to check a project, and make any changes to resolve any reported issues, before it can be used in a newer Build.
  • Improved Merge Project efficiency and robustness, primarily related to managing Flange tags (auto create new flanges in imported project). For system DirectLinks (Src/Snk/Spill) added option to include in tag checks or ignore and create new tags (as per Flange tags).
  • Improved functionality for Access Window copy and paste of multiple fields including Checkboxes.
  • Display conversion family name in right click popup context menu for change conversions - useful for quick lookup of conversion family name for editing PGM files. Last entry is now "Change *CnvName* Default..." instead of "Change Default...".
  • Some rework of opening General Options and Project Settings dialog boxes to prevent occasional crashes on some PC's or failure to open dialog box.
  • Fix for initial placement of toolbars after install.
  • For Zip Project added new option to open containing folder after zip; and new option to include scenario files.
  • Reaction Block (RB) improvements:
    1. Implemented new "Final Elem Frac" reaction extent method. Allows control of reaction extent to achieve a target elemental molar or mass fraction.
    2. For "Final Frac" Extent method, added support for final fraction by IPhase.
    3. It is now possible to load an empty reaction file (no reactions). Previously this gave errors and prevented project solve. RCT file can have RHX only.
    4. Condition warnings for reaction extents at user limit when using LimitAmountReacted or LimitFracReacted are not shown if Extent.Type is Target (ie only shown for Strict).
    5. Improved RB.Status feedback descriptions.
    6. Improved display when reactions in a RB are off and HideOffReactions is selected.
    7. Improved error message reporting when RCT file fails to load.
  • Reaction Editor improvements:
    1. Released new Reaction Editor version 1.5 with multiple functionality improvements and various bug fixes.
    2. Supports new Final Elem Frac extent method and Final Frac by IPhase.
    3. Added 'Open Containing Folder' option for quick access to reaction files.
    4. Added right-click option to Reverse Reaction (swap reactants and products).
    5. UI improvements, including sharper image on high resolution screens.
    6. Fractional extents are now input and displayed as percentages.
  • Improvements and fixes for selection and use of component for use in VLE in Simple Condenser and Simple Evaporator.
  • For the Compressor added a new Polytropic calculation method. Improved options for Adiabatic Efficiency.
  • Added new Conversions family LRate "Length Rate (Level Change)" as an alternate to Ldt "Velocity". Useful for display of rainfall rate, etc in PGM files.
  • Stricter checking for case sensitive unique names for Individual Phases (IPhase) in Species Definition. Fail project load when an error.
  • Added new functionality for Tank/Tie SplitFlows with new Operation option Target Stream that allows selection of a single outlet stream where all flow is directed.
  • Improved Level Lookup functionality for Dynamic Tank.
  • Added functionality in Dynamic for Batch control (new tag BatchClearOnEmpty) in pipes and feeders to allow batch amount to be reset (cleared) with Empty Action.
  • For GFEM all the tags on Results tab page are now shown on project load.
  • Fix for crash in use of Laliberte Viscosity correlation when large AqFrac.
  • Fix for Drum Filter vent causing mass balance error warning when vapours in feed goes on/off.
  • Fix for incorrect Feeder outlet flowrate when FlowBasis is Solids or Liquids and Mode is VolumeFlow.
  • Fix error in load Scenarios with Set Tag Controller getting the conversion units wrong.
  • EHX Ambient5 method updated to limit outlet temperature to ambient conditions.
  • Dynamic mode Heap Leach (or layered column) model now included with standard SysCAD install. Was previously available on request.
  • Heap Leach unit model improvements in displays for Measurements and RBControl. Added Langmuir RBControl for Extent type "Amount Reacted - Molar". Changed measurements used in Langmuir extent control to be feed plus content.
  • Improved functionality in General Controller for Copy to Clipboard buttons for TagList of all PGM Input/Result tags, with additional options in popup menu.
  • Added PGM Matrix Class function MultLeftArray and CopyMultLeftArray for Vector times Matrix (useful alongside existing Matrix times Vector function).
  • Excel Reports:
    1. Improved management of template files, including a change in logic to only create copies of template report files when first generated or viewed in Excel.
    2. Expanded options for right click context menu options for Reports in Excel Report list dialog.
    3. Improved warning message in Excel feedback worksheet, when full tags (or primary tags in TagTable) start with a dot (.).
    4. Where a Cell in Excel for a full tag (or primary tag in TagTable) only contains a dot (.) this is now treated as a special case equivalent to an empty cell.
  • Graphics Window (flowsheets):
    1. For Print Multiple PDF of graphics flowsheets, added new option to open containing folder after print to pdf.
    2. Fixed crash for graphics paste after graphics cut if some other command occurred between these two actions.
    3. Implemented functionality in project to select default drawing frame for new flowsheet pages. The Frames drawing symbols are now installed to a separate symbols folder.
    4. For General Options Colours: Removed unused option for negative flow. Fixed an error with underlying save and load of settings. (Current user settings may be replaced with defaults when first using this new Build.)
    5. Added new user option to select thickness (weight) of drawn lines. For different screen resolution displays (DPI) and depending on graphics window size or zoom, line thicknesses could vary. Line thickness (or weight) is now more consistent based on user selection, including option to always display single pixel line widths for all screen display types.
  • Trend Window:
    1. Improved display of vertical green line for current timeline cursor display. Results in smoother trendline display without scrolling gaps in trend lines.
    2. Improved display of text labels in trend line window.
    3. General Options Trends: Added new user option to select thickness (weight) of trend lines, including option to always display single pixel line widths for all screen display types. Line thickness (or weight) is now more consistent for different screen resolution displays (DPI) and user sizing of trend window.
  • TCE Improvements:
    1. General improvements for error reporting.
    2. TCE Pond functionality improvements.
    3. Fix for false TCE error reporting when TCE is Off (ie Model = "None (Off)")
    4. For OLI display of IonicStrength changed calculation and display units to mol/kg to be consistent with all TCE's and common use. Old tag was mol fraction. Caution: projects using this tag may get different results.
    5. Added option to copy OLI Apparent species to clipboard.

Build 32530

Released 23 February 2023
  • Fix for recycle tears with no flow that were not detected as NoFlow state. This gave errors in convergence reporting and false convergence of temperature in recycle with no flow.
  • Improved display of Criteria, Tear Blocks and Tears shown in $Solver and for individual Tears. Includes some additional result fields (eg tear state), and changes to tags for consistency.
  • For dynamic projects, moved reporting options for Spills from PlantModel to $Solver.
  • Improved Model Data Transfer dialog by excluding global parameters and some repeated tags in the list of tags. Removal of repeated tags fixes errors in Data Transfer not working correctly for some use cases.
  • Graphics dialog improvements: For Insert Unit allow user to clear and enter the tag without a default tag being automatically created when field is cleared. For Construct Unit/Link hide the Search field.
  • Renamed the SysCAD temp folder folder in system user temp from SysCAD139 to _SysCAD_139_.
  • For species database temperature range for Cp (Enthalpy), if value is below 1K, give warning message and use 1K as the minimum temperature.
  • Merge Project is more efficient. New system flange tags are automatically created instead of trying to manage flange tag naming conflicts.
  • Bug fix for Zip Project for large projects.
  • Clearer display of IsothermComponent selection for use in Solvent Extraction Unit.
  • Updated calculations and tags for recently introduced Sugar Fugal 2.
  • Heap Leach model improvements:
    1. Fix for incorrectly including solids flow between layers when LiqDrain method is None.
    2. Improved calculation of LiqFrac holdup when solids included with LiqDrain.
    3. Reduced memory use.
    4. Display improvements: Fix for some layer result displays for empty layers. Add display of Sf for feed to each layer. Add display of last step OpModeUsed. Add result display of Product.Qm.
    5. New condition warnings: When OreFeed flow and OpMode is not stacking. When OreFeed flow and heap is full.
  • Example projects:
    1. Updated all PHREEQC Examples.
  • New General Controller PGM Runtime Debug mode. To track down where in the code runtime errors (such as divide by zero) occur, select the "Enable Debug" button which will reload the PGM with stored line numbers that are then used when reporting any runtime errors in the message window. At next project load, any models in RuntimeDebug mode are returned to normal operation.
  • New PGM Macros for use with Classes providing significant new functionality for working with collections (lists) of class instances:
    1. Added ForEachSub macro as alternate to ForEachClass. Syntax ForEachSub(Classes, SubName(...)) Example ForEachSub(TankClass, Exec())
    2. New ForEachFn macro. Syntax ForEachFn(ResultVariable, OperationMethod, Classes, FunctName(...)) Example ForEachFn(Total, +, {T1,T2,T3}, CalcArea()) is equivalent to Total = T1.CalcArea() + T2.CalcArea() + T3.CalcArea()
    3. New ForEachVar macro. Syntax ForEachVar(ResultVariable, OperationMethod, Classes, ClassVariable). Example ForEachVar(TotalVol, +, {T1,T2,T3}, Volume) is equivalent to TotalVol = T1.Volume + T2.Volume + T3.Volume
    4. New ForEachVarSet macro. Syntax ForEachVarSet(Classes, Variable, Expression). Example ForEachVarSet({T1,T2,T3}, Height, 17) is equivalent to T1.Height = 17 T2.Height = 17 T3.Height = 17
    5. New ForEachFnCalc macro function. Syntax ForEachFnCalc(OperationMethod, Classes, FunctName(...)). Example: Total = ForEachFnCalc(+, {T1,T2,T3}, CalcArea())
    6. New ForEachVarCalc macro function. Syntax ForEachVarCalc(OperationMethod, Classes, ClassVariable). Example: TotalVol = ForEachVarCalc(+, {T1,T2,T3}, Volume)
    7. New ForEach macro function. Syntax ForEach(OperationMethod, Classes, FunctName(...)/ClassVariable). This auto detects last parameter type and is then equivalent to ForEachFnCalc or ForEachVarCalc.
    8. New ClassCount(Classes). This returns the number of class instances in the list. Example: AveArea = ForEach(+, {T1,T2,T3}, CalcArea()) / ClassCount({T1,T2,T3})
    9. For OperationMethods parameter the available operators are : +, *, -, or, and, bor, band, bxor
    10. For Classes parameter in these macros, this can be a named ClassList, a list of specific class instances and/or a class arrays all enclosed in {}, or a list of class types enclosed in {}.
  • New PGM ClassList command to define a list of class instances, including class arrays, that can then be referenced in subsequent code (for example in multiple calls to ForEach macros).
    1. Syntax is ClassList ListName {classes}. Example ClassList L1 {T1,T2,T3} or ClassList TanksList {Tanks,T1,T7,MoreTanks[2],MoreTanks[7],T12} (where Tanks and MoreTanks are arrays of classes).
    2. A ClassList provides the convenience of defining a class list (collection) once. For example: If we have "TankClass T1,T2,T3,T4,T5". We can have different lists such as "ClassList L1 {T1,T2,T3}" and "ClassList L2 {T3,T4,T5}" intentionally including T3 in both lists.
    3. A ClassList can be declared when defining the class instances, where the list is all the instances. For example TankClass{List(TanksList)} T1,T2,T3,T4,T5
    4. Some examples: ForEachVarSet(L1, CalcHeatLoss, true) ForEachSub(TanksList, Exec())
  • New PGM ClassGrid keyword to display classes in a grid (table):
    1. New ClassGrid keyword for displaying classes in a grid format, where each column is a grid and each row is a variable for the class.
    2. Syntax is ClassGrid classes. Where classes is a previously defined ClassList or list of classes similar to use in ForEach macros. Examples: ClassGrid {T1,T2,T3} ClassGrid L1 ClassGrid {TankClass} ClassGrid Tanks (where Tanks is an array of classes)
    3. Use ClassGridMaxColumns within class definition to set the maximum number of columns. Default is 10. Multiple grids are shown when larger number of class instances.
    4. Use ClassGridColumnWidth within class definition to set the column width. Default is 14.
    5. TextLabels within the class grid are shown as row separators, however blank lines and multiple text lines are ignored (only the last textlabel in a group is shown). All TextLabels in a grid can be hidden if using keyword ClassGridHideText in the class definition.
    6. If comments are used for class instances, these are shown as text for each column in first row of grid. This can be disabled using keyword ClassGridHideComment in the class definition.
    7. If option ClassGridPageLabel is used in class definition, then the grid is displayed on a new tab page in the Access window.
    8. Instead of using ClassGrid keyword, it is possible to use a grid when declaring the class instances using the keyword Grid within {} or use the # symbol For example TankClass# T1,T2,T3,T4
  • General PGM Improvements:
    1. Allow use of @ or @@ when declaring const variables to provide visibility. Example: const double MinAreaT@ = 18
    2. Allow use of previously defined constant in declaring options Init or Range for variable. For example: double ValReqd*{Init(PI)} double T_Reqd*<MinAreaT,MaxAreaT>.
    3. Allow use of previously defined string constant in declaring variable comment option. Must use Comment() keyword. For example: double QmReqd*{comment(Desc)} where Desc is previously defined as: const Str Desc = "Some common description"
    4. When specifying comments when Declaring Variables, it is not necessary to include the "comment()" keyword. For example use: real FlowReqd*{"Enter feed flowrate"} instead of: real FlowReqd*{comment("Enter feed flowrate")}
    5. Use new keyword ClassAsGroup in class definition to display class instances in Access window with "ClassName..." instead of repeating "" for each variable of class.
    6. Allow specification of Comments for Class Instances. The display of the comment in the Access window depends on use of ClassAsGroup and if class is shown in Grid. Example TankClass T1{"Feed Tank"}, T2{"Acid Tank"}. The keyword ClassComment can also be used, where syntax is ClassComment Class "comment". Example: ClassComment T[1] "Feed tank"
    7. New functions StopSolver(..) and PauseSolver(..) as alternates to PGM variables StopSimulation and PauseSimulation.
    8. General improvements in PGM load error reporting. Stricter checking for literal string parameters being enclosed in quotes ("). New warnings for unexpected scope use of keywords within functions, if-blocks or while-blocks. New warnings if using special characters ':', '~' or '&' in variable/function names, they will not be allowed in future Builds.
    9. Added load time warnings if any old PGM syntax or keywords are used (will be discontinued in future Builds).
  • TCE Improvements:
    1. Various improvements in Ion mapping algorithm.
    2. PHREEQC bug fix for saving and loading SatIndex when < 0.
    3. Don't allow loading of PHREEQC databases containing -no_check reactions because this allows PHREEQ equilibrium calculations that don't conserve mass. If you get this error, edit PHREEQ database to remove these reactions.
    4. Fix for OLI projects failing to load (bug introduced in 32335).
    5. Fix for TCE Feeder where the outlet stream was not properly calculated after changes to the selected model configuration (i.e. changes to SatIndex, mapping tolerances, etc.)
    6. Added option to copy to clipboard all connected feeds/products.
    7. Plotter bug fixes and improvements.

Build 32335

Released 17 January 2023
  • Fixes for bugs introduced in previous Builds:
    1. Build 32217: The maximum number of PGM tab pages were mistakenly limited to 10. Returned the limit to 250.
  • For Dynamic projects, in Solver Settings ($Solver) added new functionality for reporting Spills and Vents. Includes some options for some detailed analysis of when and where spills occur.
  • Added optional display of QFeed and QProd to Valve, Pump, Gas Pump, Reducer, and QPrimary and QSecondary feeds for Thermocompressor.
  • For Precipitation3 changed various Ea/R tags from temperature conversion to dimensionless for clarity. K is shown as comment in Access window.
  • Improved display of CheckBoxes in Access Window at different high resolutions.
  • Example projects:
    1. New GFEM + ChemApp example project Electric Furnace.
  • PGM Improvements:
    1. For PGM ForEachClass macro used with PGM Class, now require use of brackets for the subroutine used. For example use "ForEachClass(TankClass, Init())" instead of "ForEachClass(TankClass, Init)".
    2. For defining constant Array, StrArray and Matrix, the const keyword is now required. For example "const array Vals = {1,4,2,98}" instead of "array Vals = {1,4,2,98}".
    3. Give PGM load time warnings if strings for PageLabel and TextLabel are not enclosed in quotes (").
  • TCE Improvements:
    1. Added a Forward Mapping Summary to Results page
    2. Allow selection of Off for TCE in all TCE unit models. Allow solve when no license for TCE (TCE calculations bypassed).
    3. New OnStart option for TCE side calculations.

Build 32217

Released 19 December 2022
  • Fixes for bugs introduced in previous Builds:
    1. Build 31866: Fix crash or freeze that can occur when list of PIDs in Controls Window is being updated while building flowsheets by inserting a PID.
  • Fix for Excel Species Info report for project with large number of species.
  • Fixed tag visibility error of Isotherm options in Solvent Extraction Unit.
  • Fix for edge case Flash Train not solving correctly where a Tie/Tank SplitFlows using General OpMode has multiple outlets with QmDemand and the last of these doesn't find a demand sink (eg condensing Shell&Tube heater). The Tie/Tank outlet in Demand mode without a detected demand destination is now treated as a zero demand flow.
  • Added option for Shell and Tube Heat Exchanger 2 for when the model is Off, so that a condition warning is given when model is off but there is flow to the shell side. Especially useful for Condensing mode.
  • Added option "OFSolidsPriority" to General Separator for "SplitMethod" selection "Solid Separation". This is to prioritise OF or UF Solids requirements for the OF "SolidsSeparMethod" choices when the feed solids are too low to meet any requirement. For some flowsheet arrangements (recycles), this can help project convergence reach required OF setpoints and solids flow.
  • For Multicomponent VLE user specified K values, implemented a fix to allow user to specify a 0 value for K (resulting in all of that component going to liquid phase).
  • Fix for dynamic mode where the Historian restarted twice at solver startup for set time option for Scenario management.
  • For dynamic mode Feeder using volume flow Batch Feed, fixed edge case where this failed to work due to previous zero outlet flow.
  • Added new option for OPC Marshal to block Marshal setting mapped SysCAD tags when Marshal OPC tags are invalid or Marshal cannot connect to OPC Server.
  • New Sugar Fugal 2 model as an alternate to Sugar Fugal.
  • New option in Heap Leach for bottom up flow of liquid feed in the column, in addition to original top down behaviour. Implemented other display improvements and bug fixes in Heap Leach model.
  • Added optional display of QFeed and QProd to Compressor, Valve 2, Pump 2, Piping System Model and Pressure Exchanger.
  • Improved management of user selection of conversion units in the Access Window. In particular, for tags on stream pages (Qo, QFeed, etc), the user selections are now applied to all Streams in all unit models. Fixed a bug where after a conversion change the numerical values were not immediately shown for the "same" tag displayed in other tab pages of the model.
  • Improved efficiency and responsiveness on close of Insert Unit dialog.
  • Example projects:
    1. New PHREEQC example project Raffinate Water Treatment.
  • PGM Improvements:
    1. Fix for PGM Array and Matrix recovering the data when pressing the Reload button. Previously the Array and Matrix size was set to zero length when reloading a PGM when the project is open.
    2. Added alternate variable Data Types bool and boolean for bit; and int for long/integer.
    3. New String Functions StrInsert, StrErase, StrReplace and StrReplaceFrom.
    4. Alternate String Functions StrFind for StrStr, and StrFindFrom for StrStrFrom.
    5. For Array Class and StrArray Class added new functions InsertAt(Index, Value) and RemoveAt(Index, Count).
    6. Added support for const readonly PGM StrArray Class declared with = {"..", "..", etc}.
    7. New ClassAsPageLabel keyword for use in class definitions. Use this to automatically create page labels for each instance of a class.
    8. Don't report special case of 0/0 runtime warnings while running PGM code, the result is 0 (as before). SomeValue/0 still gives a runtime warning always. This runtime warning message can be switched on in the General Controller.
    9. Some improved PGM load time checks and build error messages for declaring variables, functions and classes.
  • TCE Improvements:
    1. Further improvements to Ion mapping algorithm to handle edge cases in reverse mapping.
    2. IonList.txt file should not have charged neutral species. They are ignored.
    3. Improved error reporting for loading IPhaseMap.txt file. New option to edit file from edit configuration dialog.
    4. To manage warnings about Acids and Bases being present in a product stream, user can select target breakdown reaction in $SDB species properties to control if a species is seen as an Acid, Base or Amphoteric.
    5. Only display TCE Density value tags (and SolidsConc) if these are calculated by the TCE.
    6. Corrected tag names and column display headings for solid/liquid/gas phase ActivityCoeff / Activity / Fugacity / SatIdx /etc for the different TCE prod streams. Values are now correctly saved and recovered at project load. Any reports/controllers using these tags may need updating.
    7. Fixed inconsistent stream tags QRxnUnmapped and QUnmapped in all TCE models.
    8. Various improvements in displays and options for SideCalc, including use of optional reverse mapping.
    9. For ChemApp updated direct reporting of Feed and Prod Enthalpy and Heatflow.
    10. For PHREEQC allow user to set maximum number of iterations and fix of crash in loading of specific database files.
    11. For OLI various improvements in display of property results and apparent species.
    12. User can select Phases allowed for Mapping for Forward and Reverse mapping separately.

Build 31866

Released 26 October 2022
  • Fixes for bugs introduced in previous Builds:
    1. Build 31157 - Show the option "IndividualPhase" for tag "EleBasis" on EC tab page to report concentrations, etc of elements by IndividualPhase - drop down option was mistakenly hidden.
    2. Build 31602 - Fix PGM bug where on editing and/or reload of the PGM, the contents of all pgm strings were discarded.
    3. Build 31388 - Fix error for Command Scripts or COM Automation stopping on SaveProject command (i.e. not completing the command and returning control).
    4. Build 30874 - Fix for graphics symbol using NURB splines (eg forklift) that caused dxf files to expand in size with each save (and eventually crash SysCAD).
  • License administration changes:
    1. Renamed license add-on option "SMDK Runtime" to "Integrated Libraries" add-on.
    2. Combined previously named OLI add-on, PHREEQC add-on, AQSol add-on and ChemApp add-on to a single combined add-on called "TCE add-on". Any existing license using these old add-ons will automatically include "TCE add-on" providing all TCE options.
  • Second generation of OLI integration libraries (now as part of TCE) are now included with standard SysCAD installation - see OLI Overview. Separate download and Beta label has been removed.
  • Example projects:
    1. New example project using Python script for multi-variable optimisation of ChemApp Nickel Laterite Smelter.
  • The list of all PID controls on Controls is now ordered alphabetically.
  • The list of all PIDs is now automatically updated on existing Controls Window.
  • For SplitFlows in Tank/Tie added new option "Last" for "Priority". Useful to mark a pipe as always last (doesn't change with adding/removing pipes.)
  • Significant rework of Dynamic mode Steady State Monitor (SSM) and Steady State Finder (SSF) functions. SSM is ideal for analysis of changes in flows and contents in a dynamic model, especially at startup.
  • When specifying isotherms in text files, added support for specifying conversion units in column headings.
  • PGM Improvements:
    1. Improved PGM and MP runtime error condition reporting at solver startup.
    2. Allow PGM setting of tags that change from results to parameters during a model run. Various improvements and fixes in error reporting for failing to write to tags from PGM or MP.
    3. Added Matrix Class class functions ColOffset, ColSum, ColAvg, ColMin, ColMax, ColMinIndex and ColMaxIndex.
  • Other fixes:
    1. Fix for error (or occasional crash) in activating/deactivating pages from Plant Model - Flowsheets Access window.
    2. Fix for controller "Not in evaluation sequence" error message after page activate/deactivate.
    3. Fix for Discard Sink that reported incorrect temperature (and enthalpy) for total QProd. Error was in accounting for first discard link in list.
    4. Fix for dynamic push/pull not achieving correct volume flow in a time step for edge case of use of Tie with no flows in "local network".
    5. Fix for error for Historian where for a new project it was not located in the correct folder leading to subsequent historian errors on project load.
    6. Fix in Drum Filter when using recycle option.
    7. For Excel reporting Dialog allow Excel filename with a quote (') in filename.
  • TCE Improvements:
    1. Improved TCE ion mapping logic and project load time for building ion mapping lists from Ion Definitions file.
    2. Improved tests for errors loading TCE libraries or licenses. When an error occurs, prevent project save. Save-as is allowed.
    3. Improved dialog for TCE Configuration. New option when editing cfg files to allow IonMapping for selected TCE ChemApp databases.
    4. For TCE tab page for TCE unit models, improved the Access window layout of tags. Selection of linked Chemistry Model is always first. TCE Reactor and TCE SideCalc now have a separate TCE page consistent with other TCE unit models.
    5. TCE RO model fixes and improvements.

Build 31623

Released 27 August 2022
  • Fixes for bugs introduced in recent Builds:
    1. Build 31602 - Fix for crash editing a cfg file when selecting the Calculations tab page.
    2. Build 31388 - Fix for crash in Tank or Tie with large number of connected pipes.
    3. Build 31602 - Fix for being unable to load ChemApp model even when license is valid.
  • For dynamic projects, introduced a warning message if invalid SplitFlows option "Demand Mass Flow" is selected in Ties.

Build 31602

Released 22 August 2022
  • Allow projects using TCE Demo (Light) versions to load and solve without requirement for TCE license add-on.
  • Improved error reporting for loading of rct files in Reaction Block (RB).
  • Updated functionality for Dynamic Steady State Monitor (SS Monitor).
  • For Dynamic Control Reset, fixed an issue in initialising values in range for PID and for Tank Level Control.
  • Improved error reporting for Feeder-Cross Page Connector when connecting/disconnecting pipes.
  • New PGM String Functions StrStrFrom(String1, String2, FromIndex). Similar to StrStr(String1, String2) but allows user to specify start position for the find.
  • Fixed crash in PGM load/save where PGM contained strings in excess of 1000 characters.
  • Fix for Tie/Tank SplitFlows for edge case of separating out individual species to cause an automatic phase change at mass fraction, as can occur for H2SO4.
  • Updated version of ChemApp libraries included with SysCAD to ChemApp version 8.2.
  • Fixed errors for TCE models with VLE and Bypass - allow separate bypass for Feed and VLE Rxn.
  • Miscellaneous improvements in TCE error reporting and DLL load checks.
  • Minor improvements writing to temporary files, and moved some of these to the LogOutputs folder.
  • Miscellaneous improvements in ProBal solver to reduce memory use and provide some minor solve time efficiencies.

Build 31388

Released 2 August 2022
  • Fixes for bugs introduced in recent Builds:
    1. Fixed bug for incorrect Demand calculation through a Tie, Tank or Pipe with Makeup Block (MU). Bug was introduced in Build 31207.
    2. Fix error preventing use of ChemApp CFE species. Bug was introduced in Build 31218.
  • New option to prevent solver start if reaction (rct), general controller (pgm) or model procedure (mp) files failed to load or are missing. The user can turn this global option off in the individual unit models or in Solver Settings on first tab page. NOTE that as these new options are on by default, existing projects with these errors will not solve unless user fixes the error or turns the option off.
  • For SysCAD Marshal improved error reporting and feedback when loading the slots tag list. Improved support for optional fields. Includes fixes for crashes.
  • Allow MultiStep.StepCount used with solver MultiStep Action to be configured on first tab page of Plant Model. This setting is now saved and recovered with the project.
  • Added display of HeatFlow, Feed and Prod T for Discard Block (DB). Improved Discard Block calculation of outlet temperature due to heat of mixing.
  • For the Sugar Fugal model the BasketWash connection is now optional.
  • For the Filter Press, fixed edge case error for bad feed conditions that resulted in incorrect (invalid) outlet streams.
  • For dynamic Multi-Storage display of list of connected Feeds and Prods added Find and Access buttons for pipe tags.
  • Fix error for Save Project with extra dots in user specified project name being truncated.
  • Fix for bug in Dynamic where pipe capacity and Batch settings, for example at tank outlet, are not saved and recovered in a new model that hasn't been run before a save.
  • For Stream Material Flow (eg QFeed) and Content added new slurry based fraction tags SLf, SLvf, Slurry.Svf, Slurry.Lvf and MlSLf.
  • For Tank and Tie Split Flows (Split) and Split Thermal (SplitT) added tags for total feed MassFlow and Temperature shown at top of Split and SplitT tab pages.
  • Various Split Thermal (SplitT) improvements:
    1. Fixed bug for setting required mode, or settings getting lost when adding/removing connected streams.
    2. New option to set order to match the order of the outlet streams in the SplitFlows section.
    3. New error condition messages for case where target temperature is not achieved in a stream. Additional HeatCorrection result tag to show the HeatFlow variation that would be required to meet the temperature outlet targets.
    4. Improved display for outlet streams in Result field and display of massflow.
    5. Various improvements in efficiency of calculations.
    6. Option is now disabled and hidden when Heat Exchange is switched off.
  • Added new Engineering Conversions family "Specific Power Volume" (PwrV). Various additions to available conversions in a number of conversion families.
  • For the Access Window displays, ensure text lines are Italics (reverted back to original behaviour).
  • Improvements in Quick View copy to clipboard for tags without conversions.
  • Explorer Window improvements:
    1. Fixed bug where DirectLinks were inconsistently excluded from lists.
    2. Fix for selection count (numbers shown in brackets) based on filter string. Added selection count for UnitTypes.
    3. Added optional section "Flange Flows" which lists all flanges (the connection flange objects between pipes and models).
    4. Restore vertical scroll position when adding/deleting models in the flowsheets.
    5. Improved right click context menus.
  • Graphics Window improvements:
    1. Fix arrow keys for editing graphics that stopped working after project save and some other actions.
    2. Updated context menu for right click for graphics window.
    3. Fix freeze when pressing F11 in Access window for "Send to Annotation Table" when the Dialog is not open.
  • Expanded PGM ForEachClass macro function:
    1. Allow a ClassTypeList of class definition types as first parameter. List in {} eg ForEachClass({TankClass,ThickenerClass}, Exec())
    2. Allow a ClassList of class instances as first parameter. List in {}. They can be different class definition types as long as they all have a sub with the same name. eg ForEachClass({T1,T3,W.T,X}, Exec())
    3. Allow the Sub to have any number of parameters. String parameters not supported. eg ForEachClass(ThickenerClass, SetCalcsOn(true))
    4. New function ExcludeClass that can be used to mark a class instance for exclusion from ForEachClass function. Ideal to pair with ExcludeWatch to skip class at index 0 in an array. eg ExcludeClass T[0]
  • New PGM String Functions:
    1. string ConstStr(constant) returns the constant (including enum constant) as a string.
    2. string EnumStr(EnumDropList variable) to return as a string the current enum value of the supplied EnumDropList variable. Useful for display of enum mode, state, etc. eg StateDesc = EnumStr(FilterState)
  • New PGM Mathematical Functions:
    1. bit IsClose(Val1, Val2) and IsCloseTol(Val1, Val2, AbsTol, RelTol) that returns true or false if the values match within tolerance. Default tolerances are 1e-9. Useful for convergence loops, or any comparison within some tolerance.
    2. double IsCloseError(Val1, Val2) and IsCloseTolError(Val1, Val2, AbsTol, RelTol) return error value of comparison. A value less than 1 is considered "close".
  • TCE Improvements:
    1. Various Reverse Osmosis (RO) unit model improvements including new option for ion permeability, membrane interface and concentration polarization.
    2. ChemApp - allow use of newer versions of ChemApp DLL
    3. For TCE Unit models such as TCE Evaporator & TCE FlashTank, moved the TCE settings to separate tab page in Access window.

Build 31218

Released 12 July 2022
  • Fixes for bugs introduced in recent Build 31207:
    1. Fix for Explorer Window right click on page names not bringing up context menu.
    2. Fix for Makeup Block (MU) in dynamic mode not calculating any flows after a Reset action.
  • For PGM Particle Size Definition Class (PSD Class), added new functions ParticleCountFactor(), SmallestSize(Dist), GeomMeanArray(Dist, Array), TopSizeArray(Dist, Array).

Build 31207

Released 8 July 2022
  • Improved Explorer Window functionality for selecting current window on open, maintaining vertical scroll position while editing flowsheets and improved behaviour when using Explorer window to select windows.
  • Fixed error introduced in 30918 for Toolbar positioning. Added new menu command View|Toolbars as short cut for General Options Toolbars Dialog.
  • For Tank in dynamic mode with Level Control, implemented new options for specifying flow limits on a volume flow basis.
  • Fixed error in calculating combined makeup flows for some arrangements of multiple cascaded Makeup Sources and Makeup Blocks.
  • Fix for reporting mass balance error in dynamic after deleting a Makeup Block (MU).
  • Fix display error in Graphics where drawing was shifted after printing.

Build 31157

Released 29 June 2022
  • Graphics improvements:
    • IMPORTANT: Fix for error introduced in Build 30874 where saved dxf files progressively grow in size eventually leading to a crash at project load. With fix, the saved dxf file is returned to correct size at next save.
    • Fixed error in printing, where all flowsheet pages are now correctly in black & white, in the past some pages "randomly" were in colour.
    • Fixed error in graphics symbol preview where some symbols were not shown in preview, these are now correctly displayed for Insert Unit, Change Symbol, etc.
  • Implemented new report format for Command Scripts ReportTags command used for generating csv file reports. The new formats "TagSelectTable" and "TagSelectList" are described in Setting and Reporting Tags from text files. TagSelectTable is text file equivalent of Excel TagSelect report.
  • For single component VLE species, allow user to set maximum amount of species flashed and the minimum amount retained as liquid. These are set on the Plant Model - Species tab page. These limits are applied in VLE in some unit models such as the Evaporator. When the model is operating at a limit a warning condition is given.
  • Fix for Conveyor Belt outlet massflow error for first time step under certain operating conditions; and fix Preset not emptying conveyor contents for option PresetClear.
  • For Crusher2 Whiten Method implemented some improvements in display of results for clarity.
  • For Crusher2 Test Data Method added new option to allow size increase ("agglomeration") as an alternative to the existing size reduction ("breakage") functionality.
  • Fix for Gibbs FEM when using ionic species.
  • TCE Updates:
    • Solver efficiency improvement for ChemApp with use of previous results and when excluding species.
    • For aqueous TCE, implemented a new warning at reverse mapping step testing if both aqueous acid species and aqueous base species are present in the SysCAD solution.
    • New display of total solids yield, useful for overall display of nett precipitation or dissolution.
    • For TCE Side Calc implemented option for user to set frequency of iterations for calculation.
    • Clearer reporting, displays and tags for forward and reverse mapping.
    • TCE Reverse Osmosis Model improvements. New heat balance options. Enhancements may result in slight changes to existing models.

Build 30918

Released 18 May 2022
  • Fix bug introduced in recent Build 30874 for occasional crash when opening Access window for a model using VLE.
  • Improved handling of TCE error case where after a call to TCE equilibrium solve the reverse mapping of ions to SysCAD species fails.
  • Improved energy balance accuracy in CCD and Classifier when there is a heat of dilution effect (results in small change in outlet stream temperatures).
  • Fix a save and load error for some user parameters for Sugar Fugal.
  • Improvements for dynamic Waveform Controller, including new option for B-Spline interpolation of data points, and descending option for SawTooth signal.
  • Implemented functionality in dynamic simulation projects for user selection of time (including date) at project load. New option can be set on $Solver Dynamic tab page. This can be set to last time in historian (current behaviour) or to time at last project save.
  • Extended Plant Model - Flowsheets to display count of different model groups on each flowsheet. Also displays a count of graphics symbols for the models which can also be useful to show that there are multiple symbols for a model on a page.
  • Full install includes new Uranium Solvent Extraction demo project using PHREEQC Add-On.

Build 30874

Released 11 May 2022
  • For Solvent Extraction Unit (Mixer/Settler) the PreMixEntrained option is now used for None Method as well as Isotherm Method. Improved display of results with additional tags and clearer Access window text. When using PreMixEntrained and NOT using the Isotherm Method, this will change the result of OARatio reported.
  • For dynamic projects, four new WaveformType options for Waveform Controller to allow user to specify a sequence of values that are then repeated every time Period. The output value will be calculated from the points (or averages) using a Periodic Spline or Linear interpolation. Ideal to generate smooth data for a repeated period (eg annual temperatures). The Averaging Periodic Spline method will conserve "area under the graph" (totaliser of outputs). This model provides a useful alternative to Profile Controller configured in WrapAround mode.
  • Improved display results for Multi-component VLE to include BubblePt and DewPt. For MVLE option "Multi/Ideal K's" exclude components that don't have a VapourP equation defined.
  • For VLE added a display for status of any Inerts (Non Condensables and/or NonVolatiles) that are present for VLE calculation.
  • For TCE added new display of Reverse Mapping Summary on the TCEResults tab page. Useful to compare the reported TCE stream Enthalpy against the SysCAD Stream Enthalpy immediately after reverse mapping.
  • Improved data entry and displays for TCE Feeder and TCE DirectCalc. Fix bug with display of SatIndex for PurePhases in ChemApp.
  • For TCE ModelCfg expanded global options for elemental convergence tolerance, and for PHREEQC allow user to set the Tolerance to be used in call to PHREEQC calculations.
  • New Graphics Symbol Management Commands menu command "List And Highlight Tear and DirectLink Symbols" that on a graphics page can be used to show all Tear and DirectLink models automatically created.
  • Fix for crash in graphics for loading (importing) a dxf drawing or symbol that contains NURB (Non-Uniform Rational B-spline) curve elements in symbols. These are now supported in SysCAD Graphics.
  • For PGM StrArray Class and Array Class added function AppendItem(Item) which will increase the length of the array by one by adding the supplied data.

Build 30807

Released 27 April 2022
  • Fixed error in implementation of SumElemIPhase function in Build 139 used in custom "User Property Calculations" or "Species Calculations" in Calculation Configuration. The implementation of SumElemIPhase caused some local memory corruption causing incorrect results for the function and in same cases a crash in SysCAD. IMPORTANT NOTE: Projects using SumElemIPhase in User Property Expressions or Species Calculation Expressions may produce different reported results, and if used as control measurements different results for model solve.
  • Fix for Precipitation3 using PSD method where outlet stream has PSD Create or Modify action. As this may impact model behaviour, a checkbox AcknowledgePSDOutletChange will appear in affected units, and will need to be checked before the model can run. Model results will need to be reviewed and the model may need to be retuned.
  • Fix for Precipitation3 new Agglom.UseMidSize option (introduced in Build 139.30599) where mid size was incorrectly applied in old project upgrade.
  • Fix for Merge Project where in some cases the flowsheet (and trend) document windows were not correctly merged.
  • Fix for mass balance error in Condensing Shell & Tube Heat Exchanger for the very specific case of stand-alone condensing mode, with vent connected and species in shell feed that are not water/steam. Non H2O species were discarded.
  • Added options to show outlet streams for Shell and Tube Heat Exchanger 2, Simple Heat Exchanger, Simple Heater and Steam Turbine.
  • Improved condition warning messages for Simple Heater when Duty is not met due to Critical temperature for water. Fix for save & recover of all results.
  • Implemented results display for Multi-component VLE. Previously (invalid) results for a single component system were displayed even when multi-component VLE is used.
  • Display IdealK value on SDB - Vapours tab page for vapour phase species with Vapour Pressure equations.
  • Some improvements in Graphics Symbols management:
    1. Fix for error in buttons/menus shown for Activating or Deactivating graphics pages (from Explorer window context menu or Plant Model - Flowsheets) when there are multiple symbols on the flowsheet for a model.
    2. New Graphics Symbol Management Commands menu command "List And Highlight Multiple Symbols" that can be used to show all tags (units/pipes/tears/etc) that have multiple graphics symbols on a graphics page.
    3. Fix for bug where multiple symbols for tears are created (can eventually lead to a crash). Duplicates are removed from flowsheet at project load.
  • TCE improvements:
    1. New TCE Feeder unit model. Allow data entry of TCE species directly. After TCE equilibrium calculation, reverse mapping is completed to form SysCAD stream which becomes the outlet product stream. Useful new model to specify a feed in terms of TCE composition.
    2. Added option to TCE DirectCalc to optionally complete reverse mapping and display the resulting SysCAD stream.
    3. Significant solve time speedup in ChemApp projects by eliminating unnecessary extra function calls.
    4. For data entry of TCE input species composition in TCE DirectCalc and TCE Feeder added functionality to report charge balance (and give condition warning when not balanced). Added option for user to optionally specify balance TCE species which adjusted to try maintain neutral mixture.
    5. Improved display of Feed and Product massflow summaries in TCE Results tab page.
    6. Added display comments for unmapped species when entering data for TCE Bypass and TCE Feeder.
    7. Rework and expansion of displayed statistics for TCE Interface Engines, as shown on TCE Engines tab page for TCE ModelCfg.
    8. Improved save and recover of some TCE block energy balance tag values.
  • PGM improvements:
    1. New Mathematical Functions RoundTo(Value, Decimals) and Cbrt(Value).
    2. New Predefined Constants MinLong and MaxLong.
    3. New StrArray Class functions: Copy(StrArray), Append(StrArray), Reverse(), Sort(CaseSensative).
    4. New Array Class functions: Append(Array), Reverse(), Norm().
    5. For StrArray Class and Array Class implemented SetSize(len) as alternate to SetLen(len) and Size() as alternate to GetLen().
    6. New Matrix Class functions: Norm(), SwopRows(row1, row2), SwopCols(col1, col2), SortByRefRow(row, increasing), SortByRefCol(col, increasing).
    7. For Matrix Class implemented Rows() as alternate to GetRowCount() and Cols() as alternate to GetColCount().
    8. New Matrix Class row functions (Array functions on a row): RowSum(row), RowAvg(row), RowMin(row), RowMax(row), RowMinIndex(row), RowMaxIndex(row), RowNorm(row), RowReverse(row), RowSetAll(row, Value), RowScale(row, Value), RowOffset(row, Value), RowSort(row, Ascending), RowIsSorted(row, Ascending)
    9. New Matrix Class column functions: ColSetAll(col, Value), ColScale(col, Value)

Build 30670

Released 5 April 2022
  • For Makeup Source added new option Link to MakeupSrc in list for Operation to connect with a Direct Link to another Makeup Source. This is particularly useful for cascaded Makeup Sources. For example defining a single water source in a MakeupSrc, then each area has a local MakeupSrc linked back to the single MakeupSrc. The area Makeup Sources provide reporting for area water use and single MakeupSrc provides overall water use.
  • For TCE product stream, display actual and effective saturation index for solids (actual = Q/K; effective = Q/(K*factor)).
  • Fix for Access Window not always displaying the correct context menu for right mouse click on a tag.

Build 30613

Released 23 March 2022

Build 30599

Released 21 March 2022
  • For TCE projects, implemented stricter checking for inclusion of ions in ionlist.txt (Ion Definitions) to ensure more robust and correct forward and reverse mapping. Solver will not start if any ions are not mapped. For existing AQSol and PHREEQC projects it may be necessary to edit the ionlist.txt file and add the missing ions.
  • Improvements in TCE SideCalc, including new option to select species for adjustment for charge Balance.
  • Implemented new dynamic mode PHREEQC Pond Model, currently in Bata.
  • For user defined PGM Class implemented functions ClassName() that returns class name ("type") as a string; and ClassTag() that returns the class instance variable name (tag) as a string. The ClassTag function is particularity useful when class instance name matches model tag in flowsheet, so that an Init function or similar can use this instead of having to enter this separately.
  • Implemented new PGM Mathematical Functions Floor and Ceil for use alongside Trunc and Round.
  • Implemented new functions for PGM Array Class CircConv(Array) and CopyCircConv(Array) for Circular (Cyclic) Convolution function.
  • New Agglom.UseMidSize option to choose between PSD interval mid size or top size for agglomeration kernel calculations.
  • Improved TagList Window context menu options for inserting rows at end. Improved error reporting of unknown tags.
  • Access Window improvements:
    1. LHS Margin is narrower and does not change with More/Less button.
    2. Display help descriptions in flyby tooltips when mouse is over Selection Buttons at top of page.
    3. Fix issues with selected fields when changing tabs or using resize button.

Build 30498

Released 4 March 2022
  • Implemented new WashCalc calculation option in Filter Press to calculate wash water feed required to meet a selected target wash ratio. With this new feature controllers for wash water addition can be removed or simplified. Wash Water feed can optionally be connected to General Demand to automatically control the wash addition.
  • New option for user to select rule for positioning of dialog (or floating window) on Displays when the dialog box or window is opened. This is especially useful when working with multiple Displays (screens). For example user can select to keep the Explorer window on the same display as the SysCAD application, or within the SysCAD Application window. The options for this can be set in General Options on the General tab page.
  • Fixed error when inserting a new pipe and setting for "Simplify" was inconsistently (randomly) selected. Error was introduced in Build 30270.
  • Fix error in Tie/Tank using Split Flows (Split) for specific case of selecting (a) Operation as "General", and for an outlet pipe (b) QmMode as "VolumeFlow" and (c) MkMode as "Composition". The calculated output flow is now calculated correctly for the targeted composition.
  • Allow PGM ForEachClass to be used within functions/sub (but not functions/sub within a class definition).

Build 30448

Released 25 February 2022
  • Fix for crash and error in handling a ChemApp cst file containing CFE species.
  • New Access Window Selection Button alongside "Adjust Access Window Height" button to position Access.1 window to RHS of graphics so that their is no overlap with graphics windows. In some cases this may move graphics windows to the left. This is a useful windows layout feature for navigating flowsheets and viewing model values in Access window displayed alongside the graphics.
  • Fix for reported values in Discard Sink under "Results: Total Flow Conditions" on Total tab page, it was showing values for the first discard link only.
  • Fix for crash in TagList Window when right clicking on tag to bring up context menu and the tag is referenced by controllers.

Build 30427

Released 22 February 2022
  • IMPORTANT fix for Build 30316 and 30376: Fix for tears not being listed in count of convergence criteria shown in Solver Convergence. This may on occasion prevent the solver from stopping (iterations continue after convergence).
  • New option for managing graphics display for Tears. The graphics symbol for the Tear can be incorrectly located based on previous actions in redrawing and moving links. New graphics Display menu option "Graphic|Display|Update Tear Graphics" will recreate all Tear graphics on a flowsheet. This is also available under the Display button in a Group Operations dialog to apply to multiple flowsheets.
  • Correctly use the "Link Text Size" defined in General Options Drawing when creating Makeup or Discard link graphics.

Build 30376

Released 15 February 2022
  • Updated new Volume based Wash Efficiency options in Filter Press introduced in Build 30316.
  • For TCE Reactors added FeedT OpMode to perform calculations at SysCAD feed stream temperature.
  • Fix failure when editing cfg file for TCE Configuration Options.
  • Further reductions in memory use for SysCAD projects.
  • Fix error in Feeder with Mode set to NVolumeFlow with a Fetch. The targeted NQv was not achieved, or only achieved in subsequent iterations.
  • Allow Precipitation3 to be a network isolator in Dynamic models.

Build 30316

Released 4 February 2022
  • Implemented additional Wash Efficiency (WashEffMethod) options in Filter Press for Volume based calculations. Expand results display to include additional volume based efficiency results.
  • Fix for crash in Precipitator3 Dynamic Mode edge case where no solids.
  • Reduced memory use for SysCAD projects.

Build 30270

Released 1 February 2022
  • Reduced memory use for SysCAD projects (especially for Steady State).
  • For PlantModel Environment improved DryAir functionality to include option to always use composition based on CIPM-2007 Standard Air definition.
  • For all Thermodynamic Calculation Engines (TCE) the ModelCfg includes a new section listing all Unit models using this TCE ModelCfg. Ideal to follow usage of the Chemistry Model Configuration in the project flowsheets.
  • For all Thermodynamic Calculation Engines (TCE) improved functionality for the selection in TCE unit models (ChemModel.UnitTag) of Model Configuration used to allow a blank selection. Provides significantly easier management of changing Chemistry Model databases for use in different unit models.
  • For ChemApp TCE, improved upgrading of Build 138 projects for ModelCfg cst databases used. Fixed issues for use of CFE token species in CST files.
  • For AQSol TCE, allow entry of larger SaturationIndex values to block formation of selected solids. Improved Cfg editor to automatically mark Demo version when selecting AQSol001.
  • For Species Use (SpUse section) on Species tab page of PlantModel, added a button to report list of all species referenced in all reaction (RCT) files. List is built at project load.
  • Miscellaneous Explorer Window improvements.
  • For Tear added Tear.ConvergeType tag and improved links to related tags. For Solver Setting - Tears fixed links to Tear tags.

Build 30140

Released 12 January 2022
  • SysCAD AQSol Add-On now included as part of standard installation. Existing users of AQSol in SysCAD no longer need to download and unzip this add-on separately.
  • Full install includes 3 new AQSol example projects.
  • New Reaction Editor (Version 1.4), with new options and improvements for balancing reactions.
  • Makeup Source has new option Operation similar to the Feeder Operation option. This significantly improves flexibility of how the MakeupSource composition, T & P can be defined.
  • Improvements in Find Results dialog - Sort by column now works correctly, value in first row uses correct conversion units.
  • In FEM add displays of individual Heats Of Reactions (HoR), as well as overall change in [email protected] (which is equal to overall HOR when no EHX or temperature override).
  • Additional displays on SDB - Elements tab page for list of elements used, and on SDB - Components additional displays when multiple components with the same elemental definition.
  • For PGM Species Database Class added functions for accessing Elements used in the project: FindElem(Str ElemName), ElemCount(), ElemName(long ElemIndex), ElemAW(long ElemIndex). In addition added function ElemI("ElementName").
  • For PGM implemented new function ForEachClass to efficiently loop through all instances of a class type calling a specified Subroutine.
  • For Precipitation3 implemented new "EnthalpyCalcs" option that gives finer control for energy balance calculations for Heats of Reaction for the different precipitation reactions. Functionality is dependent on data entry of H25 and Cp equations for participating species.
  • Implemented some improvements in importing species from HSC for illegal characters in species names.
  • For PlantModel Environment added option to define DryAir composition in addition to Air. DryAir can be specified on mass or mole fraction basis and will always have zero for H2O(g).
  • Added new Feeder Operation option "PlantModel DryAir" that uses global DryAir composition specified in Plant Model - Environment.
  • Fix for bug when using RB Extent method "Final SpModel Property : Standard.BPE".
  • Improved logic for Tank HX Mode "Simple" selections. Improved error reporting and edge case tests. When water is present, limit maximum outlet temperature to H2O critical temperature. When used with "Other.CalcFlow" the general demand logic has been improved to demand zero flow when inoperative.
  • Numerous Thermodynamic Calculation Engines (TCE) improvements. Includes: improved routine for loading data; improved handling & reporting of edge cases; reworked TCE mixing (calculating total feed enthalpy); other miscellaneous improvements & fixes.

Build 29945

Released 29 November 2021

Build 29907

Released 23 November 2021
  • Improve calculation for pass through Demand through a Tie/Tank/Pipe/etc that includes Discard Block (DB).
  • Updated editing of TCE Configuration Options. Settings for AQSol have changed. Existing AQSol projects will require review of TCE settings in cfg.
  • Fix in dynamic mode Feeder where Batch tags were hidden.
  • For graphics Insert Symbol and Insert Unit a new Search box has been added to help find the desired graphics symbol. This is particularly useful with Group set to *All*.
  • Improved options for Arrow Style and Scaling when editing graphics using Reroute Link, Redraw Link, etc.
  • Display the correct status colour in graphics for Feeder configured with Operation "Link to MakeupSrc".
  • Fix for project close crash if project contained a reaction rct file that failed to load. Improved warning condition message for Reaction Block (RB) rct file load errors.
  • Fix for crash in Excel Reports, reporting some tags that are dropdown lists.
  • Fix for crash running SysCAD Command Scripts that start with the command WaitTillStop.
  • Miscellaneous improvements in computational efficiency and memory use in stream mixing and property calculations.

Build 29722

Released 27 October 2021
  • Fix for error introduced in Build 29706 for for Dynamic Tank with Vent connection that produced a mass balance error for vent outlet.
  • Improved implementation of Entropy function for water below 0°C.

Build 29706

Released 22 October 2021
  • Allow tighter tolerances in RB Extent and Convergence calculations. Default tolerances are tighter (for existing projects you will need to edit each RB to change existing values). Using tighter tolerances allows Concentration reaction extents to achieve results closer to the target by a few more significant figures by solving a few extra iterations to meet the tighter tolerance.
  • Improved calculations for RB ShowSpRequirements option implemented. In some cases, the displayed amounts of species flow required to exactly meet the reaction extent were incorrect (and are fixed in this update). This improves robustness in use of feed forward controllers using these tags to adjusting reagent additions.
  • Improved checking and error reporting for selection of water species in Gibbs FEM when any aqueous species are selected.
  • Thermodynamic Calculation Engines (TCE) improvements - SideCalc pressure selection; Copy&Paste in Direct Calc; TCE Databases used now included in project file list and backup zip files; miscellaneous improvements in Access window result displays.
  • Updated cfg editor for Thermodynamic Calculation Engines Configuration settings. Can now browse for the folder where the TCE databases are located and select the databases you want to make available in the project. No longer need to edit these in the cfg file manually. Database list is auto-upgraded, but in some cases you may need to edit the cfg file and check the selections on the TCEs tab page.
  • Implemented new "Isentropic Full" constant Entropy method for Compressor.
  • For large projects: (1) fix save error for large number of graphics pages; and (2) fix error for selecting cross page connection "ConnectTo" for a large number of sinks.
  • Fix error for reported enthalpy values for species using Shomate_Cp.
  • Implemented new PGM function IIfStr for returning String data type, similar to inline function IIf returning a numerical result.
  • Fix error on first solve when converting SteadyState ProBal projects to Dynamic.
  • Dynamic mode Tank using Layered Mixing.Model now supports multiple inlets at multiple heights adding material to the layer located at the inlet stream connection height.

Build 29552

Released 22 September 2021
  • Improved user experience when working with multiple projects and cfg files. When editing or selecting a project Configuration (cfg) file there is a new "Last Accessed" column showing when a cfg file was last used (ie used by a project load, or cfg file edited). Select any column header to sort by the column.
  • Improve project load and save to support a large number of RB reactions (and associated reaction species).
  • Significantly improve implementation (speed) of setting bulk tags using COM Automation API function TagValues.SetValues(...).
  • Fix for Project Save-As / Save-Version where selected unused (un-referenced) files were not copied across to the new project folder.

Build 29506

Released 14 September 2021
  • All Historian files are now all located in a sub-folder of the project. On first project save in this Build, the existing historian files are moved to the new "Historian" folder resulting in a more organised project folder.
  • Gibbs FEM "Assign Phases" action button updated to apply to all species rather than selected species only.
  • Improvements for condensing mode with non-condensibles for Shell and Tube Heat Exchanger 2. For two of the CondensingMethod options ("Demand (UA)" and "Demand (UA & TubeT)") when non-condensibles are present in Shell feed, the model was evaluated at total pressure ([email protected]) instead of at partial pressure ([email protected]). This causes a difference (proportional to non-condensibles fraction) in shell operating temperature and heat transfer. For backward compatibility an option "IgnoreNoncondensables" is provided. A warning message is given when non-condensibles are present and the old method (using total P) is used to alert the user to this condition. In these cases the recommended fix is to switch off "IgnoreNoncondensables" and resolve/retune the model.
  • Fix for TagSelect reports not reporting correct DirectLink tags in results.
  • Improvements in PHREEQC: output calculated gas fugacity, improvements in managing gas pure phase solubility calculations. Note that SysCAD-PHREEQC interface only supports pure phase gas solubility at this time. Thus, for any gas solubility to be calculated correctly, it must be the only gas present in the vapour phase. For insoluble gases, such as N2, the error is small if it is in a vapour mixture. However, the error is large for reactive and/or soluble gases, such as O2 and NH3, when in a vapour mixture.

Build 29465

Released 6 September 2021
  • For graphics Redraw Link and Reroute Link improved logic and user interface when selecting a "non standard" (ie "constructed") pipe graphics.
  • New option in pipes to block demand transfer when the required demand flow (Qm_Demand.Dst) is small (less than PlantModel.DemandThresholdQm).

Build 29437

Released 1 September 2021
  • Implemented new user option to zip a project. This is available in main Project menu - Zip Project or from 'Zip Project' button in project window (on Files tab page).
  • For Separation Models (Thickeners, Filters, SolidsRecovery, etc), added optional outlet stream displays for QOF, QUF, QCake, QTailings, etc.
  • If underlying data type of a drop list is a string (eg XPG_001.ConnectTo P_001.EHX.Model), then do not show RHS integer values in displayed dropdown list. The purpose is to make it clearer that tag can't be set by integer value from PGM, Excel, etc. In addition, the tooltip window shown when mouse hovers over the drop list field includes 'Underlying tag is a String type' in description.
  • In Access window, when using context menu option "Copy Tag for PGM" for any string tag (including dropdown list with underlying string) the clipboard value is now [Str "fulltag"].

Build 29390

Released 27 August 2021
  • Implemented locks to prevent multiple users (or SysCAD instances) of the same project (i.e. same local or network folder location) being saved simultaneously and corrupting the project data. Also delay (or prevent) project load if another user is busy saving.
  • For Thermodynamic Calculation Engine (TCE) Models, added new options for selecting actions to be followed when encountering unmapped species for forward- and reverse-mapping.
  • Precipitation3 Agglomeration - include power term for solids volume fraction in Agglom kernel. Added fine tuning factor.

Build 29370

Released 25 August 2021

Build 29334 (BETA)

Released 19 August 2021
  • Improved support and error handling for very long full path and filenames, especially for errors caused by loss of graphics flowsheet pages.
  • Improved Alumina Precipitator3 Agglomeration options including new Kernel Builder options.
  • Fix for Composition Fetch where the entered tag was from a Discard Sink.
  • Correctly handle energy balance (exit temperatures) in Reverse Osmosis (RO) Unit where heat of dilution occurs.
  • EHX methods in pipes in dynamic mode that specify pipe diameter and length, now correctly use these values (they were ignored).
  • Some improvements in Copy & Paste of flowsheet graphics and data.
  • During project load, added an extra user feedback message on Species Database tab of Message Window for when user has selected "Ignore Data" for a species property in the cfg file.
  • Miscellaneous Beta version bug and feature fixes.

Build 29199 (BETA)

Released 28 July 2021
  • Bug fix for Change Unit.
  • New optional Vent outlet connection for FEM Reactor.
  • Improved organisation of Access window tags and options in TCE Models Configuration for species mapping.
  • Limit pH output to 7.0 for Acidity (pH) calculation for very low OH- or H+ concentrations.

Build 29102 (BETA)

Released 15 July 2021
  • Log and debug files now go to project subfolder \LogOutputs. If opening multiple copies of same project, additional folders are created to avoid conflicts.
  • Improved handling for very large (>300) number of graphics/trend pages.
  • Additional Gibbs Free Energy Minimisation (FEM) warnings when S25 for species is not specified.
  • Improved TCE loading, multithreading, Ion Mapping and error handling.
  • IonList.txt file used in TCE projects must now be located in the CfgFiles folder. If file is missing, the file located in BaseFiles folder is copied to CfgFiles folder. For TCE projects IonList.txt is now included in backup zip file with project save and displayed in list of files in Project window.
  • New option BulkSetTagsValidation in General Controller (default ON) which affects how all tags are set in referenced models at the end of PGM execution. If new option is ON then validation of model tags data occurs after setting all the values. If this option is OFF (original behaviour) then after each tag value is set, the data is immediately validated. The new option is more efficient and fixes error for setting interdependent tags (e.g. species composition fractions in a feeder).
  • For new low temperature (below 0C) Cp and Density implement options on PlantModel.Species, implement logic to initialise correctly based on original project temperature range.
  • Updates for new Material Body model.
  • Simplified Dynamic Solver Setup Dialog and related tags in $Solver Method tab page simplified options. Removed StepsPerUpdate option. Added user specified min and max dynamic step sizes.
  • When using a species model other than Standard in a Makeup Source, then the Makeup Block now selects Makeup Source SpModel if the feed to the MakeupBlock is using Standard SpModel.

Build 28898 (BETA)

Released 10 June 2021