Vous êtes sur la page 1sur 32

THE SEQUENTIAL MODULAR STRATEGY FOR STEADY-STATE PROCESS

SIMULATION

Once the D.O.F. for our flowsheet model have been satisfied, we must solve a
fully determined system of nonlinear algebraic equations:

f( y ) = 0
l≤y≤u

where y ∈ R n is the vector of unknown process variables to be solved for,


l , u ∈ R n are vectors of upper and lower bounds on the process variables (set by
physical criteria) and f : R n → R n .

Simultaneous solution of typically 100s - 100,000s of equations requires an


iterative process. The sequential modular strategy is one approach to solving this
problem especially tailored to the network structure of process flowsheets. It is
basically the technology of choice for steady-state process simulation.

PARTITIONING AND PRECEDENCE ORDERING FLOWSHEETS

Is there some way to make the above problem easier? Will it help if can we
break it into a sequence of smaller problems? We have already seen that the
ideas of partitioning and precedence ordering facilitate this.

Motivations:

a) if computation time grows super linearly with problem size n then


solving a sequence of smaller problems is cheaper than solving one big
problem. For example, recall that Gaussian elimination is a cubic function
of the number of equations. If we can break the overall problem into two
subproblems:
3 3
 n  n
  +  < n
3
 2  2

and a lot less effort is expended in achieving a solution.

b) the resulting subproblems may be easier to solve - e.g., less nonlinear.

The sequential modular strategy expoits the topology (structure) of the


flowsheet to suggest a partitioning and precedence ordering. As noted above,
this is ideal for simulation studies on acyclic flowsheets.
Example: acyclic flowsheet:

A B C D

unit and operating parameters


Partitioning: each unit operation model corresponds to a subproblem (subset of
equations f( y ) = 0)

All subproblems are solved in the same way:

Specify values of variables in input streams to a unit operation and


the unit and operating parameters


Solve the unit operation model equations


To give values for the variables in the outlet streams

Subproblems may or may not require iterative solution of the unit model
equations - if iterative solution required, may be able to exploit specific physical
features of the subproblems.

Examples:

a) isothermal flash - problem can be reduced to an efficient iteration on a


single variable.

b) inside-out algorithms for rigorous distillation calculations - use idealized


physical properties in outer loop, inner loop provides parameters.

Precedence Ordering: assume:


a) values of all variables in feed streams to the process are known.

b) values of all the unit and operating parameters are known.

And then proceed in the sequence:

a) all inputs to A known - solve A for its outputs.

b) all input of B now known - solve B for its outputs

c) etc...until the whole flowsheet model is solved.

We have been successful in decomposing a large problems into a sequence of


smaller (easier) subproblems. In the early days of process simulation using
computers, engineers first wrote computer programs to simulate individual unit
operations. Next, they wanted to simulate entire flowsheets. Using the existing
unit operation programs and the above calculation sequence is the obvious way
to proceed.
SEQUENTIAL MODULAR PROCESS FLOWSHEETING PACKAGES - BASIC
STRUCTURE

Features:

a) process unit models precoded as subroutines and fixed, and a library


made available to the user.

b) stream structure fixed - e.g., Fi , T , P

c) solution procedures embedded in subroutines with unit model equations


(e.g., no decoupling of model and calculation procedure).

d) inputs and results of unit model calculations (directionality) fixed - given


inputs, solve for the outputs.

e) hence, sequential solution of units from feed stream(s) to product


stream(s).

Problems, what about:

i) recycle streams (material or information)

ii) downstream (design) specifications

in both cases, information flow is no longer unidirectional from feeds to


products, and the above precedence ordering breaks down. So our main focus
will be on how to deal with recycle streams and design specifications (which are
encountered in almost all real life problems).

SOLVING RECYCLE PROBLEMS

Consider a process with the following structure:

A B C D
1 2 3 5 6

This can be solved in the sequence:

a) solve unit A for stream 2 given feed to process (stream 1)


