diff --git a/dune/mmdg/problems/mmdgproblem2.hh b/dune/mmdg/problems/mmdgproblem2.hh index 79e0595949344b4eec38962dfde54421fce1f3c8..24610882dbb644752546693d1324c263720d2ed0 100644 --- a/dune/mmdg/problems/mmdgproblem2.hh +++ b/dune/mmdg/problems/mmdgproblem2.hh @@ -11,6 +11,8 @@ class MMDGProblem2 : public CoupledDGProblem<Coordinate, Scalar> { public: static constexpr int dim = Coordinate::dimension; + using Base = CoupledDGProblem<Coordinate, Scalar>; + using Matrix = typename Base::Matrix; //the exact bulk solution at position pos Scalar exactSolution (const Coordinate& pos) const @@ -25,7 +27,7 @@ class MMDGProblem2 : public CoupledDGProblem<Coordinate, Scalar> { constexpr Scalar cos2 = std::cos(2.0); constexpr Scalar sin2 = std::sin(2.0); - return 0.75 * (cos2 - sin2) * std::cos(M_PI * pos[1]); + return 0.75 * (cos2 + sin2) * std::cos(M_PI * pos[1]); } //indicates whether an exact solution is implemented for the problem @@ -57,6 +59,20 @@ class MMDGProblem2 : public CoupledDGProblem<Coordinate, Scalar> return Scalar(0.25); } + //tangential permeability tensor per aperture of the interface + //at position pos + Matrix Kparallel (const Coordinate& pos) const + { + return Base::Kparallel(pos) / aperture(pos); + } + + //permeability of the fracture per aperture in normal direction + //at position pos + virtual Scalar Kperp (const Coordinate& pos) const + { + return Scalar(2.0); + } + //returns the recommended quadrature order to compute an integral //over x * q(x) int quadratureOrder_q () const