Skip to content

Commit 5607c73

Browse files
committed
ci: add stagg test for inner param
1 parent b0b67a1 commit 5607c73

2 files changed

Lines changed: 19 additions & 1 deletion

File tree

devito/finite_differences/differentiable.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1134,7 +1134,7 @@ def _(expr, x0, **kwargs):
11341134
from devito.finite_differences.derivative import Derivative
11351135
x0_expr = {d: v for d, v in x0.items() if v is not expr.indices_ref[d]}
11361136
if expr.is_parameter:
1137-
return expr._evaluate(**kwargs)
1137+
return expr
11381138
elif x0_expr:
11391139
dims = tuple((d, 0) for d in x0_expr)
11401140
fd_o = tuple([expr.interp_order]*len(dims))

tests/test_derivatives.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -762,6 +762,24 @@ def test_nested_call(self):
762762
# Should be commutative
763763
assert simplify(deriv.evaluate - derivc.evaluate) == 0
764764

765+
def test_param_stagg_inner(self):
766+
space_order = 2
767+
nx, ny = 5, 5
768+
769+
grid = Grid((nx, ny))
770+
771+
x, y = grid.dimensions
772+
yp = y + y.spacing / 2
773+
xp = x + x.spacing / 2
774+
775+
f = TimeFunction(name="f", grid=grid, space_order=space_order, staggered=y)
776+
p = Function(name="p", grid=grid, space_order=space_order, parameter=True)
777+
g = TimeFunction(name="g", grid=grid, space_order=space_order, staggered=(x, y))
778+
779+
eqn = Eq(g, (p * f).dx)
780+
eqne = eqn.evaluate.rhs
781+
assert simplify(eqne - (p._subs(y, yp).evaluate * f).dx(x0=xp).evaluate) == 0
782+
765783

766784
class TestTwoStageEvaluation:
767785

0 commit comments

Comments
 (0)