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 Builds, 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. It is recommended that a full install, rather than an update, is performed from time to time to ensure that the latest supporting files, utilities and examples are included.

SysCAD 9.3 Build 139 Revision History

Build 35544

Released 31 May 2024
  • NEW: Announcing release of Met Dynamics add-on:
    • A mature and significant new library of mineral processing unit models from Met Dynamics is now available in SysCAD.
    • Library includes common and advanced steady state and dynamic unit models with multiple calculation methods for crushers, mills, HPGR, classifiers, DMS, gravity concentrators, hydrocyclones, screens and flotation cells.
    • Requires SysCAD Size Distribution and Integrated Libraries add-ons as well as a license from Met Dynamics.
    • Met Dynamics SysCAD add-on and example projects are included with the full SysCAD install.
  • Fix for individual connection Qm reference tag values not always updating in Makeup Source.
  • Fix for Tank with Demand and Discard Block incorrectly applying Discard flow (results in mass balance error).
  • In dynamic mode for Tank with Heat Exchanger (HX), fix an error in LMTD method when time step is not equal to 1 second.
  • Fix for EB sub-model that should always be last (eg FlashTank.VLE) not being last based on some user selections of evaluation sequence.
  • Corrected some conversion values for RatioLQm Conversions family.
  • Improved graphics dxf Symbol Management Commands for default symbols for models with a '*' in UnitType name.
  • PGM Improvements:
    • Added functionality to exclude some variables in PGM Class from being displayed in ClassGrid. They are displayed in normal list outside of grid display. Use {eg} or {excludegrid} when declaring variables in class. Also any class variable added using Watch command is excluded from grid display.
    • Added the subroutine SetFromStr(Str s, Str Separ) to both the Array Class and StrArray Class. This allows for the unpacking of a string into an array as real numbers, or into a StrArray as strings. Additionally, incorporate the function Str CopyToStr(Str Separ) into both the Array and StrArray classes. This enables the conversion of an Array or StrArray’s contents into a single string.
  • TCE Improvements:
    • Fix energy balance bug when bypass in place. May affect PHREEQC results when using fixed enthalpy mode and/or using the heat flow calculated by a PHREEQC unit operation.
    • Improved logic for checking use of TCE license requirements based on user settings in TCE Unit Models. Corrected display of AddOnsUsedList on Info tab page for all TCE unit models.
    • Various display improvements for Scaling tab page.
    • Fix for accuracy for solve for phase boundaries.
    • Fix for some tags not working with DataTransfer or Copy and Paste.
  • Example projects:

Build 35250

Released 23 April 2024
  • Fix for edge case incorrect reaction Final extent calculation for some Reaction Block - Extents with a Sink.
    Note: this can affect the result for the final extent tag but doesn't change the amount reacted (unless a controller is using the final extent tag as its measured value).
  • Fix for General Controller PGM crash when toggling RuntimeDebug mode on/off.
  • Fix for inconsistent calculations in Tank and Tie Demand when using massflow Split Flows (Split) options.
  • Fix for crash for Conveyor Belt with length of zero when using Weightometers or Loading displays.
  • Fix for managing project document list when opening a document (eg graphics page) from external folder from project folder. Fixes document list becoming corrupt with duplicate named flowsheets.
  • Fix for occasional crash in Solids Recovery Unit when changing RecoveryMethod to "Size Recovery".
  • Fix for GibbsEx_Cp (and GibbsChemApp_Cp) equation when optional polynomial term (Pi) was incorrectly treated as zero when it's absolute value was small (less than 1e-7).
  • Improved tag displays related to setting count of External Heat Exchangers for Evaporator and Potash Evaporator.
  • New Reboiler/Condenser Heat Exchanger Unit model now available in general release (in HeatExchange.DLL).
  • Added ShowQWashings option to Filter Press and Belt Filter, available when washings outlet is connected.
  • Improved display for the crosshairs for 'Find in Graphics' which was nearly invisible.
  • For flowsheet Area management, when AllowUnassigned is not selected (Plant Model - Flowsheets tab page), then create the first Area if none and force any new graphics pages to belong to first Area.
  • Added option to include Min, Max and Description in historian trend query report.
  • Added new Conversions Families:
    • Current Density: IdA (A/m^2)
    • Electric Charge: Charge (C)
    • Electric Flux: ElecFlux (Vm)
    • Electric Surface Charge: SurfCharge (C/m^2)
  • TCE Improvements:
    • OLI: Added result display of WaterActivity (=aqueous mole fraction of water * its activity coefficient)
    • ChemApp: Fix a database load failure for some edge case ChemApp cst or dat files.
    • AQSol: Improved functionality in AQSol when feed stream includes steam or vapours. There may be changes in results in some cases, depending on how the AQSol interface is being used.
    • Handle edge case for reverse mapping in iterative solver when a species in a specific phase is not mapped.
  • Example projects:

Build 35102

