From fcbafef01595504d1da723b556f9ec49fd039e2e Mon Sep 17 00:00:00 2001
From: Shivam Gupta <sgupta72@illinois.edu>
Date: Tue, 21 Apr 2015 02:46:55 -0500
Subject: [PATCH] Fixed bug that caused third generation refinement test to
 fail sometimes

---
 meshmode/mesh/refinement.py | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/meshmode/mesh/refinement.py b/meshmode/mesh/refinement.py
index 7e9f7c1e..a90dc3bc 100644
--- a/meshmode/mesh/refinement.py
+++ b/meshmode/mesh/refinement.py
@@ -540,6 +540,10 @@ class Refiner(object):
                                 #print node_els
                                 iold_el = node_els.index(iel_base+iel_grp)
                                 node_els[iold_el] = iel_base+nelements_in_grp+first_element_index
+                                if new_hanging_vertex_element[start_node.value.vertex] == \
+                                    iel_base+iel_grp:
+                                        new_hanging_vertex_element[start_node.value.vertex] =\
+                                                iel_base+nelements_in_grp+first_element_index
                                 start_node = start_node.next
                             # hop along ray from midpoint node to end node
                             while start_node != end_node:
@@ -548,6 +552,10 @@ class Refiner(object):
                                 node_els = start_node.value.elements
                                 iold_el = node_els.index(iel_base+iel_grp)
                                 node_els[iold_el] = iel_base+nelements_in_grp+second_element_index
+                                if new_hanging_vertex_element[start_node.value.vertex] == \
+                                    iel_base+iel_grp:
+                                        new_hanging_vertex_element[start_node.value.vertex] =\
+                                                iel_base+nelements_in_grp+second_element_index
                                 start_node = start_node.next
 
                         # }}}
-- 
GitLab