b) although stream 2 is now known, unit B cannot be solved unless both
streams 2 and 4 are known. Similarly unit C cannot be solved for stream
4 until stream 3 is calculated by solving unit B:

∴ units B and C must be solved simultaneously to determine streams 3,


4 and 5.

c) given stream 5, solve unit D for stream 6.

This leads to three problems in setting up and solving flowsheets with recycles:

i) which minimal subsets of the units need to be solved simultaneously


(partitioning)

ii) what is the correct order in which to solve these subsets of units
(precedence ordering).

iii) how to solve a subset of units simultaneously (tearing).

We have already discussed a general and efficient approach to the partitioning


and precedence ordering problem. We view the flowsheet as a digraph in which:

vertices ≡ unit operations


edges ≡ exist if information or material flows from one unit to
another. The direction of the flow gives the direction of
edge.

Delete feed and product streams. Example of directed graph:

A B C D
1 2 3 5 6

A B C D
2 3 5
SOLVING THE PARTITIONS - TEARING

The Sargent and Westerberg algorithm for partitioning and precedence ordering
gives us the following data:

a) a set of 'groups' of units

b) a correct computation sequence for these groups

Each group may:

a) contain a single unit - unit model subroutine already solves this problem

b) contain multiple units - partitioning guarantees that the members of this


group must be solved simultaneously

How do we solve these subsets of units simultaneously? Given a subset of units


connected in a cyclic graph:

S5

A B C
S1 S2 S3 S4

Tearing is an approach that advocates the following algorithm:

a) guess (tear) one of the streams in the cycle (e.g., S5).

b) perform one calculation pass through the flowsheet.

c) compare the calculated value of the torn stream with the guessed value,
and iterate until convergence.
If we choose to tear S5:

S5 S5'

A B C
S1 S2 S3 S4
Given S1 (from preceding partition or input to flowsheet):

1. Guess S5
2. Given S1 and S5, solve A for S2
3. Given S2, solve B for S3
4. Given S3, solve C for S4 and S5'
5. Given S5', update guess for S5
6. Repeat from step 2 until converged
(e.g., S5 = S5')

In general, if the torn stream makes the graph acyclic, the partitioning and
precedence ordering algorithm can be used to derive a unidirectional
computation sequence automatically.

This leads to two further problems:

a) how to select which stream(s) to tear in order to break the cycle(s) - e.g.,
how to derive the acyclic graph

b) how to update the guess for the torn stream(s) so that the iterative
process converges rapidly, and when to terminate the iterative process
CONVERGENCE ALGORITHMS

Given an acyclic graph:

A B C
S5 S2 S3 S5'

In a mathematical sense, S5' is a function of S5 only:

S5© = g(S5)

and at the converged solution S5 = S5'. Therefore, converging the torn flowsheet
is equivalent to the mathematical problem:

x − g( x ) = 0

where,

x = the set of stream variables in S5, a subset of the system variables


(x ⊂ y )
g( x ) = an implicit function evaluated by solving the sequence of unit
operation models. Note that we cannot derive the functional
form of this equation explicitly, the functions can only be
evaluated numerically by a flowsheet pass.

Remarks:

¥ we have reduced simultaneous solution of a large system of equations to


the simultaneous solution of a much smaller system of equations.

¥ we only have to derive good initial guesses for a small subset of the
variables (the tear stream variables) - rather than all the variables in the
flowsheet!

¥ only a small subset of the variables have to be stored in computer


memory at any time. This was an important issue in the early days, but it
is irrelevant these days.

The pages that follow discuss different strategies for converging these ÔtearÕ
equations.
SUCCESSIVE SUBSTITUTION

Idea: use last iteration to directly update torn stream (i.e., exploit the specific
functional form of the tear equations).

Iterative process:

( )
xk +1 = g xk (k = iteration number)

Note that this, and any other iterative process, is a difference equation, the
discrete analogue to a differential equation.

Advantages:

a) very simple to implement

b) requires very little computer storage

Disadvantages:

