Skip to content

Commit

Permalink
Merge pull request clawpack#738 from clawpack/set_fwave
Browse files Browse the repository at this point in the history
Automatically set solver.fwave based on values in Riemann repository.
  • Loading branch information
mandli authored Dec 5, 2024
2 parents 37658ee + 9266b53 commit f55b884
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 0 deletions.
1 change: 1 addition & 0 deletions examples/advection_reaction_2d/advection_reaction.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ def setup(outdir='./_output'):
domain = pyclaw.Domain( (0.,0.), (1.,1.), (100,100) )
solver.num_eqn = 2
solver.num_waves = 1
solver.fwave = False
num_aux = 2
state = pyclaw.State(domain, solver.num_eqn, num_aux)

Expand Down
5 changes: 5 additions & 0 deletions src/pyclaw/solver.py
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,7 @@ def get_clawpack_dot_xxx(modname): return modname.rpartition('.')[0].rpartition(

self.num_eqn = None
self.num_waves = None
self.fwave = None

self.compute_gauge_values = default_compute_gauge_values
r"""(function) - Function that computes quantities to be recorded at gauges"""
Expand All @@ -234,6 +235,7 @@ def get_clawpack_dot_xxx(modname): return modname.rpartition('.')[0].rpartition(
rp_name = rp_name.replace("_ptwise", "")
self.num_eqn = riemann.static.num_eqn.get(rp_name,None)
self.num_waves = riemann.static.num_waves.get(rp_name,None)
self.fwave = riemann.static.fwave.get(rp_name,None)

self._isinitialized = True

Expand Down Expand Up @@ -273,6 +275,9 @@ def is_valid(self):
if self.num_eqn is None:
valid = False
reason = 'solver.num_eqn has not been set.'
if self.fwave is None:
valid = False
reason = 'solver.fwave has not been set.'
if (None in self.bc_lower) or (None in self.bc_upper):
valid = False
reason = 'One of the boundary conditions has not been set.'
Expand Down

0 comments on commit f55b884

Please sign in to comment.