Skip to content

Commit

Permalink
Two-fluid effective viscosity: arithmetic & harmonic options
Browse files Browse the repository at this point in the history
  • Loading branch information
siddanib committed Jul 16, 2024
1 parent 9d5b42f commit 9d58cd7
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 2 deletions.
1 change: 1 addition & 0 deletions src/incflo.H
Original file line number Diff line number Diff line change
Expand Up @@ -549,6 +549,7 @@ private:
amrex::Real m_eta_max = amrex::Real(1.0e+20);
// Adding properties for a second fluid
bool m_two_fluid = false;
bool m_two_fluid_eta_harmonic = false;
amrex::Real m_ro_0_second = 1.0;
FluidModel m_fluid_model_second;
amrex::Real m_mu_second = 1.0;
Expand Down
11 changes: 9 additions & 2 deletions src/rheology/incflo_rheology.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -506,13 +506,20 @@ void incflo::compute_nodal_viscosity_at_level (int /*lev*/,
Array4<Real const> const& eta_arr_second = vel_eta_second.const_array(mfi);
Array4<Real> const& eta_arr = vel_eta->array(mfi);
const Real min_conc_scnd = m_min_conc_second;
const bool eta_harmonic = m_two_fluid_eta_harmonic;
amrex::ParallelFor(bx, [=] AMREX_GPU_DEVICE (int i, int j, int k) noexcept
{
if (conc_second_arr(i,j,k) > min_conc_scnd) {
// Using weighted harmonic mean for vel_eta
eta_arr(i,j,k) = ((Real(1.0)-conc_second_arr(i,j,k))/eta_arr(i,j,k))
if (eta_harmonic) {
eta_arr(i,j,k) = ((Real(1.0)-conc_second_arr(i,j,k))/eta_arr(i,j,k))
+ (conc_second_arr(i,j,k)/eta_arr_second(i,j,k));
eta_arr(i,j,k) = Real(1.0)/eta_arr(i,j,k);
eta_arr(i,j,k) = Real(1.0)/eta_arr(i,j,k);
}
else {
eta_arr(i,j,k) = (Real(1.0)-conc_second_arr(i,j,k))*eta_arr(i,j,k) +
conc_second_arr(i,j,k)*eta_arr_second(i,j,k);
}
}
});
}
Expand Down
1 change: 1 addition & 0 deletions src/setup/init.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@ void incflo::ReadParameters ()

// Check if there is a second fluid
pp.query("two_fluid", m_two_fluid);
pp.query("two_fluid_eta_harmonic",m_two_fluid_eta_harmonic);

// Density (if constant)
pp.query("ro_0", m_ro_0);
Expand Down

0 comments on commit 9d58cd7

Please sign in to comment.