a) slow (linear) convergence. If the error at iteration k is defined as:

e = xk − x * (x* = the solution)

then

ek +1 ≤ α ek ( 0 < α < 1)

b) takes little account of the interaction between the different unknown


variables or between multiple tear streams - may not converge
flowsheets with many strongly interacting recycles.

c) very strict mathematical conditions for local convergence - define:

 ∂g1 ∂g1 
 ∂x K
∂xn 
 1 
M≡ M O M 
 ∂gn K
∂gn 
 ∂x1 ∂xn 

as the Jacobian matrix (matrix of partial derivatives of a vector of


functions) of g(x) with respect to x . If the eigenvalues of M are evaluated
at the solution x *:

{λ1 , λ2 ,K, λn }
The if:
max | λi |< 1 (spectral radius of M)
i=1Kn

and x 0 (the initial guess) is sufficiently close to the solution, the iterative
process will converge.

However, for reasons not entirely understood, empirical evidence


indicates that most flowsheets with a single tear stream seem to satisfy
these conditions.

Also known as: functional iteration, direct substitution.

ACCELERATED SUCCESSIVE SUBSTITUTION - OVERRELAXATION

Overrelaxation is a technique used to accelerate convergence of iterative


methods for the solution of linear equations (Strang, 1988).

Idea: apply overrelaxation factor to weight the current and previous iterates and
move closer to the solution in a single step:

x k + 1 * = qx k + (1 − q )x k + 1

When applied to successive substitution on nonlinear equations, the analogy is:

x k + 1 = qx k + (1 − q )g( x k )
If,

q=0 successive substitution


q<0 convergence acceleration
0<q<1 convergence stabilization by damping

However, it is difficult to choose a good value for q in advance - for example, the
Dominant Eigenvalue Method (DEM) monitors the residuals (or right hand sides)
( )
of the equations (i.e., the difference x k − g x k ) from one iteration to the next in
order to derive a value for q.

For the iteration to remain stable, a rough lower bound of q is -1 (if acceleration
is applied at each iteration). This corresponds to an acceleration factor of 2 at
best. To obtain acceleration and stability, DEM only applies acceleration every
few successive substitution iterations.
DECOUPLED vs COUPLED VARIABLES

In flowsheeting problems, the iterate variables are neither all strongly coupled,
nor all decoupled:

a) all species weakly coupled through VLE (if nonideal).

b) species strongly coupled if they participate in a reaction.

c) with more than one tear stream, strong coupling between the flowrate of
a chemical species in each tear stream.

If variables are uncoupled or weakly coupled, a single acceleration parameter for


the whole set of variables is not sufficient, one is needed for each variable.

WEGSTEIN'S METHOD

Idea: treat each variable with the one dimensional secant method by driving it
with a uniquely associated function. This implies that interactions with other
variables are neglected.

Given: values of argument and function from two successive substitution steps
(i.e., x k = g(x k − 1 )):

{x k −1
}
, g(x k − 1 )

{x , g(x )}
k k

Calculate (for each variable j):

a) x kj − x kj − 1 (inverse of the slope)


sj = k −1
g j (x ) − g j (x
k
)

b) 1
qj =
1 − sj

c) x kj +1 = q j x kj −1 + (1 − q j )x kj

This is also an overrelaxation method, but an individual overrelaxation factor is


derived for each variable.

If Wegstein is applied to every step, it is also likely to suffer from instability (if q j
large and negative).
BOUNDED WEGSTEIN'S METHOD

In order to control stability, the Bounded Wegstein Method is used in most


process simulators:

a) compute q j as above

b) bound q j in the interval [-n,0].

Upper bound ensures the method defaults to successive substitution.

Lower bound -n in the range -2 to -5 to control stability.

Alternatively, relax the lower bound, but apply Wegstein acceleration only every
few successive substitution steps. ASPENPLUS has options to control all these
parameters.

Remarks:

¥ if each variable strongly influences a particular and unique function, and


