Commit fd1ea68e authored by Lukas Riedel's avatar Lukas Riedel

Support outflow BC in Richards DG local operator

parent 3543e7ff
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include <dune/common/parametertree.hh> #include <dune/common/parametertree.hh>
#include <dune/common/exceptions.hh> #include <dune/common/exceptions.hh>
#include <dune/common/float_cmp.hh>
#include <dune/geometry/referenceelements.hh> #include <dune/geometry/referenceelements.hh>
...@@ -765,6 +766,11 @@ public: ...@@ -765,6 +766,11 @@ public:
bcType = BCType::Dirichlet; bcType = BCType::Dirichlet;
} }
else if (BoundaryCondition::isOutflow(bc))
{
bcType = BCType::Dirichlet;
}
else if (BoundaryCondition::isOther(bc)) else if (BoundaryCondition::isOther(bc))
bcType = BCType::none; bcType = BCType::none;
...@@ -828,6 +834,10 @@ public: ...@@ -828,6 +834,10 @@ public:
relCond = 2 * relCond_s * relCond_n / (relCond_s + relCond_n); relCond = 2 * relCond_s * relCond_n / (relCond_s + relCond_n);
} }
// No contribution if flux flows inward
if (BoundaryCondition::isOutflow(bc)
and Dune::FloatCmp::lt(numFlux, 0.0))
continue;
if constexpr (lopcase != LOPCase::RTVolume) if constexpr (lopcase != LOPCase::RTVolume)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment