Skip to content

Commit

Permalink
- finish results implemention based on new data structure
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@10502 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
Jens Frenkel committed Nov 14, 2011
1 parent af1c551 commit a4502e8
Show file tree
Hide file tree
Showing 8 changed files with 459 additions and 506 deletions.
4 changes: 2 additions & 2 deletions SimulationRuntime/c/sendData/sendData.cpp
Expand Up @@ -698,7 +698,7 @@ void enableSendData(int enable)
Static::enabled_ = enable;
}

void initSendData(int variableCount, const struct omc_varInfo** names)
void initSendData(int variableCount, const char** names)
{
char* port = getenv("sendDataPort");
if(port != NULL && strlen(port))
Expand Down Expand Up @@ -772,7 +772,7 @@ void initSendData(int variableCount, const struct omc_varInfo** names)
for(int i = 0; i < variableCount; ++i)
{
// cout << names[i]->name << endl;
*Static::out << QString(names[i]->name);
*Static::out << QString(names[i]);
// *Static::out << QColor(Qt::color0);
++N;
}
Expand Down
3 changes: 1 addition & 2 deletions SimulationRuntime/c/sendData/sendData.h
Expand Up @@ -52,7 +52,6 @@ class QStringList;
//Std headers
#include <iostream>
#include <cstdlib>
#include "../simulation/simulation_varinfo.h"

#ifndef NOSENDDATA
class Connection
Expand Down Expand Up @@ -97,7 +96,7 @@ extern "C"
void setDataPort(int port);
void enableSendData(int enable);
//void initSendData(int variableCount, const char* variableNames);
void initSendData(int variableCount, const struct omc_varInfo** names);
void initSendData(int variableCount, const char** names);
void sendPacket(const char* data);
void closeSendData();

Expand Down
65 changes: 13 additions & 52 deletions SimulationRuntime/c/simulation/results/simulation_result_csv.cpp
Expand Up @@ -58,7 +58,6 @@ void simulation_result_csv::emit(_X_DATA *data)
const char* formatstring = "\"%s\",";
rt_tick(SIM_TIMER_OUTPUT);
fprintf(fout, format, globalData->timeValue);
/* new imple */

for (int i = 0; i < data->modelData.nVariablesReal; i++) if (!data->modelData.realData[i].filterOutput)
fprintf(fout, format, (data->localdata[0])->realVars[i]);
Expand All @@ -70,43 +69,23 @@ void simulation_result_csv::emit(_X_DATA *data)
fprintf(fout, formatstring, (data->localdata[0])->stringVars[i]);

for (int i = 0; i < data->modelData.nAliasReal; i++) if (!data->modelData.realAlias[i].filterOutput)
fprintf(fout, format, (data->localdata[0])->realVars[data->modelData.realAlias[i].nameID]);
if (data->modelData.realAlias[i].negate)
fprintf(fout, format, -(data->localdata[0])->realVars[data->modelData.realAlias[i].nameID]);
else
fprintf(fout, format, (data->localdata[0])->realVars[data->modelData.realAlias[i].nameID]);
for (int i = 0; i < data->modelData.nAliasInteger; i++) if (!data->modelData.integerAlias[i].filterOutput)
fprintf(fout, formatint, (data->localdata[0])->integerVars[data->modelData.integerAlias[i].nameID]);
if (data->modelData.integerAlias[i].negate)
fprintf(fout, formatint, -(data->localdata[0])->integerVars[data->modelData.integerAlias[i].nameID]);
else
fprintf(fout, formatint, (data->localdata[0])->integerVars[data->modelData.integerAlias[i].nameID]);
for (int i = 0; i < data->modelData.nAliasBoolean; i++) if (!data->modelData.booleanAlias[i].filterOutput)
fprintf(fout, formatbool, (data->localdata[0])->booleanVars[data->modelData.booleanAlias[i].nameID]);
if (data->modelData.booleanAlias[i].negate)
fprintf(fout, formatbool, -(data->localdata[0])->booleanVars[data->modelData.booleanAlias[i].nameID]);
else
fprintf(fout, formatbool, (data->localdata[0])->booleanVars[data->modelData.booleanAlias[i].nameID]);
for (int i = 0; i < data->modelData.nAliasString; i++) if (!data->modelData.stringAlias[i].filterOutput)
/* there would no negation of a string happen */
fprintf(fout, formatstring, (data->localdata[0])->stringVars[data->modelData.stringAlias[i].nameID]);

/* old imple */
for (int i = 0; i < globalData->nStates; i++) if (!globalData->statesFilterOutput[i])
fprintf(fout, format, globalData->states[i]);
for (int i = 0; i < globalData->nStates; i++) if (!globalData->statesDerivativesFilterOutput[i])
fprintf(fout, format, globalData->statesDerivatives[i]);
for (int i = 0; i < globalData->nAlgebraic; i++) if (!globalData->algebraicsFilterOutput[i])
fprintf(fout, format, globalData->algebraics[i]);
for (int i = 0; i < globalData->nAlias; i++) if (!globalData->aliasFilterOutput[i]){
if (((globalData->realAlias)[i]).negate)
fprintf(fout, format, - *(((globalData->realAlias)[i].alias)));
else
fprintf(fout, format, *(((globalData->realAlias)[i].alias)));
}
for (int i = 0; i < globalData->intVariables.nAlgebraic; i++) if (!globalData->intVariables.algebraicsFilterOutput[i])
fprintf(fout, formatint, globalData->intVariables.algebraics[i]);
for (int i = 0; i < globalData->intVariables.nAlias; i++) if (!globalData->intVariables.aliasFilterOutput[i]){
if (((globalData->intVariables.alias)[i]).negate)
fprintf(fout, formatint, - *(((globalData->intVariables.alias)[i].alias)));
else
fprintf(fout, formatint, *(((globalData->intVariables.alias)[i].alias)));
}
for (int i = 0; i < globalData->boolVariables.nAlgebraic; i++) if (!globalData->boolVariables.algebraicsFilterOutput[i])
fprintf(fout, formatbool, globalData->boolVariables.algebraics[i]);
for (int i = 0; i < globalData->boolVariables.nAlias; i++) if (!globalData->boolVariables.aliasFilterOutput[i]){
if (((globalData->boolVariables.alias)[i]).negate)
fprintf(fout, formatbool, - *(((globalData->boolVariables.alias)[i].alias)));
else
fprintf(fout, formatbool, *(((globalData->boolVariables.alias)[i].alias)));
}
fprintf(fout, "\n");
rt_accumulate(SIM_TIMER_OUTPUT);
}
Expand All @@ -121,24 +100,6 @@ simulation_result_csv::simulation_result_csv(const char* filename, long numpoint
}