we are fortunate enough to select that association, then Wegstein is likely
to accelerate convergence.

¥ this association is very clear in the case of a single tear stream.

¥ Wegstein's method is very good for partitions with a single tear stream.

NEWTON'S METHOD

Solve general set of nonlinear equations:

f(x) = x − g(x) = 0

with Newton family method (multi-dimensional equivalent of Newton Raphson


procedure in one variable). Iterative process:

x k + 1 = x k − J(x k )−1 f(x k )

where

J = Jacobian matrix of f(x) with respect to x .


Advantages:

a) rapid (quadratic) convergence:


2
ek +1 ≤ α ek

b) good for highly interacting flowsheets because interaction between


variables fully taken into account by the Jacobian matrix.

Disadvantages

a) requires good initial guesses ( x 0 ).

b) because functions g(x) are not known explicitly, must derive a numerical
approximation to J for each iteration - use finite difference
approximation.

In practice, one never inverts the Jacobian. Instead, the linear system:

Jp = −f(x k )

is solved, where:

p = x k +1 − x k

FINITE DIFFERENCE APPROXIMATION

Idea: use finite differences to approximate the Jacobian:

∆fi
J ij ≈
∆x j

Algorithm:

i) given x k , calculate a single pass through the flowsheet to yield:

g( x k ) → f ( x k ) .

ii) ∀j = 1K N (N = number of unknowns):

a) x*j = x kj + ∆x j (perturb jth variable)

b) perform single pass through flowsheet:

→ f* (x1k ,K, x*j ,K, x kN )


c) ∂fi fi* − fi (x k )
J ij = ≈
∂x j ∆x j

Therefore, N+1 passes through the flowsheet are required to get J before the
next step x k + 1 can be calculated. Meanwhile, Wegstein may have converged in
fewer than N+1 passes through the flowsheet! In practice, NewtonÕs method is
usually too expensive. It should only be used when no other method will
converge due to a high level of interaction of the iterate variables.

QUASI NEWTON METHODS - BROYDEN'S METHOD

Idea: approximation to the Jacobian matrix is updated at each iteration using


only current and previous values of x and f(x) .

Iterative process:

x k + 1 = x k + W k f( x k )

where W k is an approximation to the negative inverse of the Jacobian matrix J


(hence no need to invert matrix at each step).

During each iteration, update W k according to the formula (least change secant
update):
T
k +1 (pk + W k y k )pk W k
W =W − k
T
pk W k y k

where:

pk = x k +1 − x k

y k = f( x k + 1 ) − f( x k )

Advantages:

a) only requires a single pass through the flowsheet at each iteration.

b) accurately reflects interaction of variables. Again, good for highly


coupled problems.

c) no need to invert approximation to Jacobian at each step.

Disadvantages:

a) convergence is only superlinear (not quadratic). Ultimately we face the


trade-off that the number of steps with Newton's method less than with
Broyden's method, but the cost per step of Broyden's method is
substantially less.

b) what W 0 to use?

i) −I

( )
−1
ii) − J x 0 - calculate by finite differences (N+1 flowsheet passes) and
then invert.

Meanwhile, Wegstein's method may have converged.

CONVERGENCE CRITERIA

How to decide when to terminate the iterative process?

a) the tear equations are satisfied, e.g.:

f(x k ) = x k − g(x k ) ≤ ε

b) the iterate variables are not changing from one iteration to the next, e.g.:

i) relative error check:

x k +1 − x k ≤ ε r x k

ii) absolute error check:

x k +1 − x k ≤ ε a

iii) or combine both:

x k +1 − x k ≤ ε r x k + ε a

x ≡ some norm of the vector x . Note these two approaches only equivalent
with successive substitution (e.g., x k + 1 = g(x k )).

Neither guarantees we have found a solution to the problem. For example:

i) criterion a) could imply the function is very close to zero, but does not
cross zero - e.g., an asymptote.

ii) criterion b) could merely imply the iterative process is making no