Released 19 March 2024
  • Fixes for bugs introduced in previous Builds:
    • Build 34985: Important usability fix for building flowsheets where dropdown list of available unit models is not updated. This affected three areas of functionality (a) ConnectTo tag in Feeder used for connecting cross page connectors, (b) MakeupSrc tag in Makeup Block for selecting Makeup Source, (c) DiscardSnk tag in Discard Block for selecting Discard Sink.
    • Build 34985: Fix for graphics symbol preview for Insert Unit when the selected scale is not 100% (the preview was incorrectly scaled and drawn over the contents of the dialog box).
  • Fix for saving, loading and use of global user display setting for Symbolic Paths in Project Window.
  • Project load now fails with error message when selecting a model DLL with required species and the species are not selected for use in the project in the configuration file.
  • Fix for a crash when loading a project after removing (or renaming) a species from the configuration that is referenced in a Makeup Block (MU) or Discard Block (DB).
  • For Set Tag Controller for specific case of using (a) MatchCnvFromTag, (b) Tag conversion family is "Temperature", (c) Calculation is "Ratio and Offset"; the Offset tag conversion is now "Temperature Change" (dT).
  • Fix for enthalpy change values used for phase change when adding H2O(s) (ice) using same H2O component as hardwired H2O(l) and H2O(g).
  • Minor Access Window display improvements. Remove incorrect trace marks left behind when changing selection of text. Added missing faint horizontal row guidelines between tags and data values for grid displays.
  • TCE Improvements:
    • If TCE equilibrium solve fails, retain previous property results rather than clear the results. This helps with smoother control actions (e.g. PID) for occasional failed equilibrium calculations.
    • For forward mapping, unmapped species (shown in QUnmapped, QRxnUnmapped) were not set to the correct temperature for this bypass, resulting in an energy balance error occurring when this bypass is mixed with the results. Other Bypass options functioned correctly.
      NOTE: Energy balance results may be different for cases of unmapped reaction species.
    • For Scaling results page, fix for tags not working in Excel reports, Trends, etc. with hide zeros.

Build 34985

Released 6 March 2024
  • WARNING: This build contains a bug with Makeup and Cross-Page Connector dropdown lists not updating. This will affect building/editing models (running existing models is safe). Recommendations:
    • Use a Different Build: If you intend to make model changes and wish to use the droplist to select connected tags, we recommend updating to a newer build.
    • Reopen Project Workaround: After the new unit operations have been added (Feeder/Sink, Makeup Source, Discard Block), to force the dropdown list update, save, close, and re-open the project.
    • Manual Entry Workaround: After the new unit operations have been added (Feeder/Sink, Makeup Source, Discard Block), manually type or paste in the name of the connector or makeup source tag. Manual entry will function correctly.
  • Fixes for bugs introduced in previous Builds:
  • Improved graphics symbol preview for Insert Unit and Insert Symbol.
  • TCE Improvements:
    • For OLI, PHREEQC and AQSol add new optional Scaling tab page to display SatIndex result values for solids (Scaling tendencies). For OLI, display extra tab page (if needed) of solids that have been excluded in OLI database file.
    • Implemented new OLI Solvent Extraction unit model.
    • Implemented support for OLI Liquid-2 phase (Liq2) for immiscible liquids (typically organics) used in various OLI reactors and unit models including OLI Solvent Extraction.
    • Fix for AQSol for some DLLs where a calculation fails when a floating point exception occurs.
    • Fix for crash when using OLI with some solid species excluded in the database (DBS) file.

Build 34893

Released 16 February 2024
  • Now support AQSol Version 3 DLLs with significantly accelerated solve times (especially for AQSol libraries with larger number of species).
  • New functionality for graphics for Insert Text and Change Text to allow user so select which dxf font is used. These are based in the dxf .shp files located in the Basefiles\Font folder. Allows use of various fonts, including fonts with various symbols.
  • Updated Audit tags and tables to include a display of Normalised Relative Error (NormRelError) in addition to the existing error tags. This provides clearer transparency for the Audit mass balance checks using Tolerance Testing calculations.
  • For Excel Reports Feedback worksheet, reorganised the 2 heading lines over 3 lines with the feedback report date on it's own line.
  • Model improvements for dynamic projects:
    • Added totaliser display tags in Feeder, Makeup Source and Discard Block.
    • For Simple Heater removed option for DemandConnection (only valid for ProBal).
    • Fixed bug in Layered Tank that had a Mass Balance error if the dynamic project required multiple iterations to solve a time step.
    • Fixed a crash on solve error when unit models did not have all the required pipes connected.
  • Fix for bug in Reaction Block (RB) individual reaction using a User Calc extent control method. The error was that the User Calc, calculated during RB convergence, may be performed using the incorrect temperature and/or composition.
    NOTE: This will affect reaction results where User Calc is used for extent control.
  • Fix for incorrect Conversions: MJ/L for H(V) and some (normally hidden) US units such as cal/lb for H(Ms); Ha/s and Ha/h for ThermDiff and some other cal based US units. May affect results if these units were used in controllers or reporting.
  • Fix errors in parsing OrderBy for multiple tags for TagSelect Text file reporting. Expanded TagSelect OrderBy terms used in Excel and Text reports to support alternate formats for Asc and Desc (Des, Descend and Ascend).
  • Fix error where SysCAD incorrectly exits when pressing the F9 key from the Access Window.
  • Fix for crash in Graphics Copy and Paste when pasting a Tie or Tank with two outlets using a SplitFlow operation with a Target Stream.
  • Various miscellaneous usability improvements: Some improvements in model condition warnings. Improved Access window displays for various models. Some dialog box display improvements. New popup warning dialog when closing Insert Unit or Insert Symbol with 2 or more objects added.
  • PGM Improvements:
    • Fixes for some miscellaneous edge case errors. (Too many display tags in a class; Checking for duplicate classes in ClassGrid; Loading some old project PGM state information.)
    • Fix for compile and runtime errors for PGM code referencing nested class within an array of classes. Code such as "x = Tanks[3].SomeClass.SomeFunc()" failed with a crash or wrong result, as did code such as "Tanks[3].SomeClass.abc = x"
    • New PGM load error messages if incomplete expressions (i.e. ending in an operator). Examples: "if (a or )" or "x = a + b + "
    • Allow PGM/MP files saved in "UTF-8 with BOM" format to load and work.
  • TCE Improvements:
    • Added tag to display expiry date of ChemApp cst files.
    • Fix for PHREEQC edge case where feed enthalpies did not always match those of the feed SysCAD streams due to mapping algorithm issues.
    • Fix for TCE Feeder where outlet composition may be cleared.
    • Fix in TCE Unit models (stream displays) when referenced TCE model cfg is changed, even if a model is selected that is not yet loaded.
    • Updated TCE Utilities for generating initial databases.

