diff --git a/SimulationRuntime/c/simulation/solver/initialization/initialization.c b/SimulationRuntime/c/simulation/solver/initialization/initialization.c index db275ae5202..153104e32d7 100644 --- a/SimulationRuntime/c/simulation/solver/initialization/initialization.c +++ b/SimulationRuntime/c/simulation/solver/initialization/initialization.c @@ -1081,7 +1081,7 @@ int initialization(DATA *data, const char* pInitMethod, const char* pOptiMethod, infoStreamPrint(LOG_INIT, 0, "### END INITIALIZATION ###"); data->simulationInfo.initial = 0; - + /* initialization is done */ initSample(data, data->simulationInfo.startTime, data->simulationInfo.stopTime); @@ -1094,6 +1094,14 @@ int initialization(DATA *data, const char* pInitMethod, const char* pOptiMethod, saveZeroCrossings(data); storePreValues(data); /* save pre-values */ overwriteOldSimulationData(data); /* if there are non-linear equations */ + + storePreValues(data); + storeOldValues(data); + data->callback->function_storeDelayed(data); + data->callback->function_updateRelations(data, 1); + storeRelations(data); + updateHysteresis(data); + saveZeroCrossings(data); return retVal; } diff --git a/SimulationRuntime/c/simulation/solver/solver_main.c b/SimulationRuntime/c/simulation/solver/solver_main.c index 1e0c14323b2..f6e06e466bf 100644 --- a/SimulationRuntime/c/simulation/solver/solver_main.c +++ b/SimulationRuntime/c/simulation/solver/solver_main.c @@ -363,18 +363,11 @@ int initializeModel(DATA* data, const char* init_initMethod, retValue = -1; } - storePreValues(data); - storeOldValues(data); - data->callback->function_storeDelayed(data); - data->callback->function_updateRelations(data, 1); - storeRelations(data); - updateHysteresis(data); - saveZeroCrossings(data); success = 1; MMC_CATCH_INTERNAL(simulationJumpBuffer) if (!success) { retValue = -1; - infoStreamPrint(LOG_STDOUT, 0, "model terminate | Simulation terminated by an assertion at initialization"); + infoStreamPrint(LOG_ASSERT, 0, "simulation terminated by an assertion at initialization"); } }