fprintf(fout, format, "time");
/* old imple */
for (int i = 0; i < globalData->nStates; i++) if (!globalData->statesFilterOutput[i])
fprintf(fout, format, globalData->statesNames[i].name);
for (int i = 0; i < globalData->nStates; i++) if (!globalData->statesDerivativesFilterOutput[i])
fprintf(fout, format, globalData->stateDerivativesNames[i].name);
for (int i = 0; i < globalData->nAlgebraic; i++) if (!globalData->algebraicsFilterOutput[i])
fprintf(fout, format, globalData->algebraicsNames[i].name);
for (int i = 0; i < globalData->nAlias; i++) if (!globalData->aliasFilterOutput[i])
fprintf(fout, format, globalData->alias_names[i].name);
for (int i = 0; i < globalData->intVariables.nAlgebraic; i++) if (!globalData->intVariables.algebraicsFilterOutput[i])
fprintf(fout, format, globalData->int_alg_names[i].name);
for (int i = 0; i < globalData->intVariables.nAlias; i++) if (!globalData->intVariables.aliasFilterOutput[i])
fprintf(fout, format, globalData->int_alias_names[i].name);
for (int i = 0; i < globalData->boolVariables.nAlgebraic; i++) if (!globalData->boolVariables.algebraicsFilterOutput[i])
fprintf(fout, format, globalData->bool_alg_names[i].name);
for (int i = 0; i < globalData->boolVariables.nAlias; i++) if (!globalData->boolVariables.aliasFilterOutput[i])
fprintf(fout, format, globalData->bool_alias_names[i].name);
/* new imple */
for (int i = 0; i < modelData->nVariablesReal; i++) if (!modelData->realData[i].filterOutput)
fprintf(fout, format, modelData->realData[i].info.name);
for (int i = 0; i < modelData->nVariablesInteger; i++) if (!modelData->integerData[i].filterOutput)
Expand Down

0 comments on commit a4502e8

Please sign in to comment.