Build 34613

Released 11 January 2024
  • Fixes for bugs introduced in previous Builds:
    • Build 33457: Fix for solver startup crash where PGM is setting Makeup Block (MU) Model during startup.
  • Flash Train tag and error reporting improvements when flashtrain is at maximum limit of allowed pressure. This helps with resolving The maximum allowed flash pressure for each steam source (FlashTank, Evaporator, etc.) is shown in new tag FeedSatP. A new condition warning is given for the flashtrain and any unit models at the flash pressure limit.

Build 34461

Released 14 December 2023
  • Fixes for bugs introduced in previous Builds:
    • Build 33632: Fix for various user interface bugs in Controls Window (e.g. Context menu with incorrect options for selected tag).
  • Pipe recycle Tear improvements:
    • Fix bugs in save and recover of overrides of tolerance settings of individual variables in a Tear Block.
    • Improved save and recover of Tear state.
    • Fixed bug for use of Tol.Strategy overrides when selecting tolerance value to be used.
    • Added Access window display warnings (and red text for values) when overriding a tolerance value that would be ignored based on the Tol.Strategy.
  • For PID in ProBal, added display tag CvgError which is the Normalised Relative Error used for solver convergence criteria. New CvgError tag matches the reported Error in Solver Status and Convergence criteria. This new tag is also added to Controls page.
  • Fix for edge case where tag is not selected in Model Data Transfer dialog when using context menu option "Data Transfer" from Access window tag.
  • Size Distribution (PSD) improvements:
    • Expanded PlantModel Qualities to include display table of the full sieve series intervals.
    • Updated the Sz and DSz tab pages to display a description (in mm) of the size interval on RHS of each row in the table.
    • Updated displays of size data in unit models such as Screen2, Solids Recovery Unit, etc. to include a a description (in mm) of the size interval on RHS of each row in the table.
  • Fix for TCE save and recover of breakdown reaction extents and phase mapping. Database save errors occurred with multiple saves of a project.
  • Fixed bug in reporting of TCE phase deportment.
  • Example projects:

Build 34246

Released 15 November 2023
  • Fixes for bugs introduced in previous Builds:
    • Build 34068: Update for SysCAD Data Entry Style of numeric fields when clicking on whitespace on LHS of existing number and entering a new value.
  • Fix for display bug for Audit for PowerIn and PowerOut under the "Streams Audit Summary" heading which did not display in correct column.
  • Fix for edge case Reaction Block (RB) convergence error message when target for reaction extent solver is zero.
  • Updated messaging for Upgrade Compatibility Checks.
  • TCE Improvements:
    • Include new dynamic mode OLI Pond Model.
    • Fixed error for ChemApp use for phase electron balance issues.
    • Improved ChemApp log file outputs used for trouble shooting.
    • Improved displays for timing and statistics for TCE Engines.
    • Fix for issue with copy and paste for operating mode settings.
    • Fix for issue with copy and paste of TCE Model Configurations.
    • For PHREEQC use of Surface Adsorption calculations, don't fail the overall calculation when the Adsorption part fails.

Build 34068

Released 19 October 2023
  • Fixes for bugs introduced in previous Builds:
    • Build 33873: Fix for use of "like" in TagSelect statements primarily used in Excel TagSelect reports and PGM TagSelect class. A statement such as "[Tag] like 'P_.*'" fails in Build 33873. The original functionality is restored to what it was before 33645.
  • For string input field in Access window, when clicking on RHS of text (more than 2 spaces after last characters) then the entire field is selected and overwritten with newly typed text. This makes SysCAD Data Entry Style of string fields the same as numeric fields. Excel Data Entry Style is unchanged.
  • New option in Evaporator with external HX outlet connection, or with embedded heat exchanger, to specify the amount of solids to include with HX recycle. Can select this outlet to have liquids only.
  • Fixes and improvements in Shell and Tube Heat Exchanger 2 condensing mode to support selection of component other then H2O in VLE block.
  • The Comment field entered in Reaction Editor for each reaction is now shown as a result tag in Reaction Block - Individual Reactions.
  • TCE Improvements:
    • Fix for intermittent crash seen in TCE SideCalc.
    • For TCE SideCalc QProd no longer valid if Model is SideCalc. To include reverse mapping after TCE equilibrium calculation to SysCAD stream and optional QProd display select Reactor for Model.
    • Fix for TCE Feeder that stopped working after an Empty action.
  • Reaction Editor version 1.5.34041:
    • Fix for bug introduced in version 1.5.33315 where selection for HoR conditions droplist was stuck at Custom.
    • For newly created reactions - extent now changes live in table and entry correctly has * marker.

Build 33873