progress towards the solution - f(x k ) >> ε .
iii) badly posed problem (redundant specification) - may have infinite
solutions. Iterative process will converge to an arbitrary solution.

iv) convergence only within the specified tolerance - try again with a tighter
tolerance.

v) tear function may be converged, but individual unit calculations may not
be converged, or in error - check diagnostics generated by simulator

Always check the results of a numerical calculation:

a) make sure you know what convergence criterion the simulator is using!

b) hand calculations - e.g., overall mass and energy balances satisfied.

c) look at the figures - do they make sense? Engineering judgement and


experience.
NESTED RECYCLE LOOPS

Consider the following flowsheet partition with two nested recycle loops:

S7

S5

A B C D
S1 S2 S3 S4 S6

One approach to solving this problem is to tear streams 5 and 7 and set up a
nested iteration. This is illustrated as a flowchart composed of unit operation
calculations in Figure 1.

o Update
x7
Stream 7

x1 A

B
Update
Stream 5

C
o
x5
D

Figure 1: Flowchart for Nested Iteration

Note the idea of a convergence block inserted in the calculation sequence: the
convergence block calculates an updated value for the tear stream (the output
stream from the block) from the current value of the tear stream calculated from
a (possibly partial) flowsheet pass (the input stream from the block). The
equation encapsulated by the convergence block and used to update the tear
stream may be any of the iterative methods discussed in the preceding sections.

The disadvantages of a nested iteration are that:

1. it is very computationally expensive: the inner recycle loop must be


converged for each iteration on the outer recycle loop.

2. the nested iterations interact. In general, nested iterations tend to interact


strongly and lead to severe convergence problems (except in very specific
cases where there can be an advantage).

So this leads to the following idea (which is one of the most intensively studied
academic problems in this area): can we select the tear streams so as to improve
the performance of the iterative procedure?

Simple example: select the tear stream in the above example so that nesting is
not necessary:

S7

S5

A B C D
S1 S2 S3' S3 S4 S6

Tearing S3 alone makes the flowsheet acyclic. Given a guess for S3, S3' can be
calculated from a single pass through the flowsheet.
SELECTING TEAR SETS

The objective here is to transform a cyclic flowsheet into an acyclic flowsheet by


tearing a subset of the streams. This immediately leads to a constraint: enough
streams must be torn so that each cycle in the flowsheet is opened at least once.

How can we formulate this constraint systematically in mathematical terms? If


this is possible, we might be able to automatically identify situations such as the
one above in which nested iterations can be avoided by careful selection of the
tear stream(s). We shall illustrate this with the cyclic flowsheet shown in Figure 2.
Again we view the process flowsheet as a digraph.

S8

S7

S1 S2 S3 S4 S5
S6

Figure 2: Cyclic Flowsheet

Algorithm:

1. Trace all the elementary cycles in the digraph:

Cycle 1: S2, S3, S4, S8


Cycle 2: S2, S6, S8
Cycle 3: S3, S7

We have already seen a couple of simple minded approaches for this step.
Efficient algorithms exist for this purpose.

2. Construct the cycle/stream matrix M where columns correspond to the


process streams and rows correspond to the cycles, and:

Mij = 1 if cycle i contains stream j


= 0 otherwise
For our example this leads to:

Streams
S1 S2 S3 S4 S5 S6 S7 S8
C1  0 1 1 1 0 0 0 1 
 
Cycles C2  0 1 0 0 0 1 0 1 
C3  0 0 1 0 0 0 1 0 

3. Introduce binary (i.e., they can only be either zero or unity) variables
( z j ∈ {0, 1} ) for each stream to indicate that:

zj = 1 if stream j is torn
= 0 otherwise

We can now formulate the constraint that the torn flowsheet must be acyclic
mathematically. Using the matrix M , determine z j that will satisfy the
inequality:
NStream
∑ Mij z j ≥ 1 ∀cycles i
j =1

