Skip to content

Commit

Permalink
Fix to numerical flux
Browse files Browse the repository at this point in the history
  • Loading branch information
llibert94 committed Aug 1, 2023
1 parent 78c8f35 commit e685471
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
8 changes: 4 additions & 4 deletions Examples/PerfectFluid/Fluxes.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,12 @@ vars_t<data_t> compute_flux(const vars_t<data_t> &vars, const int idir)
}
template <class data_t, template <typename> class vars_t>
vars_t<data_t> compute_num_flux(const vars_t<data_t> &vars, const int idir,
const double lambda)
const double lambda, const int sign)
{
vars_t<data_t> out = compute_flux(vars, idir);
out.D -= lambda * vars.D;
FOR(j) out.Sj[j] -= lambda * vars.Sj[j];
out.tau -= lambda * vars.tau;
out.D += sign * lambda * vars.D;
FOR(j) out.Sj[j] += sign * lambda * vars.Sj[j];
out.tau += sign * lambda * vars.tau;
return out;
}

Expand Down
8 changes: 4 additions & 4 deletions Examples/PerfectFluid/PerfectFluid.impl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -110,15 +110,15 @@ void PerfectFluid<eos_t>::add_matter_rhs(
FOR(j) { vars_right_p.vi[j] = rp.vi[j][idir]; }
ConservativeRecovery::PtoC(vars_right_p);
vars_t<data_t> flux_right_p =
Fluxes::compute_num_flux(vars_right_p, idir, m_lambda);
Fluxes::compute_num_flux(vars_right_p, idir, m_lambda, -1);

vars_t<data_t> vars_right_m = vars;
vars_right_m.rho = rm.rho[idir];
vars_right_m.eps = rm.eps[idir];
FOR(j) vars_right_m.vi[j] = rm.vi[j][idir];
ConservativeRecovery::PtoC(vars_right_m);
vars_t<data_t> flux_right_m =
Fluxes::compute_num_flux(vars_right_m, idir, m_lambda);
Fluxes::compute_num_flux(vars_right_m, idir, m_lambda, 1);

rhs.D += -1. / (2. * m_dx) * (flux_right_p.D + flux_right_m.D);
FOR(j)
Expand All @@ -137,15 +137,15 @@ void PerfectFluid<eos_t>::add_matter_rhs(
FOR(j) { vars_left_p.vi[j] = lp.vi[j][idir]; }
ConservativeRecovery::PtoC(vars_left_p);
vars_t<data_t> flux_left_p =
Fluxes::compute_num_flux(vars_left_p, idir, m_lambda);
Fluxes::compute_num_flux(vars_left_p, idir, m_lambda, -1);

vars_t<data_t> vars_left_m = vars;
vars_left_m.rho = lm.rho[idir];
vars_left_m.eps = lm.eps[idir];
FOR(j) { vars_left_m.vi[j] = lm.vi[j][idir]; }
ConservativeRecovery::PtoC(vars_left_m);
vars_t<data_t> flux_left_m =
Fluxes::compute_num_flux(vars_left_m, idir, m_lambda);
Fluxes::compute_num_flux(vars_left_m, idir, m_lambda, 1);

rhs.D += 1. / (2. * m_dx) * (flux_left_p.D + flux_left_m.D);
FOR(j)
Expand Down

0 comments on commit e685471

Please sign in to comment.