Last month we had a look at modelling challenges that can arise when making constraining assumptions. This month’s blog will cover a related form of constraining assumptions, the steady-state assumption.

The need for (pseudo) steady-state assumptions may arise for different reasons. Often the purpose is to either simplify the dynamic behaviour of the system by idealising components or it is to compensate for information that is not readily available or difficult to model for other reasons.

The idealisation of components is context-wise related to the subject of singular perturbation. Since the model is built for a specific purpose, one may choose to ignore the dynamic effects of certain parts of the system and assume that they are either extremely slow thus can be approximated as reservoir providing an infinite-size source of matter, energy, etc., or one may make assumptions of instantaneous dynamics for small-capacity parts.

If you critically analyse models, as they are published in the literature, you will find that such assumptions are omnipresent. In fact they are intrinsically in the basics as models are mostly build on the assumption of reversibility, which does imply that one deals with small capacity elements that move along trajectories on the equilibrium surface.

One often finds problems where two systems of largely different nature are coupled. For example a large system that is connected to a small system. Often the dynamic effects of the small system may be ignored, but very often too, the small system makes all the difference. Models in which a phase transition takes place are of this nature in that the phase boundary separating the two phases is very important when describing the flow of mass from one phase to another. This concept may also be applied to time scales, such as fast and slow systems. For these systems the singular perturbation theory is applicable. For fast systems a pseudo steady-state assumption is made:

**ε dx/dt = A z + B r**

which yields

** 0 = A z + B r**

if * ε := 0*.

The capacity effects of the fast systems are omitted and this reduces the state of the process because the dynamic equations of this parts are set to zero. The state of a fast capacity becomes a function of the state of its environment, which mathematically reflects into the elimination of the state. So, for these fast systems the accumulation terms vanish and, consequently, the primary state variables are undefined for these systems. The balance equations of the fast systems are still valid and are used to calculate undefined variables either directly or indirectly. Quite obviously, an “*unmodelled flow*” can be calculated directly via a steady-state assumption.

In general, a number of steady-state assumptions that remove n states result in the following set of algebraic equations (only for the fast capacities; see the blog post on structurally consistent models for a notion of what these equations and variables represent):

** 0 = A z + B r**

** y = f(x)**

** z = g(y, y _{e})**

** r = h(y)**

from which n variables (either flow rates (** z**), reaction rates (

**) and/or states (**

*r***or**

*x***)) can be calculated (less variables can be calculated when index reduction algorithms affect the steady-state balance equations). In this set the**

*y*

*y*_{e}represent the (secondary) states of the environment systems (i.e. systems that are connected to the steady-state systems) and are the driving forces of the algebraic equations. A bipartite graph analysis could provide the means for finding the different sets of variables that can be computed from this set of algebraic equations. Normally, though, each steady-state assumption can be handled locally and it is clear for which variables the equations are solved.

Consider the following example of a simple heat flow though a thin wall:

*Figure A: simple process; a heat flow through a thin wall.*

*Figure B: (possible) Physical topology of this simple process*

Three systems are interconnected via heat connections. The enthalpy balance of the middle system (2) of figure B is:

*d(H)/dt = q _{a} − q_{b}*

If the second flow (*q*_{b}) remains “unmodelled”, then a steady-state assumption (on system 2: * d(H)/dt := 0*) can be made to calculate this flow via the balance equation:

**q _{a} = q_{b}**

If there would have been no inlet flow to system 2 and a steady- state assumption is made, this would, of course, result in no flow through connection 2 (i.e. ** q_{b} = 0**).

As mentioned, the steady-state assumption essentially makes the state of a system a function of the state of its environment. The state of the environment can thus be used to redefine the (secondary) state (i.e. the intensive quantities) of the system.

Consider figure B once again. The heat ows through the connections *a* and *b* are now defined as functions of the temperatures of the interconnected systems:

* q _{a} = U_{1 }A_{1 }(T_{2} − T_{1})*

* q _{b} = U_{2 }A_{2 }(T_{3} − T_{2})*

If a steady-state assumption is made for system 2, the primary state of the system is eliminated and, consequently, also the secondary state, because this results from a mapping from the primary state. The temperature * T_{2 }*of system 2 is now defined as a function of the states of the environment (

*and*

**T**_{1}*) and can be calculated from the balance equation of this system:*

**T**_{3}

**0 = ****q _{a} − q_{b}**

⇔ **T _{2} = (U_{1 }A_{1 }T_{1} + U_{2 }A_{2 }T_{3} ) / (**

**U**_{1 }A_{1}+ U_{2 }A_{2 })

**Note**: When one or both flows remain unmodelled, the balance equation of system 2 is effectively removed from the model by applying the Simple Index Reduction Method. The introduced constraint (e.g.: * T_{2} = T_{1} *and/or

*) equations are then used to calculate*

**T**_{2}= T_{3}*.*

**T**_{2}

The two examples showed that a steady-state assumption can be used to either calculate an unmodelled flow (or reaction) directly or calculate the (secondary) state of the system that is redefined by its environment. Both possibilities do not lead to index problems, since the states are removed directly from the model description.

These two possibilities can, however, not be mixed, because one would run into mathematical problems. If, for example, the inlet flow * q_{a}* is defined as

*and we wish to calculate*

**q**_{a}= U_{1 }A_{1 }(T_{2}− T_{1})**via a steady state assumption, there would be a problem because there is no information on the temperature**

*q*_{b}**. When the steady-state assumption calculates the state of a system, then at least one of the connections must, of course, reference this state. Otherwise the resulting set of equations will be inconsistent and it will not be possible to calculate the state.**

*T2*

Conceptional diffculties arise when a steady-state assumption reduces a system that is connected with more than two connections that remain “unmodelled” (and for which no constraint equations are given). In these cases, one of the flows is calculated via the steady-state assumption and the other flows are defined as a function of the calculated flow. So, in these cases, some flows can be a function of another flow and not, which is the general case, of the state variables of the connected systems.

*What is your experience with steady-state assumptions? Did you ever run into computational problems without knowing what the cause was?*

I invite to post your experiences, insights and/or suggestions in the comment box below, such that we can all learn something from it.

To your success!

Mathieu.

———————————————–

**Steady-State Assumptions**

Structurally Consistent Dynamic Process Models – A roadmap for constructing solvable dynamic models.

So, What’s the Difference? – Learn about some differences between other tools available on the market and our Mobatec Modeller

Dear Mathieu,

I share your view on the importance of steady state assumptions in modelling. In nature processes occur at all different length and time scales – from very fast processes at the (sub)atomic scale up to world scale slow (economic) dynamics. By definition modelling implies making simplifications about the process and its interactions with the environment to be able to study the system your interest and obtain required answers within a reasonable timeframe.

Building blocks already exist in MM to describe the dynamic systems of interest as well as interactions with longer timescale (battery limit) systems. What needs to be developed next is a system to deal with shorter timeframe systems.

As I understand from this blog the difficulty is in the (fool-proof) definition of such a system within the Mobatec framework, i.e. to come-up with an algorithm to determine what are the unknowns and if they are matched by sufficient equations to be able to solve the system. I have a new idea that might work here, but let me contact you separately on that.

Good luck with further improving/expanding the Mobatec software package,

Erik

Dear Erik,

Thanks for your very nice comments and evaluation. I look forward to the discussion we will have on the subject and hope the outcome will be something we can implement in our software!