From d6e600cb1942a90efc73cd8b7d16ad0bffccaeb3 Mon Sep 17 00:00:00 2001 From: Matthias Diener Date: Fri, 11 Aug 2023 10:12:55 -0500 Subject: [PATCH] DOFArray: support untaggable arrays in setstate --- meshmode/dof_array.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/meshmode/dof_array.py b/meshmode/dof_array.py index bdcebdc7d..a01c861aa 100644 --- a/meshmode/dof_array.py +++ b/meshmode/dof_array.py @@ -333,7 +333,12 @@ def __setstate__(self, state): assert len(axes_tags[idx]) == ary.ndim assert isinstance(axes_tags[idx], list) - d = actx.from_numpy(ary)._with_new_tags(tags[idx]) + try: + d = actx.from_numpy(ary)._with_new_tags(tags[idx]) + except AttributeError: + # 'actx.from_numpy' might return an array that does not have + # '_with_new_tags' (e.g., np.ndarray). + d = actx.from_numpy(ary) for ida, ax in enumerate(axes_tags[idx]): d = actx.tag_axis(ida, ax, d)