diff --git a/contrib/HighOrderMeshOptimizer/OptHomMesh.cpp b/contrib/HighOrderMeshOptimizer/OptHomMesh.cpp index 53ced1d321922da4fc6860ba5279ca43fee75e65..f386ff6854c93b0f3e0657d92b063fae4ae2fc34 100644 --- a/contrib/HighOrderMeshOptimizer/OptHomMesh.cpp +++ b/contrib/HighOrderMeshOptimizer/OptHomMesh.cpp @@ -99,7 +99,7 @@ Mesh::Mesh(GEntity *ge, const std::set<MElement*> &els, std::set<MVertex*> &toFi _pc = new ParamCoordSurf(_ge); Msg::Debug("METHOD: Using surface parametric coordinates"); } - Msg::Error("ERROR: Surface parametric coordinates only for 2D optimization"); + else Msg::Error("ERROR: Surface parametric coordinates only for 2D optimization"); } else { _pc = new ParamCoordParent; diff --git a/contrib/HighOrderMeshOptimizer/OptHomRun.cpp b/contrib/HighOrderMeshOptimizer/OptHomRun.cpp index 38df043683f3cc9417651798716edbdfd104ef33..38bbc7b922a45aae4d708886249ce80a46826c52 100644 --- a/contrib/HighOrderMeshOptimizer/OptHomRun.cpp +++ b/contrib/HighOrderMeshOptimizer/OptHomRun.cpp @@ -37,6 +37,8 @@ void OptHomMessage (const char *s, ...) { FlGui::instance()->highordertools->messages->show(); } } + else + fprintf(stdout,"%s\n",str); #else fprintf(stdout,"%s\n",str); #endif @@ -386,6 +388,8 @@ void HighOrderMeshOptimizer (GModel *gm, OptHomParameters &p) method = Mesh::METHOD_PROJJAC; else if (p.method == 2) method = Mesh::METHOD_FIXBND | Mesh::METHOD_PHYSCOORD | Mesh::METHOD_PROJJAC; + else if(p.method < 0) + method = -p.method; // printf("p.method = %d\n",p.method); @@ -427,7 +431,7 @@ void HighOrderMeshOptimizer (GModel *gm, OptHomParameters &p) temp.getJacDist(minJac, maxJac, distMaxBND, distAvgBND); OptHomMessage("Optimizing a blob %i/%i composed of %4d elements minJ %12.5E -- maxJ %12.5E", i+1, toOptimizeSplit.size(), toOptimizeSplit[i].size(), minJac, maxJac); p.SUCCESS = std::min(p.SUCCESS,temp.optimize(p.weightFixed, p.weightFree, p.BARRIER_MIN, p.BARRIER_MAX, samples, p.itMax)); - temp.mesh.updateGEntityPositions(); + temp.mesh.updateGEntityPositions(); } } else while (1){