From e8f071a027539024116255aca59c7c70204bf091 Mon Sep 17 00:00:00 2001 From: Ann Almgren Date: Fri, 27 Sep 2024 13:57:47 -0700 Subject: [PATCH] fix for the last commit (#135) Co-authored-by: Weiqun Zhang --- .github/workflows/codespell.yml | 3 +- .github/workflows/docs.yml | 2 +- .../source/InputsAlgorithm.rst | 3 ++ src/incflo.H | 42 +++++++++++-------- src/incflo.cpp | 15 +++++++ src/setup/init.cpp | 7 ++-- 6 files changed, 49 insertions(+), 23 deletions(-) diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml index bec24c5c7..faaa2ebc4 100644 --- a/.github/workflows/codespell.yml +++ b/.github/workflows/codespell.yml @@ -8,8 +8,7 @@ concurrency: jobs: codespell: - runs-on: ubuntu-latest - + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 9151622cd..0ab04eb65 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -7,7 +7,7 @@ concurrency: jobs: build-and-deploy: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - name: Checkout uses: actions/checkout@v4 diff --git a/Docs/sphinx_documentation/source/InputsAlgorithm.rst b/Docs/sphinx_documentation/source/InputsAlgorithm.rst index f37131138..ae3ba8215 100644 --- a/Docs/sphinx_documentation/source/InputsAlgorithm.rst +++ b/Docs/sphinx_documentation/source/InputsAlgorithm.rst @@ -28,6 +28,9 @@ The following inputs must be preceded by "incflo." +----------------------+-----------------------------------------------------------------------+-------------+--------------+ | mu_s | scalar diffusivity | Real(s) | 0.0 | +----------------------+-----------------------------------------------------------------------+-------------+--------------+ +| use_cc_proj | Use cell-centered rather than nodal pressure; this changes the | bool | false | +| | which approximate projection we use | | | ++----------------------+-----------------------------------------------------------------------+-------------+--------------+ | use_tensor_solve | In velocity solve, use multicomponent :math:`\nabla \cdot \tau` | bool | true | | | otherwise use separate solves for each velocity component | | | +----------------------+-----------------------------------------------------------------------+-------------+--------------+ diff --git a/src/incflo.H b/src/incflo.H index 35ad66d12..6e3c54775 100644 --- a/src/incflo.H +++ b/src/incflo.H @@ -263,23 +263,31 @@ public: // /////////////////////////////////////////////////////////////////////////// - void ApplyProjection( amrex::Vector const& density, - AMREX_D_DECL(amrex::Vector const& u_mac, - amrex::Vector const& v_mac, - amrex::Vector const& w_mac), - amrex::Real time, amrex::Real scaling_factor, bool incremental); - void ApplyNodalProjection(amrex::Vector density, - amrex::Real time, amrex::Real scaling_factor, bool incremental); - void ApplyNodalProjection(amrex::Vector const& density, - amrex::Vector vel, - amrex::Vector const& divu_Source, - amrex::Real time, amrex::Real scaling_factor, bool incremental, - bool set_inflow_bc); - void ApplyCCProjection(amrex::Vector density, - AMREX_D_DECL(amrex::Vector const& u_mac, - amrex::Vector const& v_mac, - amrex::Vector const& w_mac), - amrex::Real time, amrex::Real scaling_factor, bool incremental); + void ApplyProjection ( amrex::Vector const& density, + AMREX_D_DECL(amrex::Vector const& u_mac, + amrex::Vector const& v_mac, + amrex::Vector const& w_mac), + amrex::Real time, amrex::Real scaling_factor, bool incremental); + + void ApplyProjection (amrex::Vector const& density, + amrex::Vector const& vel, + amrex::Vector const& divu_Source, + amrex::Real time, amrex::Real scaling_factor, bool incremental, + bool set_inflow_bc); + + void ApplyNodalProjection (amrex::Vector density, + amrex::Real time, amrex::Real scaling_factor, bool incremental); + void ApplyNodalProjection (amrex::Vector const& density, + amrex::Vector vel, + amrex::Vector const& divu_Source, + amrex::Real time, amrex::Real scaling_factor, bool incremental, + bool set_inflow_bc); + + void ApplyCCProjection (amrex::Vector density, + AMREX_D_DECL(amrex::Vector const& u_mac, + amrex::Vector const& v_mac, + amrex::Vector const& w_mac), + amrex::Real time, amrex::Real scaling_factor, bool incremental); /////////////////////////////////////////////////////////////////////////// // diff --git a/src/incflo.cpp b/src/incflo.cpp index fd8a42b07..d9beef8b8 100644 --- a/src/incflo.cpp +++ b/src/incflo.cpp @@ -209,7 +209,22 @@ incflo::ApplyProjection (Vector const& density, time,scaling_factor,incremental); } else + { ApplyNodalProjection(density,time,scaling_factor,incremental); + } +} + +void +incflo::ApplyProjection (Vector const& density, + Vector const& vel, + Vector const& divu_Source, + Real time, Real scaling_factor, bool incremental, + bool set_inflow_bc) +{ + AMREX_ALWAYS_ASSERT("This is not yet coded for ccproj!"); + + ApplyNodalProjection(density, vel, divu_Source, time, scaling_factor, + incremental, set_inflow_bc); } // Make a new level from scratch using provided BoxArray and DistributionMapping. diff --git a/src/setup/init.cpp b/src/setup/init.cpp index 6878c8471..bdec12bb3 100644 --- a/src/setup/init.cpp +++ b/src/setup/init.cpp @@ -466,9 +466,10 @@ void incflo::InitialPressureProjection() // Always zero this here Vector Source(finest_level+1, nullptr); - ApplyProjection(get_density_new_const(), - AMREX_D_DECL(GetVecOfPtrs(u_mac_tmp), GetVecOfPtrs(v_mac_tmp), - GetVecOfPtrs(w_mac_tmp)),m_cur_time,dummy_dt,false); + // FIXME FIXME FIXME - THIS ONLY WORKS RIGHT FOR NODAL PROJ + ApplyProjection(get_density_new_const(), GetVecOfPtrs(vel), Source, + m_cur_time, dummy_dt, false /*incremental*/, + true /*set_inflow_bc*/); } #ifdef AMREX_USE_EB