From 09ac1eab3709009ec359a214fb240f5927a594bd Mon Sep 17 00:00:00 2001 From: Gene Lin <genelin@GenedeMacBook-Air.local> Date: Sat, 1 Jun 2024 14:39:45 +0800 Subject: [PATCH] set boundary value --- cpp/modmesh/onedim/Euler1DCore.cpp | 32 ++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/cpp/modmesh/onedim/Euler1DCore.cpp b/cpp/modmesh/onedim/Euler1DCore.cpp index 8065d791..7f01614f 100644 --- a/cpp/modmesh/onedim/Euler1DCore.cpp +++ b/cpp/modmesh/onedim/Euler1DCore.cpp @@ -170,6 +170,22 @@ void Euler1DCore::treat_boundary_so0() m_so0(ic, 1) = m_so0(ic - 1, 1); m_so0(ic, 2) = m_so0(ic - 1, 2); } + + // Set the boundary point eqaul to the inside point. + { + // Left boundary. + size_t const ic = 0; + m_so0(ic, 0) = m_so0(ic + 2, 0); + m_so0(ic, 1) = m_so0(ic + 2, 1); + m_so0(ic, 2) = m_so0(ic + 2, 2); + } + { + // Right boundary. + size_t const ic = ncoord() - 1; + m_so0(ic, 0) = m_so0(ic - 2, 0); + m_so0(ic, 1) = m_so0(ic - 2, 1); + m_so0(ic, 2) = m_so0(ic - 2, 2); + } } void Euler1DCore::treat_boundary_so1() @@ -191,6 +207,22 @@ void Euler1DCore::treat_boundary_so1() m_so1(ic, 1) = m_so1(ic - 1, 1); m_so1(ic, 2) = m_so1(ic - 1, 2); } + + // Set the boundary point eqaul to the inside point. + { + // Left boundary. + size_t const ic = 0; + m_so1(ic, 0) = m_so1(ic + 2, 0); + m_so1(ic, 1) = m_so1(ic + 2, 1); + m_so1(ic, 2) = m_so1(ic + 2, 2); + } + { + // Right boundary. + size_t const ic = ncoord() - 1; + m_so1(ic, 0) = m_so1(ic - 2, 0); + m_so1(ic, 1) = m_so1(ic - 2, 1); + m_so1(ic, 2) = m_so1(ic - 2, 2); + } } SimpleArray<double> Euler1DCore::temperature() const