From a43187df2c029dbf329fccb4c71765d29b9f7044 Mon Sep 17 00:00:00 2001 From: "[6~" <inform@tiker.net> Date: Fri, 22 May 2020 00:07:19 -0500 Subject: [PATCH] Get eager wave example to be dim-independent --- examples/wave/wave-eager.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/examples/wave/wave-eager.py b/examples/wave/wave-eager.py index 7daf2b85..f80ff2c7 100644 --- a/examples/wave/wave-eager.py +++ b/examples/wave/wave-eager.py @@ -118,8 +118,8 @@ def bump(discr, queue, t=0): nodes = discr.nodes().with_queue(queue) center_dist = join_fields([ - nodes[0] - source_center[0], - nodes[1] - source_center[1], + nodes[i] - source_center[i] + for i in range(discr.dim) ]) return ( @@ -143,8 +143,14 @@ def main(): order = 3 - # no deep meaning here, just a fudge factor - dt = 0.75/(nel_1d*order**2) + if dim == 2: + # no deep meaning here, just a fudge factor + dt = 0.75/(nel_1d*order**2) + elif dim == 3: + # no deep meaning here, just a fudge factor + dt = 0.45/(nel_1d*order**2) + else: + raise ValueError("don't have a stable time step guesstimate") print("%d elements" % mesh.nelements) @@ -155,7 +161,7 @@ def main(): [discr.zeros(queue) for i in range(discr.dim)] ) - vis = make_visualizer(discr, discr.order+3) + vis = make_visualizer(discr, discr.order+3 if dim == 2 else discr.order) def rhs(t, w): return wave_operator(discr, c=1, w=w) -- GitLab