In words: choose a set of streams to tear such that each cycle is opened at
least once. A flowsheet with all cycles opened at least once will be acyclic. This
is a set covering constraint, which is a standard constraint in combinatorial
optimization.

4. Given the acyclic digraph, determine the calculation sequence for the units in
the flowsheet.

Remarks on his approach:

a)
j {
j }
the set of tear streams to be torn Ð S : z = 1, j = 1K NStream is called a
tear set.

b) a valid tear set is one that opens each cycle at least once; i.e., the values of
z j satisfy the set covering constraint.

c) there is always more than one valid tear set in a flowsheet!

Remark c) is easily demonstrated for the flowsheet in Figure 2; valid tear sets
include:
{S4, S6, S7}, {S2, S3}, {S3, S6}, etc., etc. . . .
OPTIMAL TEAR SETS

So far we have only defined a feasibility problem that meets our primary objective
(derive an acyclic graph):

Feasibility problem: select a valid tear set.

As there are always multiple solutions to this feasibility problem, we can take the
analysis one step further and pose an optimization problem:

Optimization problem: select the best valid tear set (search over the space of
valid (or feasible) tear sets for the best one according to a preselected criterion).

For the latter, we must define what we mean by the best tear set: a secondary
objective. Note that solving a steady-state simulation is also a feasibility problem,
but (we hope) it has a unique solution. Alternatively, we bound the solution
space to find the desired solution. This is the first of many optimization problems
that we shall see.

Table 1 summarizes some of the criteria that have been advocated in the
extensive literature on this subject. Remarks:

a) criterion 4 is really our secondary objective.

b) it has been shown that criterion 4 is equivalent to selecting a tear set that
opens each cycle the minimum number of times Ñ reasoning from the
properties of the successive substitution iteration.

All four criteria can be interpreted as minimizing a sum of weights on each


stream:
NStream
Minimize ∑ wjzj
j =1

Therefore, we can formulate this secondary objective and the constraints derived
from the primary objective as a constrained optimization problem: given the
cycle/stream matrix M and the stream weights w j , determine the binary
variables z j so as to:

NStream
(objective)
Minimize ∑ wjzj
j =1

NStream
(constraints)
Subject to : ∑ Mij z j ≥ 1 ∀cycles i
j =1
Table 1: Criteria for an 'Optimal' Tear Set
Reasoning Criterion

1. Nested iterations are problematic and Choose a tear set with the
obtaining good initial guesses is difficult minimum number of streams
(cardinality). Still may be
multiple solutions.

2. Different streams may have a different Choose a tear set with the
number of unknowns appearing in them minimum total number of
(especially if there are design specifications unknowns.
on internal streams). Hence, minimize the
number of equations in the tear iteration.

3. It may be more difficult to get an initial Weight each stream according


guess for certain streams. to the difficulty in guessing it.
Choose the tear set which
minimizes the sum of the
weights.

4. Really, our objective is to obtain Choose the tear set that


convergence as quickly as possible. minimizes the number of
iterations required for
convergence.

The above mathematical formulation of an optimization problem is known as a


mathematical program.

Remarks:
a) in general, set covering problems are difficult to solve (NP-complete).
Many special algorithms have been devised for the tearing problem

b) the weights are derived from the criterion chosen. For criterion:

1. wj = 1 ∀j = 1K NStream

2. w j = number of unknown variables in stream j

3. w j = degree of difficulty of guessing stream j (subjective)

4. w j = number of cycles containing stream j:

NCycle
⇒ ∑ Mij
i =1
c) most modern simulators automate this task, but the user has the option
to intervene and specify a valid tear set if, for example, there is some
special characteristic of the current problem.

MULTIPLE TEAR STREAMS

In some cases, a valid tear set containing only one stream does not exist. In this
case, it is inevitable that multiple streams must be torn.

Example:

S5

A B C D
S1 S2 S3 S4 S7

S6
Valid tear sets: {S2, S3}, {S6, S3}, {S2, S4}, etc.. All have cardinality > 1.

How to solve problems with more than one tear stream?

