diff --git a/dune/mmdg/problems/mmdgproblem6.hh b/dune/mmdg/problems/mmdgproblem6.hh index c1f9d63886ff9f48c38b1aef8f66ee401f9906e2..afec3955f679e93ab010acb5ca76248f7d44faa2 100644 --- a/dune/mmdg/problems/mmdgproblem6.hh +++ b/dune/mmdg/problems/mmdgproblem6.hh @@ -10,6 +10,8 @@ class MMDGProblem6 : public CoupledDGProblem<Coordinate, Scalar> { public: static constexpr int dim = Coordinate::dimension; + using Base = CoupledDGProblem<Coordinate, Scalar>; + using Matrix = typename Base::Matrix; //constructor MMDGProblem6 (const Scalar d0) : d0_(d0), xi_(1.0) {} @@ -61,7 +63,7 @@ public: const Scalar hyperbolicFactor = (coshsqrt2 * coshsqrt2 - (2 * xi_ - 1) * sinhsqrt2 * sinhsqrt2); - return -16.0 * d0_ * d0_ * std::exp(-8.0 * pos[1]) * hyperbolicFactor * ( + return -16.0 * aperture(pos) * d0_ * d0_ * std::exp(-8.0 * pos[1]) * hyperbolicFactor * ( cos4y + 3.0 * std::sin(4.0 * pos[1]) ) - sqrt2 * std::sinh(sqrt2) * cos4y; } @@ -86,6 +88,19 @@ public: return sqrt(2.0) / std::tanh(sqrt(2.0)); } + //tangential permeability tensor of the interface at position pos + Matrix Kparallel (const Coordinate& pos) const + { + Matrix permeability(0.0); + + for (int i = 0; i < dim; i++) + { + permeability[i][i] = 1.0 * aperture(pos);//d_; + } + + return permeability; + } + //returns the recommended quadrature order to compute an integral //over x * boundary(x) int quadratureOrderBoundary () const