Released 28 September 2023
  • Fixes for bugs introduced in previous Builds:
    • Build 32582: Fix for PlantModel.Area1.Activate (and Deactivate) tag not working due to incorrect indexing where PlantModel.AreaN.Activate tags being applied to Area(N-1) instead of Area(N). This only applies to use of these tags in PGM, etc. Tags are displayed correctly in Plant Model - Flowsheets Access window.
    • Build 33457: Fix in Access Window for paste of single value from Clipboard to each field of multiple selected fields.
    • Build 32925: Fix for a SysCAD startup error for users of older versions of Windows 10.
    • Build 33127: Fix for edge case crash with error message "Some PostConnects not called at EO_Execute" occurring at Solve when drawing flowsheets.
  • Update to not include Qualities Models on Plant Model - Qualities tab page (and in Feeder select Qualities) if Quality model is NOT selected in the cfg file. This also removes invalid error messages related to incomplete configuration of Qualities settings.
    NOTE: For some projects where a Quality (e.g. "Size Distribution") is required, but was not selected in the cfg file, all data and settings related to use of the Quality may be removed at project load. To solve this, first edit the cfg file and ensure the required Quality models are selected (e.g. "Size Distribution" for SzDist1.dll).
  • Fix for occasional incorrect selection of initial VLE BPE.Method when inserting units with VLE (e.g. Flash Tank 2). The initial setting was sometimes (seemingly randomly) "None" (or "VantHoff") instead of the default "StreamModel".
    NOTE: Projects may have unintended BPE.Method selected for Single Component VLE blocks in FlashTanks and other units where VLE is used to flash. We recommend that users check settings for VLE.BPE.Method in projects. One way to check this is to right click on the tag and select "Open Find Results" menu option (or press F8) to get a list of values for this tag in all unit models of the same type.
  • Fix for User Species Calculations using Volume as one of the terms.
    NOTE: Any project using a User Species Calculation that includes stream or phase Volume as one of the calculation terms may have had incorrect results. This may affect project results if Species Calculation using volumes is used in model control.
  • Fix for memory leak (reduction to available memory in SysCAD application) that occurs when closing a project using TCE.
  • Fix in Tank and Tie for incorrect Order for SplitFlows where Operation is General and Priority "Last" is used together with "Auto".
  • General Separator now correctly handles the edge case where feed solid conditions exactly match target conditions.
  • Fix for Find filters "StartsWith" and "Contains" used in Quick Find and Explorer Window when searching where tags containing wildcard characters such as ? and *. Find using Contains or StartsWith now correctly searches based on exactly what user has entered.
  • Fix for Precipitation3 using SSA method where Seed Solids option did not work correctly when solving from empty.
  • Fix for recycle Tear Streams incorrectly creating Qualities Models (e.g. PSD) in outlet of pipe with Tear when the Quality should not be used in the project based on user selection and configuration of the quality definition.
  • Fix in dynamic for edge case bug where error 'Over specified' warning are generated in a Makeup Source and there is no makeup flow. Error can occur when first configuring the makeup block and pressing solve.
  • Fix for false error message in Simple Evaporator when applying small Duty that simply heats the stream slightly (does not reach saturation temperature).
  • Improved Reaction Block (RB) test for Starved reaction if reaction is Forward Only or Reverse Only which was previously giving a false reaction not converged error message.
  • Updated COM Automation API behaviour when trying to get/set tags and an empty tag string is provided. Reports error code instead of failing.
  • Updates to TCE Pond for energy balance reporting for heat of mixing.
  • For VLE, added new LiquidMassFlow (LQm) result tag. Fix for Reset not clearing all results. Multicomponent VLE now correctly calculates result fields VapFlashed.Qm and LiqFlashed.Frac.
  • For TCE PHREEQC product results, added tag for oxidation reduction potential (ORP).
  • Include Upgrade Compatibility Checks at project save.
  • Reaction Editor version 1.5.33781:
    • Fix to handle ionic species names ending with one or more + characters (e.g. +++).
  • SysCAD VS Code PGM Extension:
    • Released a minor update with expanded list of PGM syntax keywords.

Build 33632

Released 29 August 2023
  • Fixes for bugs introduced in previous Builds:
    • Build 32925: Fix for SysCAD startup crash when user folder name for VS Code selection as PGM Editor was no longer valid, or related VS Code folder for extensions is not found or changed.
    • Build 31866: Fix in Access window display where + and - buttons did not expand or collapse groups of tags.
  • Added result tags Rho25, LRho25 and SolidConc25 for Stream Properties display.
  • New Cp (Enthalpy) equation formats for Gibbs functions including parameters for Magnetic effects of species. GibbsMag_Cp(...) and GibbsExMag_Cp(...).
  • For Disk Centrifuge, added new result tags for Feed Qm, Sf and SolidConc25. Added option for QFeed stream display.
  • Fix for Disk Centrifuge behaviour when feed solids concentration was below 700g/L, hardwired limit is removed. Edge case behaviour improved.
    NOTE: This may affect results of projects operating at these "edge" case settings.
  • Fix for dynamic tank with Level Control and Makeups or Discards where the selected Stream tag was not recovered at project load. Added new StreamTag string tag to allow setting of Level Control outlet stream tag by PGM, etc.
  • Fix for edge case crash on solve for Set Tag Controller when making multiple changes to list of tags to be set that includes removing and then adding back the same tag.
  • Updated "Tear not converged" Condition messages shown as solver is paused when $Solver.Convergence.Message.Frequency (found on Solver Setting - Convergence page) was "StoppedOrPaused".
  • If SysCAD is started with any Command Line Options, these are shown in Message window at startup for information.
  • Don't remove project from "Most Recently Used" file list if project load fails.
  • Example projects:
    • New Green Steelmaking example project used with paper presented at COM 2023. Project uses GFEM with RK parameters to demonstrate use of Hydrogen for green steelmaking.

Build 33513

