Running: ./testmodel.py --libraries=/home/hudson/saved_omc/libraries/.openmodelica/libraries/ --ompython_omhome=/usr IDEAS_dev_IDEAS.Fluid.HeatPumps.Validation.ScrollWaterToWater_TemperatureProtection.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 4.0.0+maint.om/package.mo", uses=false) loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/IDEAS 3.0.0-master/package.mo", uses=false) Using package IDEAS with version 3.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/IDEAS 3.0.0-master/package.mo) Using package Modelica with version 4.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 4.0.0+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: "" <> buildModelFMU(IDEAS.Fluid.HeatPumps.Validation.ScrollWaterToWater_TemperatureProtection,fileNamePrefix="IDEAS_dev_IDEAS_Fluid_HeatPumps_Validation_ScrollWaterToWater_TemperatureProtection",fmuType="me",version="2.0",platforms={"static"}) "" <> buildModelFMU(IDEAS.Fluid.HeatPumps.Validation.ScrollWaterToWater_TemperatureProtection,fileNamePrefix="IDEAS_dev_IDEAS_Fluid_HeatPumps_Validation_ScrollWaterToWater_TemperatureProtection",fmuType="me",version="2.0",platforms={"static"}) Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo): time 0.001751/0.001751, allocations: 99.62 kB / 15.05 MB, free: 1.105 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.002601/0.0026, allocations: 177.3 kB / 15.95 MB, free: 216 kB / 14.72 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 4.0.0+maint.om/package.mo): time 2.518/2.518, allocations: 223.2 MB / 239.9 MB, free: 5.449 MB / 190.1 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/IDEAS 3.0.0-master/package.mo): time 1.656/1.656, allocations: 135.2 MB / 426.2 MB, free: 14.26 MB / 350.1 MB Notification: Performance of FrontEnd - loaded program: time 0.000573/0.0005733, allocations: 12 kB / 0.5069 GB, free: 5.176 MB / 414.1 MB Notification: Performance of FrontEnd - Absyn->SCode: time 0.3178/0.3184, allocations: 82.3 MB / 0.5873 GB, free: 3.051 MB / 494.1 MB Notification: Performance of NFInst.instantiate(IDEAS.Fluid.HeatPumps.Validation.ScrollWaterToWater_TemperatureProtection): time 0.6774/0.9959, allocations: 58.54 MB / 0.6444 GB, free: 18.72 MB / 0.4981 GB Notification: Performance of NFInst.instExpressions: time 0.02544/1.021, allocations: 12.11 MB / 0.6563 GB, free: 10.12 MB / 0.4981 GB Notification: Performance of NFInst.updateImplicitVariability: time 0.00412/1.026, allocations: 66.44 kB / 0.6563 GB, free: 10.09 MB / 0.4981 GB Notification: Performance of NFTyping.typeComponents: time 0.004135/1.03, allocations: 0.7821 MB / 0.6571 GB, free: 9.645 MB / 0.4981 GB Notification: Performance of NFTyping.typeBindings: time 0.01187/1.042, allocations: 2.233 MB / 0.6593 GB, free: 8.18 MB / 0.4981 GB Notification: Performance of NFTyping.typeClassSections: time 0.00982/1.052, allocations: 1.902 MB / 0.6611 GB, free: 7.266 MB / 0.4981 GB Notification: Performance of NFFlatten.flatten: time 0.01074/1.062, allocations: 2.782 MB / 0.6639 GB, free: 5.734 MB / 0.4981 GB Notification: Performance of NFFlatten.resolveConnections: time 0.005256/1.068, allocations: 1.33 MB / 0.6652 GB, free: 5.23 MB / 0.4981 GB Notification: Performance of NFEvalConstants.evaluate: time 0.006844/1.075, allocations: 1.305 MB / 0.6664 GB, free: 4.598 MB / 0.4981 GB Notification: Performance of NFSimplifyModel.simplify: time 0.00435/1.079, allocations: 0.8859 MB / 0.6673 GB, free: 4.199 MB / 0.4981 GB Notification: Performance of NFPackage.collectConstants: time 0.001146/1.08, allocations: 72.28 kB / 0.6674 GB, free: 4.199 MB / 0.4981 GB Notification: Performance of NFFlatten.collectFunctions: time 0.009305/1.09, allocations: 1.177 MB / 0.6685 GB, free: 3.891 MB / 0.4981 GB Notification: Performance of NFScalarize.scalarize: time 0.001651/1.091, allocations: 332.2 kB / 0.6688 GB, free: 3.719 MB / 0.4981 GB Notification: Performance of NFVerifyModel.verify: time 0.001727/1.093, allocations: 431.9 kB / 0.6692 GB, free: 3.473 MB / 0.4981 GB Notification: Performance of NFConvertDAE.convert: time 0.01085/1.104, allocations: 2.679 MB / 0.6719 GB, free: 2.828 MB / 0.4981 GB Notification: Performance of FrontEnd - DAE generated: time 6.642e-06/1.104, allocations: 5.25 kB / 0.6719 GB, free: 2.824 MB / 0.4981 GB Notification: Performance of FrontEnd: time 4.448e-06/1.104, allocations: 0 / 0.6719 GB, free: 2.824 MB / 0.4981 GB Notification: Performance of Transformations before backend: time 0.0001655/1.104, allocations: 0 / 0.6719 GB, free: 2.824 MB / 0.4981 GB Notification: Model statistics after passing the front-end and creating the data structures used by the back-end: * Number of equations: 338 * Number of variables: 338 Notification: Performance of Generate backend data structure: time 0.01053/1.115, allocations: 2.066 MB / 0.6739 GB, free: 1.5 MB / 0.4981 GB Notification: Performance of prepare preOptimizeDAE: time 6.461e-05/1.115, allocations: 8.688 kB / 0.6739 GB, free: 1.5 MB / 0.4981 GB Notification: Performance of preOpt introduceOutputAliases (simulation): time 0.001048/1.116, allocations: 202.4 kB / 0.6741 GB, free: 1.371 MB / 0.4981 GB Notification: Performance of preOpt normalInlineFunction (simulation): time 0.008655/1.125, allocations: 0.7588 MB / 0.6748 GB, free: 1.23 MB / 0.4981 GB Notification: Performance of preOpt evaluateParameters (simulation): time 0.006437/1.131, allocations: 1.55 MB / 0.6763 GB, free: 300 kB / 0.4981 GB Notification: Performance of preOpt simplifyIfEquations (simulation): time 0.0003494/1.132, allocations: 140.1 kB / 0.6765 GB, free: 220 kB / 0.4981 GB Notification: Performance of preOpt expandDerOperator (simulation): time 0.0006637/1.132, allocations: 136.9 kB / 0.6766 GB, free: 176 kB / 0.4981 GB Notification: Performance of preOpt clockPartitioning (simulation): time 0.0107/1.143, allocations: 1.821 MB / 0.6784 GB, free: 15.34 MB / 0.5137 GB Notification: Performance of preOpt findStateOrder (simulation): time 7.186e-05/1.143, allocations: 2.25 kB / 0.6784 GB, free: 15.34 MB / 0.5137 GB Notification: Performance of preOpt replaceEdgeChange (simulation): time 0.000434/1.144, allocations: 59.61 kB / 0.6784 GB, free: 15.3 MB / 0.5137 GB Notification: Performance of preOpt inlineArrayEqn (simulation): time 0.0001254/1.144, allocations: 48.53 kB / 0.6785 GB, free: 15.29 MB / 0.5137 GB Notification: Performance of preOpt removeEqualRHS (simulation): time 0.01114/1.155, allocations: 1.605 MB / 0.6801 GB, free: 14.75 MB / 0.5137 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.02999/1.185, allocations: 7.614 MB / 0.6875 GB, free: 9.477 MB / 0.5137 GB Notification: Performance of preOpt comSubExp (simulation): time 0.005514/1.191, allocations: 0.8977 MB / 0.6884 GB, free: 9.125 MB / 0.5137 GB Notification: Performance of preOpt evalFunc (simulation): time 0.002667/1.193, allocations: 1.269 MB / 0.6896 GB, free: 7.699 MB / 0.5137 GB Notification: Performance of preOpt encapsulateWhenConditions (simulation): time 9.28e-05/1.193, allocations: 46.69 kB / 0.6896 GB, free: 7.652 MB / 0.5137 GB Notification: Performance of pre-optimization done (n=81): time 7.053e-06/1.193, allocations: 0 / 0.6896 GB, free: 7.652 MB / 0.5137 GB Notification: Performance of matching and sorting (n=81): time 0.03439/1.228, allocations: 2.818 MB / 0.6924 GB, free: 6.895 MB / 0.5137 GB Notification: Performance of inlineWhenForInitialization (initialization): time 0.0001876/1.228, allocations: 189.6 kB / 0.6926 GB, free: 6.676 MB / 0.5137 GB Notification: Performance of selectInitializationVariablesDAE (initialization): time 0.004945/1.233, allocations: 1.467 MB / 0.694 GB, free: 6.086 MB / 0.5137 GB Notification: Performance of collectPreVariables (initialization): time 0.0006727/1.234, allocations: 55.39 kB / 0.6941 GB, free: 6.039 MB / 0.5137 GB Notification: Performance of collectInitialEqns (initialization): time 0.001355/1.235, allocations: 0.7624 MB / 0.6948 GB, free: 5.43 MB / 0.5137 GB Notification: Performance of collectInitialBindings (initialization): time 0.0007451/1.236, allocations: 275.6 kB / 0.6951 GB, free: 5.219 MB / 0.5137 GB Notification: Performance of simplifyInitialFunctions (initialization): time 0.0001399/1.236, allocations: 23.94 kB / 0.6951 GB, free: 5.199 MB / 0.5137 GB Notification: Performance of setup shared object (initialization): time 0.0002524/1.236, allocations: 342.1 kB / 0.6954 GB, free: 4.879 MB / 0.5137 GB Notification: Performance of preBalanceInitialSystem (initialization): time 0.003307/1.24, allocations: 0.5538 MB / 0.696 GB, free: 4.699 MB / 0.5137 GB Notification: Performance of partitionIndependentBlocks (initialization): time 0.003783/1.243, allocations: 0.8589 MB / 0.6968 GB, free: 4.055 MB / 0.5137 GB Notification: Performance of analyzeInitialSystem (initialization): time 0.003284/1.247, allocations: 0.6025 MB / 0.6974 GB, free: 3.758 MB / 0.5137 GB Notification: Performance of solveInitialSystemEqSystem (initialization): time 1.188e-05/1.247, allocations: 1.062 kB / 0.6974 GB, free: 3.758 MB / 0.5137 GB Notification: Performance of matching and sorting (n=127) (initialization): time 0.008997/1.256, allocations: 1.682 MB / 0.699 GB, free: 2.91 MB / 0.5137 GB Notification: Performance of prepare postOptimizeDAE: time 0.002404/1.258, allocations: 2.592 MB / 0.7016 GB, free: 88 kB / 0.5137 GB Notification: Performance of postOpt simplifyComplexFunction (initialization): time 3.614e-05/1.258, allocations: 6.188 kB / 0.7016 GB, free: 88 kB / 0.5137 GB Notification: Performance of postOpt tearingSystem (initialization): time 0.003139/1.262, allocations: 485.1 kB / 0.702 GB, free: 15.89 MB / 0.5294 GB Notification: Performance of postOpt solveSimpleEquations (initialization): time 0.003052/1.265, allocations: 294.2 kB / 0.7023 GB, free: 15.79 MB / 0.5294 GB Notification: Performance of postOpt calculateStrongComponentJacobians (initialization): time 0.003221/1.268, allocations: 0.9995 MB / 0.7033 GB, free: 15.02 MB / 0.5294 GB Notification: Performance of postOpt simplifyAllExpressions (initialization): time 0.005505/1.273, allocations: 301.2 kB / 0.7036 GB, free: 14.86 MB / 0.5294 GB Notification: Performance of postOpt collapseArrayExpressions (initialization): time 0.0004475/1.274, allocations: 68.27 kB / 0.7036 GB, free: 14.83 MB / 0.5294 GB Notification: Performance of prepare postOptimizeDAE: time 2.292e-05/1.274, allocations: 2.844 kB / 0.7036 GB, free: 14.83 MB / 0.5294 GB Notification: Performance of postOpt replaceHomotopyWithSimplified (initialization): time 0.008686/1.283, allocations: 1.522 MB / 0.7051 GB, free: 14.07 MB / 0.5294 GB Notification: Performance of postOpt simplifyComplexFunction (initialization): time 4.947e-05/1.283, allocations: 11.06 kB / 0.7051 GB, free: 14.07 MB / 0.5294 GB Notification: Performance of postOpt tearingSystem (initialization): time 0.00297/1.286, allocations: 494.8 kB / 0.7056 GB, free: 13.87 MB / 0.5294 GB Notification: Performance of postOpt solveSimpleEquations (initialization): time 0.002781/1.289, allocations: 281 kB / 0.7059 GB, free: 13.78 MB / 0.5294 GB Notification: Performance of postOpt calculateStrongComponentJacobians (initialization): time 0.003472/1.292, allocations: 0.9962 MB / 0.7069 GB, free: 13.01 MB / 0.5294 GB Notification: Performance of postOpt simplifyAllExpressions (initialization): time 0.006058/1.298, allocations: 275.2 kB / 0.7071 GB, free: 12.87 MB / 0.5294 GB Notification: Performance of postOpt collapseArrayExpressions (initialization): time 0.0007674/1.299, allocations: 60.38 kB / 0.7072 GB, free: 12.84 MB / 0.5294 GB Notification: Model statistics after passing the back-end for initialization: * Number of independent subsystems: 29 * Number of states: 0 () * Number of discrete variables: 9 ($PRE.heaPum.com.isOn,heaPum.com.isOn,$PRE.heaPum.temPro.hysHig.y,heaPum.temPro.hysHig.y,$PRE.heaPum.temPro.hysLow.y,heaPum.temPro.hysLow.y,heaPum.temPro.on.y,$PRE.heaPum.temPro.hysdTConEva.y,heaPum.temPro.hysdTConEva.y) * Number of discrete states: 0 () * Number of clocked states: 0 () * Top-level inputs: 0 Notification: Strong component statistics for initialization (107): * Single equations (assignments): 106 * Array equations: 0 * Algorithm blocks: 0 * Record equations: 0 * When equations: 0 * If-equations: 0 * Equation systems (linear and non-linear blocks): 0 * Torn equation systems: 1 * Mixed (continuous/discrete) equation systems: 0 Notification: Torn system details for strict tearing set: * Linear torn systems: 0 * Non-linear torn systems: 1 {2 19} Notification: Performance of prepare postOptimizeDAE: time 0.003283/1.303, allocations: 487.7 kB / 0.7076 GB, free: 12.47 MB / 0.5294 GB Notification: Performance of postOpt lateInlineFunction (simulation): time 0.001365/1.304, allocations: 156.9 kB / 0.7078 GB, free: 12.39 MB / 0.5294 GB Notification: Performance of postOpt wrapFunctionCalls (simulation): time 0.01278/1.317, allocations: 1.531 MB / 0.7093 GB, free: 11.53 MB / 0.5294 GB Notification: Performance of postOpt inlineArrayEqn (simulation): time 5.302e-05/1.317, allocations: 8.844 kB / 0.7093 GB, free: 11.53 MB / 0.5294 GB Notification: Performance of postOpt constantLinearSystem (simulation): time 1.691e-05/1.317, allocations: 0 / 0.7093 GB, free: 11.53 MB / 0.5294 GB Notification: Performance of postOpt simplifysemiLinear (simulation): time 0.01097/1.328, allocations: 1.301 MB / 0.7106 GB, free: 10.8 MB / 0.5294 GB Notification: Performance of postOpt removeSimpleEquations (simulation): time 0.03083/1.359, allocations: 3.884 MB / 0.7144 GB, free: 8.234 MB / 0.5294 GB Notification: Performance of postOpt simplifyComplexFunction (simulation): time 3.448e-05/1.359, allocations: 7.219 kB / 0.7144 GB, free: 8.23 MB / 0.5294 GB Notification: Performance of postOpt solveSimpleEquations (simulation): time 0.002224/1.361, allocations: 171.6 kB / 0.7145 GB, free: 8.176 MB / 0.5294 GB Notification: Performance of postOpt tearingSystem (simulation): time 0.003388/1.365, allocations: 486.9 kB / 0.715 GB, free: 7.973 MB / 0.5294 GB Notification: Performance of postOpt inputDerivativesUsed (simulation): time 0.000293/1.365, allocations: 30.94 kB / 0.715 GB, free: 7.953 MB / 0.5294 GB Notification: Performance of postOpt calculateStrongComponentJacobians (simulation): time 0.003284/1.368, allocations: 0.9881 MB / 0.716 GB, free: 7.016 MB / 0.5294 GB Notification: Performance of postOpt calculateStateSetsJacobians (simulation): time 1.421e-05/1.368, allocations: 8.078 kB / 0.716 GB, free: 7.008 MB / 0.5294 GB Notification: Performance of postOpt symbolicJacobian (simulation): time 0.0162/1.384, allocations: 2.447 MB / 0.7184 GB, free: 4.328 MB / 0.5294 GB Notification: Performance of postOpt removeConstants (simulation): time 0.002463/1.387, allocations: 438.7 kB / 0.7188 GB, free: 3.879 MB / 0.5294 GB Notification: Performance of postOpt simplifyTimeIndepFuncCalls (simulation): time 0.0009574/1.388, allocations: 23.94 kB / 0.7188 GB, free: 3.855 MB / 0.5294 GB Notification: Performance of postOpt simplifyAllExpressions (simulation): time 0.004893/1.393, allocations: 185 kB / 0.719 GB, free: 3.68 MB / 0.5294 GB Notification: Performance of postOpt findZeroCrossings (simulation): time 0.0004729/1.393, allocations: 88.33 kB / 0.7191 GB, free: 3.594 MB / 0.5294 GB Notification: Performance of postOpt collapseArrayExpressions (simulation): time 0.0003673/1.394, allocations: 51.94 kB / 0.7191 GB, free: 3.543 MB / 0.5294 GB Notification: Performance of sorting global known variables: time 0.003643/1.398, allocations: 1.05 MB / 0.7202 GB, free: 2.496 MB / 0.5294 GB Notification: Performance of sort global known variables: time 5.71e-07/1.398, allocations: 0 / 0.7202 GB, free: 2.496 MB / 0.5294 GB Notification: Performance of remove unused functions: time 0.007605/1.405, allocations: 0.9628 MB / 0.7211 GB, free: 1.527 MB / 0.5294 GB Notification: Model statistics after passing the back-end for simulation: * Number of independent subsystems: 17 * Number of states: 2 (heaPum.con.vol.dynBal.U,heaPum.eva.vol.dynBal.U) * Number of discrete variables: 5 (heaPum.com.isOn,heaPum.temPro.hysHig.y,heaPum.temPro.hysLow.y,heaPum.temPro.on.y,heaPum.temPro.hysdTConEva.y) * Number of discrete states: 4 (heaPum.temPro.hysLow.y,heaPum.temPro.hysHig.y,heaPum.temPro.hysdTConEva.y,heaPum.com.isOn) * Number of clocked states: 0 () * Top-level inputs: 0 Notification: Strong component statistics for simulation (61): * Single equations (assignments): 58 * Array equations: 0 * Algorithm blocks: 0 * Record equations: 2 * When equations: 0 * If-equations: 0 * Equation systems (linear and non-linear blocks): 0 * Torn equation systems: 1 * Mixed (continuous/discrete) equation systems: 0 Notification: Torn system details for strict tearing set: * Linear torn systems: 0 * Non-linear torn systems: 1 {2 19} Notification: Performance of Backend phase and start with SimCode phase: time 0.01442/1.42, allocations: 4.471 MB / 0.7255 GB, free: 12.94 MB / 0.545 GB Notification: Performance of simCode: created initialization part: time 0.008323/1.428, allocations: 2.009 MB / 0.7274 GB, free: 10.94 MB / 0.545 GB Notification: Performance of simCode: created event and clocks part: time 1.427e-05/1.428, allocations: 4 kB / 0.7274 GB, free: 10.93 MB / 0.545 GB Notification: Performance of simCode: created simulation system equations: time 0.002439/1.431, allocations: 0.6319 MB / 0.7281 GB, free: 10.3 MB / 0.545 GB Notification: Performance of simCode: created of all other equations (e.g. parameter, nominal, assert, etc): time 0.007823/1.438, allocations: 0.7874 MB / 0.7288 GB, free: 9.527 MB / 0.545 GB Notification: Performance of simCode: created linear, non-linear and system jacobian parts: time 0.02082/1.459, allocations: 8.779 MB / 0.7374 GB, free: 488 kB / 0.545 GB Notification: Performance of simCode: some other stuff during SimCode phase: time 0.001559/1.461, allocations: 1.301 MB / 0.7387 GB, free: 15.15 MB / 0.5606 GB Notification: Performance of simCode: alias equations: time 0.004524/1.465, allocations: 394.1 kB / 0.739 GB, free: 14.77 MB / 0.5606 GB Notification: Performance of simCode: all other stuff during SimCode phase: time 0.002266/1.468, allocations: 0.6398 MB / 0.7397 GB, free: 14.13 MB / 0.5606 GB Notification: Performance of SimCode: time 1.923e-06/1.468, allocations: 0 / 0.7397 GB, free: 14.13 MB / 0.5606 GB Notification: Performance of buildModelFMU: Generate the FMI files: time 0.2039/1.672, allocations: 52.46 MB / 0.7909 GB, free: 10.32 MB / 0.6075 GB Notification: Performance of buildModelFMU: configured platform static using cached values: time 0.0004517/1.672, allocations: 274.8 kB / 0.7912 GB, free: 9.961 MB / 0.6075 GB Notification: Performance of buildModelFMU: Generate platform static: time 5.241/6.914, allocations: 4 kB / 0.7912 GB, free: 9.957 MB / 0.6075 GB (rm -f IDEAS_dev_IDEAS.Fluid.HeatPumps.Validation.ScrollWaterToWater_TemperatureProtection.pipe ; mkfifo IDEAS_dev_IDEAS.Fluid.HeatPumps.Validation.ScrollWaterToWater_TemperatureProtection.pipe ; head -c 1048576 < IDEAS_dev_IDEAS.Fluid.HeatPumps.Validation.ScrollWaterToWater_TemperatureProtection.pipe >> ../files/IDEAS_dev_IDEAS.Fluid.HeatPumps.Validation.ScrollWaterToWater_TemperatureProtection.sim & /home/hudson/saved_omc/OMSimulator/install/linux/bin/OMSimulator --tempDir=temp_IDEAS_dev_IDEAS_Fluid_HeatPumps_Validation_ScrollWaterToWater_TemperatureProtection_fmu --startTime=0 --stopTime=1000 --timeout=50 --tolerance=1e-06 IDEAS_dev_IDEAS_Fluid_HeatPumps_Validation_ScrollWaterToWater_TemperatureProtection.fmu > IDEAS_dev_IDEAS.Fluid.HeatPumps.Validation.ScrollWaterToWater_TemperatureProtection.pipe 2>&1) Environment - environmentSimulation: