Skip to content

Commit

Permalink
fix for query output results in cpp runtime
Browse files Browse the repository at this point in the history
  • Loading branch information
niklwors authored and OpenModelica-Hudson committed Dec 3, 2015
1 parent 7f3814b commit 10ac684
Showing 1 changed file with 27 additions and 23 deletions.
50 changes: 27 additions & 23 deletions SimulationRuntime/cpp/Core/SimController/SimController.cpp
Expand Up @@ -218,29 +218,33 @@ void SimController::Start(SimSettings simsettings, string modelKey)

_simMgr->runSimulation();

shared_ptr<IWriteOutput> writeoutput_system = dynamic_pointer_cast<IWriteOutput>(mixedsystem);

shared_ptr<ISimData> simData = _sim_objects->getSimData(modelKey);
//get history object to query simulation results
IHistory* history = writeoutput_system->getHistory();
//simulation results (output variables)
ublas::matrix<double> Ro;
//query simulation result outputs
history->getOutputResults(Ro);
vector<string> output_names;
history->getOutputNames(output_names);
int j=0;

FOREACH(string& name, output_names)
{
ublas::vector<double> o_j;
o_j = ublas::row(Ro,j);
simData->addOutputResults(name,o_j);
j++;
}

vector<double> time_values = history->getTimeEntries();
simData->addTimeEntries(time_values);
if(global_settings->getOutputFormat() == BUFFER)
{
shared_ptr<IWriteOutput> writeoutput_system = dynamic_pointer_cast<IWriteOutput>(mixedsystem);

shared_ptr<ISimData> simData = _sim_objects->getSimData(modelKey);
simData->clearResults();
//get history object to query simulation results
IHistory* history = writeoutput_system->getHistory();
//simulation results (output variables)
ublas::matrix<double> Ro;
//query simulation result outputs
history->getOutputResults(Ro);
vector<string> output_names;
history->getOutputNames(output_names);
int j=0;

FOREACH(string& name, output_names)
{
ublas::vector<double> o_j;
o_j = ublas::row(Ro,j);
simData->addOutputResults(name,o_j);
j++;
}

vector<double> time_values = history->getTimeEntries();
simData->addTimeEntries(time_values);
}
}
catch(ModelicaSimulationError & ex)
{
Expand Down

0 comments on commit 10ac684

Please sign in to comment.