diff --git a/grudge/geometry/metrics.py b/grudge/geometry/metrics.py index 3f9c971e56ba2fd254bb86ce46322ae150db8e8a..fe0030dd31e90e7702292e9d4c83901b3db37516 100644 --- a/grudge/geometry/metrics.py +++ b/grudge/geometry/metrics.py @@ -59,7 +59,7 @@ THE SOFTWARE. import numpy as np from grudge import DiscretizationCollection -from arraycontext import thaw, ArrayContext +from arraycontext import thaw, freeze, ArrayContext from meshmode.dof_array import DOFArray from grudge.dof_desc import ( @@ -403,8 +403,8 @@ def inverse_surface_metric_derivative( actx, dcoll, xyz_axis, d, dd=dd ) for d in range(dim) ) - return imd - return _inv_surf_metric_deriv() + return freeze(imd, actx) + return thaw(_inv_surf_metric_deriv(), actx) def _signed_face_ones( @@ -498,10 +498,10 @@ def area_element( "area_elements_adim%s_gdim%s" % (dcoll.ambient_dim, dim))) def _area_elements(): - return actx.np.sqrt( - pseudoscalar(actx, dcoll, dd=dd).norm_squared() - ) - return _area_elements() + return freeze(actx.np.sqrt( + pseudoscalar(actx, dcoll, dd=dd).norm_squared()), actx) + + return thaw(_area_elements(), actx) # }}}