Released 8 August 2023
  • Fixes for bugs introduced in previous Builds:
    • Build 33457: Fix for bug in TCE ion mapping error that can occur for some edge cases.
  • Project Window the Conversions tab page improvements:
    • Shows selected default in bold.
    • Added right click context menu with actions to change Default conversion, Show/Hide conversions, Copy conversion to clipboard in PGM format and option to open Manage Conversions Dialog.
  • Added "Step or Idle (F10)" command to Actions menu.
  • Fix for RB with ShowSpRequirements and/or ShowReactionLimits selected not clearing related results after a Reset action or during solve when the RB is switched off.
  • Improved Simple Heater "FeedCalc" calculation to correctly calculate required flow for a greater range of feed flow conditions.

Build 33457

Released 2 August 2023
  • Fixes for bugs introduced in previous Builds:
    • Build 33001: Fix for for incorrect RB results for RB with Src/Recycle/Sink that occurs after a full Reset. The unit models with RB with this condition report a mass balance error due to incorrect Src/Recycle/Sink calculation. Result is corrected on subsequent project load and solve.
  • For Disk Centrifuge, added new "CentSolids/SolidAnalysis" option for Method. This allows user to specify target CentrateSolidFracReqd and CakeSolidFracReqd.
  • New "FeedCalc" option for Simple Heater to optionally calculate the required flow to achieve a target temperature. This can optionally be connected to use General Demand.
  • Updated Reaction Editor (from Version 1.5.32836 to 1.5.33315). Includes fix for display of sequence number on high resolution (4K) displays, and improved functionality for selecting HOR override species (especially with reverse reaction option).
  • Fix for losing "Create new Tab for User Property Calculations" setting in cfg file for User Property Calculations. Setting was lost when editing Species Database from open project.
  • Fix for custom User Calculations where a "specialist function" with parameters, such as Density(phase,T,P), was not parsed and calculated correctly when the specialist function is part of a larger full calculation.
  • Fix to allow use of Split Thermal (SplitT) for Tie/Tank when Operation is Phase Recovery, Solids Recovery, Water Recovery or Gas Vent. Both outlet pipes are now shown and configurable on the SplitT tab page.
  • Fixed bug where Qualities could not be set in the Makeup Source when it is first inserted.
  • Fix for edge case in Simple Heat Exchanger using Other.FlowCalc where there was a runaway flow demand. Improved error messages for inoperative conditions/settings for flow demand calc.
  • Improved Heap / Column model top layer evaporation logic and included user feedback when required evaporation is not met. Added display of evaporation flowrates for each layer and overall. Added display of "Heatflow" associated with water removed due to evaporation (as Heap Layer temperatures remain unchanged with evaporation).
  • New Printing Graphics flowsheets functionality:
    • Can now select to print in Colour or Black & White.
    • Can now optionally include/exclude animations (Dynamic Bars, etc).
    • The new print settings are available on General Options Graphics tab page.
  • Fix for a new graphics page not using the specified Drawing Frame when "Frame Extent" was "None". Note that list of available frame symbols has been extended in SysCAD install.
  • Fix for "Tear not converged" Condition messages not being shown when solver is paused when $Solver.Convergence.Message.Frequency (found on Solver Setting - Convergence page) was "StoppedOrPaused".
  • For Access window added new "Copy Displayed" Ctrl+Shift+C copy to clipboard command for right click popup menu. The purpose is to copy text as displayed in Access window, in particular unlike "Copy" Ctrl+C for listed tags it copies the displayed text rather than the underlying full tag. Values are always copied in full.
  • Added Ctrl+Q shortcut key for Close Project.
  • Added new solver "Step or Idle" action command associated with F10 shortcut key. It is a single convenient button for solver stepping regardless of solver state. Three possible solver state actions:
    • (a) solver Step if Paused/Idle. Same as Actions|Step command. Use Shift+F10 shortcut to apply multiple steps.
    • (b) go to Paused/Idle if Stopped. Same as Actions|Idle command.
    • (c) go to Paused/Idle if Solving. Same as Actions|Idle command.
  • Rearranged and extended the context popup menu for right click on the background. This provides an ideal shortcut to access common commands rather then navigating through menus. Three possible menus are given: (a) when no project loaded; (b) when solver is stopped; (c) when solver is busy or paused.
  • Renamed Conversions menu options "Defaults and Display" to "Manage Conversions", and "Conversions Database" to "User Database".
  • Changed the default display conversion units for Cp(Ms), Cp(Ml), S(Ms), S(Ml), HCap, HCapF, DPperQm and DPperVol. Updated some Conversion Family full descriptive names for clarity and consistency. Added a few more conversions to some Conversion Families.
  • Implemented additional Upgrade Compatibility Checks to lists all models and options used that are "old" and will be discontinued in the next Build.
  • Various improvements to reduce memory use in projects.
  • SysCAD updated to use a newer version of "Microsoft Visual C++ Redistributable" package. An updated version of vc_redist.x86.exe is included with SysCAD install.
  • TCE Improvements:
    • Updates for determining optimal breakdown reactions for forward ion mapping to TCE Input species and ions.
    • Significant updates for ion mapping algorithms that results in improved product SysCAD species list after TCE calculation for a range of conditions. Algorithm changes relate to minimising the use of water in forward/reverse species to ion breakdowns and avoiding combined production of reduced and oxidised products.
    NOTE: These changes will likely affect the results of some models using the TCE interface for OLI, AQSol and/or PHREEQC.
    • Fix for displayed PHREEQC stream density when solids present (PHREEQC only returns liquid phase density).
    • ChemApp minimum version required updated to version 8.2.2 from 7.4.0. Updated ChemApp DLL (ca_sc_e.dll) included with SysCAD.
  • Tutorial:
    • The Introductory Tutorial has been updated (Rev 35.6) and renamed from "Basic Tutorial" to "Introductory Tutorial".
    • The associated Introductory Tutorial projects have been updated.
  • Example projects:
    • New Absorption Tower (MultiK) example project to demonstrate use of multicomponent VLE to remove HCl and SO2 from fumes.
    • Cooling Tower Example updated to demonstrate using slightly "dirty" water in Cooling Tower feed.
    • Updated Demo Uranium Project to use General Controller instead of PID for ammonia addition to stripping.
    • Minor updates to various other example projects.

