diff --git a/dune/dorie/model/richards/local_operator_FV.hh b/dune/dorie/model/richards/local_operator_FV.hh index beff54cb3748526fc91eaa88cce0746c65b2dec7..cf06b5910fb9040261f75c5f4338fa45192262df 100644 --- a/dune/dorie/model/richards/local_operator_FV.hh +++ b/dune/dorie/model/richards/local_operator_FV.hh @@ -139,10 +139,10 @@ public: const RangeU u_o = x_o(lfsu_o,0); // Finite difference of u between the two entities - RangeU dudn = (u_i-u_o) / distance; + RangeU dudn = (u_o-u_i) / distance; // Update gradient with gravity vector - dudn += _param->gravity() * normal_f; + dudn -= _param->gravity() * normal_f; // bind parameterization and retrieve functions _param->bind(entity_i); @@ -199,13 +199,7 @@ public: } // Water flux in normal direction w.r.t the intersection - const auto water_flux_n = cond_f * dudn; - - // // Upwinding - // if (water_flux_n > 0.) - // water_flux_n = - cond_i*dudn; - // else - // water_flux_n = - cond_o*dudn; + const auto water_flux_n = - cond_f * dudn; // Symmetric contribution to residual on inside element r_i.accumulate(lfsv_i, 0, water_flux_n*volume_f );