Solver Setting - FS Solver

From SysCAD Documentation
Jump to navigation Jump to search

Navigation: User Guide ➔ Menu Commands ➔ View ➔ Solver Settings ➔ FS Solver

FS_Solver ProBal Convergence GlobalTear Tears TearTags Tolerances Analysis
Dynamic Method Scenario SS Monitor

This tab allows the user to set some solver related tags as well as display the current status for the SysCAD application. Tag groups on this tab include:

  • Project Solver - Displays current settings for Solver Mode and Heat Calculations (only available in Build 139 or later).
  • Multithreading - Allows user to set the number of threads used by the solver.
  • Application and Solver State - display information only.
  • Solver Commands and actions - command buttons can be used by external application, such as Excel or PGM
  • Scenario Load and Save Commands - naming and command buttons for external use.
  • Flange Tag format
Tag (Long/Short) Input / Calc Description/Calculated Variables / Options
Project Solver (Only available in Build 139 or later)
Project.SolverMode Display Displays mode of project, either ProBal (steady-state) or Dynamic.
Project.HeatCalcs Display Displays if Heat Calculations (Energy Balance) are being used in the project, 0 = No, 1 = Yes. The user can change this project setting (see Project Settings - Modes Tab).
MultiThreading
NoOfPackages/Packages Display This shows the number of physical processor packages present in the computing hardware.
Cores Display Only available in Build 138.26255 or later. This shows the number of processors (CPU cores) found present in the computing hardware.
Logical.Processors / Logical Display Only available in Build 138.26255 or later. This shows the number of virtual or logical processors found present.
NoOfProcessors/Processors Display Only available in Build 138 or earlier. This shows the number of processors (CPU cores) available in the computing hardware. This is usually equal to Cores unless CPU affinity has been used to reduce the number of cores available to an application.
NoOfHyperThreads/HyperThreads Display Only available in Build 138 or earlier. This shows the number of virtual or logical processors available. This is usually equal to Logical unless CPU affinity has been used to reduce the number of cores available to an application.
Logical.Available Display Only available in Build 139 or later. This shows the number of virtual or logical processors available. This is usually equal to Logical.Processors unless CPU affinity has been used to reduce the number of cores available to an application.
Affinity.IDs Display Only available in Build 139 or later. This shows the number of virtual or logical processors in use as numbers.
Affinity.Mask Display Only available in Build 139 or later. This shows the number of virtual or logical processors in use as mask.
SolverThreadsRequired Single Threaded Use a single thread.
Match Method6 Only available in Build 138.26255 or later. If there are less than 6 cores (Processors) available then Match HyperThreads-1/LogicalProcessors-1 is used. Otherwise if there are 6 or more cores (Processors) then Match Cores / Processors is used.
Match HyperThreads / LogicalProcessors Solver uses 'M' worker threads, where M is the number of hyperthreads/logicalprocessors if M>1
Match HyperThreads-1 / LogicalProcessors-1 Solver uses 'M-1' worker threads, where M is the number of hyperthreads/logicalprocessors if M>1
Match Processors / Cores Solver uses 'M' worker threads, where M is the number of cores if M>1
UserSpecified Use the Threaded Solver with N sets of worker threads, where N is specified by the user in the SolveThreads.Reqd field below.
SolveThreads.Maximum Input Only available in Build 138.26255 or later. Sets the maximum number of worker threads for the threaded solver. Note this maximum is imposed regardless of the setting of SolverThreadsRequired.
SolveThreads.Reqd Input This field is only visible if the UserSpecified SolverThreadsRequired option is chosen. Sets the number of worker threads for the threaded solver.
SolveThreads.Used Display The number of worker threads used for the threaded solver.
ControlThreading Single Threaded Run controllers through single thread (sequentially).
Multi Skip # Steps Run controllers with multiple threads (in parallel), this is only done after the user specified (SingleStepCount) number of iterations/steps.
SingleStepCount Input This field is only visible if the Multi Skip # Steps ControlThreading option is chosen. Specifies the number of iterations (or steps for dynamic project) after which parallel multithreaded solver is used for solving control actions.
Execute.Optimisation
(Only available in Build 137 or later)
Off No optimisation of the solver evaluation sequence multi-threading is performed.
NumberofNodes The optimisation of the solver evaluation sequence multi-threading is based on the number of nodes (units/links) to be solved in a path.
TimeToComplete The optimisation of the solver evaluation sequence multi-threading is based on the sum of evaluation time in the last iteration in a path.
Application and Solver State (All dropdown lists are based on most current version. Previous versions may have less options.)
AppState AppState.png The current SysCAD (application) state as an integer. This is a special tag for OPC connectivity that is always communicated on change to connected OPC Servers/Clients. The Application State can be used as triggers to let other applications (such as OPC servers) know if SysCAD is ready to receive the Start Solver command.
AppState.AsDropList The current SysCAD (application) state as dropList, describing the AppState return value.
AppState.Description The current SysCAD (application) state description. This is also reflected on the SysCAD Marshal Application status bar (Bottom Right hand corner)
AppState.Detail AppStateDetail.png The current SysCAD (application) detailed state as an integer. This is a special tag for OPC connectivity that is always communicated on change to connected OPC Servers/Clients.
AppState.Detail.AsDropList The current SysCAD (application) detailed state as dropList, describing the AppState.Detail return value.
AppState.Detail.Desc The current SysCAD (application) detailed state description. This is also reflected on the SysCAD Application status bar (Bottom Right hand corner)
AppState.FullDetail AppStateFullDetail.png The current SysCAD (application) overall state as an integer.
AppState.FullDetail.AsDropList The current SysCAD (application) overall state as dropList, describing the AppState.Overall return value.
AppState.FullDetail.Desc The current SysCAD (application) overall state description. This is also reflected on the SysCAD Application status bar (Bottom Right hand corner)
Solver Commands and Actions
(See also Actions Commands, Solver Set up for Steady State Projects - Options or Solver Set up for Dynamic Projects - Start Options and Startup Reset Actions on the Dynamic Configuration access window (for dynamic projects only). See Set State on the Info Tab for setting the state of a single unit).
Cmd.Start Start Solver Button.png This is the same as menu option "Actions - Run", pressing this button starts the SysCAD simulation. This button is here so that user can make use of the command from external packages, such as calling SysCAD Start (solve) from Excel or other Operator Interface. To get the command Right Click on the variable name and select Copy FullTag.
Cmd.Idle Pause Continue Button.png This is the same as menu option "Actions - Pause (Idle)", pressing this button pauses the SysCAD simulation. This button is here so that user can make use of the command from external packages, such as calling pausing SysCAD (solve) from Excel or other Operator Interface. To get the command Right Click on the variable name and select Copy FullTag.
Cmd.Stop Stop Solver Button.png This is the same as menu option "Actions - Stop", pressing this button Stops the SysCAD simulation. This button is here so that user can make use of the command from external packages, such as calling SysCAD to Stop solving from Excel or other Operator Interface. To get the command Right Click on the variable name and select Copy FullTag.
SetStateAll Blank No action required
Complete_Reset This option is effectively a combination of all the following SetState options.
Reset_Process This will empty all pipes and flow values when the run begins.
Reset_Control This will reset all controllers back to 'Base' state, i.e. the same state as when the controller is first inserted into the project. This is mainly relevant for PID controllers.
Reset_Statistics Selecting this will Reset the Statistical blocks when scenario is started (used for Dynamic models).
Reset_EventsProfiles Only relevant for Dynamic projects. This will reset all Event and Profiles back to start time.
Empty_Process Only relevant for Dynamic projects. This Empties all containers with surge, e.g. Tanks.
Preset_Process Only relevant for Dynamic projects. This resets all containers with surge that have the 'Preset.On' button ticked and have Preset data.
Remove_Quals This resets all qualities.
Copy_to_Preset Only relevant for Dynamic projects. Copies existing composition of surge to the preset image.
SetTimetoZero Reset the starting time to zero.
SetActionAll Set Action All Button.png Shown as button list, user can select any of the following actions:
  • Complete Reset : This option is effectively a combination of all the following SetAction options (where relevant).
  • Reset Process : This will empty all pipes and flow values (including tears) when the run begins.
  • Reset Control : Only relevant for Dynamic projects. This will reset all controllers back to 'Base' state, i.e. the same state as when the controller is first inserted into the project. This is mainly relevant for PID controllers.
  • Reset Statistics : Only relevant for Dynamic projects. Selecting this will Reset the Statistical blocks when scenario is started (used for Dynamic models).
  • Reset EventsProfiles : Only relevant for Dynamic projects. This will reset all Event and Profiles back to start time.
  • Empty Process : Only relevant for Dynamic projects. This Empties all containers with surge, e.g. Tanks and clears all tears.
  • Preset Process : Only relevant for Dynamic projects. This resets all containers with surge that have the 'Preset.On' button ticked and have Preset data.
  • Empty or Preset : Only relevant for Dynamic projects. All containers with surge in the project will either be reset with PreSet values or emptied and all tears will be cleared.
  • Clear Tears : This clears all tears. In Dynamic this includes emptying contents of Tear Accumulation Buffer.
  • Remove Quals : This resets all qualities.
  • Copy to Preset : Only relevant for Dynamic projects. Copies existing composition of surge to the preset image.
  • Set Time to Zero : Reset the starting time to zero.
