Dynamics - Metso – Expect results

Dynamics Add-On
User’s Manual
For
WinGEMS 5.3
Pacific Simulation
121 Sweet Ave, Moscow, ID 83843 USA
T: +1 208 882-0322 F: +1 208 882-8143
1. Dynamics
1.1.
Introduction
An optional feature of WinGEMS is the ability to simulate the transient response of a model with
respect to time. The key dynamic blocks, TANK and PLUGF are used to model a perfectly mixed tank
and a plug flow vessel, respectively. Nearly all other WinGEMS blocks function the same in both
dynamics mode and steady state mode.
1.2.
Dynamic Theory
Dynamic mathematical models of processes include an accumulation term, as shown in the equations
below. The TANK and PLUGF blocks in WinGEMS are specifically designed to account for this term.
In steady state models, the accumulation term goes to zero.
1.2.1.1. Conservation of Mass
(Rate of mass accumulation) = (Rate of mass in) – (Rate of mass out)
d (V )
 wi  w
dt
1.2.1.2. Conservation of Energy
(Rate of energy accumulation) = (Rate of energy in) – (Rate of energy out) + (net rate of heat addition
to the system from surroundings)
V
dT
 wi C p (Ti  Tref )  wC p (T  Tref )  Q
dt
1.2.1.3. Solving Dynamic Models
There are two methods for solving dynamic mathematical models: explicit solution of the ordinary
differential equations and numerical approximation. For complicated systems involving multiple
differential equations, explicit solutions are difficult at best. Numerical approximations are an
extremely powerful tool for modeling transient behavior.
WinGEMS uses numerical approximation to model transient behavior in a process. There are two
methods of numerical approximation: simultaneous and sequential. WinGEMS performs sequential
numerical approximations to model transient behavior.
1.2.2.
Dynamics vs. Steady State
1.2.2.1. Steady state simulation
A dynamic simulation usually begins with a good steady state simulation and is useful as a steady state
simulation. Dynamic simulations are run to a steady state converged solution before a transition to
dynamics mode.
1.2.2.2. When are dynamic models useful?





Batch systems (Steady state batch systems are useful, however time averaged batch => steady state)
Storage analysis
Short time periods
Developing control strategies
Tracking component flow through a system
1.2.2.3. When are steady state models useful?