Build 33127

Released 22 June 2023
  • Fixes for bugs introduced in previous Builds:
    • Build 32925: Fix for not being able to change the state of a CheckBox in a Grid (Table) in the Access window.
  • For Explorer Window Graphics section, updated the heading display of Graphics Window and Area counts. Drag and drop of individual Graphics windows is easier by allow drop on existing pages as well as on Area heading.
  • Fix for Access Window Grid (Table) headings not being correctly lined up with the column of data in some tables.
  • Fix for inconsistency in VLE Grid/List display of tags for Multicomponent VLE.
  • For Flange and DirectLink, improved Access window display text and added additional tags for clarity of connections. Improved the text generated for the GeneralDescription.
  • Updated Links Table display when TableInfo is Detailed, with display of PortID on both sides of each connection.
  • For Pipe Tear settings, renamed Tear.ReqdType option "NoTear" to "TearIfReqd" to more clearly convey its use.
  • For EB with multiple blocks switched on, display Evaluation sequence in comment on RHS of tag.
  • Added new PGM TextBreak keyword to leave a blank line in Access window - alternate to TextLabel "" or TextLabel() or TextLabel("").
  • For General Controller, added new button "Init Variables" to reset all tags (numeric types with Init values) to their Init values defined in the PGM code.
  • Fix for Queue Profile control model that was incorrectly setting tags with AdvanceRow, etc. when the model is off and SetTagAlways is unchecked.
  • Fix for edge case in Flotation Cell with air connection where a small energy balance error (slightly incorrect exit temperatures) occurred for some types of stream compositions.
  • For Filter Separation Models increased the maximum allowed CakeMoistReqd. For SplitFlows Water Recovery option increased the recovery allowed.
  • Reduced memory use in Multi-Storage. Fix for display of Up/Down buttons to cycle through individual Store displayed in the Access window.
  • Implemented additional Upgrade Compatibility Checks to lists all models and options used that are "old" and will be discontinued in the next Build.
  • Trend Window improvements:
    • Improved logic for selecting x-axis grid widths with zoom in/out for ProBal projects.
    • Added new option to display grid x-axis spacing label together with the window width label. The new option can set in General Options Trends and is on by default.
    • Fix for ScrollBack and ScrollBackFast menu/button trend commands which were back to front.
  • TCE Improvements:
    • Upgraded PHREEQC version in SysCAD from 3.5.0-14000 to 3.7.3-15968.
      NOTE: This may affect project results using PHREEQC.
    • Added missing error message displays for manual TCE Direct Calc.
    • Allow use of OLI Engine V11.x DLLs with Legacy OLI interface.
    • Modifications to adsorption calculation algorithm for PHREEQC.
      NOTE: This may affect project results for projects that implement adsorption calculations in PHREEQC.

Build 33001