a) resort to nested iteration scheme (undesirable).

b) solve both tear streams simultaneously.

Warning: ASPEN PLUS defaults to nested iteration!


SIMULTANEOUS CONVERGENCE OF MULTIPLE TEAR STREAMS

S5 S5'

A B C D
S1 S2 S3 S4 S7

S6 S6'
Algorithm:

a) guess S6 and S5.

b) calculate single pass through flowsheet.

c) update S5 and S6 simultaneously (simultaneous convergence block).

This is equivalent to solving the system of simultaneous nonlinear equations


with the convergence method:

x 5 − g 5 (x 5 , x 6 ) = 0
x 6 − g 6 (x 5 , x 6 ) = 0

where x j is the subset of variables in stream j.

Remarks:

a) note the functional form of the equation; interaction of variables is


inevitable.

b) use a convergence method that takes interaction of variables into


account; Broyden, Newton (not Wegstein).

c) user must usually define a convergence block and the tear streams to the
simulator in order to take advantage of this approach.
DESIGN SPECIFICATIONS

Example:

S8
B5
S1
A S7

S3 S4 S5
B1 B2 B3 B4

A + B -> C
S2 C
B S6

Problem: design the flowsheet so that molar ratio of reactants in the feed stream
to the reactor (S4) is R:

F4 , A
=R
F4 ,B

One extra equation => one less degree of freedom => must release a specification
on one variable. Adjust the flowrate of S2 to achieve this specification (the
manipulated variable).

There are a variety of ways of converging a flowsheet with design specifications


as described in the pages that follow.
LOCAL CONTROLLERS

Some design specifications can be handled by a single unit operation model,


provided the manipulated and sampled variables both occur in the same unit
operation.

Example: design a distillation column to achieve a desired overhead purity by


adjusting the reflux ratio.

xi
R

¥ the unit operation model subroutine can be modified to solve several


different problems Ñ e.g., a predetermined set of design problems as well
as the standard simulation problem.

¥ can use tailored algorithms to converge design problems.

However: many design specifications involve manipulated and sampled


variables distributed throughout the flowsheet.
CONTROL BLOCK APPROACH

Idea: add controller block that adjusts the manipulated variable so as to satisfy
the design specification (analogy to feedback controller for regulatory control of
process dynamics).

S8
E
S1
S7

S3 S4 S5
A B C D

S2 F4,A
F4,B S6
F2
Controller

= information flow
R*

Advantage: use standard tearing techniques already developed for material


and/or energy flows.

Disadvantages:

¥ adds more recycles to the flowsheet.

¥ very difficult to derive a general-purpose and reliable control law.

¥ design specifications and manipulated variables must be paired, hence


interaction ignored when there are multiple controllers.
NESTED CONTROLLERS

Idea: set up a nested iteration with a flowsheet simulation problem as the


subproblem or inner loop.

Algorithm:

START

Update
manipulated
variable

Converge
flowsheet
(simulation problem)

Evaluate
function that
defines
design specification

For outer iteration, use iterative method for a single equation in a single
unknown (e.g., secant method).

Advantages:

¥ no user intervention required.

¥ intuitive - controlled sensitivity study approach.


Disadvantages:

¥ extremely expensive - flowsheet must be converged for each function


evaluation of the outer iteration.

¥ multiple design specifications establish further levels of nesting.

¥ may be impossible to converge inner iteration(s) for certain values of the


manipulated variables - how to continue the iterative process?

¥ usual convergence problems with nested iterations.

Note: this is the method that ASPEN PLUS defaults to. My experience indicates
that sometimes it tries to be a little more clever than always putting the
flowsheet convergence as the innermost iteration.

GENERALIZED EXECUTIVE CONTROLLERS

Idea: solve all the tear streams and all the design specifications simultaneously.

Example:
S8
E
S1
S7

S3 S4 S5
A B C D

S2
S6

Solve the following system of equations simultaneously:

x 7 − g 7 (x 7 , F2 ) = 0
f (x 7 , F2 ) = 0
where,

