Skip to content

Simulation Process

Validation

Validation can detect possible errors in the model before simulation. The simulation process is already started with the Validation and stopped before the start of operational optimization (see below: Simulation Process, point 7). The input data are checked for plausibility by matching the minimum and maximum values of the specified capacities. After successful validation, you can Continue simulation by clicking on the button.

Simulation Process

The simulation can also be started without prior validation. After the start, simulation runs through several independent steps, which can be followed in detail in the log file of the simulator (see following figure).

The following eight steps are performed in this order in each simulation. If an error occurs the simulation can be aborted prematurely.

  • 1. Simulation starts.
  • 2. Reading simulation data.
    First, the model descriptions of all components used are read in.
  • 3. Determining the simulation time steps.
    Reading, checking and synchronizing the time series.
  • 4. Creating equation systems which have to be solved.
    In this step the block decomposition takes place. Usually, several hundred variables (symbols) are calculated in a simulation. These are combined to several small systems of equations, which are solved one after the other.
  • 5. Simplifying equation systems.
    Some of these equation systems can be solved explicitly in this step by rearranging. Other more complex systems have to be solved with a numerical method.
  • 6. Generating the binary code.
    The created and simplified systems of equations are converted to binary code. Thus they can be solved efficiently for several thousand time steps.
  • 7. Calculating simulation results.
    All block types are evaluated and calculated. This usually most extensive step includes

    • optionally the solution of algebraic systems of equations using the nonlinear Newton solver (for example, to calculate coefficients or boundary conditions) and, above all,
    • the optimization using the MILP solver to determine optimal design of the system and optimal operation mode. MILP optimization takes place in the Main stage and, if applicable, in the simplified pre-stage (when the time-series compression level is set to a value other than “No Compression/Exact” in combination with structural optimization and/or optimization with a year-round coupled constraint).
  • 8. The results are written back into the model.
    The results then appear in the component forms.

Block Decomposition

Block decomposition is an important step in the simulation. It determines which variables can be calculated from the input data and in which order they are determined. Block decomposition leads to much greater flexibility in modeling. It is therefore not necessary to determine exactly which variables are to be entered by the user and which are to be calculated.

Ideally, all variables (symbols) can be determined at the end. Only then is the simulation considered successful and the following message appears.

Simulation_Process

The block decomposition determines the order in which the variables are calculated. The equations are grouped in small systems of equations (blocks). Result variables are calculated in each equation system. An equation system can depend on user input and the variables calculated in a previous block.

As an example we look at the equations known from the right-angled triangle:
Gleichungen

If variables a and b are specified, the calculation sequence results for the remaining variables:

Simulation Process

The decomposition does not have to be unambiguous. In the above example, you can also swap blocks 1 and 2.

It is important that each unknown variable is calculated in exactly one block and that the equations used only use results from previous blocks. Under these conditions, the blocks are selected as small as possible.

Block Types

There are six different block types:

  • Assignment
    An assignment is a directed equation in which the variable on the left is always calculated. Variables on the right side must be calculated beforehand. In this way, the order of calculation is determined by the model.
  • Symbolically simplified equation
    This is an equation that has been converted according to its result variable. For example, the simulator can resolve the 3a+2b+c=0 model equation according to the b variable. The result is a symbolically simplified equation b=-1/2(3a+c). The variables a and c must be known beforehand.
  • Well-defined system of equations
    A well-defined system of equations consists of one or more equations and just as many result variables. All other variables that occur must be calculated beforehand. Such systems of equations are solved with a numerical method (Newton method) using the Newton solver.
  • Underdetermined equation system
    An underdetermined system of equations has fewer equations than result variables. Such systems cannot be solved. This can be caused by missing input data or errors in the model.
  • Overdetermined equation system
    An overdetermined system of equations has more equations than result variables. If the equations are redundant, the model can be solved. Otherwise, a solution is sought in which the equations are best fulfilled. Check whether too much input data have been stored.
  • Linear optimization
    In addition to ordinary equations, there is a linear model that consists of linear equations, inequations, and a target function that is optimized. The linear model is always summarized and solved in one block. In the Simulation, the linear model is used to optimize the operation and structure of the energy system. In particular, it is used to calculate the optimized control and the switch-on sequence (Priority) of components. Different solvers are available for linear optimization.

Erroneous and Unsolvable Blocks

Erroneous blocks are shown in messages with a blue linked block number. Follow the link to get further information. You can learn more about this procedure using the Steam Turbine as an example.

If a block cannot be solved (e.g., due to an error or underdeterminedness), this also applies to all blocks in which result variables of the block occur. In this way, an erroneous block can lead to a large number of unresolved variables.

Time-Dependent Simulations

The time series that are stored for simulations, must have certain properties. For all variables whose calculation depends on time-dependent data, time series are also determined as the result. The intersection of their time periods results in the maximum simulation time.

For all variables whose calculation depends on time-dependent data, time series are also determined as the result.

In time-dependent simulations, each block is solved for all time steps before the next block is calculated.

The following schematic representation of the calculation sequence shows that the simulator solves the blocks line by line. Solved blocks are blue (assignment, system of equations, etc.) or red (linear optimization). The block currently being calculated is green. Blocks that have not yet been calculated are white.

Simulation Process

To consider year-round coupled constraints, a special algorithm for year-round coupled optimization is executed. With time series compression and year-round-coupled optimization or structural optimization, the calculation process consists of a simplified pre-stage and the main stage.

Back To Top