From 12b11ea818adacbdfd96f12ef3d79e588bf6bb67 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sat, 22 May 2021 15:13:19 -0500 Subject: [PATCH] Add a order property to LinearPDESystemOperator (#58) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add a degree property to LinearPDESystemOperator * degree -> order * LinearPDESystemOperator.degree -> order in tests Co-authored-by: Andreas Klöckner --- sumpy/expansion/diff_op.py | 7 +++++++ test/test_misc.py | 5 ++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/sumpy/expansion/diff_op.py b/sumpy/expansion/diff_op.py index db8e97e8..2a028859 100644 --- a/sumpy/expansion/diff_op.py +++ b/sumpy/expansion/diff_op.py @@ -65,6 +65,13 @@ class LinearPDESystemOperator: def __hash__(self): return hash((self.dim, self.eqs)) + @property + def order(self): + deg = 0 + for eq in self.eqs: + deg = max(deg, max(sum(ident.mi) for ident in eq.keys())) + return deg + def __mul__(self, param): eqs = [] for eq in self.eqs: diff --git a/test/test_misc.py b/test/test_misc.py index 3a2055fa..b0db855f 100644 --- a/test/test_misc.py +++ b/test/test_misc.py @@ -411,8 +411,11 @@ def test_as_scalar_pde_elasticity(): ] pde = concat(*exprs) + assert pde.order == 1 for i in range(5): - assert as_scalar_pde(pde, i) == laplacian(laplacian(diff_op[0])) + scalar_pde = as_scalar_pde(pde, i) + assert scalar_pde == laplacian(laplacian(diff_op[0])) + assert scalar_pde.order == 4 def test_elasticity_new(): -- GitLab