Skip to content

Commit 28865f3

Browse files
committed
dsl: Remove iterative superstep generator
1 parent 2f84c75 commit 28865f3

File tree

1 file changed

+0
-40
lines changed

1 file changed

+0
-40
lines changed

devito/timestepping/superstep.py

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -8,46 +8,6 @@
88
from devito.types import Eq, Function, TimeFunction
99

1010

11-
def superstep_generator_iterative(field, stencil, k, nt=0):
12-
"""
13-
Generate superstep iteratively:
14-
Aʲ⁺¹ = A·Aʲ
15-
"""
16-
# New fields, for vector formulation both current and previous timestep are needed
17-
name = field.name
18-
grid = field.grid
19-
u = TimeFunction(name=f'{name}_ss', grid=grid, time_order=2, space_order=2*k)
20-
u_prev = TimeFunction(name=f'{name}_ss_p', grid=grid, time_order=2, space_order=2*k)
21-
22-
superstep_solution_transfer(field, u, u_prev, nt)
23-
24-
# Substitute new fields into stencil
25-
ss_stencil = stencil.subs({field: u, field.backward: u_prev}, postprocess=False)
26-
ss_stencil = ss_stencil.expand().expand(add=True, nest=True)
27-
current = ss_stencil
28-
29-
# Placeholder fields for forming the superstep
30-
a_tmp = Function(name="a_tmp", grid=grid, space_order=2*k)
31-
b_tmp = Function(name="b_tmp", grid=grid, space_order=2*k)
32-
33-
if k >= 2:
34-
for _ in range(k - 2):
35-
current = current.subs(
36-
{u: a_tmp, u_prev: b_tmp}, postprocess=False).subs(
37-
{a_tmp: ss_stencil, b_tmp: u}, postprocess=False
38-
)
39-
current = current.expand().expand(add=True, nest=True)
40-
else:
41-
current = u
42-
43-
stencil_next = current.subs(
44-
{u: a_tmp, u_prev: b_tmp}, postprocess=False).subs(
45-
{a_tmp: ss_stencil, b_tmp: u}, postprocess=False
46-
)
47-
stencil_next = stencil_next.expand().expand(add=True, nest=True)
48-
return u, u_prev, Eq(u.forward, stencil_next), Eq(u_prev.forward, current)
49-
50-
5111
def superstep_generator(field, stencil, k, nt=0):
5212
"""
5313
Generate superstep using a binary decomposition:

0 commit comments

Comments
 (0)