void SimManager::runSimulation() { #ifdef RUNTIME_PROFILING MEASURETIME_REGION_DEFINE(runSimHandler, "runSimulation"); if (MeasureTime::getInstance() != NULL) { MEASURETIME_START(runSimStartValues, runSimHandler, "runSimulation"); } #endif try { Logger::write("SimManager: start simulation at t = " + boost::lexical_cast<std::string>(_tStart),LC_SOLV,LL_INFO); runSingleProcess(); // Zeit messen, Ausgabe der SimInfos ISolver::SOLVERSTATUS status = _solver->getSolverStatus(); if ((status & ISolver::DONE) || (status & ISolver::USER_STOP)) { Logger::write("SimManager: simulation done at t = " + boost::lexical_cast<std::string>(_tEnd),LC_SOLV,LL_INFO); Logger::write("SimManager: number of steps = " + boost::lexical_cast<std::string>(_totStps),LC_SOLV,LL_INFO); writeProperties(); } } catch (std::exception & ex) { Logger::write("SimManager: simulation finish with errors at t = " + boost::lexical_cast<std::string>(_tEnd),LC_SOLV,LL_ERROR); Logger::write("SimManager: number of steps = " + boost::lexical_cast<std::string>(_totStps),LC_SOLV,LL_INFO); writeProperties(); Logger::write("SimManager: error = " + boost::lexical_cast<std::string>(ex.what()),LC_SOLV,LL_ERROR); //ex << error_id(SIMMANAGER); throw; } #ifdef RUNTIME_PROFILING if (MeasureTime::getInstance() != NULL) { MEASURETIME_END(runSimStartValues, runSimEndValues, measureTimeFunctionsArray[1], runSimHandler); } #endif }
void SimManager::runSimulation() { #ifdef RUNTIME_PROFILING MEASURETIME_REGION_DEFINE(runSimHandler, "runSimulation"); if (MeasureTime::getInstance() != NULL) { MEASURETIME_START(runSimStartValues, runSimHandler, "runSimulation"); } #endif try { LOGGER_WRITE("SimManager: Start simulation at t = " + to_string(_tStart), LC_SOLV, LL_INFO); runSingleProcess(); // Measure time; Output SimInfos ISolver::SOLVERSTATUS status = _solver->getSolverStatus(); if ((status & ISolver::DONE) || (status & ISolver::USER_STOP)) { //LOGGER_WRITE("SimManager: Simulation done at t = " + to_string(_tEnd), LC_SOLV, LL_INFO); writeProperties(); } } catch (std::exception & ex) { LOGGER_WRITE("SimManager: Simulation finish with errors at t = " + to_string(_tEnd), LC_SOLV, LL_ERROR); writeProperties(); LOGGER_WRITE("SimManager: Error = " + string(ex.what()), LC_SOLV, LL_ERROR); //ex << error_id(SIMMANAGER); throw; } #ifdef RUNTIME_PROFILING if (MeasureTime::getInstance() != NULL) { MEASURETIME_END(runSimStartValues, runSimEndValues, (*measureTimeFunctionsArray)[1], runSimHandler); } #endif }