Skip to content

Commit

Permalink
- improved optimization order 1
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@21241 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
Vitalij Ruge committed Jun 23, 2014
1 parent a984893 commit cd39767
Showing 1 changed file with 18 additions and 4 deletions.
22 changes: 18 additions & 4 deletions SimulationRuntime/c/optimization/eval_all/EvalG.c
Expand Up @@ -249,22 +249,36 @@ Bool evalfDiffG(Index n, double * vopt, Bool new_x, Index m, Index njac, Index *
}else if(np == 1){
/*****************************/
for(j = 0, k = 0; j < np; ++j){
for(l = 0; l < nJ; ++l){
for(l = 0; l < nx; ++l){
for(ii = 0; ii < nv; ++ii)
if(J[l][ii]){
values[k++] = (modelica_real)((ii == l) ? optData->J[0][j][l][ii] - 1.0 : optData->J[0][j][l][ii]);
}
}
for(; l < nJ; ++l){
for(ii = 0; ii < nv; ++ii)
if(J[l][ii]){
values[k++] = (modelica_real)((ii == l && l < nx) ? optData->J[0][j][l][ii] - 1.0 : optData->J[0][j][l][ii]);
values[k++] = (modelica_real)(optData->J[0][j][l][ii]);
}
}

}
/*****************************/
for(i = 1; i < nsi; ++i){
for(j = 0; j < np; ++j){
for(l = 0; l < nJ; ++l){
for(l = 0; l < nx; ++l){
if(l < nx)
values[k++] = 1.0;
for(ii = 0; ii < nv; ++ii){
if(J[l][ii]){
values[k++] = (modelica_real)((ii == l && l < nx) ? optData->J[i][j][l][ii] - 1.0 : optData->J[i][j][l][ii]);
values[k++] = (modelica_real)((ii == l) ? optData->J[i][j][l][ii] - 1.0 : optData->J[i][j][l][ii]);
}
}
}
for(; l < nJ; ++l){
for(ii = 0; ii < nv; ++ii){
if(J[l][ii]){
values[k++] = (modelica_real)(optData->J[i][j][l][ii]);
}
}
}
Expand Down

0 comments on commit cd39767

Please sign in to comment.