Cmd.CompleteReset Complete Reset Button.png This option is effectively a combination of all the above SetAction options. This option re-initialises the SysCAD solution and is used to clear previous BAD solutions from incorrect feed or unrealistic model configuration. Pressing this button will often force a fresh restart on the solved solution. Users can use this command in PGM, Event file or from Excel.
Cmd.ResetProcess Reset Process Button.png Only visible for Dynamic projects. This will empty all pipes and flow values when the run begins.
Cmd.ResetControl Reset Control Button.png Only visible for Dynamic projects. This will reset all controllers back to 'Base' state, i.e. the same state as when the controller is first inserted into the project. This is mainly relevant for PID controllers.
Cmd.ResetStatistics Reset Statistics Button.png Only visible for Dynamic projects. Selecting this will Reset the Statistical blocks when scenario is started.
Cmd.ResetEventsProfiles Reset EventsProfiles Button.png Only visible for Dynamic projects. Selecting this will reset all Event and Profiles back to start time.
Cmd.EmptyProcess Empty Process Button.png Only visible for Dynamic projects. This Empties all containers with surge, e.g. Tanks.
Cmd.PresetProcess Preset Process Button.png Only visible for Dynamic projects. This resets all tanks that have the 'Preset.On' button ticked and have Preset data.
Cmd.ClearTear Clear Tear Button.png This clears all tears. In Dynamic this includes emptying contents of Tear Accumulation Buffer.
Cmd.SetTimetoZero Set Time to Zero Button.png Only visible for Steady State projects. This is the same as menu option Actions - Set Time to Zero.
Cmd.RestartTime Restart Time Button.png Only visible for Dynamic projects. Restarts time when solver starts. This is the same as menu option Actions - Set Time to Zero.
Options for setting T and P when no flow (Only available in dynamic projects)
NoFlow...
ActionTempPress / ActionTP None No action required. Temperatures and pressures will usually be equal to what they last were when there was flow.
Standard The temperature and pressure of streams with no flow will be set to the Standard temperature and pressure. They are shown on the Plant Model - Environment page. They are hard-wired to 25°C and 101.325kPa.
Environment The temperature and pressure of streams with no flow will be set to the Environment temperature and pressure. They are shown on the Plant Model - Environment page, where the user can specify the environment temperature and elevation (which determines the environment pressure).
User The temperature and pressure of streams with no flow will be set to the user specified temperature and pressure.
TolMassFlow / TolQm Input The user specified tolerance for deciding if stream has no flow. Any streams with flow less than this value will be considered as having no flow.
UserTemp / UserT Input Only visible if User has been selected for ActionTempPress. The user specified temperature to be used for all streams with no flow.
UserPress / UserP Input Only visible if User has been selected for ActionTempPress. The user specified pressure to be used for all streams with no flow.
Scenario Load/Save Commands (Option to Save as zip is on/off)
ScenarioFilenamePrefix / ScnFilePrefix Input The prefix text for the Scenario Filename. (For example: Scen0001.scn.zip, where Scen is the Prefix.)
ScenarioFilenameNumber / ScnNumber User or SysCAD Input The number for Scenario Filename.
  • If the Save Scenario Button is used, then the number will be used, if the number does not change, the file will be replaced. (For example: Scen0001.scn.zip)
  • If the Save Scenario Inc Button is used, then the number will be changed by SysCAD (incremented by 1) after the command is used. (For example: Scen0001.scn.zip, Scen0002.scn.zip)
