Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
NAVIER-STOKES BASED INDOOR CLIMATE CONTROL
Document Type and Number:
WIPO Patent Application WO/2015/137803
Kind Code:
A1
Abstract:
A data processor (4) is disclosed that can be used in a climate control system (1) for controlling a climate in an indoor space (10) or in a design system (20) for designing such a climate control system. The data processor jointly resolves a set of coupled optimization problems of the following form: Formula (5a) subject to Formula (5b) wherein: Formula (I) is an augmented state-vector comprising a vector Φ specifying the spatial distribution of a climate related variable with respect to a plurality of spatial cells, and a source term qΦ to be resolved, and wherein Formula (II) is the solution found for point in time k+1, Formula (III) being a vector specifying a setpoint specified for said climate related variable at point in time k+1 for at least a part of said plurality of cells, Formula (IV) are boundary conditions relevant for said climate related variable at point in time k, S is a selection matrix, selecting cells for said distribution having a setpoint, O is the zero matrix, I is the identity matrix and Q and R are weighting matrices for tracking and energy consumption, wherein AΦ is a matrix that defines the development of vector Φ as a function of one or more other vectors of climate related variables, wherein BΦ is a matrix that maps the source terms for field Φ to the cell field values affected by those source terms, and wherein the data processor (4) controls the plurality of said actuators in accordance with the source term q Φ.

Inventors:
BOOIJ PAUL SEBASTIAN (NL)
Application Number:
PCT/NL2015/050150
Publication Date:
September 17, 2015
Filing Date:
March 10, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TNO (NL)
International Classes:
G05B13/04; G05B17/02
Domestic Patent References:
WO2013130956A12013-09-06
WO2013130956A12013-09-06
Foreign References:
US7644051B12010-01-05
Other References:
SUHAS V. PATANKAR, NUMERICAL HEAT TRANSFER AND FLUID FLOW, 1 January 1981 (1981-01-01), pages 126 - 131, XP002728327, ISBN: 0070487405
P S BOOIJ ET AL: "Localized climate control in greenhouses", NONLINEAR MODEL PREDICTIVE CONTROL, 23 August 2012 (2012-08-23), pages 454 - 459, XP055144601, Retrieved from the Internet [retrieved on 20141006]
SUHAS V. PATANKAR, NUMERICAL HEAT TRANSFER AND FLUID FLOW, pages 15
SUHAS V. PATANKAR, NUMERICAL HEAT TRANSFER AND FLUID FLOW, pages 123 - 134
Attorney, Agent or Firm:
JANSEN, C.M. (Johan de Wittlaan 7, JR Den Haag, NL)
Download PDF:
Claims:
CLAIMS

1. A data processor (4), the data processor comprising inputs to receive input data (Sa, ..Sns) indicative for values of indoor climate related variables and comprising outputs to provide control signals (Ca,...,Cna) suitable for control of the indoor climate related variables on the basis of said input data (Sa, ..Sns), wherein said data processor jointly resolves a set of coupled optimization problems of the following form

ζΦ = argmin ¾ ΐ]ζφ) (5a) subject to [ΑΦ (5b)

Φ

wherein: z, is an augmented state-vector comprising a vector Φ specifying the spatial distribution of a climate related variable with respect to a plurahty of spatial cells, and a source term qtS> to be resolved, said source term corresponding

Φ k+l

to settings for said control signals and wherein z is the solution found for point in time k, Φ*+1 being a vector specifying a setpoint specified for said climate related variable at point in time k+l for at least a part of said plurality of cells, e are boundary conditions relevant for said climate related variable at point in time k, S is a selection matrix, selecting cells for said distribution having a setpoint, O is the zero matrix, I is the identity matrix and Q and R are weighting matrices for tracking and energy consumption, and

wherein ΑΦ is a matrix that defines the development of vector Φ as a function of one or more other vectors of climate related variables,

wherein ΒΦ is a matrix that maps the source terms for field Φ to the cell field values affected by those source terms, and wherein the data processor provides the control signals (Ca,...,Cna) in accordance with the source term .

2. The data processor (4) according to claim 1, wherein jointly resolving the set of coupled optimization problems involves the following steps: An update step, comprising the following sub-steps to be carried out in arbitrary order

update (Slu) the air velocity field u and associated source term field qu for a first spatial direction (x) by optimizing the air velocity field u for said direction,

update (Slv) the air velocity field v and associated source term field qv for a second spatial direction (y) by optimizing the air velocity field v for said direction,

update (Slw) the air velocity field w and associated source term field qw for a third spatial direction (z) by optimizing the air velocity field z for said direction,

update (SIT) the temperature field T and associated source term field qT by optimizing the temperature field T,

Calculate (S2) the pressure field (P)

- Apply a relaxation step (S3),

Check for convergence, otherwise repeat the previous steps S1-S3

3. Climate control system (1) for controlling a climate in an indoor space (10), comprising a data processor as claimed in claim 1 or 2, the climate control system further comprising

a plurality of sensors (2a, ...2n) to sense climate related variables in said indoor space, and to provide sensory data (Sa, ..Sn) indicative for sensed values for said variables as the input data (Sa, ..Sns) to said data processor,

a plurality of actuators (3a, ...,3m), for controlling climate related variables in said environment, which actuators are controlled by said data processor (4) in accordance with the source term .

4. Climate control system according to claim 3, further comprising a mapping unit (5) for mapping said sensory data onto the plurality of cells.

5. Climate control system according to claim 3 or 4, wherein the vector Φ specifying the setpoint for said climate related variable for at least a part of said plurality of cells is uniform.

6. Climate control system according to claim 3 or 4, wherein the vector Φ specifying the setpoint for said climate related variable for at least a part of said plurality of cells is non-uniform.

7. A design system comprising a data processor (4) according to claim 1 or 2, wherein the source terms (qk) calculated by the design system in response to the provided setpoint values (Φ*. ) and boundary conditions ( βΦ ) are indicative for the actuators to be used in the design and their settings.

8. A data processing method relating to control of a climate in an indoor space (10), the data processing method comprising

receiving data (Sa, ..Sn) indicative for values of indoor climate related variables,

jointly resolving a set of coupled optimization problems of the following form:

z = argmin ¾ ([^+1 θ ζφ - k+1 Q^1 θ]ζφ - k+1)+ ([o l]z R^O ΐ]ζφ) (5a) subject to - 0 (5b)

Φ