Released 18 May 2023
  • Fixes for bugs introduced in previous Builds:
    • Build 32925: Fix for crash with loading TCE OLI projects.
  • Reaction Block (RB) improvements:
    • Updated checks for RB Extent type Final Elem Frac when using by Total instead of by Phase.
    • 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.
    • 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 specify 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:
    • 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).
    • 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.
    • 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:
    • Implemented new "Final Elem Frac" reaction extent method. Allows control of reaction extent to achieve a target elemental molar or mass fraction.
    • For "Final Frac" Extent method, added support for final fraction by IPhase.
    • 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.
    • Condition warnings for reaction extents at user limit when using LimitAmountReacted or LimitFracReacted are not shown if Extent.Type is Target (i.e. only shown for Strict).
    • Improved RB.Status feedback descriptions.
    • Improved display when reactions in a RB are off and HideOffReactions is selected.
    • Improved error message reporting when RCT file fails to load.
  • Reaction Editor improvements:
    • Released new Reaction Editor version 1.5 with multiple functionality improvements and various bug fixes.
    • Supports new Final Elem Frac extent method and Final Frac by IPhase.
    • Added 'Open Containing Folder' option for quick access to reaction files.
    • Added right-click option to Reverse Reaction (swap reactants and products).
    • UI improvements, including sharper image on high resolution screens.
    • 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 Laliberté 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:
    • 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.
    • Expanded options for right click context menu options for Reports in Excel Report list dialog.
    • Improved warning message in Excel feedback worksheet, when full tags (or primary tags in TagTable) start with a dot (.).
    • 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):
    • For Print Multiple PDF of graphics flowsheets, added new option to open containing folder after print to pdf.
    • Fixed crash for graphics paste after graphics cut if some other command occurred between these two actions.
    • 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.
    • 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.)
    • For General Options Drawing: 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:
    • Improved display of vertical green line for current timeline cursor display. Results in smoother trendline display without scrolling gaps in trend lines.
    • Improved display of text labels in trend line window.
    • 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:
    • General improvements for error reporting.
    • TCE Pond functionality improvements.
    • Fix for false TCE error reporting when TCE is Off (i.e. Model = "None (Off)")
    • 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.
    • 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 (e.g. 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:
    • Fix for incorrectly including solids flow between layers when LiqDrain method is None.
    • Improved calculation of LiqFrac holdup when solids included with LiqDrain.
    • Reduced memory use.
    • 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.
    • New condition warnings: When OreFeed flow and OpMode is not stacking. When OreFeed flow and heap is full.
  • Example projects:
  • 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:
    • Added ForEachSub macro as alternate to ForEachClass. Syntax ForEachSub(Classes, SubName(...)) Example ForEachSub(TankClass, Exec())
    • 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()
    • 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
    • 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
    • New ForEachFnCalc macro function. Syntax ForEachFnCalc(OperationMethod, Classes, FunctName(...)). Example: Total = ForEachFnCalc(+, {T1,T2,T3}, CalcArea())
    • New ForEachVarCalc macro function. Syntax ForEachVarCalc(OperationMethod, Classes, ClassVariable). Example: TotalVol = ForEachVarCalc(+, {T1,T2,T3}, Volume)
    • New ForEach macro function. Syntax ForEach(OperationMethod, Classes, FunctName(...)/ClassVariable). This auto detects last parameter type and is then equivalent to ForEachFnCalc or ForEachVarCalc.
    • New ClassCount(Classes). This returns the number of class instances in the list. Example: AveArea = ForEach(+, {T1,T2,T3}, CalcArea()) / ClassCount({T1,T2,T3})
    • For OperationMethods parameter the available operators are : +, *, -, or, and, bor, band, bxor
    • 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).
    • 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).
    • 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.
    • 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
    • Some examples: ForEachVarSet(L1, CalcHeatLoss, true) ForEachSub(TanksList, Exec())
  • New PGM ClassGrid keyword to display classes in a grid (table):
    • 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.
    • 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)
    • 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.
    • Use ClassGridColumnWidth within class definition to set the column width. Default is 14.
    • 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.
    • 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.
    • If option ClassGridPageLabel is used in class definition, then the grid is displayed on a new tab page in the Access window.
    • 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:
    • Allow use of @ or @@ when declaring const variables to provide visibility. Example: const double MinAreaT@ = 18
    • 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>.
    • 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"
    • 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")}
    • Use new keyword ClassAsGroup in class definition to display class instances in Access window with "ClassName..." instead of repeating "ClassName.xxx" for each variable of class.
    • 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"
    • New functions StopSolver(..) and PauseSolver(..) as alternates to PGM variables StopSimulation and PauseSimulation.
    • 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.
    • Added load time warnings if any old PGM syntax or keywords are used (will be discontinued in future Builds).
  • TCE Improvements:
    • Various improvements in Ion mapping algorithm.
    • PHREEQC bug fix for saving and loading SatIndex when < 0.
    • 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.
    • Fix for OLI projects failing to load (bug introduced in 32335).
    • 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.)
    • Added option to copy to clipboard all connected feeds/products.
    • Plotter bug fixes and improvements.

Build 32335