Cmd.SaveScenario Save Scenario Button.png This will send a Save Scenario Command to SysCAD, the scenario name will be made up by ScenarioFilenamePrefix and ScenarioFilenameNumber. (For example: Scen0001.scn.zip)
Cmd.SaveScenarioInc Save Scenario Inc Button.png This will send a Save Scenario Command to SysCAD, the scenario name will be made up by ScenarioFilenamePrefix and ScenarioFilenameNumber. (For example: Scen0001.scn.zip) After the file is saved, it will change the ScenarioFilenameNumber to n+1, where n is the last number used. (For example: If this command is used again, then next file will be Scen0002.scn.zip)
Cmd.LoadScenario Load Scenario Button.png This will send a Load Scenario Command to SysCAD, the scenario name will be made up by ScenarioFilenamePrefix and ScenarioFilenameNumber. (For example: Scen0001.scn.zip) The scenario file must exist for the command to complete successfully.
Flange Tags (only available in Build 137 or later)
FlangeTags.Format Flng_NNN The chosen format for flanges is Flng_NNN, for example: Flng_001, Flng_002, etc.
Flng/NNN Only available in Build 138 or later. The chosen format for flanges is Flng/NNN, for example: Flng/001, Flng/002, etc.
F_SrcTag_DstTag The chosen format for flanges is F_SrcTag_DstTag, where SrcTag is the tag of the source unit and DstTag is the tag of the destination unit. For example: F_P_001_TNK_001 for a flange between pipe P_001 and tank TNK_001.
F/SrcTag/DstTag Only available in Build 138 or later. The chosen format for flanges is F/SrcTag/DstTag, where SrcTag is the tag of the source unit and DstTag is the tag of the destination unit. For example: F/P_001/TNK_001 for a flange between pipe P_001 and tank TNK_001.
FlangeTags.Rename Rename All Button.png If this button is pressed, all flanges in the project will be renamed using the chosen FlangeTags.Format.
Flow Estimation Networks (Only available in dynamic projects in Build 138 or earlier)
Nets Display Only updated once project is run.
SubNets Display Only updated once project is run.
Nodes Display Only updated once project is run.
FxdLnks Display Only updated once project is run.
LoneLnks Display Only updated once project is run.
NetLnks Display Only updated once project is run.