F4 , A (implicit function)
f (x 7 , F2 ) ≡ −R
F4 , B

Note that the design specification is not in the functional form required for
successive substitution and its variants.
We can extend this generalized executive controller approach to a powerful and
general formulation for the case where there are multiple tear streams and
multiple design specifications. Solve the system of simultaneous nonlinear
equations:

x j − g j (z, x j , j = 1KN ) = 0 ∀j = 1K N
f(z, x j , j = 1KN ) = 0

where,

N = number of tear streams


z = vector of manipulated variables
f = vector of design specifications

Remarks:

¥ no good unless the iterative procedure used takes variable interaction


into account.

¥ Broyden's method is extremely successful when applied to generalized


executive controllers (Perkins, 1979).

¥ the system of equations that must be solved by the iterative process is


larger (but still much smaller than the overall process model). This is not a
real problem with today's computers.

¥ relatively efficient and robust iteration.

¥ no need for one to one matching between design specifications and


manipulated variables.

¥ in ASPEN PLUS user must set up simultaneous convergence block


manually.

A pictorial illustration of this approach is shown in Figure 3.


f(y, x j) y

g j (y,x j ) xj
x j − g j (y,x j ) = 0
f (y,x j ) = 0
A B C D

Figure 3: Generalized Executive Controller

CRITIQUE OF THE SEQUENTIAL MODULAR APPROACH

Advantages:

i) executive program very simple, due to the assumption that unit models
calculate outputs given inputs.

ii) much smaller computer memory requirements. Only those equations


involving one unit operation need to be solved simultaneously.
Important issue in the early days (not that important any more).

iii) large number of existing unit operation models that calculate outputs
given inputs. Further, solution methods can be tailored to a particular
unit operation: initialization of iterative calculations, use of ideal physical
property models to initialize calculations with more sophisticated ones,
special model specific procedures (e.g., flash calculations).

iv) intuitive solution strategy - easy for the users to understand (!).

v) clear, understandable error messages (!), problems localized to individual


unit operations or recycle stream(s).

vi) good heuristics for initialization and convergence. In practice very robust
(in comparison to equation oriented solution technologies).

Disadvantages:
i) unit models must be coded with their solution routines. Considerable
effort to add or modify models. Unit models only do one type of
calculation and extra code must be added for localized design calculations.

ii) difficult to converge highly integrated processes - i.e., many recycle


streams.

iii) design calculations much more difficult to set up and converge than
simulation calculations, and more computationally costly.

iv) computationally expensive, in general multiple passes through the


flowsheet required.

v) may converge badly posed problems - e.g., redundant specifications


(fault with the convergence criterion). Always check results for garbage.

vi) has proven difficult (impossible) to extend to other calculations - e.g.,


dynamic simulation, flowsheet optimization.

REFERENCES AND FURTHER READING

1. Biegler L. T., ÒChemical Process SimulationÓ, Chemical Engineering Progress,


pp. 50-61, October 1989.

2. Mah R. S. H., ÒChemical Process Structures and Information FlowsÓ, chapter


4, Butterworths, 1990.

3. Perkins J. D., ÒEfficient Solution of Design Problems Using a Sequential


Modular Flowsheeting ProgrammeÓ, Computers and Chemical Engineering, 3,
375, 1979.

4. Reklaitis G., ÒIntroduction to Mass and Energy BalancesÓ, Wiley, 1983.

5. Schad R. C., ÒDonÕt Let Recycle Streams Stymie Your SimulationsÓ, Chemical
Engineering Progress, pp. 68-76, December 1994.

6. Strang G., ÒLinear Algebra and its ApplicationsÓ, chapter 7, 3rd edition,
Harcourt Brace Jovanovich, 1988.

7. Westerberg A. W., H. P. Hutchinson, R. L. Motard and P. Winter, ÒProcess


FlowsheetingÓ, Cambridge University Press, 1979.

Vous aimerez peut-être aussi