wherein: z, is an augmented state-vector comprising a vector Φ specifying the spatial distribution of a climate related variable with respect to a plurahty of spatial cells, and a source term </φ to be resolved, and wherein z is the

solution found for point in time k, <fr+1 being a vector specifying a setpoint specified for said climate related variable at point in time k+l for at least a part of said plurality of cells, e are boundary conditions relevant for said climate related variable at point in time k, S is a selection matrix, selecting cells for said distribution having a setpoint, O is the zero matrix, I is the identity matrix and Q and R are weighting matrices for tracking and energy consumption, and wherein ΑΦ is a matrix that defines the development of vector Φ as a function of one or more other vectors of climate related variables, and wherein ΒΦ is a matrix that maps the source terms for field Φ to the cell field values affected by those source terms,

the method further comprising providing control signals in accordance with said source terms. 9. A method according to claim 8, further comprising

receiving sensory data (Sa, ..Sn) indicative for sensed values from climate related variables in an indoor space as the data indicative for values of indoor climate related variables,

driving a plurality of actuators (3a,... , 3m) by said control signals (Ca,... Cna)

10. The method according to claim 9, comprising providing the vector Φ specifying a setpoint and the boundary conditions e as constants.

11. The method according to claim 9, comprising providing the vector Φ

k

specifying a setpoint and/or the boundary conditions φ as variables.

12. The method according to claim 11, comprising jointly resolving the set of equations for one time step at a time. 13. The method according to claim 11, comprising jointly resolving the set of equations for a plurality of time steps and based on predicted values for the vector Φ specifying the setpoint and/or the boundary conditions φ .

14. The method according to claim 8, wherein the source terms (qk) that are calculated in response to the provided setpoint values ) and boundary conditions (e ) are indicative for the actuators to be used in a design and their required settings.

15. A computer program product (6) comprising a computer program, which when executed by a programmable processor causes the programmable processor to carry out any of the steps of the method of claim 8.

Description:
Title: Navier-Stokes based indoor climate control

BACKGROUND OF THE INVENTION Field of the invention

The present invention relates to a method for controlling an indoor climate. The present invention further relates to a data processor for controlling an indoor climate.

The present invention further relates to system comprising such a data processor.

The present invention further relates to a system for designing an indoor climate control system.

The present invention further relates to a method for designing an indoor climate control system.

The present invention further relates to a computer program product.

Related Art

An indoor climate includes various aspects that may have to be controlled, such as temperature, humidity, air movement, and CO2 concentration. An indoor climate is subject to various spatial and temporal dynamics that are in particular determined by air circulation. This phenomenon renders it difficult to provide for a homogeneous setting of climate variables as temperature, humidity, air movement, CO2 concentration in the indoor space for which the climates has to be controlled. As a result of temperature differences, air leakage (through walls, windows, etc.) and forced ventilation (fans, air conditioning etc.) air currents occur . Even a slight change in, for example, the weather conditions, the

geometry of the space and the climate installations, may have substantial effects on the flow field and hence on the entire indoor climate.

The spatial dynamics are particularly evident in large open spaces. A greenhouse is a telling example. In a greenhouse of some hectares significant temperature and humidity differences can easily occur that lead to inconsistent quality and growth rate of the crop. As a result of the temperature differences water vapor may locally condense and can cause mold. Condensation of water and the resulting mold may also occur due to a local lack of air movement. Preventing this by air-conditioning systems is power consuming. Providing for additional ventilation, by opening windows for example, reduces the C02 concentration and also may result in energy losses.

Current climate control systems do not adequately address these problems. According to one known approach a feedback loop is provided that receives input for a climate variable, such as the temperature, from a single sensor and that controls an actuator, e.g. a heater, on the basis of the sensed value for the variable and a set point.

Modern greenhouses apply zoned climate control. Therein several sensor- loop actuator systems are distributed in the controlled indoor space that operate mutually independent of each other. This can lead to inefficiencies, in particular if sensor-loop actuator systems are provided that control mutually different conditions, such as a temperature and a humidity.

Climate control arrangements are known that adapt their operation to current and predicted weather conditions outside the controlled indoor space. These arrangements however do not address the dynamical interactions inside the controlled indoor space.

A common strategy to achieve, particularly in the horticultural industry, a common environment is active mixing of air by artificially induced air flows.

Therewith it is attempted to stir the air in order to obtain spatially uniformly distributed climate conditions as temperature and humidity. In practice, however, the effects are usually mediocre. Often natural air flows tend to dominate artificially induced air flows. Moreover, the equipment such as fans used to artificially induce air flows is not properly regulated and tend to be used on a continuous basis regardless the instantaneous state of the indoor climate, therewith consuming a substantial amount of power.

A theoretical framework modeling the behavior of the variables of interest is discussed for example in Suhas V. Patankar, "Numerical Heat Transfer and Fluid Flow", ISBN 0-07-1980 048740-S on page 15. As set out therein, the following general differential equation applies to each variable:

Therein ris the diffusion coefficient and S is the source term. The quantities Γ and S are specific to a particular meaning of φ . The four terms in the general differential equation are the unsteady term, the convection term, the diffusion term, and the source term. The dependent variable φ can stand for a variety of different quantities, such as the mass fraction of a chemical species, the enthalpy or the temperature, a velocity component, the turbulence kinetic energy, or a turbulence length scale. Accordingly, for each of these variables, an appropriate meaning will have to be given to the diffusion coefficient and the source term S. For example, in case the dependent variable φ is a temperature field, then the source term is a thermal source term, like power added through the floor heating and heating and power extracted by air conditioning.

Computational Fluid Dynamic (CFD) methods are known to simulate the indoor climate given boundary conditions as outside temperature, sun, floor and wall temperatures and source terms such as heaters and air conditioning devices. These methods typically apply a Finite Volume Method (FVM)) wherein the indoor space is discretized into cells, each of which has its own temperature, 3D flow velocity and pressure. For example, in the implementation known as

"SIMPLE" (Semi-Implicit Method for Pressure Linked Equations) the following sets of equations for energy, momentum and pressure correction are used. The "SIMPLE" method is described in more detail in Patankar referred to above on pp. 126-131. The equations include the following discretized Navier-Stokes equations with an additional energy equation. Energy:

A T (u,v,w)T = b T (T k ,q T k ,e T k ) (1)

Momentum

A u (u,v,w,P)u (2a)

