From 1f0f3e12e4519a87da9083e83bd65d91c7b27cac Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Thu, 18 May 2017 10:43:57 -0500
Subject: [PATCH] Fix the GA normal formula

---
 grudge/symbolic/primitives.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/grudge/symbolic/primitives.py b/grudge/symbolic/primitives.py
index ace6d42b..0db0a890 100644
--- a/grudge/symbolic/primitives.py
+++ b/grudge/symbolic/primitives.py
@@ -587,8 +587,10 @@ def mv_normal(dd, ambient_dim, dim=None):
             pseudoscalar(ambient_dim, dim, dd=dd)
             /
             area_element(ambient_dim, dim, dd=dd))
-    return cse(pder.I | pder, "normal",
-            cse_scope.DISCRETIZATION)
+    return cse(
+            # Dorst Section 3.7.2
+            pder << pder.I.inv(),
+            "normal", cse_scope.DISCRETIZATION)
 
 
 def normal(dd, ambient_dim, dim=None, quadrature_tag=None):
-- 
GitLab