Skip to content

Commit cd8bbbd

Browse files
committed
- update LOG_INIT for old initialization
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@15130 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
1 parent f668310 commit cd8bbbd

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

SimulationRuntime/c/simulation/solver/initialization/method_nelderMeadEx.c

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,26 @@ static void NelderMeadOptimization(INIT_DATA* initData,
9393

9494
double lambda = *pLambda;
9595
long iteration = 0;
96+
97+
FILE *pFile = NULL;
98+
99+
if(ACTIVE_STREAM(LOG_INIT) && (lambda < 1.0))
100+
{
101+
char buffer[4096];
102+
sprintf(buffer, "%s_initPath.csv", initData->simData->modelData.modelFilePrefix);
103+
pFile = fopen(buffer, "wt");
104+
fprintf(pFile, "%s,", "iteration");
105+
fprintf(pFile, "%s,", "lambda");
106+
for(i=0; i<initData->nVars; ++i)
107+
fprintf(pFile, "%s,", initData->name[i]);
108+
fprintf(pFile, "\n");
109+
110+
fprintf(pFile, "%ld,", iteration);
111+
fprintf(pFile, "%.16g,", lambda);
112+
for(i=0; i<initData->nVars; ++i)
113+
fprintf(pFile, "%.16g,", initData->vars[i]);
114+
fprintf(pFile, "\n");
115+
}
96116

97117
/* check Memory */
98118
ASSERT(simplex, "out of memory");
@@ -205,6 +225,14 @@ static void NelderMeadOptimization(INIT_DATA* initData,
205225
lambda = 1.0;
206226

207227
INFO3(LOG_INIT, "increasing lambda to %-3g in step %6d at f=%g", lambda, (int)iteration, fvalues[xb]);
228+
if(pFile)
229+
{
230+
fprintf(pFile, "%ld,", iteration);
231+
fprintf(pFile, "%.16g,", lambda);
232+
for(i=0; i<initData->nVars; ++i)
233+
fprintf(pFile, "%.16g,", initData->vars[i]);
234+
fprintf(pFile, "\n");
235+
}
208236
continue;
209237
}
210238
}
@@ -314,6 +342,16 @@ static void NelderMeadOptimization(INIT_DATA* initData,
314342

315343
if(pIteration)
316344
*pIteration = iteration;
345+
346+
if(pFile)
347+
{
348+
fprintf(pFile, "%ld,", iteration);
349+
fprintf(pFile, "%.16g,", lambda);
350+
for(i=0; i<initData->nVars; ++i)
351+
fprintf(pFile, "%.16g,", initData->vars[i]);
352+
fprintf(pFile, "\n");
353+
fclose(pFile);
354+
}
317355

318356
free(xe);
319357
free(xr);

0 commit comments

Comments
 (0)