4, («, ,w, )v (2b) A w (u,v,w, P)^ = b w {T,w k , qw k ,e w k ) (2c)

Pressure correction

A P (u,v,w,P)F= b P (u,v,w) (3)

Therein the vectors T, u, v, w, P contain the temperature field, the air velocity in x, y, and z directions and pressure field respectively, for time step k+ 1. The results obtained for k+ 1 may be one of a series of results being followed by the results for k+2, k+3 etc. Alternatively the results for k+1 may be considered as a steady state solution. In the sequel of this description the symbol Φ will also be used to denote a field in general and this symbol may be provided with an index referring to a specific type of field. For example ^ indicates a temperature field at time step k (which is assumed known as it results from the previous simulation step).

The vectors , v, w are uncorrected velocity vectors, i.e. velocity vectors that jointly do not meet the law of conservation of mass.

The vector P' is a pressure correction field. This field serves to correct u,v,w into fields u,v,w that do adhere to mass conservation.

The source terms are denoted by the character "q". E.g. q T is a vector of thermal source terms, like power added through the floor heating and heating and power extracted by the airconditioning. Exogenous inputs or boundary conditions are indicated by the symbol "e", e.g. the outside weather conditions, an opened or closed state of windows etc.

Each matrix A is of size NxN, with N the amount of cells in the grid. In practice, the amount of cells may range from thousands to millions. Accordingly, these matrices can become very large. They are largely sparse, but their structure can be time dependent. E.g. in the energy equation, not only the entries of AT change as air flow changes, but also their location. I.e. the temperature of a certain cell might depend on the temperature of its left neighbor if u is positive there, but it will depend on the temperature of its right neighbor if the flow changes direction. The SIMPLE method solves these 5 sets jointly. This is an iterative method involving the following sequence of steps that is repeated until

convergence of this set of equations occurs.

Step 1: solve w*from

A u (v,w f P)u = b u (u k ,q k ,e k )

Step 2: update ύ with W = (l - O) + CCU

Ste 3: solve v* from

A v (u, w f P)v = b v (v k ,q k ,e k )

Step 4: update v with = (l - o)v + CV* (2ba) Step 5: solve w* from

