From cadff6f431beaf36a8c1e95688fc1674083f96e8 Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Tue, 20 Oct 2015 11:14:17 -0500
Subject: [PATCH] Wrap inverse metric derivative in CSE

---
 grudge/symbolic/primitives.py | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/grudge/symbolic/primitives.py b/grudge/symbolic/primitives.py
index 3eb69dac..5be9bfda 100644
--- a/grudge/symbolic/primitives.py
+++ b/grudge/symbolic/primitives.py
@@ -355,9 +355,11 @@ def inverse_metric_derivative(rst_axis, xyz_axis, ambient_dim, dim=None,
             ambient_dim, rst_axis, where, quadrature_tag)
         for rst_axis in range(dim)).inv())
 
-    return (outprod_with_unit(xyz_axis, rst_axis)
-            * volume_pseudoscalar_inv
-            ).as_scalar()
+    return cse(
+            (outprod_with_unit(xyz_axis, rst_axis)
+                * volume_pseudoscalar_inv).as_scalar(),
+            prefix="dr%d_dx%d" % (rst_axis, xyz_axis),
+            scope=cse_scope.DISCRETIZATION)
 
 
 def forward_metric_derivative_mat(ambient_dim, dim=None,
-- 
GitLab