Skip to content

Commit

Permalink
[Janitor mode] Fix whitespace
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@20309 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
OpenModelica-Hudson committed Apr 29, 2014
1 parent 39a749e commit cd76883
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 52 deletions.
102 changes: 51 additions & 51 deletions SimulationRuntime/cpp/Solver/Kinsol/Kinsol.cpp
Expand Up @@ -15,8 +15,8 @@ Kinsol::Kinsol(IAlgLoop* algLoop, INonLinSolverSettings* settings)
, _helpArray (NULL)
, _jac (NULL)
, _dimSys (0)
, _fnorm(10.0)
, _currentIterateNorm (100.0)
, _fnorm(10.0)
, _currentIterateNorm (100.0)
, _firstCall (true)
, _iterationStatus (CONTINUE)
{
Expand Down Expand Up @@ -153,19 +153,19 @@ void Kinsol::solve()
_eventRetry = false;
// Try Dense first
//std::cerr << "Try dense...";
/*
for(int i=0;i<_dimSys;i++)
_y0[i] += _y[i] * 0.1;
memcpy(_y,_y0,_dimSys*sizeof(double));
*/
/*
KINSetNoResMon(_kinMem,TRUE);
KINSetMaxSetupCalls(_kinMem,1);
KINSetMaxSubSetupCalls(_kinMem,1);
KINSetEtaForm(_kinMem,KIN_ETACHOICE1);
*/

/*
for(int i=0;i<_dimSys;i++)
_y0[i] += _y[i] * 0.1;
memcpy(_y,_y0,_dimSys*sizeof(double));
*/

/*
KINSetNoResMon(_kinMem,TRUE);
KINSetMaxSetupCalls(_kinMem,1);
KINSetMaxSubSetupCalls(_kinMem,1);
KINSetEtaForm(_kinMem,KIN_ETACHOICE1);
*/

KINDense(_kinMem, _dimSys);
solveNLS();
Expand Down Expand Up @@ -211,7 +211,7 @@ void Kinsol::solve()

// Try Sptfqmr

KINSptfqmr(_kinMem, _dimSys);
KINSptfqmr(_kinMem, _dimSys);
_iterationStatus = CONTINUE;
solveNLS();
if(_iterationStatus == DONE)
Expand All @@ -224,10 +224,10 @@ void Kinsol::solve()
return;
}

/*
/*
if(_iterationStatus == SOLVERERROR && !_eventRetry)
throw std::runtime_error("Nonlinear solver failed!");
*/
*/

if(_eventRetry)
{
Expand Down Expand Up @@ -306,7 +306,7 @@ void Kinsol::solveNLS()
method = KIN_NONE,
iter = 0,
idid;
double
double
maxStepsStart = 1e3*max(euclidNorm(_dimSys,_yScale),euclidNorm(_dimSys,_yScale)),
maxSteps = maxStepsStart,
maxStepsHigh = 1e15,
Expand Down Expand Up @@ -359,10 +359,10 @@ void Kinsol::solveNLS()
maxSteps = maxStepsStart;
limit = maxStepsHigh;
}
if(_fnorm > _currentIterateNorm)
memcpy(_y,_y0,_dimSys*sizeof(double));
else
_currentIterateNorm = _fnorm;
if(_fnorm > _currentIterateNorm)
memcpy(_y,_y0,_dimSys*sizeof(double));
else
_currentIterateNorm = _fnorm;
break;

// MaxStep too low
Expand All @@ -371,8 +371,8 @@ void Kinsol::solveNLS()
if(method == KIN_NONE)
{
if (maxSteps > limit)
{
// The starting maxSteps is reached again -> Try Linesearch
{
// The starting maxSteps is reached again -> Try Linesearch
if (maxSteps > maxStepsStart)
{
method = KIN_LINESEARCH;
Expand All @@ -390,8 +390,8 @@ void Kinsol::solveNLS()
}else // already trying Linesearch
{
if (maxSteps > limit)
{
// The starting maxSteps is reached again -> Solvererror
{
// The starting maxSteps is reached again -> Solvererror
if (maxSteps > maxStepsStart)
{
_iterationStatus = SOLVERERROR;
Expand All @@ -403,11 +403,11 @@ void Kinsol::solveNLS()
}else
maxSteps *= 10;
}
KINGetFuncNorm(_kinMem, &_fnorm);
if(_fnorm > _currentIterateNorm)
memcpy(_y,_y0,_dimSys*sizeof(double));
else
_currentIterateNorm = _fnorm;
KINGetFuncNorm(_kinMem, &_fnorm);
if(_fnorm > _currentIterateNorm)
memcpy(_y,_y0,_dimSys*sizeof(double));
else
_currentIterateNorm = _fnorm;
break;

// Max Iterations exceeded
Expand All @@ -431,20 +431,20 @@ void Kinsol::solveNLS()
{
_iterationStatus = SOLVERERROR;
}
KINGetFuncNorm(_kinMem, &_fnorm);
if(_fnorm > _currentIterateNorm)
memcpy(_y,_y0,_dimSys*sizeof(double));
else
_currentIterateNorm = _fnorm;
KINGetFuncNorm(_kinMem, &_fnorm);
if(_fnorm > _currentIterateNorm)
memcpy(_y,_y0,_dimSys*sizeof(double));
else
_currentIterateNorm = _fnorm;
break;

// Linesearch did not converge
case KIN_LINESEARCH_NONCONV:
check4EventRetry(_y);
// Try diffent maxStsps
if (maxSteps > limit)
{
// The starting maxSteps is reached again -> Solvererror
{
// The starting maxSteps is reached again -> Solvererror
if (maxSteps > maxStepsStart)
{
_iterationStatus = SOLVERERROR;
Expand All @@ -456,19 +456,19 @@ void Kinsol::solveNLS()
}else
maxSteps *= 10;
KINGetFuncNorm(_kinMem, &_fnorm);
if(_fnorm > _currentIterateNorm)
memcpy(_y,_y0,_dimSys*sizeof(double));
else
_currentIterateNorm = _fnorm;
break;
// Other failures (setup etc) -> directly break
if(_fnorm > _currentIterateNorm)
memcpy(_y,_y0,_dimSys*sizeof(double));
else
_currentIterateNorm = _fnorm;
break;
// Other failures (setup etc) -> directly break
default:
_iterationStatus = SOLVERERROR;
KINGetFuncNorm(_kinMem, &_fnorm);
if(_fnorm > _currentIterateNorm)
memcpy(_y,_y0,_dimSys*sizeof(double));
else
_currentIterateNorm = _fnorm;
KINGetFuncNorm(_kinMem, &_fnorm);
if(_fnorm > _currentIterateNorm)
memcpy(_y,_y0,_dimSys*sizeof(double));
else
_currentIterateNorm = _fnorm;
break;
}
}
Expand All @@ -486,7 +486,7 @@ bool Kinsol::isfinite(double* u, int dim)

void Kinsol::check4EventRetry(double* y)
{
_algLoop->setReal(y);
_algLoop->setReal(y);
if(!(_algLoop->isConsistent()) && !_eventRetry)
{
memcpy(_helpArray, y,_dimSys*sizeof(double));
Expand Down
2 changes: 1 addition & 1 deletion SimulationRuntime/cpp/Solver/Kinsol/Kinsol.h
Expand Up @@ -84,5 +84,5 @@ class Kinsol : public IAlgLoopSolver
_eventRetry;

realtype _fnorm,
_currentIterateNorm;
_currentIterateNorm;
};

0 comments on commit cd76883

Please sign in to comment.