A, v (u,v,w,P = b w {w k ,ql,el,T) (2c)

Step 6: update w with W = (i-a)w + W ( 2ca ) Step 7: solve P' from A P (u, v, w, P)P' = b P (u, v, w) (3)

A P (u, v, w P f — bp (u f v f )

Step 8: update P with P = P + GCpP' (3a) Step 9: update u,v,w with the correction (ii,v,¾ =

(u, v, w) = f((u, v, w), P f ) (4)

Step 10: solve T* from A T (u,V, w)T— b T { k f q k , e k )

A T (u,v, W y (1) Step 11: Update T with = (l - o)T + OCT

In the equations above, the variables x k are the variables for which values are determined for point in time k. The remaining variables are part of the iteration procedure for computation of the result for k+1. As becomes apparent from the above, the joint set of equations can be solved in a sequential manner.

Alternatively one or more equations may be solved in a parallel manner.

The known method allows the skilled person to simulate the effect of climate control measures as is illustrated in FIG. 1A. The skilled person desiring to achieve a particular indoor climate can specify certain control measures according to a design d, such as heaters and air conditioning devices, as well as their settings and simulate the effect thereof on the indoor climate to be controlled. The above-mentioned simulation method, symbolically indicated as block CFD (FVM), then simulates the effect of the specified measures as indicated by the vector x = (T, u, v, w, P) on the indoor climate. Based on this outcome and his expert knowledge the skilled person can choose a new design d i+ and verify if this more closely achieves a desired result. The skilled person may for example verify if the estimated values for the climate variables sufficiently comply with the desired values for those variables and if this is achieved within an available energy budget. In this way the skilled person can by trial and error provide specifications d* for a climate control system that sufficiently achieves the desired indoor climate conditions.

This known method still has a disadvantage that it requires intensive human effort to arrive at a reasonable system specification and that it is not guaranteed that the specifications found in this way indeed provide for a globally optimal solution. Also, this method requires many simulation steps, each of which might require long computation times. Moreover, the known method is not suitable to adapt the settings of the system to the prevailing conditions, the current outdoor temperature, incoming solar radiation, the changes in air flow during a longer period caused by crop growth in the indoor space.

To overcome this last problem, a real-time control system can be used. By way of example, PCT patent application WO2013130956 pertains to control of an environmental maintenance system that includes a plurality of sensors and a plurality of actuators. The operation levels of the actuators can be determined by optimizing a cost function subject to a constraint, e.g., having no more than a certain number of sensors that are out of range. A predictor model can predict whether certain operation levels of the actuators violate the

constraint. The search for acceptable operation levels (i.e., ones that do not violate constraints) can be performed by analyzing points on lines in an N- dimensional space, where N is the number of actuators. The subset of acceptable operation levels along with a cost function (e.g., that incorporates energy consumption information) can be used to change operation levels of the modules to keep the temperatures within a desired range while using minimal energy.

Sequential Quadratic Programming (SQP) is a generic technique for optimization purposes. In this method, a cost function

J(x, q) = (x— x) T Q(x— X)+ q T Rq is to be minimized by proper choice of settings for the source terms q. The optimal settings for the source terms q are found by simulating the system with iterant q i , leading to indoor climate x Q and R are weighting matrices for tracking and energy consumption respectively. The combination (q x ) leads to scalar cost J A new iterant q i+1 is found by a gradient descent method. The derivative of J(x,q) to q is calculated and q i+1 is taken as a function of this derivative. The process stops when there is no significant change between subsequent iterants.

The method has the following drawbacks. Firstly, calculating the derivative of J(x,q) to q is generally only possible by numerical approximation and this requires much computational effort. Secondly, the method requires multiple simulation steps to be performed. Since simulation steps are computationally expensive it is likely that this method will not be able to run in real-time. Various efforts exist for simplifying the approximation of the derivative, for instance with the Adjoint SQP method as schematically illustrated in FIG. IB, but the requirement of multiple simulation steps remains. Accordingly, there is a need for improvement. SUMMARY OF THE INVENTION

It is a first object of the present invention to provide a data processor that renders it possible to at least alleviate one or more of these problems. In accordance therewith a data processor is provided as claimed in claim 1.

It is a second object of the present invention to provide a climate control system that at least alleviate one or more of these problems.

In accordance therewith a climate control system is provided as claimed in claim 3.

It is a third object of the present invention to provide a design system including the data processor that renders it possible to at least alleviate one or more of these problems.

In accordance therewith a design system is provided as claimed in claim 7. It is a fourth object of the present invention to provide a data processing method that renders it possible to at least alleviate one or more of these problems. In accordance therewith a data processing method is provided as claimed in claim 8.

It is a fifth object of the present invention to provide a climate control method that at least alleviates one or more of the problems identified above.

In accordance therewith a method is provided as claimed in claim 9.

It is a sixth object of the present invention to provide a design method that at least alleviates one or more of the problems identified above. In accordance therewith a method is provided as claimed in claim 14.

It is a seventh object of the present invention to provide a computer program product comprising a computer program, which when executed by a programmable processor enables the programmable processor to at least alleviate one or more of the problems identified above.

In accordance therewith a computer program product is provided as claimed in claim 15.

According to the present invention a method is provided that jointly resolves a set of coupled optimization problems of the following form:

= argmm ¾ ([ 1 ΐ] ζ φ ) (5a) Subject to 1 - (5b) Φ

Therein, z. is an augmented state vector. Contrary to the known methods discussed above, such as the method disclosed in the above-mentioned PCT- patent application and the generic SQP approach, the augmented state vector includes, in addition to the field Φ to be controlled, also the source terms </ φ for

Φ k+l

that field. Therein further z^ is the optimum value found for the augmented state vector z a in the coupled set of equations starting from

the data established at point in time k. The augmented state vector comprises an estimated optimum field vector Φ ί+1 for the field Φ at point in time k+ l that is expected to be achieved with an estimated optimum source term q for the source term y * to be optimized respectively. The term φ represents boundary conditions relevant for said climate related variable at point in time k.

The augmented state vector only has a modestly increased dimension as compared to the original state vector for the field Φ, as the number of source terms typically is substantially smaller than the number of cells of the space. For example for a space portioned in thousands we may for example have in the order of a few or a few tens of source terms. If the space is partitioned in millions the number of source terms is for example in the order of a few tens.

Contrary to said known methods, the present invention pertains to a synchronous mode of operation, as specified above in formula's 5a, 5b, wherein the inner optimization loop optimizes an augmented (artificial) variable z that includes the controlled field as well as the source term for the controlled field. In this way a setting that minimizes the cost function can be determined more efficiently.

Vector Φ* specifies setpoints for said climate related variable at point in time k for at least a part of said plurality of cells. Further S<s is a selection matrix, selecting cells for said distribution having a setpoint, O is the zero matrix, I is the identity matrix and Q and R are weighting matrices for tracking and energy consumption. Furthermore therein ΑΦ is a matrix that defines the development of vector Φ as a function of one or more other vectors of climate related variables. The matrix Β Φ maps the source terms ^ φ for field Φ to the field values directly affected by those source terms. The resolution of the linearly constrained quadratic optimization problem according to the present invention results in a solution ζ φ * that includes both the values for source terms

^ φ and the values of the controlled climate vector Φ that are expected to be achieved with those values of the source terms. Upon completion of the iterative

Φ k+l

process a next value z a is established. A set of actuators may then be controlled at point in time k in accordance with the values for source terms found, which is expected to result in the field Φ ί+1 at the subsequent point in time k+l. As the values for the source terms are obtained as a solution of a linearly constrained quadratic problem, it is guaranteed that the found solution is indeed the globally optimal solution that could be reached. The results obtained for k may be one of a series of results being followed by the results for k+l, k+2 etc. Alternatively the results for k+l may be considered as a steady state solution.

As recognized by the inventor the following approach of the problem of properly controlling an indoor climate is possible is based on the introduction of

Φ

an augmented state vector z < ,

Therein vector Φ specifies the field to be controlled and q φ comprises the source terms for that field to be optimized. In the following way this enables a redefinition of the optimization problem.

In a first step, the energy equation (1) is rewritten as follows:

When written out (arguments for the components of matrix AT and for the components of vector bT not shown) The vector b T {T k ,q k ,e k ) is a linear function of its arguments that can be written as follows:

b T (T k ,q k ,e k )= B T q k + B 0 T k + B e e k = B T q k + b T ' (A , e T k )

The boundary conditions "e" may be provided in various ways. In an embodiment the walls enclosing the indoor space are represented by cells in the model, and the boundary conditions are the conditions prevailing outside the walls, such as the weather conditions. Alternatively, the walls may not be represented by cells in the model and the wall temperatures may be part of the boundary conditions.

Substituting this in equation (1) gives the following result :

Therewith the original problem can be rewritten as an optimization problem in an n+m dimensional space (which has an only modestly increased dimension) wherein a state, for example the state of the temperature field is repr for point in time k that can be denoted as follows:

[A k (u,v,w) -B k T -b' T (T k ,e k ) = 0 (6)

Therein B k is a matrix that maps the thermal source terms to the cell temperatures or wall temperatures directly actuated by the actuators. This matrix, although possibly a function of point in time k, usually is constant and can be easily derived from the energy equation.

The energy equation is then rewritten as an optimization problem, as follows:

z T * = arg mm - T k+l )+ ([ø l]z T J R k ([o l]z T ) (7a)

(7b) Therein ST is a pattern matrix selecting those cells having a thermal setpoint, I is the identity matrix, O is the 0 matrix and Q k and R k are weighting matrices for tracking and energy consumption respectively.

Similarly, the three equations for the momentum can be replaced by the equations 8a, 8b, 9a, 9b and 10a, 10c below. Therein the functions b u () > bv0 > bwO are rewritten as a linear combination in a manner similarly to those presented for the energy equation. It is noted that the vector b w 0 is also a function of the temperature T.

z u = ar g l]z u k ) (8a)

Subject to: 4 - B u k - b {u k ,e u k )= 0 (8b) l]z v ) (9a)

Subject to: - B v k ]z v - b {v k ,e v k )= 0 (9b)

Furthermore the equation for calculating the pressure p is rewritten as

z; = /]z ,) (l la)

Subj (l ib)

The pattern matrix ^ may be the same in each of the above-mentioned equations, when it is presumed that the same cells are selected for setting the thermal setpoint and for the setpoints of the momentum. Alternatively mutually different cells may be selected for the setpoints of the various climate related variables by defining different pattern matrices S K , S K , S K and S K for example.