1.3.
Economic studies
Feasibility studies
Long time periods
Capital planning and de-bottlenecking
Dynamic Blocks
A dynamic simulation will execute the same as a steady-state simulation if there are no dynamic blocks.
There are three blocks unique to dynamic simulation: PLUGF, TANK, and PID. The WAIT block has
unique features for dynamics, but may also be used in steady state. Some blocks that function in both
the dynamics and steady state modes are particularly useful in dynamic simulations: INDICATOR,
GRAPH, and SLIDER. These blocks allow the user to easily interface with a dynamics simulation and
view the results of disturbances or controller set point changes while the simulation is running.
The two key dynamic blocks, TANK and PLUGF, have much in common. Both blocks have capacity,
a current volume, and output a level. Both blocks have similar block options:
1. Perfectly controlled level (option 1). The flow out of TANK or PLUGF is set equal to the flow in, so
that the volume always remains constant.
2. User controlled (option 2). The user specifies the flow out of the tank typically using computed
parameters or controllers. Using this option it is possible for the vessels to go empty or overflow.
1.3.1.1. PLUGF Block
PLUGF stands for Plug flow. In a Plug flow block, the first mass into the tank is the first mass out of
the tank. Each element (or plug) of mass moves through the plug flow block without mixing with the
plug on either side. The user must define the number of plugs (termed slugs in the block dialog box)
that are used in calculation; the default is 10. The number of slugs selected to represent the volume of
the vessel is important. The output response from the block will more closely represent perfect plug
flow behavior if more slugs are used. A maximum of 200 slugs may be used in a single project.
1.3.1.2. TANK Block
The TANK block models a perfectly mixed tank. Any mass into the tank is perfectly mixed
instantaneously with the entire tank contents. Consequently, the temperature and composition of the
flow out at a given time is the same as the tank contents.
1.3.1.3. Combining TANK and PLUGF
No vessel exhibits perfect plug flow or perfectly mixed behavior. A more accurate model may be
implemented by using both PLUGF and TANK in series. Each block takes up a portion of the total tank
volume. It is often convenient to use a compound block for this modeling technique.
1.3.1.4.
PID
The PID block provides Proportional, Integral, and Derivative control to dynamic simulations. Tuning
constants as well as a set point, monitored variable, and controlled variable are entered into this block to
model process controllers and their effects.
1.3.1.5.
Wait block
The WAIT block creates a delay in the simulation. Using Option 1 in the WAIT block, a delay can be
created between the calculation of two blocks. The WAIT block can be inserted in the calculation order
where the delay is desired. Option 2 allows for a fixed delay in every iteration. This allows for the
simulation of real time on fast computers.
1.3.1.6.
Indicators
These blocks are available in both steady state and dynamics, but are very important to dynamic
simulations. Indicators show the instantaneous value of a model parameter and can be used to monitor
the behavior of that parameter in response to a disturbance or change in controller set point.
1.3.1.7.
Graphs
Graphs can also be used to monitor the behavior of a model parameter and are useful for showing the
time-lapse response of a parameter to a disturbance or change in controller set point.
1.3.1.8.
Sliders
Sliders can be used to change model parameters “on the fly”. This is useful for introducing a
disturbance, turning a controller on or off, tuning a controller, or changing the set point of a controller.
1.4.
Dynamic Scripts
Dynamic simulations require that the user make additions to the default WinGEMS scripts. The scripts
set up the length and the fidelity of the simulation.
1.4.1. Repeat loops
Each dynamic simulation should begin with the convergence of a steady-state solution. Use a repeat
until converged loop, or read in a steady-state solution from a current value file. The dynamic repeat
loop, repeat with time, follows the steady state repeat loop. The repeat with time script requires that the
total simulation time and time step be specified.
The total simulation time is the length of time to be simulated once WinGEMS is in Dynamics mode.
The maximum simulation time is about 594 hours.
The time step is the interval at which the values in the simulation are calculated. The time step is an
important factor in determining the accuracy of a dynamic simulation. The time step in a dynamic
simulation should be at most one third of the residence time of the smallest vessel in the project. A
smaller time step will increase the accuracy of the simulation. The trade off is the smaller the time step
the more iterations the simulation will run. A good way to determine if the time step is small enough is
to reduce it by an order of magnitude. Then, run the dynamic simulation again and compare the results
to the previous run. If they are the same, the previous time step is valid. If not, repeat the process until
an appropriate time step is found. The minimum time step in WinGEMS is 0.1 seconds.
1.4.2. Time tags
Time tags allow a script to be called only once at a particular simulation time.
See also section [4.09.3F] in the WinGEMS user’s manual.
1.4.3. Using “offset” to write data out to Excel
Data can be sent to, or retrieved from, Excel spreadsheets using the offset keyword with a read or write
script to increment the cell to which the parameter is written down one row.
Reads in a column of values to an input stream
Read S10:flow offset from XL::[MILL.XLS]Sheet1!B2
See also section [5.5.1B] in the WinGEMS user’s manual.
1.5.
Disturbances
Disturbances may be introduced into a project using a variety of techniques.
1.5.1. Set command
One useful script command to use in dynamics is the set command. This sets a block parameter or
stream component to a designated value. In dynamics, the set command may be programmed to act at a
particular time.
See also “Set Command [4.09.4D]” in the WinGEMS user’s manual.
1.5.2. Slider blocks
Another way to introduce a disturbance is to use a slider block. A parameter in the model may be
referenced to the slider block, allowing this value to be changed “on the fly”.
1.5.3. Read values from Excel
Disturbance values could also be read in from Excel spreadsheets at a particular time in the simulation.
This is accomplished using a read script with a time tag.
1.5.4. User intervention via block or stream dialog
A stream or block value may be changed while the simulation is running by opening the dialog box of
the desired stream or block object and manually typing the new value into the appropriate field in the
initial values tab of the block dialog box.
1.6.
Calculation Order
Steady state simulations converge faster with proper calculation order. A proper calculation order is
crucial to dynamic simulations as well! In most cases, use the same calculation order for the both steady
state and dynamic portions of the simulation. As a rule, it is best to calculate blocks in the same order as
pulp or another primary stream encounters them.
1.7.
Real-time Dynamics
In real-time dynamics, each iteration takes exactly the same time as the dynamic time step. This is often
used for advanced application such as trainers. “Real time” dynamics is accomplished using the WAIT
block. The use of this feature is limited by computer speed. For example, a large simulation running on
a PC with a 20-megahertz processor may already run slower than “real time” without a WAIT block.
2. Dynamic Examples Summaries
(For details, see the Examples Section of the WinGEMS Manual.)
2.1.
Step change into a perfectly mixed tank
This is a small example demonstrating the outlet concentration response to an inlet concentration step
change in a perfectly mixed tank. The model is run to steady state convergence with a dissolved solids
d (V )
 wi  w
