Tear
Navigation: Models ➔ Other General Models ➔ Tear
Makeup Source | Makeup Block (MU) | Discard Sink | Discard Block (DB) | DirectLink | Flange | Tear |
---|
Related Links: Solver Settings - GlobalTear, Solver Settings - Tears, Convergence Methods, Tolerance Testing
General Description
The Tear (or Tear Block) is a special model automatically created by the SysCAD solver to break recycle flow paths in the flowsheet. A Tear created in a recycle loop is often referred to as a "Tear Stream". It becomes one of the criteria for convergence of a full flowsheet model. The Tear model contains relevant settings and information about the current state of convergence across the Tear.
The SysCAD solver automatically analyses the network to determine where in the recycle loop it is most appropriate to place a Tear. There are options available in the Pipe model to override this and allow manual control of Tear positioning. Tears are associated with Flanges, and are always created at the Flange between the unit and pipe (i.e. at a unit's Flange-Out, at the feed to a pipe).
At convergence, the stream values on each side of the Tear (i.e. Qi and Qo) will be "equal" (based on Tear Tolerance Testing). An error condition message is given when a Tear is not converged. In dynamic mode, Tears need to be converged each time step. When a dynamic Tear is not converged (e.g. reaches maximum iterations for the time step) then the error is stored ("accumulated") for that time step and accounted for in the subsequent time steps so that overall mass and energy is conserved.
Generally global tear settings are used for individual tears, as shown in cyan colour in the Access window. However, the user may selectively override some of these settings for individual tears, in which case the display in the Access window is the traditional black for these input fields. To revert settings to use global settings, enter * in the input field or use one of the "Reset Tear XXX" buttons.
Tears are represented on the Graphics Window by the following symbol:
The graphics symbol is automatically created and can be moved or re-sized using the normal Graphics commands. The user can also elect to have this graphics symbol hidden from the flowsheet using the Associated Graphics command.
Note that the FT_Pressure model for Steady State (ProBal) projects used in the Flash Train macro model is a special type of Tear for balancing pressure throughout a flash train. This does not have an associated graphics object.
Data Sections
The default sections and variable names are described in the following table.
- Tear (Steady State solve mode) - The first section contains general information relating to the tear block
- Tear (Dynamic solve mode) - The first section contains general information relating to the tear block
- Settings - The second section allows user to specify method and tolerances values for the tear block.
- Convergence - The third section allows user to specify the tolerances values for individual variables in the tear block.
- Configuration -The fourth section allows user to specify the convergence method for individual variables in the tear block.
- Qi - This and subsequent tab pages, e.g. Qi.. and Sp, shows the properties of the inlet material.
- Qo - This and subsequent tab pages, e.g. Qo.. and Sp, shows the properties of the outlet material.
- TearAccumIn - This and subsequent tab pages, e.g. TearAccumIn.. and Sp, shows the properties of the Tear Accumulation in.
- TearAccumOut - This and subsequent tab pages, e.g. TearAccumOut.. and Sp, shows the properties of the Tear Accumulation out.
Tear Tab - Steady State
Tag (Long/Short) | Input / Calc | Description |
Tag | Display | This name of the Tear Block |
Tear Block | ||
Tear.Summary | Display | Tears. This is the Access Window that will display the Tear block summary data. Click on the magnifying glass symbol to the right of the field to access it. |
Tear.GlobalSettings | Display | GlobalTear. This is the Access Window that will display the Tear block Global settings. Click on the magnifying glass symbol to the right of the field to access it. |
Tear.ConvergeType / Tear.CvgType | Display | Convergence Type for the Tear - Pipe recycle or FlashTrain. Available from Build 139. |
Tear.Active | Display | Returns the active state of the Tear block. 1 = Active; 0 = Inactive. |
Tear.Flange | Display | The associated Flange Tag name for a Pipe Recycle. Only visible for Pipe Recycle tear block. |
Tear.Source1.Active / Tear.Src1.Active | Display | Shows the Source of the Tear Stream, and whether it is active. 1 = Active; 0 = Inactive. |
Tear.Source1.Tag / Tear.Src1.Tag | Display | Shows the Source of the Tear Stream. |
Tear.Destination1.Active /Tear.Dst1.Active | Display | Shows the Destination of the Tear Stream, and whether it is active. 1 = Active; 0 = Inactive. |
Tear.Destination1.Tag / Tear.Dst1.Tag | Display | Shows the Destination of the Tear Stream |
Tear... | ||
Variables | ||
Converged.Portion | Display | Displays if all variables in the tear block has converged. This is calculated as number of converged variables / total number of variables in the tear block. |
Variables.Converged / Vars.Converged | Display | Displays the number of variables in the tear block that have converged. If the tear is converged, this will be equal to the Variables.InUse. |
Variables.InUse / Vars.InUse | Display | Displays the number of variables in the tear block that need to be converged for the tear block to be converged. This is will be less than or equal to Variables.Count. |
Variables.Count / Vars.Count | Display | Displays the total number of variables in the tear block which may need to be converged for the tear block to be converged. |
Variables.ToConverge / Vars.ToConverge | Display | Displays the number of variables in the tear block yet to converge. This will be the difference between Variables.InUse and Variables.Converged. If the tear is converged then this will be equal to zero. |
WorstTag | Display | The name variable in the tear block that carries the worst error. |
WorstValue | Display | The value of the variable in the tear block that carries the worst error. The units are SI units for the WorstTag shown (e.g. K for temperature, kg/s for species mass flow). |
WorstDiff | Display | The delta change value of the variable in the tear block that carries the worst error. The units are SI units for the WorstTag shown. |
WorstError | Display | The error percentage of the variable in the tear block that carries the worst error. This error value is the Normalised Relative Error as a percentage. When this value is less than 100% then the Tear is considered converged for the given tear settings and Tolerance Testing. |
Convergence | ||
State | Display | Displays the state of the Tear block. Possible states are: InActive, Busy (i.e. NotConverged), Converged, NoFlow. |
Converged | Display | Displays the state of the Tear Block in terms of convergence. Result will be 1=Yes or 0=No. |
NoFlow | Display | Displays the state of the Tear Block in terms of flow. Result will be 1=Yes or 0=No. |
Current.Good.Iters | Display | The number of consecutive iterations the solver has performed with the tear block converged. |
Total.Iterations | Display | The total number of iterations the solver has performed with the tear block in use. |
Tear Tab - Dynamic
Tag (Long/Short) | Input / Calc | Description |
Tag | Display | This name of the Tear Block |
Tear Block | ||
Tear.Summary | Display | Tears. This is the Access Window that will display the Tear block summary data. Click on the magnifying glass symbol to the right of the field to access it. |
Tear.GlobalSettings | Display | GlobalTear. This is the Access Window that will display the Tear block Global settings. Click on the magnifying glass symbol to the right of the field to access it. |
Tear.Active | Display | Returns the active state of the Tear block. 1 = Active; 0 = Inactive. |
Tear.Flange | Display | The associated Flange Tag name for a Pipe Recycle. |
Tear.Source1.Active / Tear.Src1.Active | Display | Shows the Source of the Tear Stream, and whether it is active. 1 = Active; 0 = Inactive. |
Tear.Source1.Tag / Tear.Src1.Tag | Display | Shows the Source of the Tear Stream. |
Tear.Destination1.Active /Tear.Dst1.Active | Display | Shows the Destination of the Tear Stream, and whether it is active. 1 = Active; 0 = Inactive. |
Tear.Destination1.Tag / Tear.Dst1.Tag | Display | Shows the Destination of the Tear Stream |
Tear... | ||
Variables (Current Step) | ||
Converged.Portion | Display | Displays if all variables in the tear block has converged. This is calculated as number of converged variables / total number of variables in the tear block. |
Variables.Converged / Vars.Converged | Display | Displays the number of variables in the tear block that have converged. If the tear is converged, this will be equal to the Variables.InUse. |
Variables.InUse / Vars.InUse | Display | Displays the number of variables in the tear block that need to be converged for the tear block to be converged. This is will be less than or equal to Variables.Count. |
Variables.Count / Vars.Count | Display | Displays the total number of variables in the tear block which may need to be converged for the tear block to be converged. |
Variables.ToConverge / Vars.ToConverge | Display | Displays the number of variables in the tear block yet to converge. This will be the difference between Variables.InUse and Variables.Converged. If the tear is converged then this will be equal to zero. |
WorstTag | Display | The name variable in the tear block that carries the worst error. |
WorstValue | Display | The value of the variable in the tear block that carries the worst error. The units are SI units for the WorstTag shown (e.g. K for temperature, kg/s for species mass flow). |
WorstDiff | Display | The delta change value of the variable in the tear block that carries the worst error. The units are SI units for the WorstTag shown. |
WorstError | Display | The error percentage of the variable in the tear block that carries the worst error. This error value is the Normalised Relative Error as a percentage. When this value is less than 100% then the Tear is considered converged for the given tear settings and Tolerance Testing. |
LargestMeasRatio | Display | |
Convergence (Current Step) | ||
State | Display | Displays the state of the Tear block. Possible states are: InActive, NotConverged, Converged, NoFlow. |
Converged | Display | Displays the state of the Tear Block in terms of convergence. Result will be 1=Yes or 0=No. |
NoFlow | Display | Displays the state of the Tear Block in terms of flow. Result will be 1=Yes or 0=No. |
Current.Good.Iters | Display | The number of consecutive iterations the solver has performed with the tear block converged. |
HasActiveFlow | Display | Displays the state of the Tear Block in terms of "has non-zero flow into flange". Result will be 1=Yes or 0=No. |
HasAccumMass | Display | Displays the state of the Tear Block in terms of "has accumulated mass that needs to be recovered". Result will be 1=Yes or 0=No. |
Step.Iterations | Display | Displays the number of iterations for current step. |
Step.Iterations.Busy | Display | Displays the number of iterations not converged in current step. |
Step.Iterations.Reqd | Display | Displays the number of iterations required to reach convergence in current step. |
Step.Iterations.Good | Display | Displays the number of iterations tear is converged in current step. |
Convergence (Overall) | ||
Steps | Display | Total number of steps |
Steps.Good | Display | Total number of good steps |
Steps.Good.Current | Display | Current run of good steps |
Steps.Good.Maximum | Display | Maximum run of good steps since start |
Steps.Bad | Display | Total number of bad steps |
Steps.Bad.Current | Display | Current run of bad steps |
Steps.Bad.Maximum | Display | Maximum run of bad steps since start |
Iterations | Display | Total number of iterations |
Iterations.Reqd | Display | Total number of iterations required to reach convergence |
Difficult Steps | ||
Worst.Step | Display | Step number of the worst (most iterations) step executed |
Worst.Step.Iters | Display | Number of required iterations during Worst.Step |
First.Bad.Step | Display | Step number of first bad step |
Last.Bad.Step | Display | Step number of last bad step |
Balance | ||
Accum.Mass / Accum.Mt | Display | Displays the accumulated mass in the tear block. |
Accum.Energy / Accum.Hf | Display | Displays the accumulated energy in the tear block. |
Accum.Mass.Balance | Display | Displays the state of accumulated mass in the tear block. Result will be 1=Yes or 0=No. |
Accum.Energy.Balance | Display | Displays the state of accumulated energy in the tear block. Result will be 1=Yes or 0=No. |
Recovery settings used in THIS Tear | ||
Recovery.Method | Off | Would not apply correction for the accumulated mass or energy. |
Standard | Applies correction for the accumulated mass or energy. | |
Recovery.Rate (%) | Display | Correction as a Fraction of accumulated error per Step |
Recovery.MaxRelCorrFlow (%) | Display | Maximum Correction Relative to Flow |
Recovery.MaxTempDiff (C) | Display | Maximum Relative Correction per Step |
Settings Tab
Tag | Input / Calc | Description |
Tear Block | ||
Tear.Summary | Display | Tears. This is the Access Window that will display the Tear block summary data. Click on the magnifying glass symbol to the right of the field to access it. |
Tear.GlobalSettings | Display | GlobalTear. This is the Access Window that will display the Tear block Global settings. Click on the magnifying glass symbol to the right of the field to access it. |
Tear.Active | Display | Returns the state of the Tear block. 1 = Active; 0 = Inactive. |
Tear.SourceTag / SrcTag | Display | The tag of the source unit. |
Tear.DestinationTag / DstTag | Display | The tag of the destination unit. |
Priority | First | Force the stream order to be first in the solver network. |
Normal | SysCAD determines the priority of the stream in the solver network and whether the stream should include a Tear and its solving order. | |
Last | Force the stream order to be last in the solver network. | |
ReqdType | TearIfReqd | ("NoTear" prior to Build 139.33098.) No manual tear is required. A may be created if required by the solver. |
ManualTear | This will force SysCAD to prioritise setting this as a Tear. This option is for when the user wants to influence the location of the tear stream in a recycle. The existing system-selected tear stream in the recycle loop will be reset to have no tear. It is also possible to create more tears than are required. In some flowsheets, with some arrangement of controllers, it can be possible to reduce the number of iterations required to converge to a solution and/or reduce instability while converging. | |
Type | NoTear | Not currently a tear. |
SystemTear | SysCAD has analysed the network and placed this Tear because it is part of a recycle loop and is the most efficient stream to tear. | |
ManualTear | The user has manually set this stream as a Tear stream. | |
Tear values used in THIS Tear -- OR -- Tear values used in THIS Tear unless overridden in individual variables | ||
Tear... | ||
Convergence Tolerance (Refer to Tolerance Testing for more information.) | ||
Tol.SigDigits | Input / Display | Sets the Tear Relative Tolerance, Tol.SigDigits = -log(Tol.Rel). For Example, if this value is 5, then the Tol.Rel = 10^(-5) = 1.00e-5. This value is linked to Tol.Rel. User only needs to set one of these two values. Caution: If selecting Maximum or Minimum for Tol.Strategy then override value here may not be used if it is lower or higher (depending on Maximum or Minimum selection) then global value. |
Tol.Rel | Input / Display | Sets the Tear Relative Tolerance, Tol.Rel = 10^(-Tol.SigDigits). For Example, if this value is 3.16e-5, then the Tol.SigDigits = -log(3.16e-5) = 4.5. This value is linked to Tol.SigDigits. User only needs to set one of these two values. Caution: If selecting Maximum or Minimum for Tol.Strategy then override value here may not be used if it is lower or higher (depending on Maximum or Minimum selection) then global value. |
Tol.Abs | Input | Sets the Global Tear Absolute Tolerance. Caution: If selecting Maximum or Minimum for Tol.Strategy then override value here may not be used if it is lower or higher (depending on Maximum or Minimum selection) then global value. |
Tol.Strategy | Sets the method for selecting which Tolerance value to use for variables in this Tear. For any variable in a Tear there are 3 possible values for a tolerance that can be used:
When deciding which value to use for either the Rel or Abs tolerance for any variable the values above are used as follows (i.e. depending on Strategy selected): | |
Maximum | All 3 are checked and the maximum value is used. | |
Minimum | All 3 are checked and the minimum value is used. | |
Priority | The are searched in the order above and the first valid value is used. | |
Tolerance Management | ||
Tol.UsingDefaults | Display | If using the default Global Tear tolerance settings, the box will be ticked. If the user defined Convergence Tolerance differs from the global tear values, it will be unticked. |
Tol.ResetToDefaults | Reset Tear Tolerance | Resets the Tear Tolerance to use the Global Tear Values. |
Tol.Vars.Override | Tickbox | If this is selected, two extra columns (Tol.Rel and Tol.Abs) will appear on the Convergence Tab. This allows the user to set different tolerance values to different compounds in the tear stream. |
Tol.Vars.UsingDefaults | Display | If this box is ticked, it indicates all the compounds on the "Convergence Tab" are using the same values as specified in the settings tab. |
Tol.Vars.SetAll | Button | This button is visible when "Tol.Vars.Override" is selected. It can be used to reset all the tear variables (convergence tab) and replace them with values specified in the Convergence Tolerance group (Settings tab). This will overwrite any individual values entered on the Convergence Tab. |
Tear Settings (Refer to Convergence Methods for detailed information on these fields.) | ||
Method | Direct | Please see Direct Substitution Method |
Adaptive | Please see Adaptive Direct Substitution Method | |
Hold | List Box | Place a hold on the Tear block (keep output values the same). Options are: Yes, No. |
ShowOutofUse | Tickbox | |
Damping | ||
Damp.AsGroup | List Box | Only visible if Method=Adaptive. (1) No; (2) Yes |
Damp.UnStick | List Box | Only visible if Method=Adaptive. (1) No; (2) Yes. For more information, see Convergence Methods - Unsticking the solution |
Damp.Minimum | Input | The minimum damping factor for the tear block if it is damped as a group. Normally the factor will be determined and changed by SysCAD, users do not need to set this number. |
Damp.Growth | Input | Only relevant for Method=Direct or Adaptive. |
Damp.Decay | Input | Only relevant for Method=Direct or Adaptive. |
Zero Approach See Convergence Methods - Zero Approach | ||
ZeroApp.Apply | List Box | Only visible if Method=Adaptive. (1) No; (2) Yes. If this is set to Yes (default), then as the tear block approaches zero flow, the adaptive method can be switched off to use the direct method. |
ZeroApp.Limit | Input | Only visible if Method=Adaptive. If the largest ZeroApp.Measure for a Tear is < 1.0 and WorstError < ZeroApp.Limit then the tear is advanced using direct substitution instead of adaptive. |
ZeroApp.Measure | Display | Only visible if Method=Adaptive. The maximum value of ZeroApp.Measure for all variables in the tear block. ZeroApp.Measure for each variable (only applicable to species mass flows) = Measval (kg/s) / AbsTol. |
Setting Management | ||
Settings.UsingDefaults | Display | If using the default Global Tear tolerance settings, the box will be ticked. If the user defined Convergence Tolerance differs from the global tear values, it will be unticked. |
Settings.ResetToDefaults | Reset Tear Tolerance | Resets the Tear Tolerance to use the Global Tear Values. |
Settings.Vars.Override | Tickbox | If this is selected, three extra columns (Hold, Method, minDamping) will appear on the Configuration Tab. This allows the user to set different methods to different compounds in the tear stream. |
Settings.Vars.UsingDefaults | Display | If this box is ticked, it indicates all the compounds on the "Configuration Tab" are using the same method as specified in the settings tab. |
Settings.Vars.SetAll | Button | This button is visible when "Settings.Vars.Override" is selected. It can be used to reset all the tear variables (Configuration tab) and replace them with values specified in the Tear Setting group (Settings tab). This will overwrite any individual values entered on the Configuration Tab. |
Tear Initilisation (Only for Manual Tears) Usable if variable "ReqdType" is set to "ManualTear". The initial values are specified on the Configuration Tab. | ||
ManTear.Init.How | Clear | The initalial values will be cleared after the manual tear initialisation step, based on ManTear.Init.When. |
Hold.Initial | Hold the initial values for the required number of iterations, based on values specified in ManTear.Init.Count | |
Rampfrom.Initial | The initial values will be ramped up for the required number of iterations, based on values specified in ManTear.Init.Count | |
ManTear.Init.When | Oninitialise | manual tear initialisation will occur on project initialisation step. |
Onstart | manual tear initialisation will occur on project start. | |
OnDemand | manual tear initialisation will occur on demand - manually pressing the "ManTear.Init.Start" (Start Initilisation) button . | |
ManTear.Init.Count | Input | Holds the initial values for the required amount of iterations, used when "ManTear.Init.How" is set to "Hold.Initial" or "Rampfrom.Initial". |
ManTear.Init.Iters | Display | The remaining number of initialisation iterations to be completed. |
ManTear.Init.State | Display | If this is ticked, it indicates the Tear is being initialised. |
ManTear.Init.Start | Button | manually initialise the tear block. |
Convergence Tab
Variable | Display | This column lists all the Tear variables, this includes Temperature, Pressure and mass flows of all the species. |
Notes:
| ||
Input | Display | The value in the tear block |
Error | Display | Error calculated using formula described in Tolerance Testing. If this value is <1.0 then the variable is converged. |
Good | Display | Is the variable currently converged. |
Used | Display | Is the variable currently in use (non-zero). |
Count | Display | Consecutive iteration count for which the variable has been converged. |
Damping | Display | The damping applied. |
Tol.Rel | Input | Only visible if "Tol.Vars.Override" is ticked on Settings Tab. The Relative Tolerance required for the individual variable. |
Tol.Abs | Input | Only visible if "Tol.Vars.Override" is ticked on Settings Tab. The Absolute Tolerance required for the individual variable. |
Variables Tolerance Management | ||
Tol.Vars.Override | Tickbox | If this is selected, two extra columns (Tol.Rel and Tol.Abs) will appear. This allows the user to set different tolerance values to different compounds in the tear stream. |
Tol.Vars.UsingDefaults | Display | If this box is ticked, it indicates all the compounds on the "Convergence Tab" are using the same values as specified in the settings tab. |
Tol.Vars.SetAll | Button | This button is visible when "Tol.Vars.Override" is selected. It can be used to reset all the tear variables (convergence tab) and replace them with values specified in the Convergence Tolerance group (Settings tab). This will overwrite any individual values entered on the Convergence Tab. |
Configuration Tab
Variable | Display | Variable name |
Input | Display | The input value. |
NextOutput | Display | Only visible in Dynamic projects. The next output value. |
Output | Display | The output value. |
InitValue | Input | Only visible if this is a Manual Tear. Allows user specified initialisation value. |
Hold | Input | Only visible if the "Settings.Vars.Override" is ticked. Hold option for variable. Options are Yes or No. |
Method | Input | Only visible if the "Settings.Vars.Override" is ticked. Method used for convergence. Options are: Direct, Adaptive. |
MinDamping | Input | Only visible if the "Settings.Vars.Override" is ticked. Minimum Damping for the Tear loop. |
Variables Settings Management | ||
Settings.Vars.Override | Tickbox | If this is selected, three extra columns (Hold, Method and MinDamping) will appear. This allows the user to set different tolerance settings to different compounds in the tear stream. |
Settings.Vars.UsingDefaults | Display | If this box is ticked, it indicates all the compounds are using the same settings as specified in the settings tab. |
Tol.Vars.SetAll | Button | This button is visible when "Tol.Vars.Override" is selected. It can be used to reset all the tear variables (convergence tab) and replace them with values specified in the Convergence Tolerance group (Settings tab). This will overwrite any individual values entered on the Convergence Tab. |