It is noted that for those fields that are not directly controlled, the linearly constrained quadratic optimization problem reduces to a linear equation. By way of example the climate variable fields u,v,w may be directly controlled by fans, while the pressure field P is indirectly affected by these actuators.

As indicated above, the weighting matrices Q<i> and R<s , which may be changed as a function of time, respectively specify the relative importance that is attached to the accuracy with which the solution approaches the specified setpoint and the degree to which the solution complies with energy consumption budgets. A weighting matrix Q<i> is also denoted as a tracking matrix as it influences the tracking of the setpoints specified for the relevant field Φ. This matrix usually only has entries on the diagonal. Having a higher entry on a particular element of the diagonal w.r.t, the other elements on the diagonal means that the climate control system will focus more on the setpoint corresponding to that matrix element. Also R<s will typically be diagonal, for example in the form of a scaled identity matrix with one scalar scaling factor. These matrices may have a predetermined values but alternatively an operator may be allowed to change these matrices. For example, in a greenhouse accommodating a climate sensitive crop the weighting matrix Q<i> may be specified that guarantees that the

controlled field accurately matches the specified field. Alternatively, if it is known that a relatively insensitive crop is grown and a low energy consumption is desired the weighting matrix R<i> may be specified in accordance with this desire. The setting of the weighting matrices for the various fields may differ. For example, because given a certain energy budget a field Φ1 may be more easily controlled to match the setpoint than another field Φ2. In an embodiment the user may have a control input to set the scalar scaling factor referred to above to tune the climate control system between 'quality' and 'eco' mode. The matrices Q<i> and R<s may be set as a function of time, in which they are denoted as ζ) Φ Φ .

It is noted that the climate control method, climate control system and the data processor serving as a controller therein can either be used in a steady state mode or in a dynamic mode. In the dynamic mode the setpoints for the climate related variables and/or the values of the boundary conditions may change as a function of time. In the steady state mode, the setpoints for the climate related variables as well as the values of the boundary conditions are presumed constant. As the steady state solution is independent on the initial state of the indoor climate the steady state operational mode does not require a measurement facility to measure the state. Nor are processing facilities required to process the measured values. For the equations 7b, 8b, 9b, 10b, lib this implies that the matrices B x are zero matrices for the respective variables T,u,v,w and P indicated by x. The steady state solution will indicate the source terms with which the climate control system will eventually reach the setpoints. (This may be on a large time scale)

It is noted that the climate control system may be operated according to various use modes. In one of these use modes the vector Φ specifying a setpoint and the boundary conditions φ are provided as constants. Therewith a steady state solution can be calculated. According to another use mode the vector Φ specifying a setpoint and/or the boundary conditions φ are provided as variables so that the climate control system can respond to changing circumstances e.g changes in boundary requirements. In addition the climate control system can take into account measured values for the climate variables to be controlled, therewith allowing for a correction due to possible mismatches between the real indoor climate and the model thereof used in the calculations. To that end the climate control system may look ahead one time step. I.e. in that use mode the set of equations is jointly resolved for one time step at a time. In that case the climate control system will attempt to achieve the setpoints in a single time step. This may lead to overshoots if a change in boundary conditions for example a rising sun already would have contributed to achieving the setpoints or because of delayed effects after k+1 of the actuation that are not taken into account.

Alternatively, predicted values may be used to even better respond to changing circumstances. I.e. according to this alternative the set of equations is jointly resolved for a plurality of time steps and based on predicted values for the vector Φ specifying the setpoint and/or the boundary conditions φ . In this way the system avoids an overshoot by anticipating predicted changes in boundary conditions and delayed effects of actuation. This is known as Model Predictive Control (MPC). Also hybrid solutions are possible, wherein the climate controller operates for example according to the last use mode to efficiently and rapidly obtain a desired state of the climate and subsequently operates according the first mentioned use mode to maintain that desired state. BRIEF DESCRIPTION OF THE DRAWINGS

These and other aspects are described in more detail with reference to the drawing. Therein:

FIG. 1A schematically shows a prior art method for designing an indoor climate control system,

Fig IB: schematically shows a prior art method for real-time control of an indoor climate,

FIG. 2 schematically shows an embodiment of a climate control system according to the first aspect of the present invention,

FIG. 3 shows a data processor according to the second aspect of the invention for use in a climate control system according to the first aspect of the invention,

FIG. 4 shows an embodiment of a module of the data processor according to FIG. 3,

FIG. 5 shows an embodiment of another module of the data processor according to FIG. 3,

FIG. 6 shows an embodiment of again another module of the data processor according to FIG. 3,

FIG. 7 A, 7B schematically show parts of the data processor according to FIG. 3,

FIG. 8 shows a control method according to the third aspect of the present invention,

FIG. 9 shows an alternative data processor according to the second aspect of the invention for use in a climate control system according to the first aspect of the invention,

FIG. 9A shows a detail of the data processor of FIG. 9 in more detail, FIG. 10 shows a design system according to the present invention.

DETAILED DESCRIPTION OF EMBODIMENTS

Like reference symbols in the various drawings indicate like elements unless otherwise indicated. FIG. 2 schematically shows a climate control system 1 for controlling a climate in an indoor space 10. The climate control system comprises a plurality of sensors 2a, ...2ns to sense climate related variables in said indoor space, and to provide sensory data Sa, ..Sn indicative for sensed values for said variables. The climate control system further comprises a plurality of actuators 3a, ...,3na for controlling climate related variables in said environment. A data processor 4, here serving as a controller, controls the actuators 3a,...,3na on the basis of the sensory data Sa, ..Sns. To that end the controller 4 jointly resolves a set of coupled optimization problems of the following form.:

ζ Φ = ΐ]ζ φ ) (5a)

Subj (5b)

Ther ted state

vector, * specifying the spatial distribution of a climate related variable with respect to a plurality of spatial cells and q being a source term to be resolved that is associated with said vector. Furthermore, Φ is a vector specifying a setpoint for said climate related variable for at least a part of said plurality of cells. S is a selection matrix, selecting cells for said distribution having a setpoint, O is the zero matrix, I is the identity matrix and Q and R are weighting matrices. These matrices Q, R respectively specify the relative weighting applied to the accuracy with which the vector found as a result of the solution of the optimization problem matches the set-points and the accuracy with which the energy consumption restrictions are met by the solution.

