From d22a2156872baa04093f187865971601cd05ec33 Mon Sep 17 00:00:00 2001 From: "Aaron M. Lattanzi" <103702284+AMLattanzi@users.noreply.github.com> Date: Tue, 8 Oct 2024 10:15:13 -0700 Subject: [PATCH] SlipWall with ext_dir_prim BC. (#1863) --- Source/Initialization/ERF_init_bcs.cpp | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/Source/Initialization/ERF_init_bcs.cpp b/Source/Initialization/ERF_init_bcs.cpp index 449349b06..f4e05cfdb 100644 --- a/Source/Initialization/ERF_init_bcs.cpp +++ b/Source/Initialization/ERF_init_bcs.cpp @@ -508,9 +508,13 @@ void ERF::init_bcs () if (side == Orientation::low) { for (int i = 0; i < NBCVAR_max; i++) { domain_bcs_type[BCVars::cons_bc+i].setLo(dir, ERFBCType::foextrap); - } - if (m_bc_extdir_vals[BCVars::RhoTheta_bc_comp][ori] > 0.) { - domain_bcs_type[BCVars::RhoTheta_bc_comp].setLo(dir, ERFBCType::ext_dir); + if (m_bc_extdir_vals[BCVars::cons_bc+i][ori] != cons_dir_init[BCVars::cons_bc+i]) { + if (rho_read) { + domain_bcs_type[BCVars::cons_bc+i].setLo(dir, ERFBCType::ext_dir); + } else { + domain_bcs_type[BCVars::cons_bc+i].setLo(dir, ERFBCType::ext_dir_prim); + } + } } if (std::abs(m_bc_neumann_vals[BCVars::RhoTheta_bc_comp][ori]) > 0.) { domain_bcs_type[BCVars::RhoTheta_bc_comp].setLo(dir, ERFBCType::neumann); @@ -521,9 +525,13 @@ void ERF::init_bcs () } else { for (int i = 0; i < NBCVAR_max; i++) { domain_bcs_type[BCVars::cons_bc+i].setHi(dir, ERFBCType::foextrap); - } - if (m_bc_extdir_vals[BCVars::RhoTheta_bc_comp][ori] > 0.) { - domain_bcs_type[BCVars::RhoTheta_bc_comp].setHi(dir, ERFBCType::ext_dir); + if (m_bc_extdir_vals[BCVars::cons_bc+i][ori] != cons_dir_init[BCVars::cons_bc+i]) { + if (rho_read) { + domain_bcs_type[BCVars::cons_bc+i].setHi(dir, ERFBCType::ext_dir); + } else { + domain_bcs_type[BCVars::cons_bc+i].setHi(dir, ERFBCType::ext_dir_prim); + } + } } if (std::abs(m_bc_neumann_vals[BCVars::RhoTheta_bc_comp][ori]) > 0.) { domain_bcs_type[BCVars::RhoTheta_bc_comp].setHi(dir, ERFBCType::neumann);