dt
inlet concentration of zero, and then, dynamic mode begins with a time step of 1 minute. The dissolved
solids concentration is set to 100% at the start of dynamics mode using a set command in the scripts.
The simulation is run for a length of 480 minutes. The response data, along with the simulation time, is
written out to Excel every iteration using a write script with the offset command. These data are then
compared with the response predicted by the solved differential equation describing the process, which
appears below. Both sets of data appear in a graph in the Excel sheet.
See the file CSTR.wg.
2.2.
Three perfectly mixed tank in series
This is an example of three perfectly mixed tanks in series. The temperature of the inlet to the first tank
is varied and the temperature responses are graphed versus time. The tanks are held at constant level.
The model is first run to steady state convergence to initialize the streams and tanks. Then it is run in
dynamic mode for the equivalent of 3 hours. The time step is 1 minute. After 10 minutes in dynamic
mode, the inlet temperature is dropped from 100 °C to 80 °C. The graph block is used to display the
results.
See the file MIXEDTANK.wg.
2.3.
A more complicated example
The steam injection heater consists of a tank with a water inlet and a constant overflow outlet. This
ensures the volume of water in the tank is constant. Steam is injected into the tank and is used to control
the outlet temperature. The tank is well mixed. The tank is represented by the STHEATER block,
which is a compound block consisting of a MIX block and a TANK block. To see the contents of the
STHEATER block, double click the block while holding the ‘Alt’ key. The model is first run to steady
state convergence, and then dynamic mode begins with a time step of 10 seconds. After 5 minutes in
dynamic mode, the steam input is increased by 1 pound per minute using a set command in the scripts.
The GRAPH block displays the outlet temperature response to the steam input increase. The WAIT
block is used to ensure the simulation runs at a reasonable speed for viewing the response.
See the file SteamInj.wg.
2.4.
A Paper Machine Dynamic Example
The project file DYN_DEMO.WG illustrates how a dynamic simulation is constructed. The example
project is set up to pass values to an Excel spreadsheet. Both the example project and the spreadsheet
will be located in the “examples” sub-directory of the directory where WinGEMS is installed. Open the
spreadsheet entitled DYN_DEMO.XLS in Excel, and then open and run DYN_DEMO.WG in WinGEMS.
2.4.1. The process
DYN_DEMO.WG represents a paper machine with several large, well-mixed tanks. During start-up, broke
is recycled to one of two places in the wet-end feed. The goal of this simulation is to examine the effect of
the two possible recycle routes on the amount of time it takes the system to reach equilibrium when dye is
added to the pulp.
2.4.2. Running the simulation
The program first solves for steady state flow rates, and then begins the first dynamic case as a jet of dye is
injected into the system. The current phase of the simulation is reported in the lower left-hand corner of the
diagram. Dye concentrations in a recycled pulp stream are reported on the screen and sent to the
spreadsheet. The model then re-solves for steady state values and begins a second dynamic case with the
diluted, recycled pulp redirected through an additional tank.
2.4.3. Script Structure
The steady state solution, dynamic cases, and data exchange with Excel are all set up in the execution
scripts, which can be examined by selecting Scripts... from the Diagram pull-down menu. The script
marked with the double greater-than and less-than symbols is the top-level script, in this case <<Master
Script>>, and calls the other scripts to be executed. Double click on Master Script or click Open to
examine it.
Dynamic Example – Concentration Step Change to a Mixed
Tank
Outlet Concentration Response to a Inlet Concentration Step Increase (TANK,
SLIDER, GRAPH)
Example Description
This is an example demonstrating the outlet concentration response to an inlet concentration step
change in a perfectly mixed tank. The model is run to steady state convergence with a dissolved
solids inlet concentration of zero, and then, dynamic mode begins with a time step of 1 minute.
The dissolved solids concentration is set to 100% at the start of dynamics mode using a set
command in the scripts. The simulation is run for a length of 480 minutes. The response data,
along with the simulation time, are written out to an Excel spreadsheet every iteration using a write
script with the offset command. These data are then compared with the response predicted by the
solved differential equation describing the process, which appears below. Both sets of data appear
in a graph in the Excel sheet.
t


C A,out (t )  C A,in 1  e