Furthermore, ΑΦ is a matrix that defines the development of a vector Φ as a function of one or more other vectors of climate related variables and ΒΦ is a matrix that maps the source terms for field Φ to the cell field values affected by those source terms. The controller controls the plurality of the actuators 3a to 3m in accordance with the source term ^ φ found by resolving the above-mentioned optimization problem.

The climate control system 1 may control one or more variables s of the indoor climate in the indoor space 10. Example of said variables, are a temperature distribution, a pressure distribution, flow fields, an air humidity distribution etc. The actuators 3a,...,3na of the climate control system 1 to control one or more of these variables may include for example one or more of heaters, air-conditioners, ventilators, pumps, humidifiers, dryers, etc. The sensors 2a,..., 2n used to measure a current state of the climate may include thermal sensors, flow sensors, pressure sensors, air humidity sensors etc.

Typically, the number of sensors 2a,...,2n is less than the number of cells involved in the computation. In the embodiment shown, the climate control system 1 further includes a mapping unit 5 that estimates a current value of a field for each cell on the basis of the sensed values for the field as obtained from the sensors. The mapping unit 5 may for example provide the estimation on the basis of an interpolation of sensed values.

In the embodiment the controller 4 and the mapping unit 5 are

programmable devices. In this case the system 1 as shown includes a computer program product 6 that comprises a program for controlling the controller 4 and the mapping unit 5. Alternatively, the controller 4 and/or the mapping unit 5 may be provided as dedicated hardware or as a combination of dedicated hardware and programmable elements.

An embodiment of the controller 4 is shown in more detail in FIG. 3.

Dependent on the number of climate variables that have to be controlled, the controller 4 may include a different number of modules that are mutually inter connected. In the embodiment shown the controller 4 comprises a temperature data processing module 41, a first, a second and a third flow data processing module 42, 43, 44 and a pressure data processing module 45. These modules each include a preparation unit (411, 421, 431, 441 and 451 respectively), a solve unit (412, 422, 432, 442 and 452 respectively), and an update unit (413, 423, 433, 443 and 453 respectively). Embodiments of these modules are described with reference to FIG. 4, 5 and 6. Therein FIG. 4 shows the temperature data processing module 41 in more detail. FIG. 5 shows the first flow data processing module 42 in more detail. The other two flow data processing modules 43, 44 substantially correspond to the first flow data processing module 42. However, in the third flow data processing module 44 the components of the vector b' w are also dependent on the temperature field to take into account buoyant convection effects. FIG. 6 shows the pressure data processing module 45 in more detail.

The controller further includes a correction module 46 that corrects the flow fields estimated by the flow data processing modules 42, 43, 44.

The controller 4 further includes a source mapping module 47 that generates matrix data that map the source terms to the variables directly actuated by the actuators represented by the source terms.

The controller 4 further includes a user input module 48, enabling a user to control operation of the system.

The controller 4 further comprises datapath facilities 4R, 41, 4C, 4B, 4U and datapath control elements 491, 492, 493, 494,

Operation of the controller 4 in the system 1 is now described with reference to a flow chart shown in FIG. 8. The flow chart illustrates an iterative procedure with which the values for the source terms that are required to approach the specified set points for chmate related variables. Upon convergence of the procedure the values for the source terms for a time step k become available, and the procedure can be repeated to determine the source term values for the next time step k+1.

In the embodiment shown the controller 4 is arranged as a programmable general purpose processor. The controller 4 is coupled to memory 6 comprising a computer program that causes the programmable processor to carry out the climate control method.

In an optional first step Si all variables are assigned an estimated or known initial value where possible. Variables for which a value is not known or can be estimated, are assigned a random value. If available, however, the known or estimated value should be used to obtain a more rapid convergence. In the embodiment of FIG. 3, this is achieved by transferring the initial values via data path control element 491, responsive to signal "k=0", to a results bus 4R.

Subsequently these values are gated to the iterands bus 41 by data path control element 492, responsive to signal "init". If values are available that are obtained in a previous time step k, it suffices to gate these values to the iter an ds bus 41 by data path control element 492.

Subsequently the sequence of steps S2-S 11 is iterated until convergence is detected in step S12. Therewith the results for the next time step k+ 1 are obtained.

In step S2 the value for z * , i.e. the estimated optimum value for z H is calculated using equations (8a) and (8b), together forming a linearly constrained quadratic problem with a solve unit 422 of flow data processing module 42. The value z * is an estimation for the optimum value. The actual value for the optimum will in practice deviate from this deviation due to the mutual influences of the various climate related fields. Upon convergence during subsequent iterations the estimated optimum approaches the actual optimum.

Schematically it is shown that the solve unit 422 has two mutually cooperating parts 4221 and 4222, wherein part 4221 searches for the value z * that minimizes the result of equation 7a, and wherein part 4222 restricts the possible solutions to the linear constraint set by equation 7b. Parts 4211 and 4212 of the preparation unit respectively compute the vector b' u and the matrix Au to be used by part 4222. In practice however, different implementations are possible and known to solve a linearly constrained quadratic problem.

The matrices Su, Qu and Ru, as well as the set point for u for the field u are provided by the user input module 48. The matrix Bu is provided by source mapping module 47 via bus 4B. The vector b' u u k ,e k ) is calculated by preparation part 4221 from the flow field u k and the prevailing boundary conditions e u k at point in time k. It suffices to perform these calculations at the onset of each series of iterations as the values for u k and e u k are defined as constants during time step k. Part 4212 of preparation unit 421 calculates matrix A from the current values of the iterands u,v,w and P available on iterand bus 41.

The optimum value z * found by solve unit 422 is provided to the update unit 423. In step S3 the update unit 423 (having adder 4231 and storage element 4232) uses this value z * to update the value for z u (in storage element 4232) comprising the values for ύ and q u using:

