From e1c6e43b22b574d69853c9a6a1f931fb5c16412c Mon Sep 17 00:00:00 2001 From: Thomas Toulorge <thomas.toulorge@mines-paristech.fr> Date: Wed, 9 May 2012 16:24:28 +0000 Subject: [PATCH] Removed the (now useless) normalization of scaling vector in OptHOM. Minor cleaning. --- contrib/HighOrderMeshOptimizer/OptHOM.cpp | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/contrib/HighOrderMeshOptimizer/OptHOM.cpp b/contrib/HighOrderMeshOptimizer/OptHOM.cpp index 2ba8c47538..c9de40f03e 100644 --- a/contrib/HighOrderMeshOptimizer/OptHOM.cpp +++ b/contrib/HighOrderMeshOptimizer/OptHOM.cpp @@ -172,12 +172,6 @@ void OptHOM::calcScale(alglib::real_1d_array &scale) for (int iPC = 0; iPC < mesh.nPCFV(iFV); iPC++) scale[mesh.indPCFV(iFV,iPC)] = scaleFV[iPC]; } - // Normalize scale vector (otherwise ALGLIB routines may fail) - double scaleNormSq = 0.; - for (int i = 0; i < mesh.nPC(); i++) scaleNormSq += scale[i]*scale[i]; - const double scaleNorm = sqrt(scaleNormSq); - for (int i = 0; i < mesh.nPC(); i++) scale[i] /= scaleNorm; - } @@ -194,15 +188,16 @@ void OptHOM::OptimPass(alglib::real_1d_array &x, const alglib::real_1d_array &in iter = 0; + alglib::real_1d_array scale; + calcScale(scale); + int iterationscount = 0, nfev = 0, terminationtype = -1; if (OPTMETHOD == 1) { alglib::mincgstate state; alglib::mincgreport rep; mincgcreate(x, state); - alglib::real_1d_array scale; - calcScale(scale); - mincgsetscale(state,scale); - mincgsetprecscale(state); + mincgsetscale(state,scale); + mincgsetprecscale(state); mincgsetcond(state, EPSG, EPSF, EPSX, itMax); mincgsetxrep(state, true); alglib::mincgoptimize(state, evalObjGradFunc, printProgressFunc, this); @@ -215,8 +210,6 @@ void OptHOM::OptimPass(alglib::real_1d_array &x, const alglib::real_1d_array &in alglib::minlbfgsstate state; alglib::minlbfgsreport rep; minlbfgscreate(3, x, state); - alglib::real_1d_array scale; - calcScale(scale); minlbfgssetscale(state,scale); minlbfgssetprecscale(state); minlbfgssetcond(state, EPSG, EPSF, EPSX, itMax); -- GitLab