diff --git a/dune/mmdg/problems/dgproblem.hh b/dune/mmdg/problems/dgproblem.hh
index c7ffb3d239d627d0ab76f648b316eb1d658fb416..f8d22f3f88daa7fbf2c1dc2b222e37a26e335017 100644
--- a/dune/mmdg/problems/dgproblem.hh
+++ b/dune/mmdg/problems/dgproblem.hh
@@ -9,6 +9,8 @@ class DGProblem
public:
using Scalar = ctype;
using Vector = Coordinate;
+ static constexpr int dimension = Coordinate::dimension;
+ using Matrix = Dune::FieldMatrix<Scalar, dimension, dimension>;
//the exact solution at position pos
virtual Scalar exactSolution (const Vector& pos) const
@@ -22,14 +24,14 @@ class DGProblem
return false;
};
- //source term
- virtual Scalar q (const Vector& pos) const //= 0;
+ //source term at position pos
+ virtual Scalar q (const Vector& pos) const
{
return Scalar(0.0);
}
//boundary condition at position pos
- virtual Scalar boundary (const Vector& pos) const //= 0;
+ virtual Scalar boundary (const Vector& pos) const
{
return Scalar(0.0);
}
@@ -40,6 +42,20 @@ class DGProblem
{
return 1;
}
+
+ //permeability tensor at position pos
+ virtual Matrix K (const Vector& pos) const
+ {
+ Matrix permeability(0.0);
+
+ for (int i = 0; i < dimension; i++)
+ {
+ permeability[i][i] = 1.0;
+ }
+
+ //return identity matrix
+ return permeability;
+ }
};
#endif