Released 17 January 2023
  • Fixes for bugs introduced in previous Builds:
    • 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:
  • PGM Improvements:
    • 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)".
    • 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}".
    • Give PGM load time warnings if strings for PageLabel and TextLabel are not enclosed in quotes (").
  • TCE Improvements:
    • Added a Forward Mapping Summary to Results page
    • Allow selection of Off for TCE in all TCE unit models. Allow solve when no license for TCE (TCE calculations bypassed).
    • New OnStart option for TCE side calculations.

Build 32217

Released 19 December 2022
  • Fixes for bugs introduced in previous Builds:
    • 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 (e.g. 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:
  • PGM Improvements:
    • 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.
    • Added alternate variable Data Types bool and boolean for bit; and int for long/integer.
    • New String Functions StrInsert, StrErase, StrReplace and StrReplaceFrom.
    • Alternate String Functions StrFind for StrStr, and StrFindFrom for StrStrFrom.
    • For Array Class and StrArray Class added new functions InsertAt(Index, Value) and RemoveAt(Index, Count).
    • Added support for const readonly PGM StrArray Class declared with = {"..", "..", etc}.
    • New ClassAsPageLabel keyword for use in class definitions. Use this to automatically create page labels for each instance of a class.
    • 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.
    • Some improved PGM load time checks and build error messages for declaring variables, functions and classes.
  • TCE Improvements:
    • Further improvements to Ion mapping algorithm to handle edge cases in reverse mapping.
    • IonList.txt file should not have charged neutral species. They are ignored.
    • Improved error reporting for loading IPhaseMap.txt file. New option to edit file from edit configuration dialog.
    • 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.
    • Only display TCE Density value tags (and SolidsConc) if these are calculated by the TCE.
    • 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.
    • Fixed inconsistent stream tags QRxnUnmapped and QUnmapped in all TCE models.
    • Various improvements in displays and options for SideCalc, including use of optional reverse mapping.
    • For ChemApp updated direct reporting of Feed and Prod Enthalpy and Heatflow.
    • For PHREEQC allow user to set maximum number of iterations and fix of crash in loading of specific database files.
    • For OLI various improvements in display of property results and apparent species.
    • 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:
    • 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.
    • Build 31602 - Fix PGM bug where on editing and/or reload of the PGM, the contents of all pgm strings were discarded.
    • Build 31388 - Fix error for Command Scripts or COM Automation stopping on SaveProject command (i.e. not completing the command and returning control).
    • Build 30874 - Fix for graphics symbol using NURB splines (e.g. forklift) that caused dxf files to expand in size with each save (and eventually crash SysCAD).
  • License administration changes:
    • Renamed license add-on option "SMDK Runtime" to "Integrated Libraries" add-on.
    • 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:
  • 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:
    • Improved PGM and MP runtime error condition reporting at solver startup.
    • 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.
    • Added Matrix Class class functions ColOffset, ColSum, ColAvg, ColMin, ColMax, ColMinIndex and ColMaxIndex.
  • Other fixes:
    • Fix for error (or occasional crash) in activating/deactivating pages from Plant Model - Flowsheets Access window.
    • Fix for controller "Not in evaluation sequence" error message after page activate/deactivate.
    • Fix for Discard Sink that reported incorrect temperature (and enthalpy) for total QProd. Error was in accounting for first discard link in list.
    • 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".
    • 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.
    • Fix in Drum Filter when using recycle option.
    • For Excel reporting Dialog allow Excel filename with a quote (') in filename.
  • TCE Improvements:
    • Improved TCE ion mapping logic and project load time for building ion mapping lists from Ion Definitions file.
    • Improved tests for errors loading TCE libraries or licenses. When an error occurs, prevent project save. Save-as is allowed.
    • Improved dialog for TCE Configuration. New option when editing cfg files to allow IonMapping for selected TCE ChemApp databases.
    • 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.
    • TCE RO model fixes and improvements.

Build 31623

Released 27 August 2022
  • Fixes for bugs introduced in recent Builds:
    • Build 31602 - Fix for crash editing a cfg file when selecting the Calculations tab page.
    • Build 31388 - Fix for crash in Tank or Tie with large number of connected pipes.
    • 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:
    • Fixed bug for incorrect Demand calculation through a Tie, Tank or Pipe with Makeup Block (MU). Bug was introduced in Build 31207.
    • 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 (e.g. 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:
    • Fixed bug for setting required mode, or settings getting lost when adding/removing connected streams.
    • New option to set order to match the order of the outlet streams in the SplitFlows section.
    • 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.
    • Improved display for outlet streams in Result field and display of massflow.
    • Various improvements in efficiency of calculations.
    • 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:
    • Fixed bug where DirectLinks were inconsistently excluded from lists.
    • Fix for selection count (numbers shown in brackets) based on filter string. Added selection count for UnitTypes.
    • Added optional section "Flange Flows" which lists all flanges (the connection flange objects between pipes and models).
    • Restore vertical scroll position when adding/deleting models in the flowsheets.
    • Improved right click context menus.
  • Graphics Window improvements:
    • Fix arrow keys for editing graphics that stopped working after project save and some other actions.
    • Updated context menu for right click for graphics window.
    • Fix freeze when pressing F11 in Access window for "Send to Annotation Table" when the Dialog is not open.
  • Expanded PGM ForEachClass macro function:
    • Allow a ClassTypeList of class definition types as first parameter. List in {} e.g. ForEachClass({TankClass,ThickenerClass}, Exec())
    • 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. e.g. ForEachClass({T1,T3,W.T,X}, Exec())
    • Allow the Sub to have any number of parameters. String parameters not supported. e.g. ForEachClass(ThickenerClass, SetCalcsOn(true))
    • 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. e.g. ExcludeClass T[0]
  • New PGM String Functions:
    • string ConstStr(constant) returns the constant (including enum constant) as a string.
    • 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. e.g. StateDesc = EnumStr(FilterState)
  • New PGM Mathematical Functions:
    • 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.
    • 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:
    • Various Reverse Osmosis (RO) unit model improvements including new option for ion permeability, membrane interface and concentration polarization.
    • ChemApp - allow use of newer versions of ChemApp DLL
    • 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:
    • Fix for Explorer Window right click on page names not bringing up context menu.
    • 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 (e.g. 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 Multi-component VLE 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:
    • 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.
    • 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.
    • 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:
    • 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.
    • Added option to TCE DirectCalc to optionally complete reverse mapping and display the resulting SysCAD stream.
    • Significant solve time speedup in ChemApp projects by eliminating unnecessary extra function calls.
    • 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.
    • Improved display of Feed and Product massflow summaries in TCE Results tab page.
    • Added display comments for unmapped species when entering data for TCE Bypass and TCE Feeder.
    • Rework and expansion of displayed statistics for TCE Interface Engines, as shown on TCE Engines tab page for TCE ModelCfg.
    • Improved save and recover of some TCE block energy balance tag values.
  • PGM improvements:
    • New Mathematical Functions RoundTo(Value, Decimals) and Cbrt(Value).
    • New Predefined Constants MinLong and MaxLong.
    • New StrArray Class functions: Copy(StrArray), Append(StrArray), Reverse(), Sort(CaseSensative).
    • New Array Class functions: Append(Array), Reverse(), Norm().
    • For StrArray Class and Array Class implemented SetSize(len) as alternate to SetLen(len) and Size() as alternate to GetLen().
    • New Matrix Class functions: Norm(), SwopRows(row1, row2), SwopCols(col1, col2), SortByRefRow(row, increasing), SortByRefCol(col, increasing).
    • For Matrix Class implemented Rows() as alternate to GetRowCount() and Cols() as alternate to GetColCount().
    • 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)
    • 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 Beta.
  • 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:
    • LHS Margin is narrower and does not change with More/Less button.
    • Display help descriptions in flyby tooltips when mouse is over Selection Buttons at top of page.
    • 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 Reactor (Gibbs FEM) add displays of individual Heats Of Reactions (HoR), as well as overall change in Hf@0 (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 (i.e. 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-condensables for Shell and Tube Heat Exchanger 2. For two of the CondensingMethod options ("Demand (UA)" and "Demand (UA & TubeT)") when non-condensables are present in Shell feed, the model was evaluated at total pressure (SatT@P) instead of at partial pressure (SatT@PP). This causes a difference (proportional to non-condensables fraction) in shell operating temperature and heat transfer. For backward compatibility an option "IgnoreNoncondensables" is provided. A warning message is given when non-condensables 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" (i.e. "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 (e.g. 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 Gibbs FEM.
  • 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