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