¾ = (l - «k + «*« ( 12 > Therein a is a relaxation parameter, which is for example selected in the range of 0 to 1, preferably in the range of 0.1 to 0.6, for example a value of about 0.4.

Similarly, flow data processing module 43 calculates the value for z v * in step S4, using equations (9a) and (9b), and the value for z v comprising the values for v and q v in step S5 using:

The units 431, 432 and 433 of flow data processing module 43 correspond to the units 421, 422 and 423 of flow data processing module 42.

Similarly, flow data processing module 44 calculates the value for z * in step S6 using equations (10a) and (10b), and the value for z w comprising the values for w and q in step S7 using:

The units 442 and 443 of flow data processing module 44 correspond to the units 422 and 423 of flow data processing module 42.

The unit 441 of flow data processing module 44 corresponds to the unit 421 of flow data processing module 42 except for the fact that the part of preparation unit 441 that corresponds to the part 4112 of preparation unit 411 differs in that it also uses the current value of the iterand T for the calculation of vector b' w . This is because a relatively strong relationship exists between flows in a vertical direction and the temperature distribution.

It is noted that in the embodiment shown the corrected values u,v,w of the iterands for the flow fields as determined by correction module 46 are used for the calculation of the matrices Au, Av, Aw. However, in an alternative

embodiment, the uncorrected values u,v,w may be used instead to calculate these matrices, as upon convergence, the corrected and uncorrected velocities are equal to each other. This may however slightly slow down convergence.

Next in step S8 temperature data processing module 41 calculates the value for z * using equations (7a) and (7b), and calculates the value for z r comprising the values for T and q T in step S9 using:

z T = (l - a)z T + az T * (15) In the embodiment shown the solve unit 412 having parts 4121 and 4122 provides the solution z * . Parts 4111 and 4112 of preparation unit 411

respectively calculate the vector b'T and matrix AT used by the solve unit 412. The update step is conducted by update unit 413 having an adder 4131 and a storage element 4132 for storing the value ζτ.

These calculations substantially correspond to those described for the calculations relating to the flow fields u, v, w described above. Also the

components of the temperature data processing module 41 as shown in FIG. 4 correspond to those of the flow data processing module 42 as shown in FIG. 5. Therein components of the temperature data processing module 41 that correspond to those of the flow data processing module 42 are referred by a reference number having a second digit that is 1 instead of 2.

Next in step S10 the value for P' is calculated as follows:

A P (u,v, w)F = b P (u,v, w) (3) Parts 4511 and 4512 of preparation unit respectively calculate the vector b'p and the matrix Ap.

In the present embodiment, the pressure P is not actively controlled.

Accordingly, it suffices to solve the above-mentioned linear equation. Hence the solve unit 452 of the pressure data processing module only has a linear equation solving part 4522 as schematically illustrated in FIG. 6. Nevertheless in other embodiments the pressure P may be actively controlled. In that case the solve unit 452 of the pressure data processing module may also have an optimization part 4521 analogous to those used in the flow data processing modules and the temperature data processing modules. And in step S l l the value for P is updated by update unit 453 (having adder 4331 and a storage element 4332 for the value P) as:

P = P + a P P' (3a) Therein p is a relaxation parameter, which is for example selected in the range of 0 to 1, preferably in the range of 0.1 to 0.6, for example a value of about 0.4.

The above-mentioned steps may also be performed according to another sequence, provided that the update step follows the step for calculating the *value for the estimated optimum.

The above-mentioned steps are followed by a correction step S 12 involving the following calculation for updating the values for u,v and w:

This correction step is described in more detail in: Suhas V. Patankar, "Numerical Heat Transfer and Fluid Flow", ISBN 0-07-1980 048740-S, pp. 123- 134.

In the embodiment of the data processor 4 shown in FIG. 3, this correction step is performed by the correction module 46.

In Step S 13 it is verified whether the procedure has converged or not.

Verification may take place, for example by comparing the differences between the updated values for the variables to be optimized and their previous values

with respective threshold values..

According to a more reliable test it is verified if the previously found values for the state vector ζ ™ sufficiently match each of the updated linear constraints

(5b).

I.e. it is verified if [Α φ - Β φ ]z ?rev - δ' φ (φ* , β Φ ) < η φ , wherein η φ is a respective threshold value for each of the fields Φ.

Additionally to verify the convergence of the pressure equation it is determined if the computational error of mass conservation is less than a predetermined threshold value η Ρ . In the embodiment shown this is verified by the circuit shown in FIG. 7 A, which generates the signal Ep = True iff

The procedure terminates if the verifications indicate for each of the equations that convergence has occurred, otherwise a following iteration is performed. To that end control element 494, as shown in more detail in FIG. 7B is arranged to issue a signal "k++" indicating global convergence if each of the converge indication signals Ετ, Eu,Ev, Ew, Ep from the respective field data processing modules 41-45 indicates that convergence occurred for the

corresponding monitored field. In response to the signal "k++", the iterand values present on bus 4C are transferred to results bus 4R. The source terms ^ φ that are transferred as part of the transferred iterand values then can be used for control of the actuators at point in time k.

Upon detection of global convergence the values of the iterands for the various augmented state vectors z u , z v ,z w ,z T ,z p are transmitted from the iterand bus 41 via gate 493 as the results z u k , z v k ,z w k ,z T k ,z p for the next point in time k on the results bus 4R. Therein the terms z k denote the augmented state vector k can be used to control the actuators 3a, 3m.

At the next point in time k, the source terms q T k may for example control a respective driver that powers heating elements with a supply power that is proportional to the value oiq T . The source terms q k ,q k ,ql may control further respective drivers that drive respective fans at a speed proportional to the supplied value for those source terms. In case only stepwise controlled actuators are available, these may be switched on and off in accordance with a duty cycle corresponding to the values of the supplied source terms.

A further embodiment is now described which does not only take into account but also uses predicted input values for the boundary conditions, e.g. based on a weather forecast. In this way the controller may better anticipate to changes of said boundary conditions and/or with more modest energy

requirements. This is in particular attractive for control of the temperature as the temperature field of an indoor space reacts relatively slowly to a change in the source settings unless high amounts of energy are allowed.

In this embodiment the augmented state vector for point in time k is k+k'+l

Φ k+l replaced by a predictive augmented state vector, denoted as Φ

k ' z k

a k+k'

Therein the value k' denotes the number of time steps that is included in the prediction. For k' = 0, the predictive augmented state vector reduces to the augmented state vector, i.e.: ° Ζφ = z

The optimization problem to be resolved is now generalized to:

* ' = attain J* * +1 k' lfzJ k R

A k <b k

Subject to [ k' Ai - k } ' z 0 - k' b' ( k' ei)-

The matrices k S lD , k O, k' l, k' Q lD , k' R lD used in the upper equation are obvious extensions to the matrices S ¾ ,O,/,g ¾ ,R ¾ used in equation 5a.

Furthermore the matrices A and k Β Φ are defined respectively as:

B 0

k' O k 0 B, k+l

B. k+k'

Therein: *Ά i^'r h * k ' ' k k' k _k' r>k k' ^k . k' r>k k' k , k' r>k k' k _

ΰφ Φ , ΊΦ, <¾> /= ¾Φ Φ + Β Φ 1φ + *,Φ Β Φ - k ryk k φ k + . k i \ k [ k ^.k k k \ k j k k ^.k . k ryk k ς φ k + . k' bj ^k [ k k \

- Β φ ς ϋ φ { Φ , β φ )= Β 0 Φ Φ + Β φ φ { β φ )

Hence:

And

k 'e k

,k+k'

Φ

A system, method and controller analogous to those disclosed above, with reference to FIG. 2-8, can be used to perform the above-mentioned optimization.

In the embodiments discussed above with reference to FIG. 2-8, separate modules are provided for each of the fields involved in the optimization. I.e. the controller 4 comprises a temperature data processing module 41, a first, a second and a third flow data processing module 42, 43, 44 and a pressure data

processing module 45. Mutual effects between the various fields are taken into account by the respective preparation units which receive the input data from the other fields. For example, the transition matrix AT that is used by the solve unit 412 is calculated by part 4112 of the preparation unit 411 for that solve unit 412, takes into account the values of the iterands for the motion fields.

A data processor 104, being an alternative embodiment of the data processor 4 is shown in more detail in FIG. 9. Parts therein corresponding to those in FIG. 3 have the same reference number.

Contrary to the embodiment as specified with reference to FIG. 2-8, the data processor 104 comprises a single data processing module for each of the fields (for example the temperature field, the motion fields and the pressure field) involved. In this case the augmented state variable z to be optimized includes all fields to be optimized as well as all source terms for the fields to be optimized. Hence, in the data processor as shown in FIG.9 performs the following optimization.

z* = argmin([S 0}Z-X) T Q(S 0]Z-X)+([0 l]z) T R([0 /]Z) (17a) Subjectto [^ -B]z-b'(x k ,e k ) = 0 (17b) Wherein:

For completeness sake it is noted that the notation is used to indicate a single column vector, subsequently including the elements of each of the vectors in the order specified between the brackets.

And further

In this embodiment the calculation of the source term for each of the actuators includes its direct effect also on related fields in addition the field(s) which are specifically controlled by the actuator. For example a fan, intended to control the motion fields also affects the temperature distribution.

Similarly to what is indicated above for the energy equation (1) is rewritten as described above, the equation 17b can be rewritten as (arguments for the components of matrix A and for the components of vector b not shown):

Therein the vector b x [x k ,q x ,e x ) is considered a linear function of its arguments that can be written as follows:

B q q x k + B 0 x k + B e e x k = B q q x k +

Wherein:

Contrary to the previous embodiments the pressure correction equation is not solved. Instead, the continuity equation is directly solved. This is given by the matrices Ac. Flow speeds are weighted by cell areas and all incoming flows per cell are added together. These should all be 0, or, in case of a (controllable) mass source in a cell, a certain value mapped through B q c or B q e . In practice, these last

2 matrices are zero.

The momentum equations are rewritten, so that a mapping matrix for the pressure (and in the z-momentum equation also a mapping for temperature) are extracted.

The matrix A is not of full rank (zeros on the lower right part of the diagonal). It is noted that only the pressure differences rather than the absolute pressure is defined. Typically this information is sufficient for the purpose of calculating the required actuator settings or for determining the required capacity of actuators in a climate control system. Should it nevertheless be desired to calculate the absolute pressure this can be realized by assigning a value to one of the pressures to 'ground' the system. Alternatively, the lower right diagonal (now zeros), may be replaced with an identity matrix with a very small scaling.

In the data processor 104 of FIG. 9, the solve unit 500, shown in more detail in FIG. 9A calculates the optimized value z* in accordance with equations 17a, 17b. As in FIG. 4 for example the solve unit 500 has two mutually

cooperating parts 5001 and 5002, wherein part 5001 searches for the value z* that minimizes the result of equation 17a, and wherein part 5002 restricts the possible solutions to the linear constraint set by equation 17b. It is noted that other embodiments are possible. A single preparation unit 530 that includes a first part 5301 for calculating the vector b u and a second part 5302 for calculating the matrix A to be used by the solve unit 500. Update unit 520 includes the update units 423, 433 and 443 as specified for FIG. 3.

It is noted that instead of providing separate modules for each field to be optimized or a single module for all fields, alternative configurations are possible too. For example a shared module may be provided for some of the fields to be controlled, whereas other fields may each have a dedicated module. FIG. 10 shows a design system according to the present invention. The design system comprises a data processor 4 similar to the data processor 4 as described with reference to FIG. 2-8, or similar to the data processor 4 as described with reference to FIG. 9. During operation the following steps are performed. In a way analogous to one of the method described above, for example the method described with reference to FIG. 8 or the method as performed by the data processor 104 of FIG. 9, a set of values for controlling an indoor climate are calculated. Contrary to the situation as described for these methods however, the values are not used for actual control of actuators, but to simulate the effect of actuators in a model of the indoor climate for which the control system is to be designed. On its turn, the simulated values of the climate related variables that are achieved therewith are provided as input data to the method, instead of using sensed values. The control values qk that are obtained upon global convergence of the procedure are an indication for the resources that are to be used in an actual control system. For example if it follows from the design process that a certain simulated actuator requires a certain amount of power to achieve the setpoints, it follows that the actuator in question should at least be capable of operation in that power range. Alternatively if it becomes apparent that a certain simulated actuator requires no power at all, it may be concluded that the actuator is not necessary.

As will be apparent to a person skilled in the art, the elements listed in the claims related to the system and the data processor are meant to include any hardware (such as separate or integrated circuits or electronic elements) or software (such as programs or parts of programs) which reproduce in operation or are designed to reproduce a specified function, be it solely or in conjunction with other functions, be it in isolation or in co-operation with other elements. The invention can be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. Various steps may be implemented in a sequential manner, but may alternatively be implemented in parallel.

In the apparatus claim enumerating several means, several of these means can be embodied by one and the same item of hardware. For example in the design system the data processor 4 and the simulation processor 8 may be formed by a single hardware item. Such a hardware item may for example alternately compute the data processing steps described in claim 8, and the additional simulation steps described in claim 10. 'Computer program product' is to be understood to mean any software product stored on a computer-readable medium, such as a floppy disk, downloadable via a network, such as the Internet, or marketable in any other manner.