This equation holds assuming that the inlet concentration and density are constant. The two
responses vary by less than 1%, and the variation grows smaller as the simulation progresses.
In the simulation, the GRAPH block displays the outlet concentration response curve, and the
SLIDER block displays the inlet concentration. In this simulation, the slider block conveys
information rather than acting as a method for changing simulation parameters.
See the file CSTR.wg.
Block Description
Block
Number
1
Block
Type
TANK
Description
Perfectly controller to a constant level of 100% with a
capacity of 5000 gallons.
2
GRAPH
Displays the outlet concentration of the tank versus time.
3
SLIDER
Displays the concentration of the inlet stream.
Input Stream Description
Stream
Number
1
Description
10 gallons per minute of liquor at 0% consistency with zero dissolved solids initially.
The dissolved solids concentration is changed to 100% at the start of dynamics mode.
Simulation Results
The first order concentration increase in the tank outlet stream varies by less than 1 percent from
the solved ordinary differential equation predicted response. The results can be viewed in the
Excel file where WinGEMS writes the response data. The two response curves on the graph are
nearly indistinguishable.
100% diss. solids
_____________________
_____________
Dissolved Solids Input
Control/Indicator
This example shows the outlet dissolved solids concentration response of
a perfectly mixed tank to a step increase in inlet dissolved solids concentration.
The model runs to a steady state solution. Then dynamics mode begins and
the dissolved wood solids concentration of the input stream is set to 100%.
This is done using a set command in the script to change the SLIDER block
value, which is referenced in the input stream. A write command in the script
is also used to write out the simulation time and outlet concentration to Excel
where the simulation response data is compared to the prediction of the
solved differential equation. The variation is less than 1%.
S
Dissolved Solids = 100
Dissolved Solids = 99.3
1
2
Dissolved Solids vs. Time
100.00
Concentration Step Change Example
Created by:
Loren Euhus
Updated by:
Devin Cole
6/10/99
1187 Alturas Dr.
Moscow, ID 83843
Office: 208-882-0322
Web: www.pacsim.com
Pacific Simulatoin
0.00
0
500
DYNAMIC EXAMPLE - MIXED TANK
Perfectly Mixed Tanks in Series (TANK, GRAPH)
Example Description
This is an example of three perfectly mixed tanks in series. The temperature of the inlet to the
first tank is varied and the temperature responses are graphed versus time. The tanks are held at
constant level. The model is first run to steady state convergence to initialize the streams and
tanks. Then it is run in dynamic mode for the equivalent of 3 hours. The time step is 1 minute.
After 10 minutes in dynamic mode, the inlet temperature is dropped from 100 °C to 80 °C. The
graph block is used to display the results.
See the file MixedTank.wg.
Block Description
Block
Number
Block
Type
1
TANK
Perfectly controlled to constant level of 50%. Total tank
volume is 100 m3.
2
GRAPH
Graphs the temperature of streams into and out of the tanks.
3
TANK
Perfectly controlled to constant level of 50%. Total tank
volume is 100 m3.
4
TANK
Perfectly controlled to constant level of 50%. Total tank
volume is 100 m3.
Description
Input Stream Description
Stream
Number
1
Description
125 mt/hr of liquor and pulp at 10% consistency and 10% dissolved wood solids. It is
initially 100 °C. During the dynamic phase, the temperature is dropped to 80 °C.
Simulation Results
The model results show a first order response for the first tank. Three tanks in series show a
delayed response, which is a characteristic of plug flow. Adding more tanks to the series increases
the plug flow characteristic of the model, but it would never have the sharp step at the end of the
change, which would be seen with true plug flow due to the perfectly mixed nature of the tanks.
DYNAMIC EXAMPLE – STEAM INJECTION WATER HEATER
A perfectly mixed tank with steam injection heating. (STHEATER-Compound. Block,
STMIX, TANK, WAIT, GRAPH)
Example Description
The steam injection heater consists of a tank with a water inlet and a constant overflow outlet. This
ensures the volume of water in the tank is constant. Steam is injected into the tank and is used to control
the outlet temperature. The tank is well mixed. The tank is represented by the STHEATER block,
which is a compound block consisting of a MIX block and a TANK block. To see the contents of the
STHEATER block, double click the block while holding the ‘Alt’ key. The model is first run to steady
state convergence, and then dynamic mode begins with a time step of 10 seconds. After 5 minutes in
dynamic mode, the steam input is increased by 1 pound per minute using a set command in the scripts.
The GRAPH block displays the outlet temperature response to the steam input increase. The WAIT
block is used to ensure the simulation runs at a reasonable speed for viewing the response.
See the file SteamInj.wg.
Block Description
Toplevel Diagram
Block
Block
Number
1
2
Type
STHEATER
GRAPH
Description
Compound block containing a STMIX and a TANK block.
Displays the outlet temperature of the tank versus time.
3
WAIT
Creates a delay in each iteration to show the dynamic
response at a reasonable speed for viewing.
Diagram STHEATER1
Block
Block
Number
1
Type
STMIX
Description
Mixes a steam stream with a pulp/liquor stream.
2
TANK
Perfectly controlled level at 5.5 gallons. Total volume is 13.5
gallons.
Input Stream Description
Stream
Number
2
3
Description
15 pounds per minute of liquor at 0% consistency with no dissolved wood solids.
0.2 pounds per minute of steam at 66.4 psig. During the dynamic phase, the flow rate is
increased to 1.2 pounds per minute.
Simulation Results
The results show a first order increase in the outlet temperature. The outlet temperature response
for similar step changes in process variables in this model have been compared to the response
predicted by an ordinary differential equation solver. The process gains and characteristic times
varied by at most 4.4% and in all but 2 cases less than 1.5%. The final steady state conditions
predicted by WinGEMS varied by 0.3% or less.
Alternative Step Tests
The outlet temperature response for step changes in other process variables can be generated.
Other variables of interest might be the steam pressure, the inlet liquor flow, and the inlet liquor
temperature. These variables are potential process disturbances which effect the outlet temperature
and knowing their effect could be useful in developing a process control strategy.
WAIT
Wait3
3
212.00
Outlet Temperature = 153 °F
55.00
0
1000
1
15 lb total/min 1.8 gal total/min 68 °F
1
Temperature vs. Time
1
Steam: 1.2 lb/min / 66.4 psig / 313 °F
2
2
Steam Injection Heating Example
16.2 lb total/min 1.9 gal total/min 153 °F
1
2
3
Updated by:
Devin Cole
Date: 6/9/99
3
1187 Alturas Dr.
Moscow, ID 83843
Office: 208-882-0322
Web: www.pacsim.com
Pacific Simulation
DYNAMIC EXAMPLE - PM DYE
Paper Machine Dye Addition (DILUTE, EVAPS, GRAPH, MIX, REACT,
SPLIT, TANK)
Example Description
This example is a simplified version of a project examining the dynamic response of dye addition
on a paper machine. See PMDye.wg.
The model includes the major tanks and white water loops on the wet end of a paper machine.
Dye is added into the trim chest pump suction (1 gpm for 10 minutes). The dye concentration
coming off of the paper machine is graphed to show the system response to the dye addition.
There are two piping options for recycling the trim chest flow. In the default case the trim chest is
pumped back to the feed chest. The slider block allows the flow to be pumped directly to the
machine chest. It is also possible to split between the two tanks.
Simulation Results
When the trim chest stock and dye are pumped to the machine chest, the dye concentration spikes
high and then trails down to zero over time. When the trim chest stock and dye are pumped back
to the feed chest, the dye concentration has a much lower and rounded peak.
Simulation Alternatives
The basic model shows the system response to a batch addition of dye. But how long would it take
for the system to come to equilibrium with a constant dye addition?
By modifying the execution script, we can see how fast the dye concentration comes to
equilibrium. Modify the SET command which sets the dye flow from 1 to 0.2 to keep the dye
concentration on the graph. Also disable the SET command which shuts off the dye after 10
minutes. When the model is run the dye concentration increases quickly at first and then gradually
levels out. In this case, the dye concentration reaches 95% of the maximum value in about 10
hours when the trim chest is pumped to the machine chest. It takes about 15 hours to reach the
same level when pumping to the feed chest. In the latter case the additional tank in the loop
increases the time required to reach equilibrium.
What if we add a batch of dye and then follow it up with a steady flow? Modify the execution
script to inject dye at 0.3 gpm for 30 minutes, then drop to 0.12 gpm. The dye concentration
comes up quickly (30 min) to slightly above equilibrium, then sags down for about 4 hours before
gradually increasing to the equilibrium value. Depending on the quality specs, this might be good
enough. If not, the model could evaluate a stepped flow arrangement such as 0.3 gpm for 30
minutes, then 0.14 gpm for 3 hours, then 0.12 gpm for 5 hours, etc. In this way, an acceptable
policy could be developed to add dye to the paper machine while maintaining quality standards
throughout the process.
Another possible scenario would be to recycle the sheet off the couch until the system reached
equilibrium. This would take some additional changes to the execution to change the flows at the
correct times.