From 20376812f1b967668cd2f43aa71d83a554bf4744 Mon Sep 17 00:00:00 2001 From: Michael Zingale Date: Mon, 12 Aug 2024 19:06:21 -0400 Subject: [PATCH] enforce reflecting boundary conditions --- ppmpy/euler.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ppmpy/euler.py b/ppmpy/euler.py index a995fea..202f2f7 100644 --- a/ppmpy/euler.py +++ b/ppmpy/euler.py @@ -243,6 +243,18 @@ def interface_states(self): if ev[iwave] >= 0: q_left[i+1, :] -= beta_xp[iwave] * rvec[iwave, :] + # enforce reflection + for n in range(self.v.nvar): + if self.bcs_left[n] == "reflect": + q_left[self.grid.lo, n] = q_right[self.grid.lo, n] + elif self.bcs_left[n] == "reflect-odd": + q_left[self.grid.lo, n] = -q_right[self.grid.lo, n] + + if self.bcs_right[n] == "reflect": + q_right[self.grid.hi+1, n] = q_left[self.grid.hi+1, n] + elif self.bcs_right[n] == "reflect-odd": + q_right[self.grid.hi+1, n] = -q_left[self.grid.hi+1, n] + return q_left, q_right def cons_flux(self, state):