Running: ./testmodel.py --libraries=/home/hudson/saved_omc/libraries/.openmodelica/libraries/ --ompython_omhome=/usr Buildings_8_Buildings.Fluid.Storage.Examples.StratifiedUnloadAtMinimumTemperature.conf.json loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo", uses=false) loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.0.0+maint.om/package.mo", uses=false) loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 3.2.3+maint.om/package.mo", uses=false) loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 8.1.4-maint.8.1.x/package.mo", uses=false) Using package Buildings with version 8.1.4 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 8.1.4-maint.8.1.x/package.mo) Using package Modelica with version 3.2.3 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 3.2.3+maint.om/package.mo) Using package Complex with version 4.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.0.0+maint.om/package.mo) Using package ModelicaServices with version 4.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo) Running command: translateModel(Buildings.Fluid.Storage.Examples.StratifiedUnloadAtMinimumTemperature,tolerance=1e-06,outputFormat="empty",numberOfIntervals=5000,variableFilter="",fileNamePrefix="Buildings_8_Buildings.Fluid.Storage.Examples.StratifiedUnloadAtMinimumTemperature") translateModel(Buildings.Fluid.Storage.Examples.StratifiedUnloadAtMinimumTemperature,tolerance=1e-06,outputFormat="empty",numberOfIntervals=5000,variableFilter="",fileNamePrefix="Buildings_8_Buildings.Fluid.Storage.Examples.StratifiedUnloadAtMinimumTemperature") Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo): time 0.0008688/0.0008688, allocations: 91.84 kB / 15.36 MB, free: 0.7383 MB / 14.72 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.0.0+maint.om/package.mo): time 0.005613/0.005613, allocations: 170.9 kB / 16.26 MB, free: 6.613 MB / 14.72 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 3.2.3+maint.om/package.mo): time 1.512/1.512, allocations: 205.4 MB / 222.5 MB, free: 5.551 MB / 174.1 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 8.1.4-maint.8.1.x/package.mo): time 1.757/1.757, allocations: 292.7 MB / 0.5502 GB, free: 14.44 MB / 462.1 MB Notification: Modelica requested package Complex of version 3.2.3. Complex 4.0.0 is used instead which states that it is fully compatible without conversion script needed. Notification: Modelica requested package ModelicaServices of version 3.2.3. ModelicaServices 4.0.0 is used instead which states that it is fully compatible without conversion script needed. Notification: Performance of FrontEnd - loaded program: time 0.0005258/0.0005258, allocations: 16.09 kB / 0.6743 GB, free: 25.82 MB / 0.5294 GB Notification: Performance of FrontEnd - Absyn->SCode: time 0.3041/0.3046, allocations: 116.3 MB / 0.7879 GB, free: 11.57 MB / 0.6075 GB Notification: Performance of NFInst.instantiate(Buildings.Fluid.Storage.Examples.StratifiedUnloadAtMinimumTemperature): time 0.03723/0.3419, allocations: 36.9 MB / 0.8239 GB, free: 6.535 MB / 0.6387 GB Notification: Performance of NFInst.instExpressions: time 0.02245/0.3645, allocations: 12.73 MB / 0.8363 GB, free: 9.777 MB / 0.6544 GB Notification: Performance of NFInst.updateImplicitVariability: time 0.002508/0.367, allocations: 47.62 kB / 0.8364 GB, free: 9.73 MB / 0.6544 GB Notification: Performance of NFTyping.typeComponents: time 0.00199/0.369, allocations: 485.2 kB / 0.8368 GB, free: 9.254 MB / 0.6544 GB Notification: Performance of NFTyping.typeBindings: time 0.006379/0.3754, allocations: 1.447 MB / 0.8383 GB, free: 7.801 MB / 0.6544 GB Notification: Performance of NFTyping.typeClassSections: time 0.004213/0.3797, allocations: 1.116 MB / 0.8393 GB, free: 6.695 MB / 0.6544 GB Notification: Performance of NFFlatten.flatten: time 0.01249/0.3922, allocations: 10.43 MB / 0.8495 GB, free: 12.24 MB / 0.67 GB Notification: Performance of NFFlatten.resolveConnections: time 0.004793/0.397, allocations: 3.061 MB / 0.8525 GB, free: 9.117 MB / 0.67 GB Notification: Performance of NFEvalConstants.evaluate: time 0.005924/0.403, allocations: 2.136 MB / 0.8546 GB, free: 6.973 MB / 0.67 GB Notification: Performance of NFSimplifyModel.simplify: time 0.004882/0.4079, allocations: 2.263 MB / 0.8568 GB, free: 4.699 MB / 0.67 GB Notification: Performance of NFPackage.collectConstants: time 0.0008637/0.4088, allocations: 136 kB / 0.8569 GB, free: 4.566 MB / 0.67 GB Notification: Performance of NFFlatten.collectFunctions: time 0.003672/0.4125, allocations: 0.9396 MB / 0.8579 GB, free: 3.625 MB / 0.67 GB Notification: Performance of NFScalarize.scalarize: time 0.0009334/0.4134, allocations: 0.6185 MB / 0.8585 GB, free: 3.004 MB / 0.67 GB Notification: Performance of NFVerifyModel.verify: time 0.002941/0.4164, allocations: 1.552 MB / 0.86 GB, free: 1.438 MB / 0.67 GB Notification: Performance of NFConvertDAE.convert: time 0.006147/0.4225, allocations: 4.859 MB / 0.8647 GB, free: 12.56 MB / 0.6856 GB Notification: Performance of FrontEnd - DAE generated: time 5.52e-06/0.4226, allocations: 4 kB / 0.8647 GB, free: 12.56 MB / 0.6856 GB Notification: Performance of FrontEnd: time 5.31e-06/0.4226, allocations: 0 / 0.8647 GB, free: 12.56 MB / 0.6856 GB Notification: Performance of Transformations before backend: time 0.0001233/0.4227, allocations: 3.938 kB / 0.8647 GB, free: 12.55 MB / 0.6856 GB Notification: Model statistics after passing the front-end and creating the data structures used by the back-end: * Number of equations: 586 * Number of variables: 586 Notification: Performance of Generate backend data structure: time 0.00679/0.4295, allocations: 2.973 MB / 0.8676 GB, free: 9.516 MB / 0.6856 GB Notification: Performance of prepare preOptimizeDAE: time 4.978e-05/0.4296, allocations: 8.031 kB / 0.8676 GB, free: 9.508 MB / 0.6856 GB Notification: Performance of preOpt normalInlineFunction (simulation): time 0.001251/0.4308, allocations: 356.7 kB / 0.868 GB, free: 9.156 MB / 0.6856 GB Notification: Performance of preOpt evaluateParameters (simulation): time 0.004509/0.4354, allocations: 2.585 MB / 0.8705 GB, free: 6.523 MB / 0.6856 GB Notification: Performance of preOpt simplifyIfEquations (simulation): time 0.0001387/0.4355, allocations: 176.6 kB / 0.8707 GB, free: 6.348 MB / 0.6856 GB Notification: Performance of preOpt expandDerOperator (simulation): time 0.0003645/0.4359, allocations: 243.9 kB / 0.8709 GB, free: 6.109 MB / 0.6856 GB Notification: Performance of preOpt clockPartitioning (simulation): time 0.005502/0.4414, allocations: 3.233 MB / 0.8741 GB, free: 2.738 MB / 0.6856 GB Notification: Performance of preOpt findStateOrder (simulation): time 5.225e-05/0.4415, allocations: 7.938 kB / 0.8741 GB, free: 2.73 MB / 0.6856 GB Notification: Performance of preOpt replaceEdgeChange (simulation): time 0.0002472/0.4417, allocations: 100 kB / 0.8742 GB, free: 2.633 MB / 0.6856 GB Notification: Performance of preOpt inlineArrayEqn (simulation): time 7.167e-05/0.4418, allocations: 63.98 kB / 0.8742 GB, free: 2.57 MB / 0.6856 GB Notification: Performance of preOpt removeEqualRHS (simulation): time 0.004325/0.4461, allocations: 2.585 MB / 0.8768 GB, free: 15.97 MB / 0.7012 GB Warning: The model contains alias variables with redundant start and/or conflicting nominal values. It is recommended to resolve the conflicts, because otherwise the system could be hard to solve. To print the conflicting alias sets and the chosen candidates please use -d=aliasConflicts. Notification: Performance of preOpt removeSimpleEquations (simulation): time 0.017/0.4631, allocations: 13.76 MB / 0.8902 GB, free: 1.141 MB / 0.7012 GB Notification: Performance of preOpt comSubExp (simulation): time 0.002564/0.4657, allocations: 1.626 MB / 0.8918 GB, free: 15.5 MB / 0.7169 GB Notification: Performance of preOpt resolveLoops (simulation): time 0.001625/0.4674, allocations: 1.162 MB / 0.8929 GB, free: 14.34 MB / 0.7169 GB Notification: Performance of preOpt evalFunc (simulation): time 0.0008376/0.4682, allocations: 0.7244 MB / 0.8936 GB, free: 13.47 MB / 0.7169 GB Notification: Performance of preOpt encapsulateWhenConditions (simulation): time 5.478e-05/0.4683, allocations: 55.5 kB / 0.8937 GB, free: 13.41 MB / 0.7169 GB Notification: Performance of preOpt simplifyInStream (simulation): time 0.001378/0.4697, allocations: 187.7 kB / 0.8939 GB, free: 13.22 MB / 0.7169 GB Notification: Performance of pre-optimization done (n=126): time 3.486e-06/0.4697, allocations: 0 / 0.8939 GB, free: 13.22 MB / 0.7169 GB Notification: Performance of matching and sorting (n=126): time 0.009562/0.4793, allocations: 3.476 MB / 0.8972 GB, free: 9.691 MB / 0.7169 GB Notification: Performance of inlineWhenForInitialization (initialization): time 0.000106/0.4794, allocations: 149.5 kB / 0.8974 GB, free: 9.516 MB / 0.7169 GB Notification: Performance of selectInitializationVariablesDAE (initialization): time 0.003643/0.4831, allocations: 1.958 MB / 0.8993 GB, free: 7.516 MB / 0.7169 GB Notification: Performance of collectPreVariables (initialization): time 0.0002148/0.4833, allocations: 57.64 kB / 0.8994 GB, free: 7.453 MB / 0.7169 GB Notification: Performance of collectInitialEqns (initialization): time 0.001361/0.4847, allocations: 1.258 MB / 0.9006 GB, free: 6.18 MB / 0.7169 GB Notification: Performance of collectInitialBindings (initialization): time 0.0005156/0.4852, allocations: 441.8 kB / 0.901 GB, free: 5.742 MB / 0.7169 GB Notification: Performance of simplifyInitialFunctions (initialization): time 0.0002587/0.4855, allocations: 149.6 kB / 0.9011 GB, free: 5.59 MB / 0.7169 GB Notification: Performance of setup shared object (initialization): time 9.489e-05/0.4856, allocations: 305.1 kB / 0.9014 GB, free: 5.289 MB / 0.7169 GB Notification: Performance of preBalanceInitialSystem (initialization): time 0.00128/0.4869, allocations: 0.7378 MB / 0.9022 GB, free: 4.551 MB / 0.7169 GB Notification: Performance of partitionIndependentBlocks (initialization): time 0.001572/0.4884, allocations: 1.244 MB / 0.9034 GB, free: 3.098 MB / 0.7169 GB Notification: Performance of analyzeInitialSystem (initialization): time 0.002974/0.4914, allocations: 2.045 MB / 0.9054 GB, free: 0.8555 MB / 0.7169 GB Notification: Performance of solveInitialSystemEqSystem (initialization): time 1.987e-05/0.4915, allocations: 4 kB / 0.9054 GB, free: 0.8516 MB / 0.7169 GB Notification: Performance of matching and sorting (n=213) (initialization): time 0.00439/0.4959, allocations: 2.433 MB / 0.9078 GB, free: 14.41 MB / 0.7325 GB Notification: Performance of prepare postOptimizeDAE: time 0.0004505/0.4963, allocations: 0.4989 MB / 0.9082 GB, free: 13.71 MB / 0.7325 GB Notification: Performance of postOpt simplifyComplexFunction (initialization): time 3.258e-05/0.4964, allocations: 19.94 kB / 0.9083 GB, free: 13.69 MB / 0.7325 GB Notification: Performance of postOpt tearingSystem (initialization): time 0.002461/0.4988, allocations: 0.5157 MB / 0.9088 GB, free: 13.17 MB / 0.7325 GB Notification: Performance of postOpt solveSimpleEquations (initialization): time 0.001508/0.5004, allocations: 355.4 kB / 0.9091 GB, free: 12.82 MB / 0.7325 GB Notification: Performance of postOpt calculateStrongComponentJacobians (initialization): time 0.00371/0.5041, allocations: 3.137 MB / 0.9122 GB, free: 9.523 MB / 0.7325 GB Notification: Performance of postOpt simplifyAllExpressions (initialization): time 0.00275/0.5069, allocations: 239.4 kB / 0.9124 GB, free: 9.289 MB / 0.7325 GB Notification: Performance of postOpt collapseArrayExpressions (initialization): time 0.0002552/0.5071, allocations: 83.97 kB / 0.9125 GB, free: 9.207 MB / 0.7325 GB Notification: Performance of prepare postOptimizeDAE: time 1.221e-05/0.5072, allocations: 4 kB / 0.9125 GB, free: 9.203 MB / 0.7325 GB Notification: Performance of postOpt replaceHomotopyWithSimplified (initialization): time 0.00395/0.5111, allocations: 2.191 MB / 0.9146 GB, free: 7.004 MB / 0.7325 GB Notification: Performance of postOpt simplifyComplexFunction (initialization): time 3.657e-05/0.5112, allocations: 12 kB / 0.9146 GB, free: 6.992 MB / 0.7325 GB Notification: Performance of postOpt tearingSystem (initialization): time 0.0006327/0.5118, allocations: 242 kB / 0.9149 GB, free: 6.75 MB / 0.7325 GB Notification: Performance of postOpt solveSimpleEquations (initialization): time 0.001361/0.5132, allocations: 367.4 kB / 0.9152 GB, free: 6.391 MB / 0.7325 GB Notification: Performance of postOpt calculateStrongComponentJacobians (initialization): time 0.004502/0.5177, allocations: 4.184 MB / 0.9193 GB, free: 1.938 MB / 0.7325 GB Notification: Performance of postOpt simplifyAllExpressions (initialization): time 0.002218/0.5199, allocations: 219.5 kB / 0.9195 GB, free: 1.723 MB / 0.7325 GB Notification: Performance of postOpt collapseArrayExpressions (initialization): time 0.0001766/0.5201, allocations: 79.98 kB / 0.9196 GB, free: 1.645 MB / 0.7325 GB Notification: Model statistics after passing the back-end for initialization: * Number of independent subsystems: 63 * Number of states: 0 () * Number of discrete variables: 8 (onOffHea.y,$PRE.onOffHea.y,yTop.u,and2.y,onOffMid.y,$PRE.onOffMid.y,onOffBot.y,$PRE.onOffBot.y) * Number of discrete states: 0 () * Number of clocked states: 0 () * Top-level inputs: 0 Notification: Strong component statistics for initialization (179): * Single equations (assignments): 177 * Array equations: 0 * Algorithm blocks: 0 * Record equations: 0 * When equations: 0 * If-equations: 0 * Equation systems (not torn): 0 * Torn equation systems: 2 * Mixed (continuous/discrete) equation systems: 0 Notification: Torn system details for strict tearing set: * Linear torn systems (#iteration vars, #inner vars, density): 1 system {(1,10,100.0%)} * Non-linear torn systems (#iteration vars, #inner vars): 1 system {(3,22)} Notification: Performance of prepare postOptimizeDAE: time 0.001987/0.5221, allocations: 1.004 MB / 0.9206 GB, free: 0.6289 MB / 0.7325 GB Notification: Performance of postOpt lateInlineFunction (simulation): time 0.0006372/0.5228, allocations: 209.5 kB / 0.9208 GB, free: 432 kB / 0.7325 GB Notification: Performance of postOpt wrapFunctionCalls (simulation): time 0.5069/1.03, allocations: 2.057 MB / 0.9228 GB, free: 128.5 MB / 0.7325 GB Notification: Performance of postOpt inlineArrayEqn (simulation): time 3.149e-05/1.03, allocations: 17.2 kB / 0.9228 GB, free: 128.5 MB / 0.7325 GB Notification: Performance of postOpt constantLinearSystem (simulation): time 8.095e-06/1.03, allocations: 4.562 kB / 0.9228 GB, free: 128.5 MB / 0.7325 GB Notification: Performance of postOpt simplifysemiLinear (simulation): time 0.003092/1.033, allocations: 1.665 MB / 0.9244 GB, free: 128.4 MB / 0.7325 GB Notification: Performance of postOpt removeSimpleEquations (simulation): time 0.009357/1.042, allocations: 4.697 MB / 0.929 GB, free: 126.8 MB / 0.7325 GB Notification: Performance of postOpt simplifyComplexFunction (simulation): time 1.01e-05/1.042, allocations: 1.375 kB / 0.929 GB, free: 126.8 MB / 0.7325 GB Notification: Performance of postOpt solveSimpleEquations (simulation): time 0.0008599/1.043, allocations: 194.4 kB / 0.9292 GB, free: 126.8 MB / 0.7325 GB Notification: Performance of postOpt tearingSystem (simulation): time 0.001877/1.045, allocations: 455.5 kB / 0.9296 GB, free: 126.7 MB / 0.7325 GB Notification: Performance of postOpt inputDerivativesUsed (simulation): time 0.0001106/1.045, allocations: 35.08 kB / 0.9297 GB, free: 126.7 MB / 0.7325 GB Notification: Performance of postOpt calculateStrongComponentJacobians (simulation): time 0.002822/1.048, allocations: 3.065 MB / 0.9327 GB, free: 124.3 MB / 0.7325 GB Notification: Performance of postOpt calculateStateSetsJacobians (simulation): time 2.946e-06/1.048, allocations: 2.938 kB / 0.9327 GB, free: 124.3 MB / 0.7325 GB Notification: Performance of postOpt symbolicJacobian (simulation): time 0.004635/1.053, allocations: 2.999 MB / 0.9356 GB, free: 123.1 MB / 0.7325 GB Notification: Performance of postOpt removeConstants (simulation): time 0.001556/1.054, allocations: 0.5126 MB / 0.9361 GB, free: 122.9 MB / 0.7325 GB Notification: Performance of postOpt simplifyTimeIndepFuncCalls (simulation): time 0.0002772/1.055, allocations: 27.42 kB / 0.9361 GB, free: 122.9 MB / 0.7325 GB Notification: Performance of postOpt simplifyAllExpressions (simulation): time 0.001514/1.056, allocations: 201.2 kB / 0.9363 GB, free: 122.9 MB / 0.7325 GB Notification: Performance of postOpt findZeroCrossings (simulation): time 0.0003045/1.056, allocations: 102 kB / 0.9364 GB, free: 122.9 MB / 0.7325 GB Notification: Performance of postOpt collapseArrayExpressions (simulation): time 0.0001217/1.056, allocations: 55.41 kB / 0.9365 GB, free: 122.9 MB / 0.7325 GB Notification: Performance of sorting global known variables: time 0.002552/1.059, allocations: 1.348 MB / 0.9378 GB, free: 122.3 MB / 0.7325 GB Notification: Performance of sort global known variables: time 1.8e-07/1.059, allocations: 0 / 0.9378 GB, free: 122.3 MB / 0.7325 GB Notification: Performance of remove unused functions: time 0.008201/1.067, allocations: 1.475 MB / 0.9392 GB, free: 122.2 MB / 0.7325 GB Notification: Model statistics after passing the back-end for simulation: * Number of independent subsystems: 4 * Number of states: 5 (tan.vol[1].dynBal.U,tan.vol[2].dynBal.U,tan.vol[3].dynBal.U,tan.vol[4].dynBal.U,tan.vol[5].dynBal.U) * Number of discrete variables: 5 (onOffBot.y,onOffMid.y,and2.y,yTop.u,onOffHea.y) * Number of discrete states: 3 (onOffBot.y,onOffMid.y,onOffHea.y) * Number of clocked states: 0 () * Top-level inputs: 0 Notification: Strong component statistics for simulation (102): * Single equations (assignments): 96 * Array equations: 0 * Algorithm blocks: 0 * Record equations: 4 * When equations: 0 * If-equations: 0 * Equation systems (not torn): 0 * Torn equation systems: 2 * Mixed (continuous/discrete) equation systems: 0 Notification: Torn system details for strict tearing set: * Linear torn systems (#iteration vars, #inner vars, density): 1 system {(1,10,100.0%)} * Non-linear torn systems (#iteration vars, #inner vars): 1 system {(3,20)} Notification: Performance of Backend phase and start with SimCode phase: time 0.001608/1.069, allocations: 388.5 kB / 0.9396 GB, free: 122.1 MB / 0.7325 GB Notification: Performance of simCode: created initialization part: time 0.008229/1.077, allocations: 3.377 MB / 0.9429 GB, free: 120.8 MB / 0.7325 GB Notification: Performance of simCode: created event and clocks part: time 9.999e-06/1.077, allocations: 1.094 kB / 0.9429 GB, free: 120.8 MB / 0.7325 GB Notification: Performance of simCode: created simulation system equations: time 0.002135/1.079, allocations: 1.023 MB / 0.9439 GB, free: 120.3 MB / 0.7325 GB Notification: Performance of simCode: created of all other equations (e.g. parameter, nominal, assert, etc): time 0.007178/1.087, allocations: 1.17 MB / 0.945 GB, free: 120.1 MB / 0.7325 GB Notification: Performance of simCode: created linear, non-linear and system jacobian parts: time 0.01102/1.098, allocations: 6.459 MB / 0.9513 GB, free: 116.7 MB / 0.7325 GB Notification: Performance of simCode: some other stuff during SimCode phase: time 0.002314/1.1, allocations: 2.15 MB / 0.9534 GB, free: 115.7 MB / 0.7325 GB Notification: Performance of simCode: alias equations: time 0.003725/1.104, allocations: 0.9348 MB / 0.9543 GB, free: 115.6 MB / 0.7325 GB Notification: Performance of simCode: all other stuff during SimCode phase: time 0.0005389/1.104, allocations: 176.5 kB / 0.9545 GB, free: 115.6 MB / 0.7325 GB Notification: Performance of SimCode: time 1.052e-06/1.104, allocations: 0 / 0.9545 GB, free: 115.6 MB / 0.7325 GB Notification: Performance of Templates: time 0.07039/1.175, allocations: 46.12 MB / 0.9995 GB, free: 76.56 MB / 0.7325 GB make -j1 -f Buildings_8_Buildings.Fluid.Storage.Examples.StratifiedUnloadAtMinimumTemperature.makefile Environment - environmentSimulation: (rm -f Buildings_8_Buildings.Fluid.Storage.Examples.StratifiedUnloadAtMinimumTemperature.pipe ; mkfifo Buildings_8_Buildings.Fluid.Storage.Examples.StratifiedUnloadAtMinimumTemperature.pipe ; head -c 1048576 < Buildings_8_Buildings.Fluid.Storage.Examples.StratifiedUnloadAtMinimumTemperature.pipe >> ../files/Buildings_8_Buildings.Fluid.Storage.Examples.StratifiedUnloadAtMinimumTemperature.sim & ./Buildings_8_Buildings.Fluid.Storage.Examples.StratifiedUnloadAtMinimumTemperature -abortSlowSimulation -alarm=480 -lv LOG_STATS > Buildings_8_Buildings.Fluid.Storage.Examples.StratifiedUnloadAtMinimumTemperature.pipe 2>&1) Environment - environmentSimulation: