getfem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Getfem-commits] (no subject)


From: Yves Renard
Subject: [Getfem-commits] (no subject)
Date: Tue, 16 Feb 2021 03:56:26 -0500 (EST)

branch: master
commit 0604f61a5799d34a574158d14ae708cda3af2c41
Author: Yves Renard <Yves.Renard@insa-lyon.fr>
AuthorDate: Tue Feb 16 09:45:46 2021 +0100

    minor change
---
 src/bgeot_geotrans_inv.cc | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/bgeot_geotrans_inv.cc b/src/bgeot_geotrans_inv.cc
index 8546355..88eb6b4 100644
--- a/src/bgeot_geotrans_inv.cc
+++ b/src/bgeot_geotrans_inv.cc
@@ -191,9 +191,8 @@ namespace bgeot
                                           bool /* throw_except */,
                                           bool project_into_element) {
     converged = true;
-
     base_node x0_ref(P), diff(N);
-
+    
     { // find initial guess
       x0_ref = pgt->geometric_nodes()[0];
       scalar_type res = gmm::vect_dist2(mat_col(G, 0), xreal);
@@ -220,15 +219,15 @@ namespace bgeot
       if (res < IN_EPS)
         x *= 0.999888783; // For pyramid element to avoid the singularity
     }
-
+    
     add(pgt->transform(x, G), gmm::scaled(xreal, -1.0), diff);
     auto res = gmm::vect_norm2(diff);
     auto res0 = std::numeric_limits<scalar_type>::max();
     double factor = 1.0;
 
     base_node x0_real(N);
-    while (res > IN_EPS) {
-      if ((gmm::abs(res - res0) < IN_EPS) || (factor < IN_EPS)) {
+    while (res > IN_EPS/1000.) {
+      if ((gmm::abs(res - res0) < IN_EPS/1000.) || (factor < IN_EPS)) {
         converged = false;
         return point_in_convex(*pgt, x, res, IN_EPS);
       }
@@ -251,7 +250,6 @@ namespace bgeot
       add(x0_real, gmm::scaled(xreal, -1.0), diff);
       res = gmm::vect_norm2(diff);
     }
-
     return point_in_convex(*pgt, x, res, IN_EPS);
   }
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]