From a279a84395eccdef351c70abc8ab7331c1724308 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Maximilian=20H=C3=B6rl?=
 <maximilian.hoerl@mathematik.uni-stuttgart.de>
Date: Thu, 19 Mar 2020 14:39:58 +0100
Subject: [PATCH] add mmdg problems

---
 dune/mmdg/problems/coupleddgproblem.hh        |   31 +-
 dune/mmdg/problems/dgproblem.hh               |    2 +-
 .../mmdg/problems/inhomogeneousbulkproblem.hh |    6 -
 dune/mmdg/problems/mmdgproblem1.hh            |   61 +
 dune/mmdg/problems/mmdgproblem2.hh            |   89 +
 dune/mmdg/problems/poisson.hh                 |    8 +-
 dune/mmdg/problems/zeropoisson.hh             |    8 +-
 src/grids/mmdg2.geo                           |   33 +
 src/grids/mmdg2.msh                           | 1633 +++++++++++++++++
 src/mmdg.cc                                   |   42 +-
 src/parameterMMDG.ini                         |    2 +-
 11 files changed, 1873 insertions(+), 42 deletions(-)
 create mode 100644 dune/mmdg/problems/mmdgproblem1.hh
 create mode 100644 dune/mmdg/problems/mmdgproblem2.hh
 create mode 100644 src/grids/mmdg2.geo
 create mode 100644 src/grids/mmdg2.msh

diff --git a/dune/mmdg/problems/coupleddgproblem.hh b/dune/mmdg/problems/coupleddgproblem.hh
index e6fe7a4..72b1f03 100644
--- a/dune/mmdg/problems/coupleddgproblem.hh
+++ b/dune/mmdg/problems/coupleddgproblem.hh
@@ -6,34 +6,39 @@
 //abstract class providing an interface for a coupled flow problem in a
 //fractured porous medium that is to be solved with a coupled discontinuous
 //Galerkin scheme
-template<class Vector, class Scalar = double>
-class CoupledDGProblem : public DGProblem<Vector, Scalar>
+template<class Coordinate, class Scalar = double>
+class CoupledDGProblem : public DGProblem<Coordinate, Scalar>
 {
   public:
-    static constexpr int dim = Vector::dimension;
-    using Base = DGProblem<Vector, Scalar>;
+    static constexpr int dim = Coordinate::dimension;
+    using Base = DGProblem<Coordinate, Scalar>;
     using Matrix = typename Base::Matrix;
 
     //the exact solution on the interface at position pos
-    virtual Scalar exactInterfaceSolution (const Vector& pos) const
+    virtual Scalar exactInterfaceSolution (const Coordinate& pos) const
     {
       return Scalar(0.0);
     }
 
     //interface source term at position pos
-    virtual Scalar qInterface (const Vector& pos) const
+    virtual Scalar qInterface (const Coordinate& pos) const
     {
       return Scalar(0.0);
     }
 
     //aperture d of the fracture at position pos
-    virtual Scalar aperture (const Vector& pos) const
+    virtual Scalar aperture (const Coordinate& pos) const
     {
       return Scalar(1.0);
     }
 
+    virtual Scalar interfaceBoundary(const Coordinate& pos) const
+    {
+      return exactInterfaceSolution(pos);
+    }
+
     //tangential permeability tensor of the interface at position pos
-    virtual Matrix Kparallel (const Vector& pos) const
+    virtual Matrix Kparallel (const Coordinate& pos) const
     {
       Matrix permeability(0.0);
 
@@ -47,12 +52,11 @@ class CoupledDGProblem : public DGProblem<Vector, Scalar>
     }
 
     //permeability of the fracture in normal direction at position pos
-    virtual Scalar Kperp (const Vector& pos) const
+    virtual Scalar Kperp (const Coordinate& pos) const
     {
       return Scalar(1.0);
     }
 
-
     //returns the recommended quadrature order to compute an integral
     //over x * qInterface(x)
     virtual int quadratureOrder_qInterface () const
@@ -60,6 +64,13 @@ class CoupledDGProblem : public DGProblem<Vector, Scalar>
       return 1;
     }
 
+    //returns the recommended quadrature order to compute an integral
+    //over x * interfaceBoundary(x)
+    virtual int quadratureOrderInterfaceBoundary () const
+    { //NOTE: only relevant for 3d, not implemented!
+      return 1;
+    }
+
     //returns the recommended quadrature order to compute an integral
     //over Kparallel(x)
     virtual int quadratureOrder_Kparallel () const
diff --git a/dune/mmdg/problems/dgproblem.hh b/dune/mmdg/problems/dgproblem.hh
index 13d0bc4..b59b0a6 100644
--- a/dune/mmdg/problems/dgproblem.hh
+++ b/dune/mmdg/problems/dgproblem.hh
@@ -31,7 +31,7 @@ class DGProblem
     //boundary condition at position pos
     virtual Scalar boundary (const Coordinate& pos) const
     {
-      return Scalar(0.0);
+      return exactSolution(pos);
     }
 
     //permeability tensor at position pos
diff --git a/dune/mmdg/problems/inhomogeneousbulkproblem.hh b/dune/mmdg/problems/inhomogeneousbulkproblem.hh
index 8cf6424..4dcc907 100644
--- a/dune/mmdg/problems/inhomogeneousbulkproblem.hh
+++ b/dune/mmdg/problems/inhomogeneousbulkproblem.hh
@@ -32,12 +32,6 @@ class InhomogeneousBulkProblem : public DGProblem<Coordinate, Scalar>
       return pos * Coordinate(2.0);
     }
 
-    //boundary condition
-    virtual Scalar boundary (const Coordinate& pos) const
-    {
-      return exactSolution(pos);
-    }
-
     //permeability tensor at position pos
     virtual Matrix K (const Coordinate& pos) const
     {
diff --git a/dune/mmdg/problems/mmdgproblem1.hh b/dune/mmdg/problems/mmdgproblem1.hh
new file mode 100644
index 0000000..c2008c8
--- /dev/null
+++ b/dune/mmdg/problems/mmdgproblem1.hh
@@ -0,0 +1,61 @@
+#ifndef __DUNE_MMDG_MMDGPROBLEM1_HH__
+#define __DUNE_MMDG_MMDGPROBLEM1_HH__
+
+#include <cmath>
+#include <dune/mmdg/problems/coupleddgproblem.hh>
+
+//a coupled dg problem for dim = 2,
+//taken from [Antonietti et al. (2019): Example 6.3]
+template<class Coordinate, class Scalar = double>
+class MMDGProblem1 : public CoupledDGProblem<Coordinate, Scalar>
+{
+  public:
+    static constexpr int dim = Coordinate::dimension;
+
+    //the exact bulk solution at position pos
+    Scalar exactSolution (const Coordinate& pos) const
+    {
+      Scalar solution = pos * Coordinate(1.0);
+
+      if (pos[0] > 0.5)
+      {
+        solution += 1.0;
+      }
+
+      return solution;
+    }
+
+    //the exact solution on the interface at position pos
+    Scalar exactInterfaceSolution (const Coordinate& pos) const
+    {
+      return pos * Coordinate(1.0) + 0.5;
+    }
+
+    //indicates whether an exact solution is implemented for the problem
+    bool hasExactSolution () const
+    {
+      return true;
+    };
+
+    //aperture d of the fracture at position pos
+    Scalar aperture (const Coordinate& pos) const
+    {
+      return Scalar(1.0);
+    }
+
+    //returns the recommended quadrature order to compute an integral
+    //over x * boundary(x)
+    int quadratureOrderBoundary () const
+    {
+      return 2;
+    }
+
+    //returns the recommended quadrature order to compute an integral
+    //over x * interfaceBoundary(x)
+    int quadratureOrderInterfaceBoundary () const
+    { //NOTE: only relevant for 3d, not implemented!
+      return 2;
+    }
+};
+
+#endif
diff --git a/dune/mmdg/problems/mmdgproblem2.hh b/dune/mmdg/problems/mmdgproblem2.hh
new file mode 100644
index 0000000..79e0595
--- /dev/null
+++ b/dune/mmdg/problems/mmdgproblem2.hh
@@ -0,0 +1,89 @@
+#ifndef __DUNE_MMDG_MMDGPROBLEM2_HH__
+#define __DUNE_MMDG_MMDGPROBLEM2_HH__
+
+#include <cmath>
+#include <dune/mmdg/problems/coupleddgproblem.hh>
+
+//a coupled dg problem for dim = 2,
+//taken from [Antonietti et al. (2019): Example 6.3]
+template<class Coordinate, class Scalar = double>
+class MMDGProblem2 : public CoupledDGProblem<Coordinate, Scalar>
+{
+  public:
+    static constexpr int dim = Coordinate::dimension;
+
+    //the exact bulk solution at position pos
+    Scalar exactSolution (const Coordinate& pos) const
+    {
+      Scalar solution =
+        (pos[0] < 0.5) ? std::sin(4 * pos[0]) : std::cos(4 * pos[0]);
+      return solution * std::cos(M_PI * pos[1]);
+    }
+
+    //the exact solution on the interface at position pos
+    Scalar exactInterfaceSolution (const Coordinate& pos) const
+    {
+      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]);
+    }
+
+    //indicates whether an exact solution is implemented for the problem
+    bool hasExactSolution () const
+    {
+      return true;
+    };
+
+    //bulk source term at position pos
+    Scalar q (const Coordinate& pos) const
+    {
+      constexpr Scalar sourcefactor = 16.0 + M_PI * M_PI;
+      Scalar source =
+        (pos[0] < 0.5) ? std::sin(4 * pos[0]) : std::cos(4 * pos[0]);
+      return sourcefactor * source * std::cos(M_PI * pos[1]);
+    }
+
+    //interface source term at position pos
+    Scalar qInterface (const Coordinate& pos) const
+    {
+      constexpr Scalar sourcefactor =
+        (std::cos(2.0) + std::sin(2.0)) * (4.0 + 0.1875 * M_PI * M_PI);
+      return sourcefactor * aperture(pos) * std::cos(M_PI * pos[1]);
+    }
+
+    //aperture d of the fracture at position pos
+    Scalar aperture (const Coordinate& pos) const
+    {
+      return Scalar(0.25);
+    }
+
+    //returns the recommended quadrature order to compute an integral
+    //over x * q(x)
+    int quadratureOrder_q () const
+    {
+      return 10;
+    }
+
+    //returns the recommended quadrature order to compute an integral
+    //over x * boundary(x)
+    int quadratureOrderBoundary () const
+    {
+      return 10;
+    }
+
+    //returns the recommended quadrature order to compute an integral
+    //over x * interfaceBoundary(x)
+    int quadratureOrderInterfaceBoundary () const
+    { //NOTE: only relevant for 3d, not implemented!
+      return 10;
+    }
+
+    //returns the recommended quadrature order to compute an integral
+    //over x * qInterface(x)
+    int quadratureOrder_qInterface () const
+    {
+      return 10;
+    }
+};
+
+#endif
diff --git a/dune/mmdg/problems/poisson.hh b/dune/mmdg/problems/poisson.hh
index e6f3757..571d176 100644
--- a/dune/mmdg/problems/poisson.hh
+++ b/dune/mmdg/problems/poisson.hh
@@ -12,7 +12,7 @@ class Poisson : public DGProblem<Coordinate, Scalar>
     //1d: f(x)     = x,
     //2d: f(x,y)   = x*y,
     //3d: f(x,y,z) = x*y*z
-    virtual Scalar exactSolution (const Coordinate& pos) const
+    Scalar exactSolution (const Coordinate& pos) const
     {
       Scalar solution(1.0);
 
@@ -29,12 +29,6 @@ class Poisson : public DGProblem<Coordinate, Scalar>
     {
       return true;
     };
-
-    //boundary condition
-    virtual Scalar boundary (const Coordinate& pos) const
-    {
-      return exactSolution(pos);
-    }
 };
 
 #endif
diff --git a/dune/mmdg/problems/zeropoisson.hh b/dune/mmdg/problems/zeropoisson.hh
index dce45f3..56525ab 100644
--- a/dune/mmdg/problems/zeropoisson.hh
+++ b/dune/mmdg/problems/zeropoisson.hh
@@ -15,7 +15,7 @@ class ZeroPoisson : public DGProblem<Coordinate, Scalar>
     static constexpr int dim = Coordinate::dimension;
 
     //the exact solution at position pos
-    virtual Scalar exactSolution (const Coordinate& pos) const
+    Scalar exactSolution (const Coordinate& pos) const
     {
       if constexpr (dim == 1)
       {
@@ -54,6 +54,12 @@ class ZeroPoisson : public DGProblem<Coordinate, Scalar>
     {
       return Scalar(-1.0);
     }
+
+    //boundary condition at position pos
+    virtual Scalar boundary (const Coordinate& pos) const
+    {
+      return Scalar(0.0);
+    }
 };
 
 #endif
diff --git a/src/grids/mmdg2.geo b/src/grids/mmdg2.geo
new file mode 100644
index 0000000..b5958f8
--- /dev/null
+++ b/src/grids/mmdg2.geo
@@ -0,0 +1,33 @@
+//characteristic length
+lc = 5e-2;
+
+//domain corners, domain = [0,1] x [0,1]
+Point(1) = {0, 0, 0, lc};
+Point(2) = {1, 0, 0, lc};
+Point(3) = {1, 1, 0, lc};
+Point(4) = {0, 1, 0, lc};
+
+//points for interface x = 0.5
+Point(5) = {0.5, 0, 0, lc};
+Point(6) = {0.5, 1, 0, lc};
+Point(7) = {0.5, 0.5, 0, lc};
+
+//domain outline
+Line(1) = {1, 2};
+Line(2) = {2, 3};
+Line(3) = {3, 4};
+Line(4) = {4, 1};
+
+//interface outline
+Line(6) = {5, 7};
+Line(7) = {7, 6};
+
+//curve loops
+Curve Loop(1) = {1:4}; //domain boundary
+
+//surfaces
+Plane Surface(1) = {1};
+Physical Surface(1) = {1};
+
+Curve{6:7} In Surface{1};
+Physical Curve(2) = {6:7};
diff --git a/src/grids/mmdg2.msh b/src/grids/mmdg2.msh
new file mode 100644
index 0000000..b339829
--- /dev/null
+++ b/src/grids/mmdg2.msh
@@ -0,0 +1,1633 @@
+$MeshFormat
+2.2 0 8
+$EndMeshFormat
+$Nodes
+563
+1 0 0 0
+2 1 0 0
+3 1 1 0
+4 0 1 0
+5 0.5 0 0
+6 0.5 1 0
+7 0.5 0.5 0
+8 0.04999999999989965 0 0
+9 0.09999999999981467 0 0
+10 0.1499999999997036 0 0
+11 0.1999999999995579 0 0
+12 0.2499999999994121 0 0
+13 0.2999999999992664 0 0
+14 0.3499999999991206 0 0
+15 0.3999999999989749 0 0
+16 0.4499999999988292 0 0
+17 0.4999999999986943 0 0
+18 0.5499999999988151 0 0
+19 0.5999999999989468 0 0
+20 0.6499999999990784 0 0
+21 0.69999999999921 0 0
+22 0.7499999999993417 0 0
+23 0.7999999999994734 0 0
+24 0.8499999999996051 0 0
+25 0.8999999999997368 0 0
+26 0.9499999999998684 0 0
+27 1 0.04999999999989965 0
+28 1 0.09999999999981467 0
+29 1 0.1499999999997036 0
+30 1 0.1999999999995579 0
+31 1 0.2499999999994121 0
+32 1 0.2999999999992664 0
+33 1 0.3499999999991206 0
+34 1 0.3999999999989749 0
+35 1 0.4499999999988292 0
+36 1 0.4999999999986943 0
+37 1 0.5499999999988151 0
+38 1 0.5999999999989468 0
+39 1 0.6499999999990784 0
+40 1 0.69999999999921 0
+41 1 0.7499999999993417 0
+42 1 0.7999999999994734 0
+43 1 0.8499999999996051 0
+44 1 0.8999999999997368 0
+45 1 0.9499999999998684 0
+46 0.9499999999997918 1 0
+47 0.8999999999995836 1 0
+48 0.8499999999996529 1 0
+49 0.7999999999999998 1 0
+50 0.7500000000003466 1 0
+51 0.7000000000006934 1 0
+52 0.6500000000010401 1 0
+53 0.6000000000013869 1 0
+54 0.5500000000017335 1 0
+55 0.5000000000020587 1 0
+56 0.4500000000018723 1 0
+57 0.4000000000016644 1 0
+58 0.3500000000014564 1 0
+59 0.3000000000012483 1 0
+60 0.2500000000010403 1 0
+61 0.2000000000008322 1 0
+62 0.1500000000006241 1 0
+63 0.100000000000416 1 0
+64 0.05000000000020799 1 0
+65 0 0.9499999999997918 0
+66 0 0.8999999999995836 0
+67 0 0.8499999999996529 0
+68 0 0.7999999999999998 0
+69 0 0.7500000000003466 0
+70 0 0.7000000000006934 0
+71 0 0.6500000000010401 0
+72 0 0.6000000000013869 0
+73 0 0.5500000000017335 0
+74 0 0.5000000000020587 0
+75 0 0.4500000000018723 0
+76 0 0.4000000000016644 0
+77 0 0.3500000000014564 0
+78 0 0.3000000000012483 0
+79 0 0.2500000000010403 0
+80 0 0.2000000000008322 0
+81 0 0.1500000000006241 0
+82 0 0.100000000000416 0
+83 0 0.05000000000020799 0
+84 0.5 0.04999999999990733 0
+85 0.5 0.09999999999977893 0
+86 0.5 0.1499999999996332 0
+87 0.5 0.1999999999994874 0
+88 0.5 0.2499999999993471 0
+89 0.5 0.2999999999994734 0
+90 0.5 0.349999999999605 0
+91 0.5 0.3999999999997367 0
+92 0.5 0.4499999999998684 0
+93 0.5 0.5499999999999999 0
+94 0.5 0.5999999999999998 0
+95 0.5 0.6499999999999998 0
+96 0.5 0.6999999999999998 0
+97 0.5 0.7499999999999999 0
+98 0.5 0.7999999999999998 0
+99 0.5 0.8499999999999999 0
+100 0.5 0.8999999999999999 0
+101 0.5 0.95 0
+102 0.2515812791296091 0.5767092243116723 0
+103 0.7526674788316902 0.5217836869746929 0
+104 0.2508518336673701 0.2756940839641325 0
+105 0.7479607916065552 0.2815465624477155 0
+106 0.7438598012736586 0.7611196813925792 0
+107 0.21381578947297 0.7861842105269725 0
+108 0.3286009331475617 0.4305480250902119 0
+109 0.158258452239206 0.4237106331629431 0
+110 0.8434659090909049 0.3994318181817656 0
+111 0.6565340909091169 0.3994318181818166 0
+112 0.3458199937943457 0.6934167473267424 0
+113 0.8411469216498332 0.6505044971077549 0
+114 0.3448130154986057 0.1533071452110411 0
+115 0.1541666666664694 0.1541666666664439 0
+116 0.656954158800285 0.1542419763194182 0
+117 0.8461988809063532 0.1538011190936646 0
+118 0.650838627485678 0.6385075094680863 0
+119 0.3440404810887656 0.8426452429393672 0
+120 0.8595933479273532 0.8582268511579644 0
+121 0.1407415089445264 0.6649716964832926 0
+122 0.6422327469600121 0.860866274229857 0
+123 0.3764672332430049 0.5550145918956179 0
+124 0.3837617003311505 0.2991849791901985 0
+125 0.1266610202840101 0.3041102028396466 0
+126 0.1249264579166344 0.8718386511928258 0
+127 0.8762500000000389 0.5249999999987545 0
+128 0.8746408699705447 0.276639808589424 0
+129 0.6259695625441751 0.2803509261660138 0
+130 0.1197643303045717 0.5422103973501704 0
+131 0.6231243831618701 0.516618049080281 0
+132 0.6151442034511861 0.7483881044402517 0
+133 0.7483681769361019 0.8900035173369321 0
+134 0.8867691063776216 0.7517482483543647 0
+135 0.2510693209738949 0.8810017898055184 0
+136 0.1068033039355767 0.7687101418144736 0
+137 0.7495669577964854 0.1147791361370822 0
+138 0.2500000000000112 0.1068693693694306 0
+139 0.2444930467820648 0.6641958973524997 0
+140 0.746400727650735 0.6639423076923162 0
+141 0.2510465408415901 0.3758246833816142 0
+142 0.2482213823278565 0.4743672965763535 0
+143 0.7488128085717385 0.3727858362419845 0
+144 0.4053538626773404 0.7724161352324153 0
+145 0.4081487352104243 0.6316524091422261 0
+146 0.4147370417026605 0.2212185316374052 0
+147 0.08979882213640072 0.2198536138523391 0
+148 0.4172000755432455 0.09250857979127143 0
+149 0.08292075297572266 0.08128902375347552 0
+150 0.9095916161657576 0.08228216308231449 0
+151 0.5904083838340058 0.08228216308235539 0
+152 0.4136070291733457 0.4628717821701323 0
+153 0.4148189164379924 0.9172352270398474 0
+154 0.08338824406742756 0.3830367563474834 0
+155 0.2957209880529692 0.7786893580646597 0
+156 0.9144657258064712 0.9144657258064937 0
+157 0.2680988053274525 0.1909346846844313 0
+158 0.9149725053795364 0.4473134504396444 0
+159 0.7338852877142129 0.1909375646353259 0
+160 0.4236049909386848 0.3781700697208207 0
+161 0.9145054163367383 0.3551935550946583 0
+162 0.586641441358917 0.3499708336643422 0
+163 0.9079333285173817 0.5998169428123623 0
+164 0.3245076187156029 0.6141056690030582 0
+165 0.08177516529375806 0.4697821522408521 0
+166 0.5853510056718721 0.4409697595979385 0
+167 0.9125113573522844 0.1960879040766246 0
+168 0.5835294349686022 0.2001102425799576 0
+169 0.1731520427478278 0.2378312005174092 0
+170 0.5836079544634742 0.5946363314726181 0
+171 0.5817322605430346 0.9172175367941724 0
+172 0.8131769161646418 0.716182322971773 0
+173 0.781113809444055 0.447072691471184 0
+174 0.5778165594931266 0.6792562300615532 0
+175 0.08311302840030867 0.6086370558028521 0
+176 0.3263815004215286 0.07675344797419922 0
+177 0.1745511627700396 0.07739073474494967 0
+178 0.8144489820758134 0.5727363821356337 0
+179 0.6887140301042267 0.4730483571684463 0
+180 0.8208832842029213 0.07981575111406404 0
+181 0.6750048183205375 0.07695006187298489 0
+182 0.8119752499461039 0.2276432156713508 0
+183 0.3323813655669311 0.2413778890900182 0
+184 0.3180879668862098 0.9229445113575938 0
+185 0.8126944403530443 0.3245650512472272 0
+186 0.6802794217489559 0.3247866886465339 0
+187 0.8180261120204082 0.9217429519196522 0
+188 0.6838122878606022 0.5675087270307926 0
+189 0.9277897408896619 0.6792769873510663 0
+190 0.9241257946360351 0.819825726346481 0
+191 0.5755189860618838 0.8161905396341169 0
+192 0.6816298810411938 0.7094234759399863 0
+193 0.6801644431765854 0.9258297190087702 0
+194 0.1745855079662627 0.6011024519914292 0
+195 0.1799197891137766 0.9259994774959697 0
+196 0.7807987128399495 0.8248315408813496 0
+197 0.07328042081328301 0.698649062736254 0
+198 0.07149093984708513 0.9285090601529152 0
+199 0.7105794435574802 0.829402425867841 0
+200 0.4276038155974892 0.7021957014489701 0
+201 0.3132006487427972 0.34883114381616 0
+202 0.3000160668595418 0.5239179613877745 0
+203 0.1941810387014985 0.5243734794707343 0
+204 0.4293031316142676 0.8406114314494514 0
+205 0.1962145234109274 0.3229594084248003 0
+206 0.06897757586503714 0.8298196180377231 0
+207 0.1688439169391101 0.7298171819140226 0
+208 0.6834236206749581 0.2441569009221671 0
+209 0.1876595666215892 0.8530559946755313 0
+210 0.7452581941864262 0.5947443040625404 0
+211 0.4335415525345332 0.1511754128320155 0
+212 0.06824071086501517 0.1549208972345935 0
+213 0.4371777799889955 0.5713115089863299 0
+214 0.8434127815887484 0.4652828483414261 0
+215 0.4264377680851403 0.2793855419253793 0
+216 0.06400301098277618 0.2813311503204765 0
+217 0.07223671937087728 0.522378015703996 0
+218 0.8411621086417369 0.7880188090232847 0
+219 0.9506615648032275 0.2755537272329055 0
+220 0.5493384351967636 0.2755537272329582 0
+221 0.9546343534472315 0.5248304128601845 0
+222 0.2658856319426988 0.8326032114945319 0
+223 0.5485042635581836 0.5236789895087931 0
+224 0.672363939793291 0.7702760849973336 0
+225 0.1477918590757341 0.3638881763539079 0
+226 0.3604572358757815 0.4701947444027691 0
+227 0.1553695381649042 0.4834541253224659 0
+228 0.7922931106601769 0.1510672961237151 0
+229 0.2039259797081894 0.1542442601120328 0
+230 0.9383453024464026 0.1467471704099969 0
+231 0.5614829285129257 0.1469216783625873 0
+232 0.2510023508318048 0.746199270607341 0
+233 0.3067900778517027 0.2927293884444851 0
+234 0.5569328744902532 0.7305536287244523 0
+235 0.1622778120327867 0.8026925325339693 0
+236 0.7076940317551 0.4210767639975784 0
+237 0.8048470624415416 0.519394040066643 0
+238 0.1225887292923334 0.9488942337473127 0
+239 0.4413874323739027 0.5067235290565875 0
+240 0.2734411088195188 0.4250000000004912 0
+241 0.7680530510929616 0.944438816267743 0
+242 0.7275352918284758 0.05541776111114569 0
+243 0.221641553782167 0.05407312164642285 0
+244 0.9443854045334297 0.7306301674576658 0
+245 0.2697030564058146 0.9479891057015082 0
+246 0.5501985962236302 0.8691335385847074 0
+247 0.6398288186580749 0.2085640600941155 0
+248 0.04297768516458864 0.7815704588581727 0
+249 0.7930269439410951 0.6376524696840798 0
+250 0.2797435937332181 0.6263811930372123 0
+251 0.04495565035227427 0.3298531849481773 0
+252 0.3475090006742731 0.7557865696296231 0
+253 0.8685922071692829 0.9501772851117655 0
+254 0.9438769877964219 0.4003896758173792 0
+255 0.6280906513127482 0.94960326569191 0
+256 0.1967733792658222 0.6516265018224703 0
+257 0.9508617426784171 0.8697376429505567 0
+258 0.3687447446332224 0.951966057290653 0
+259 0.4530012671215076 0.4217512756021096 0
+260 0.8586011264226888 0.7004733390943337 0
+261 0.6239989424617827 0.8074881498108039 0
+262 0.05099970239404802 0.426314248579828 0
+263 0.2925005591694761 0.1426223411053944 0
+264 0.305207738169825 0.8727857207229156 0
+265 0.6348728618428262 0.4700601279938092 0
+266 0.707555584329038 0.1459572049360533 0
+267 0.3703826390563846 0.0498941951627769 0
+268 0.1278464502656727 0.049418485379305 0
+269 0.8728691879736057 0.04974918551766429 0
+270 0.6271308120255006 0.04974918551745746 0
+271 0.2200127729456497 0.4213843599784256 0
+272 0.7054635908386302 0.6326818321366694 0
+273 0.6297195112761721 0.6923634931165709 0
+274 0.5590564406772021 0.3976532777493174 0
+275 0.4554852954175448 0.3280252590405957 0
+276 0.2951391753044041 0.6768620819250089 0
+277 0.3653395866195844 0.3840462060838131 0
+278 0.8657832444083408 0.5750292237499598 0
+279 0.04812584816282326 0.8752296209019026 0
+280 0.2274229303225645 0.2283786718733304 0
+281 0.7929812534857181 0.8721413812646253 0
+282 0.8613181555813366 0.2250971708537617 0
+283 0.302038566059371 0.4732378655115485 0
+284 0.5250000000008669 0.9749999999999995 0
+285 0.863084976138179 0.3283274317326611 0
+286 0.6425362039363494 0.356617561481856 0
+287 0.4472598698251035 0.05274013017496585 0
+288 0.05274013017492163 0.05274013017490473 0
+289 0.633503529867719 0.5915487292647263 0
+290 0.5526109541212529 0.05261095412119619 0
+291 0.9473890458787847 0.05261095412122744 0
+292 0.2805712647230724 0.05315447604836989 0
+293 0.7674128199541357 0.7194190668697971 0
+294 0.7833712512266024 0.04219929803434534 0
+295 0.5487793926557176 0.6307922157761511 0
+296 0.2658230101168828 0.3291687264736836 0
+297 0.0547648695351462 0.6527386643409112 0
+298 0.1978147043492032 0.4680528260255763 0
+299 0.7950001852695032 0.7737479003646668 0
+300 0.3679032874478954 0.6024418397517073 0
+301 0.7985642490559038 0.2769941840372488 0
+302 0.4508015547927592 0.9510439742348286 0
+303 0.1027784116315343 0.42615990424216 0
+304 0.5450009356570773 0.4758152373590973 0
+305 0.3614732574716991 0.648061044271667 0
+306 0.7923757857489827 0.3982936344743731 0
+307 0.1398573839923756 0.20357464747244 0
+308 0.1317784497722384 0.2538308885296189 0
+309 0.7653541748826322 0.3231671134183898 0
+310 0.9508335012155067 0.634368426216197 0
+311 0.1938221051813462 0.368417228951019 0
+312 0.6970656549900806 0.873798745816344 0
+313 0.3641473631020326 0.898077364791648 0
+314 0.04365068085189564 0.5698834005217178 0
+315 0.9553388838302084 0.4769228118404157 0
+316 0.8936499596027034 0.4021633966843485 0
+317 0.9553583061799507 0.3229831670250009 0
+318 0.5446416938200876 0.3229831670250622 0
+319 0.4469552361297266 0.7457476058754668 0
+320 0.6063613968686122 0.398005704001083 0
+321 0.3014537146400471 0.7264942782919481 0
+322 0.9498952275993305 0.9498952275993304 0
+323 0.131019452654394 0.6198094917345889 0
+324 0.4503889040059942 0.6685258698479203 0
+325 0.4502359084118406 0.7949796857708165 0
+326 0.3672531663320284 0.8030677114988526 0
+327 0.9536418849071302 0.5775843035094919 0
+328 0.3259666294139303 0.5657182286625093 0
+329 0.3621992483416103 0.1060473184492153 0
+330 0.1364718275415759 0.1077781724580602 0
+331 0.8687626374697649 0.1104205510858366 0
+332 0.6318677745464465 0.1096728687598075 0
+333 0.3660701157659065 0.1994005922261431 0
+334 0.2831563534688857 0.237792068910088 0
+335 0.4527760908179677 0.8773259662970352 0
+336 0.6996800753790632 0.5219425251044406 0
+337 0.7658048692751789 0.2311802098173873 0
+338 0.7373155702438111 0.4698184962838625 0
+339 0.2490006631940804 0.5267574092907412 0
+340 0.9581605839238559 0.78439844296799 0
+341 0.1235614307272812 0.7135481449108569 0
+342 0.7958635554319546 0.6786902899270544 0
+343 0.3777661006090199 0.2541663544336427 0
+344 0.956125426865132 0.2288404618086879 0
+345 0.5438745731349182 0.2288404618087291 0
+346 0.8985259885704222 0.8627850916897836 0
+347 0.541931453872776 0.7828792939016485 0
+348 0.4613614695698599 0.2320522101857836 0
+349 0.03656736801877967 0.2349626730650702 0
+350 0.3764144354916288 0.4325699786928565 0
+351 0.4559717414410547 0.112720461559786 0
+352 0.6958237804441326 0.3695005176780035 0
+353 0.217343346972753 0.9603915121204756 0
+354 0.04672873578903974 0.1131713270004445 0
+355 0.8936579525417213 0.6519967055178664 0
+356 0.3161682253790467 0.1920057699567232 0
+357 0.6040442625403145 0.6378507515266176 0
+358 0.2066411949829541 0.2755090592442346 0
+359 0.310081137389942 0.8234752714093748 0
+360 0.7153039662628493 0.9588578864282711 0
+361 0.8636256715457723 0.8996035022193374 0
+362 0.1126820996485443 0.8245440720281536 0
+363 0.8909033484963815 0.1550330460230882 0
+364 0.6110586734735325 0.1575978682283994 0
+365 0.2145282583234742 0.7076841532292177 0
+366 0.6913856346300077 0.1974394325196086 0
+367 0.7952245059022367 0.1117664809887161 0
+368 0.2258223227886782 0.61463549868505 0
+369 0.2059529007851119 0.1123540848004262 0
+370 0.5424963210487693 0.5749196876262659 0
+371 0.3848104466741283 0.7214058138712653 0
+372 0.4534730002148297 0.6136828148583167 0
+373 0.4615991457337512 0.4682693173657395 0
+374 0.188423647303393 0.1947720688720435 0
+375 0.8783200970377512 0.8125596987563636 0
+376 0.9543145456197994 0.1016302179138922 0
+377 0.545685454380176 0.1016302179139483 0
+378 0.03839055866046147 0.4822457360884172 0
+379 0.7045949263240072 0.2863736189208096 0
+380 0.9128155433308671 0.4985999294786986 0
+381 0.5884613853154571 0.4938841472329884 0
+382 0.9104233359930838 0.3026216579179801 0
+383 0.5904438646854993 0.3049651166252613 0
+384 0.09713602668249359 0.6527745883666145 0
+385 0.03887619954705014 0.7267824236490827 0
+386 0.6249660332697136 0.9024268829841018 0
+387 0.3945081250391737 0.5086216260080166 0
+388 0.03586871936274997 0.3778408379757219 0
+389 0.9101812144459118 0.5532519930298655 0
+390 0.1060213996700478 0.3322483481289706 0
+391 0.4664183106955475 0.3755893208725736 0
+392 0.1100079795410351 0.1722712281897298 0
+393 0.9613964173327638 0.1843351072589142 0
+394 0.5377773873232892 0.185174476550079 0
+395 0.908552373477584 0.2467557559811809 0
+396 0.5973235192365171 0.2493400781903916 0
+397 0.5380408206402242 0.9279578643006426 0
+398 0.570477288749999 0.9616297777977875 0
+399 0.388809937352209 0.1439909587215921 0
+400 0.08851609880495637 0.5660856307805239 0
+401 0.7429271426101407 0.8062468965766599 0
+402 0.4042680579742869 0.3365258843853147 0
+403 0.253636454654543 0.7891533306355344 0
+404 0.5971882674595442 0.8573507843388877 0
+405 0.2923638200484459 0.5873085406877392 0
+406 0.3950615394091093 0.8580390674132674 0
+407 0.7033093277020556 0.6788427902146031 0
+408 0.3023102094950434 0.3915748769900622 0
+409 0.5367057653278194 0.6781204149124314 0
+410 0.1731217831469617 0.6871764944881633 0
+411 0.114840651036257 0.5007584218131156 0
+412 0.2088391947632064 0.5672275834392964 0
+413 0.844937044459046 0.7473303306625639 0
+414 0.1641339954784737 0.5557950052192703 0
+415 0.5953173928749872 0.5493137725928927 0
+416 0.820934274056461 0.9632718106598323 0
+417 0.533529807231658 0.8236406744240944 0
+418 0.1644936903251171 0.8837557738168327 0
+419 0.7718970027153531 0.5607055355858108 0
+420 0.3250000000013523 0.9655701393925751 0
+421 0.4750000000019655 0.9750000000010288 0
+422 0.03978125740074399 0.960218742599256 0
+423 0.3253336291711085 0.03544175688164675 0
+424 0.1748078333634281 0.03617646835413551 0
+425 0.8254247446804416 0.03435284693321473 0
+426 0.6756672745958702 0.0357512158071291 0
+427 0.6628021485844944 0.2825148728679202 0
+428 0.9666296242476616 0.8247923624528213 0
+429 0.7262186354950022 0.5594687286836966 0
+430 0.8241129996215284 0.1882923768785796 0
+431 0.9088918317845918 0.9589589791938139 0
+432 0.819424811763265 0.4336942417943384 0
+433 0.9662072015708849 0.6752162248252229 0
+434 0.3971069982525843 0.6749262283681365 0
+435 0.1653861026614112 0.2868238168508843 0
+436 0.6587830526394849 0.5063159066623107 0
+437 0.8714320850882549 0.4382785859906945 0
+438 0.2063242591271887 0.8894981180966645 0
+439 0.03892138020403911 0.1919474368306918 0
+440 0.8333079671407269 0.6076109323166973 0
+441 0.7454533974032451 0.8494040846239586 0
+442 0.4618493871645863 0.1836344920009519 0
+443 0.2950123292983554 0.09984584366636108 0
+444 0.7242114300086356 0.3295334187169661 0
+445 0.7067984552896118 0.1023722060217777 0
+446 0.6747118121507834 0.9668581742257903 0
+447 0.9598062456738445 0.9097426565265226 0
+448 0.1739703730760638 0.9670570446727518 0
+449 0.8247803024369251 0.3636788725799618 0
+450 0.7538203922310709 0.4182421246471445 0
+451 0.7177177581065539 0.7273233157787865 0
+452 0.8402678943912008 0.5411602335518622 0
+453 0.538379832219864 0.4352268251502362 0
+454 0.4111670035829751 0.9610060386226685 0
+455 0.7771462665882074 0.4892793244638133 0
+456 0.8386984060096404 0.2593914294785446 0
+457 0.9613759328541867 0.3634304688634304 0
+458 0.2217690901300638 0.8262590333895744 0
+459 0.5827052920675764 0.7770999433022546 0
+460 0.6660935763644384 0.4390947530194214 0
+461 0.0363057157574701 0.6162518241335816 0
+462 0.6701508409971281 0.8253852743126282 0
+463 0.9616308407719858 0.4368556474621304 0
+464 0.8702877136028581 0.3690184257335378 0
+465 0.7252371199426095 0.2402131933611854 0
+466 0.3529882046559227 0.3232949172974672 0
+467 0.6482957873290891 0.5459806156268199 0
+468 0.5949032871776845 0.7126403640857071 0
+469 0.9183521973017387 0.7798324567765729 0
+470 0.09958604831713944 0.8986123864431483 0
+471 0.6527274392936553 0.7360364783364266 0
+472 0.9010250480356772 0.7078542953670037 0
+473 0.8258095122949474 0.8302380129709274 0
+474 0.4130016069039791 0.1798839974836216 0
+475 0.3248802652227022 0.1177304182460597 0
+476 0.7508394496900351 0.1577320708287108 0
+477 0.6723408388110276 0.6055473837736366 0
+478 0.6746697257154997 0.1185179024766501 0
+479 0.7217910584917159 0.9185857369716119 0
+480 0.2809449516509162 0.9088634335925578 0
+481 0.07940909152712169 0.7401725377300649 0
+482 0.09862492854378307 0.1294814370156988 0
+483 0.9106325418702413 0.03807098921469292 0
+484 0.5893674581292903 0.03807098921450259 0
+485 0.4122346433185356 0.03832254180285179 0
+486 0.08943127502491095 0.03807407642297211 0
+487 0.149303824887732 0.7584789348317238 0
+488 0.5376049679439473 0.361746544082568 0
+489 0.2420825208955287 0.1495769511103866 0
+490 0.3489751088352508 0.281093904597925 0
+491 0.7812571500901641 0.9088189765443493 0
+492 0.8399509015978703 0.2957321636275806 0
+493 0.03109074608805749 0.8261856834486344 0
+494 0.1504079253089343 0.8471774048494626 0
+495 0.03187960908213047 0.9227914847306899 0
+496 0.0776046194875037 0.9672805866284976 0
+497 0.03338429797909587 0.6856340301455962 0
+498 0.3432423094151338 0.5161175029780393 0
+499 0.6665910041537857 0.6738550527957845 0
+500 0.4655766584575174 0.8323659740373862 0
+501 0.1573783003985645 0.3274932325989703 0
+502 0.4081540522517544 0.8129785112084498 0
+503 0.6611072195990979 0.8907304055097682 0
+504 0.7095998210563753 0.7866256131543047 0
+505 0.2290183530327883 0.3095564955825394 0
+506 0.6437010800904848 0.2512741234131456 0
+507 0.261323309176359 0.7042871362812031 0
+508 0.1932953254146463 0.7551760472738744 0
+509 0.4638076361094834 0.7115671323830882 0
+510 0.8670089483915767 0.1836623233851438 0
+511 0.6301774042875443 0.4273453846959783 0
+512 0.8431028215326135 0.5016702874882334 0
+513 0.1268554022681612 0.5822733388131391 0
+514 0.633531352306924 0.313494759529419 0
+515 0.4614175637692671 0.5430812034740132 0
+516 0.1379185477709557 0.9072704423656233 0
+517 0.4138882886873885 0.5440477396665789 0
+518 0.468656906614509 0.2778926022301158 0
+519 0.7888035023986646 0.3564981015923873 0
+520 0.02862716420300607 0.2780210011911859 0
+521 0.4080871695424778 0.5947052323417098 0
+522 0.2223044471431596 0.4983877528408513 0
+523 0.1228254935227152 0.3910455860675279 0
+524 0.2830951022990783 0.36134985766538 0
+525 0.2810002251055679 0.5542671546788889 0
+526 0.8297517975182214 0.682905455391423 0
+527 0.1036525405690947 0.2782748407342104 0
+528 0.1194234122720508 0.463070049054326 0
+529 0.08134933879179561 0.7952160494156135 0
+530 0.7066187094383376 0.5919901951374671 0
+531 0.408586013518356 0.4156839405292063 0
+532 0.149657910737141 0.5213182858351513 0
+533 0.4680019492934596 0.9176602988818129 0
+534 0.1619280815217321 0.6375250237786889 0
+535 0.7798184944845393 0.1911421223258449 0
+536 0.2267209912221642 0.3421184203464783 0
+537 0.9109342284983142 0.1211808450034362 0
+538 0.5894115807795441 0.1214653661223027 0
+539 0.2748191696102124 0.4995701331916044 0
+540 0.2260952436543461 0.8581611924339676 0
+541 0.2259907767114256 0.1835813273304449 0
+542 0.09159307712091579 0.8589510400097642 0
+543 0.3321508325490524 0.7950159431214792 0
+544 0.2306815662097859 0.9205940056827621 0
+545 0.8773535914122752 0.4769299440420289 0
+546 0.4704738850732274 0.5781380443947324 0
+547 0.325467740415593 0.652693754555897 0
+548 0.8101880789298173 0.4741339301908435 0
+549 0.4700115909608551 0.0804079926512319 0
+550 0.02978850943595957 0.08018491266555673 0
+551 0.8698750772662855 0.6157752214277902 0
+552 0.784355289517629 0.5970139351166112 0
+553 0.1721771058479423 0.1215138882363577 0
+554 0.7556437831107942 0.6295380145242017 0
+555 0.8264923792233754 0.1214289741489539 0
+556 0.02927735552734363 0.5249295931888165 0
+557 0.4723952028845136 0.02760479711492055 0
+558 0.02760479711531391 0.02760479711545201 0
+559 0.972512494735176 0.02748750526471954 0
+560 0.5274875052647959 0.02748750526528779 0
+561 0.8320071794548398 0.8763905399065012 0
+562 0.7753162581913444 0.08079568547707067 0
+563 0.9748954462282632 0.9748954462283012 0
+$EndNodes
+$Elements
+1061
+1 1 2 2 6 5 84
+2 1 2 2 6 84 85
+3 1 2 2 6 85 86
+4 1 2 2 6 86 87
+5 1 2 2 6 87 88
+6 1 2 2 6 88 89
+7 1 2 2 6 89 90
+8 1 2 2 6 90 91
+9 1 2 2 6 91 92
+10 1 2 2 6 92 7
+11 1 2 2 7 7 93
+12 1 2 2 7 93 94
+13 1 2 2 7 94 95
+14 1 2 2 7 95 96
+15 1 2 2 7 96 97
+16 1 2 2 7 97 98
+17 1 2 2 7 98 99
+18 1 2 2 7 99 100
+19 1 2 2 7 100 101
+20 1 2 2 7 101 6
+21 2 2 1 1 466 233 490
+22 2 2 1 1 319 144 371
+23 2 2 1 1 146 215 343
+24 2 2 1 1 215 124 343
+25 2 2 1 1 86 211 351
+26 2 2 1 1 212 81 354
+27 2 2 1 1 260 355 472
+28 2 2 1 1 184 264 313
+29 2 2 1 1 218 134 375
+30 2 2 1 1 200 319 371
+31 2 2 1 1 235 107 458
+32 2 2 1 1 209 235 458
+33 2 2 1 1 264 119 313
+34 2 2 1 1 31 32 219
+35 2 2 1 1 89 88 220
+36 2 2 1 1 36 37 221
+37 2 2 1 1 49 241 416
+38 2 2 1 1 212 147 439
+39 2 2 1 1 201 233 466
+40 2 2 1 1 251 78 520
+41 2 2 1 1 215 146 348
+42 2 2 1 1 93 7 223
+43 2 2 1 1 132 224 261
+44 2 2 1 1 147 216 349
+45 2 2 1 1 84 290 377
+46 2 2 1 1 291 27 376
+47 2 2 1 1 148 211 399
+48 2 2 1 1 124 215 402
+49 2 2 1 1 211 86 442
+50 2 2 1 1 85 84 377
+51 2 2 1 1 27 28 376
+52 2 2 1 1 390 216 527
+53 2 2 1 1 147 212 392
+54 2 2 1 1 355 189 472
+55 2 2 1 1 29 230 376
+56 2 2 1 1 231 86 377
+57 2 2 1 1 251 216 390
+58 2 2 1 1 49 50 241
+59 2 2 1 1 124 466 490
+60 2 2 1 1 97 96 234
+61 2 2 1 1 118 273 357
+62 2 2 1 1 211 148 351
+63 2 2 1 1 81 212 439
+64 2 2 1 1 138 243 292
+65 2 2 1 1 135 222 264
+66 2 2 1 1 107 235 508
+67 2 2 1 1 319 97 325
+68 2 2 1 1 379 105 444
+69 2 2 1 1 97 98 325
+70 2 2 1 1 240 142 271
+71 2 2 1 1 226 108 350
+72 2 2 1 1 152 226 350
+73 2 2 1 1 105 309 444
+74 2 2 1 1 38 310 327
+75 2 2 1 1 111 286 352
+76 2 2 1 1 235 487 508
+77 2 2 1 1 224 192 451
+78 2 2 1 1 109 225 311
+79 2 2 1 1 77 78 251
+80 2 2 1 1 234 96 409
+81 2 2 1 1 224 451 504
+82 2 2 1 1 338 236 450
+83 2 2 1 1 203 227 298
+84 2 2 1 1 238 198 470
+85 2 2 1 1 238 470 516
+86 2 2 1 1 286 186 352
+87 2 2 1 1 216 251 520
+88 2 2 1 1 250 139 368
+89 2 2 1 1 171 246 404
+90 2 2 1 1 179 236 338
+91 2 2 1 1 139 256 368
+92 2 2 1 1 386 171 404
+93 2 2 1 1 407 140 451
+94 2 2 1 1 256 139 365
+95 2 2 1 1 59 60 245
+96 2 2 1 1 59 245 420
+97 2 2 1 1 260 113 355
+98 2 2 1 1 273 174 357
+99 2 2 1 1 40 41 244
+100 2 2 1 1 140 293 451
+101 2 2 1 1 256 365 410
+102 2 2 1 1 216 147 527
+103 2 2 1 1 375 134 469
+104 2 2 1 1 335 153 406
+105 2 2 1 1 233 201 296
+106 2 2 1 1 108 226 283
+107 2 2 1 1 177 243 369
+108 2 2 1 1 243 138 369
+109 2 2 1 1 28 29 376
+110 2 2 1 1 86 85 377
+111 2 2 1 1 40 244 433
+112 2 2 1 1 165 262 303
+113 2 2 1 1 262 154 303
+114 2 2 1 1 366 159 465
+115 2 2 1 1 183 233 334
+116 2 2 1 1 233 104 334
+117 2 2 1 1 165 217 378
+118 2 2 1 1 451 106 504
+119 2 2 1 1 208 366 465
+120 2 2 1 1 100 99 246
+121 2 2 1 1 241 187 416
+122 2 2 1 1 89 275 518
+123 2 2 1 1 192 224 471
+124 2 2 1 1 224 132 471
+125 2 2 1 1 271 142 298
+126 2 2 1 1 299 218 473
+127 2 2 1 1 202 283 498
+128 2 2 1 1 283 226 498
+129 2 2 1 1 196 299 473
+130 2 2 1 1 138 292 443
+131 2 2 1 1 136 235 362
+132 2 2 1 1 95 96 324
+133 2 2 1 1 442 146 474
+134 2 2 1 1 100 246 397
+135 2 2 1 1 204 335 406
+136 2 2 1 1 219 32 317
+137 2 2 1 1 89 220 318
+138 2 2 1 1 223 7 304
+139 2 2 1 1 36 221 315
+140 2 2 1 1 106 293 299
+141 2 2 1 1 293 172 299
+142 2 2 1 1 406 326 502
+143 2 2 1 1 341 197 384
+144 2 2 1 1 130 217 411
+145 2 2 1 1 217 165 411
+146 2 2 1 1 21 22 242
+147 2 2 1 1 221 37 327
+148 2 2 1 1 47 48 253
+149 2 2 1 1 119 326 406
+150 2 2 1 1 11 12 243
+151 2 2 1 1 93 223 370
+152 2 2 1 1 134 218 413
+153 2 2 1 1 227 109 298
+154 2 2 1 1 31 219 344
+155 2 2 1 1 220 88 345
+156 2 2 1 1 62 63 238
+157 2 2 1 1 174 234 409
+158 2 2 1 1 89 90 275
+159 2 2 1 1 310 163 327
+160 2 2 1 1 324 96 509
+161 2 2 1 1 203 339 412
+162 2 2 1 1 243 12 292
+163 2 2 1 1 242 22 294
+164 2 2 1 1 173 338 450
+165 2 2 1 1 227 203 532
+166 2 2 1 1 247 168 364
+167 2 2 1 1 116 247 364
+168 2 2 1 1 217 130 400
+169 2 2 1 1 271 109 311
+170 2 2 1 1 222 155 359
+171 2 2 1 1 141 240 271
+172 2 2 1 1 275 215 518
+173 2 2 1 1 155 222 403
+174 2 2 1 1 57 58 258
+175 2 2 1 1 222 135 540
+176 2 2 1 1 203 298 522
+177 2 2 1 1 43 44 257
+178 2 2 1 1 218 299 413
+179 2 2 1 1 104 233 296
+180 2 2 1 1 193 255 386
+181 2 2 1 1 245 184 420
+182 2 2 1 1 312 122 462
+183 2 2 1 1 112 252 321
+184 2 2 1 1 252 155 321
+185 2 2 1 1 52 53 255
+186 2 2 1 1 215 275 402
+187 2 2 1 1 226 152 387
+188 2 2 1 1 240 108 283
+189 2 2 1 1 121 341 384
+190 2 2 1 1 282 182 430
+191 2 2 1 1 249 113 342
+192 2 2 1 1 109 227 528
+193 2 2 1 1 117 228 555
+194 2 2 1 1 301 105 337
+195 2 2 1 1 182 301 337
+196 2 2 1 1 244 189 433
+197 2 2 1 1 348 146 442
+198 2 2 1 1 168 247 396
+199 2 2 1 1 299 172 413
+200 2 2 1 1 312 199 441
+201 2 2 1 1 225 109 523
+202 2 2 1 1 118 272 499
+203 2 2 1 1 155 232 321
+204 2 2 1 1 122 312 503
+205 2 2 1 1 127 380 389
+206 2 2 1 1 380 221 389
+207 2 2 1 1 295 94 370
+208 2 2 1 1 282 430 510
+209 2 2 1 1 193 386 503
+210 2 2 1 1 229 115 553
+211 2 2 1 1 272 407 499
+212 2 2 1 1 286 162 514
+213 2 2 1 1 142 240 283
+214 2 2 1 1 230 29 393
+215 2 2 1 1 86 231 394
+216 2 2 1 1 277 108 408
+217 2 2 1 1 201 277 408
+218 2 2 1 1 162 383 514
+219 2 2 1 1 268 177 330
+220 2 2 1 1 267 148 329
+221 2 2 1 1 176 267 329
+222 2 2 1 1 149 268 330
+223 2 2 1 1 185 285 449
+224 2 2 1 1 147 349 439
+225 2 2 1 1 139 250 276
+226 2 2 1 1 151 270 332
+227 2 2 1 1 270 181 332
+228 2 2 1 1 269 150 331
+229 2 2 1 1 180 269 331
+230 2 2 1 1 246 171 397
+231 2 2 1 1 103 237 419
+232 2 2 1 1 237 178 419
+233 2 2 1 1 68 69 248
+234 2 2 1 1 449 285 464
+235 2 2 1 1 38 39 310
+236 2 2 1 1 97 234 347
+237 2 2 1 1 21 242 426
+238 2 2 1 1 11 243 424
+239 2 2 1 1 236 111 352
+240 2 2 1 1 105 301 309
+241 2 2 1 1 301 185 309
+242 2 2 1 1 160 277 402
+243 2 2 1 1 136 341 487
+244 2 2 1 1 91 92 259
+245 2 2 1 1 244 41 340
+246 2 2 1 1 462 224 504
+247 2 2 1 1 125 390 527
+248 2 2 1 1 339 102 412
+249 2 2 1 1 95 94 295
+250 2 2 1 1 255 53 398
+251 2 2 1 1 228 137 367
+252 2 2 1 1 230 167 363
+253 2 2 1 1 168 231 364
+254 2 2 1 1 250 164 547
+255 2 2 1 1 66 67 279
+256 2 2 1 1 81 82 354
+257 2 2 1 1 14 15 267
+258 2 2 1 1 9 10 268
+259 2 2 1 1 273 118 499
+260 2 2 1 1 24 25 269
+261 2 2 1 1 19 20 270
+262 2 2 1 1 240 141 408
+263 2 2 1 1 241 50 360
+264 2 2 1 1 85 86 351
+265 2 2 1 1 175 400 513
+266 2 2 1 1 75 76 262
+267 2 2 1 1 286 111 320
+268 2 2 1 1 162 286 320
+269 2 2 1 1 228 117 430
+270 2 2 1 1 371 112 434
+271 2 2 1 1 219 382 395
+272 2 2 1 1 382 128 395
+273 2 2 1 1 383 220 396
+274 2 2 1 1 129 383 396
+275 2 2 1 1 330 115 482
+276 2 2 1 1 261 122 404
+277 2 2 1 1 191 261 404
+278 2 2 1 1 323 175 513
+279 2 2 1 1 223 381 415
+280 2 2 1 1 132 261 459
+281 2 2 1 1 163 310 355
+282 2 2 1 1 310 189 355
+283 2 2 1 1 133 312 441
+284 2 2 1 1 137 228 476
+285 2 2 1 1 115 229 374
+286 2 2 1 1 381 131 415
+287 2 2 1 1 232 107 508
+288 2 2 1 1 396 247 506
+289 2 2 1 1 245 60 353
+290 2 2 1 1 342 113 526
+291 2 2 1 1 161 254 316
+292 2 2 1 1 12 13 292
+293 2 2 1 1 276 250 547
+294 2 2 1 1 117 331 363
+295 2 2 1 1 332 116 364
+296 2 2 1 1 22 23 294
+297 2 2 1 1 167 230 393
+298 2 2 1 1 231 168 394
+299 2 2 1 1 370 223 415
+300 2 2 1 1 115 392 482
+301 2 2 1 1 47 253 431
+302 2 2 1 1 296 201 524
+303 2 2 1 1 205 311 501
+304 2 2 1 1 208 247 366
+305 2 2 1 1 107 232 403
+306 2 2 1 1 232 155 403
+307 2 2 1 1 311 225 501
+308 2 2 1 1 215 348 518
+309 2 2 1 1 333 114 399
+310 2 2 1 1 242 181 426
+311 2 2 1 1 143 236 352
+312 2 2 1 1 279 67 493
+313 2 2 1 1 243 177 424
+314 2 2 1 1 164 300 305
+315 2 2 1 1 300 145 305
+316 2 2 1 1 280 157 334
+317 2 2 1 1 104 280 334
+318 2 2 1 1 112 305 434
+319 2 2 1 1 144 252 371
+320 2 2 1 1 263 114 356
+321 2 2 1 1 157 263 356
+322 2 2 1 1 280 169 374
+323 2 2 1 1 288 149 550
+324 2 2 1 1 190 257 346
+325 2 2 1 1 109 271 298
+326 2 2 1 1 190 346 375
+327 2 2 1 1 199 462 504
+328 2 2 1 1 99 100 335
+329 2 2 1 1 333 399 474
+330 2 2 1 1 123 517 521
+331 2 2 1 1 239 7 515
+332 2 2 1 1 134 244 469
+333 2 2 1 1 233 183 490
+334 2 2 1 1 148 287 549
+335 2 2 1 1 149 354 550
+336 2 2 1 1 402 277 466
+337 2 2 1 1 277 160 531
+338 2 2 1 1 300 123 521
+339 2 2 1 1 341 136 481
+340 2 2 1 1 289 118 357
+341 2 2 1 1 170 289 357
+342 2 2 1 1 170 295 370
+343 2 2 1 1 7 239 373
+344 2 2 1 1 225 390 501
+345 2 2 1 1 349 216 520
+346 2 2 1 1 333 146 343
+347 2 2 1 1 183 333 343
+348 2 2 1 1 171 255 398
+349 2 2 1 1 351 148 549
+350 2 2 1 1 234 132 459
+351 2 2 1 1 336 188 467
+352 2 2 1 1 136 362 529
+353 2 2 1 1 103 336 338
+354 2 2 1 1 336 179 338
+355 2 2 1 1 156 253 361
+356 2 2 1 1 95 324 372
+357 2 2 1 1 94 95 372
+358 2 2 1 1 236 179 460
+359 2 2 1 1 111 236 460
+360 2 2 1 1 280 104 358
+361 2 2 1 1 169 280 358
+362 2 2 1 1 436 336 467
+363 2 2 1 1 264 222 359
+364 2 2 1 1 254 158 316
+365 2 2 1 1 137 242 562
+366 2 2 1 1 284 397 398
+367 2 2 1 1 258 184 313
+368 2 2 1 1 211 442 474
+369 2 2 1 1 261 224 462
+370 2 2 1 1 132 234 468
+371 2 2 1 1 350 277 531
+372 2 2 1 1 266 159 366
+373 2 2 1 1 116 266 366
+374 2 2 1 1 235 136 487
+375 2 2 1 1 166 274 320
+376 2 2 1 1 274 162 320
+377 2 2 1 1 252 144 326
+378 2 2 1 1 153 258 313
+379 2 2 1 1 276 112 321
+380 2 2 1 1 253 187 361
+381 2 2 1 1 199 312 462
+382 2 2 1 1 170 370 415
+383 2 2 1 1 234 174 468
+384 2 2 1 1 57 258 454
+385 2 2 1 1 363 331 537
+386 2 2 1 1 332 364 538
+387 2 2 1 1 238 63 496
+388 2 2 1 1 141 271 311
+389 2 2 1 1 307 147 392
+390 2 2 1 1 334 157 356
+391 2 2 1 1 183 334 356
+392 2 2 1 1 257 44 447
+393 2 2 1 1 55 56 421
+394 2 2 1 1 54 55 284
+395 2 2 1 1 284 55 421
+396 2 2 1 1 238 195 448
+397 2 2 1 1 62 238 448
+398 2 2 1 1 106 299 401
+399 2 2 1 1 299 196 401
+400 2 2 1 1 75 262 378
+401 2 2 1 1 64 4 422
+402 2 2 1 1 4 65 422
+403 2 2 1 1 140 249 342
+404 2 2 1 1 248 206 493
+405 2 2 1 1 206 279 493
+406 2 2 1 1 390 125 501
+407 2 2 1 1 99 335 500
+408 2 2 1 1 235 209 494
+409 2 2 1 1 236 143 450
+410 2 2 1 1 226 387 498
+411 2 2 1 1 329 148 399
+412 2 2 1 1 289 170 415
+413 2 2 1 1 41 42 340
+414 2 2 1 1 133 241 479
+415 2 2 1 1 303 109 528
+416 2 2 1 1 228 367 555
+417 2 2 1 1 147 308 527
+418 2 2 1 1 289 415 467
+419 2 2 1 1 174 295 357
+420 2 2 1 1 295 170 357
+421 2 2 1 1 237 103 455
+422 2 2 1 1 369 138 489
+423 2 2 1 1 229 369 489
+424 2 2 1 1 178 237 452
+425 2 2 1 1 206 248 529
+426 2 2 1 1 261 191 459
+427 2 2 1 1 322 46 431
+428 2 2 1 1 346 120 375
+429 2 2 1 1 262 165 378
+430 2 2 1 1 46 47 431
+431 2 2 1 1 256 194 368
+432 2 2 1 1 239 152 373
+433 2 2 1 1 257 156 346
+434 2 2 1 1 247 116 366
+435 2 2 1 1 68 248 493
+436 2 2 1 1 307 169 308
+437 2 2 1 1 147 307 308
+438 2 2 1 1 50 51 360
+439 2 2 1 1 198 238 496
+440 2 2 1 1 242 137 445
+441 2 2 1 1 181 242 445
+442 2 2 1 1 77 251 388
+443 2 2 1 1 302 56 454
+444 2 2 1 1 369 229 553
+445 2 2 1 1 34 254 457
+446 2 2 1 1 119 264 359
+447 2 2 1 1 341 121 410
+448 2 2 1 1 207 341 410
+449 2 2 1 1 254 34 463
+450 2 2 1 1 152 239 387
+451 2 2 1 1 365 139 507
+452 2 2 1 1 232 365 507
+453 2 2 1 1 7 92 304
+454 2 2 1 1 265 131 381
+455 2 2 1 1 166 265 381
+456 2 2 1 1 113 249 440
+457 2 2 1 1 60 61 353
+458 2 2 1 1 387 123 498
+459 2 2 1 1 341 207 487
+460 2 2 1 1 339 203 522
+461 2 2 1 1 378 217 556
+462 2 2 1 1 35 36 315
+463 2 2 1 1 32 33 317
+464 2 2 1 1 90 89 318
+465 2 2 1 1 244 134 472
+466 2 2 1 1 189 244 472
+467 2 2 1 1 56 57 454
+468 2 2 1 1 300 164 328
+469 2 2 1 1 123 300 328
+470 2 2 1 1 102 250 368
+471 2 2 1 1 37 38 327
+472 2 2 1 1 45 322 447
+473 2 2 1 1 44 45 447
+474 2 2 1 1 7 93 515
+475 2 2 1 1 191 246 417
+476 2 2 1 1 246 99 417
+477 2 2 1 1 281 133 441
+478 2 2 1 1 196 281 441
+479 2 2 1 1 242 294 562
+480 2 2 1 1 259 92 373
+481 2 2 1 1 390 225 523
+482 2 2 1 1 280 374 541
+483 2 2 1 1 408 141 524
+484 2 2 1 1 98 97 347
+485 2 2 1 1 72 73 314
+486 2 2 1 1 159 476 535
+487 2 2 1 1 88 87 345
+488 2 2 1 1 30 31 344
+489 2 2 1 1 281 473 561
+490 2 2 1 1 252 112 371
+491 2 2 1 1 244 340 469
+492 2 2 1 1 108 277 350
+493 2 2 1 1 197 297 384
+494 2 2 1 1 195 238 516
+495 2 2 1 1 249 140 554
+496 2 2 1 1 172 293 342
+497 2 2 1 1 293 140 342
+498 2 2 1 1 251 154 388
+499 2 2 1 1 326 119 543
+500 2 2 1 1 108 240 408
+501 2 2 1 1 274 91 488
+502 2 2 1 1 52 255 446
+503 2 2 1 1 255 193 446
+504 2 2 1 1 187 241 491
+505 2 2 1 1 241 133 491
+506 2 2 1 1 248 69 385
+507 2 2 1 1 246 191 404
+508 2 2 1 1 288 8 486
+509 2 2 1 1 16 287 485
+510 2 2 1 1 259 160 391
+511 2 2 1 1 91 259 391
+512 2 2 1 1 432 110 437
+513 2 2 1 1 152 259 373
+514 2 2 1 1 91 274 453
+515 2 2 1 1 290 18 484
+516 2 2 1 1 26 291 483
+517 2 2 1 1 144 319 325
+518 2 2 1 1 119 359 543
+519 2 2 1 1 87 86 394
+520 2 2 1 1 29 30 393
+521 2 2 1 1 184 245 480
+522 2 2 1 1 346 156 361
+523 2 2 1 1 253 48 416
+524 2 2 1 1 187 253 416
+525 2 2 1 1 255 171 386
+526 2 2 1 1 154 251 390
+527 2 2 1 1 247 208 506
+528 2 2 1 1 14 267 423
+529 2 2 1 1 267 176 423
+530 2 2 1 1 268 10 424
+531 2 2 1 1 177 268 424
+532 2 2 1 1 71 297 497
+533 2 2 1 1 269 180 425
+534 2 2 1 1 24 269 425
+535 2 2 1 1 181 270 426
+536 2 2 1 1 270 20 426
+537 2 2 1 1 358 205 435
+538 2 2 1 1 148 267 485
+539 2 2 1 1 268 149 486
+540 2 2 1 1 281 196 473
+541 2 2 1 1 257 190 428
+542 2 2 1 1 43 257 428
+543 2 2 1 1 158 254 463
+544 2 2 1 1 150 269 483
+545 2 2 1 1 270 151 484
+546 2 2 1 1 440 249 552
+547 2 2 1 1 172 260 413
+548 2 2 1 1 260 134 413
+549 2 2 1 1 184 258 420
+550 2 2 1 1 258 58 420
+551 2 2 1 1 254 161 457
+552 2 2 1 1 154 262 388
+553 2 2 1 1 302 153 533
+554 2 2 1 1 250 102 405
+555 2 2 1 1 164 250 405
+556 2 2 1 1 145 324 434
+557 2 2 1 1 324 200 434
+558 2 2 1 1 92 7 373
+559 2 2 1 1 292 176 443
+560 2 2 1 1 290 151 377
+561 2 2 1 1 150 291 376
+562 2 2 1 1 265 179 436
+563 2 2 1 1 131 265 436
+564 2 2 1 1 122 386 404
+565 2 2 1 1 153 313 406
+566 2 2 1 1 262 76 388
+567 2 2 1 1 258 153 454
+568 2 2 1 1 473 120 561
+569 2 2 1 1 253 156 431
+570 2 2 1 1 70 71 497
+571 2 2 1 1 8 9 486
+572 2 2 1 1 15 16 485
+573 2 2 1 1 324 145 372
+574 2 2 1 1 18 19 484
+575 2 2 1 1 25 26 483
+576 2 2 1 1 435 205 501
+577 2 2 1 1 153 335 533
+578 2 2 1 1 267 15 485
+579 2 2 1 1 9 268 486
+580 2 2 1 1 200 324 509
+581 2 2 1 1 375 120 473
+582 2 2 1 1 218 375 473
+583 2 2 1 1 19 270 484
+584 2 2 1 1 269 25 483
+585 2 2 1 1 275 90 391
+586 2 2 1 1 273 192 471
+587 2 2 1 1 132 273 471
+588 2 2 1 1 87 88 348
+589 2 2 1 1 156 257 447
+590 2 2 1 1 114 333 356
+591 2 2 1 1 333 183 356
+592 2 2 1 1 69 70 385
+593 2 2 1 1 186 286 514
+594 2 2 1 1 79 80 349
+595 2 2 1 1 287 148 485
+596 2 2 1 1 149 288 486
+597 2 2 1 1 487 207 508
+598 2 2 1 1 278 127 389
+599 2 2 1 1 163 278 389
+600 2 2 1 1 186 379 444
+601 2 2 1 1 259 152 531
+602 2 2 1 1 476 228 535
+603 2 2 1 1 151 290 484
+604 2 2 1 1 291 150 483
+605 2 2 1 1 140 272 554
+606 2 2 1 1 272 210 554
+607 2 2 1 1 167 282 510
+608 2 2 1 1 33 34 457
+609 2 2 1 1 155 252 543
+610 2 2 1 1 154 390 523
+611 2 2 1 1 34 35 463
+612 2 2 1 1 162 274 488
+613 2 2 1 1 109 303 523
+614 2 2 1 1 285 128 382
+615 2 2 1 1 161 285 382
+616 2 2 1 1 129 396 506
+617 2 2 1 1 410 121 534
+618 2 2 1 1 256 410 534
+619 2 2 1 1 91 90 488
+620 2 2 1 1 214 432 437
+621 2 2 1 1 314 73 556
+622 2 2 1 1 178 440 552
+623 2 2 1 1 265 166 511
+624 2 2 1 1 160 259 531
+625 2 2 1 1 397 171 398
+626 2 2 1 1 263 157 489
+627 2 2 1 1 107 403 458
+628 2 2 1 1 403 222 458
+629 2 2 1 1 76 77 388
+630 2 2 1 1 158 315 380
+631 2 2 1 1 315 221 380
+632 2 2 1 1 160 275 391
+633 2 2 1 1 274 166 453
+634 2 2 1 1 266 137 476
+635 2 2 1 1 192 407 451
+636 2 2 1 1 297 71 461
+637 2 2 1 1 175 323 384
+638 2 2 1 1 323 121 384
+639 2 2 1 1 113 260 526
+640 2 2 1 1 194 256 534
+641 2 2 1 1 128 282 395
+642 2 2 1 1 282 167 395
+643 2 2 1 1 217 314 556
+644 2 2 1 1 221 327 389
+645 2 2 1 1 327 163 389
+646 2 2 1 1 354 149 482
+647 2 2 1 1 212 354 482
+648 2 2 1 1 92 91 453
+649 2 2 1 1 161 316 464
+650 2 2 1 1 272 140 407
+651 2 2 1 1 260 172 526
+652 2 2 1 1 344 219 395
+653 2 2 1 1 167 344 395
+654 2 2 1 1 345 168 396
+655 2 2 1 1 220 345 396
+656 2 2 1 1 275 160 402
+657 2 2 1 1 219 317 382
+658 2 2 1 1 317 161 382
+659 2 2 1 1 318 220 383
+660 2 2 1 1 162 318 383
+661 2 2 1 1 335 204 500
+662 2 2 1 1 112 276 547
+663 2 2 1 1 480 245 544
+664 2 2 1 1 223 304 381
+665 2 2 1 1 97 319 509
+666 2 2 1 1 307 115 374
+667 2 2 1 1 169 307 374
+668 2 2 1 1 134 260 472
+669 2 2 1 1 120 346 361
+670 2 2 1 1 96 97 509
+671 2 2 1 1 248 481 529
+672 2 2 1 1 197 341 481
+673 2 2 1 1 80 81 439
+674 2 2 1 1 86 87 442
+675 2 2 1 1 279 206 542
+676 2 2 1 1 297 175 384
+677 2 2 1 1 122 261 462
+678 2 2 1 1 263 138 443
+679 2 2 1 1 292 13 423
+680 2 2 1 1 176 292 423
+681 2 2 1 1 137 266 445
+682 2 2 1 1 180 294 425
+683 2 2 1 1 294 23 425
+684 2 2 1 1 135 480 544
+685 2 2 1 1 285 161 464
+686 2 2 1 1 368 194 412
+687 2 2 1 1 204 406 502
+688 2 2 1 1 481 136 529
+689 2 2 1 1 345 87 394
+690 2 2 1 1 30 344 393
+691 2 2 1 1 179 265 460
+692 2 2 1 1 94 93 370
+693 2 2 1 1 241 360 479
+694 2 2 1 1 71 72 461
+695 2 2 1 1 295 174 409
+696 2 2 1 1 95 295 409
+697 2 2 1 1 282 128 456
+698 2 2 1 1 182 282 456
+699 2 2 1 1 174 273 468
+700 2 2 1 1 135 264 480
+701 2 2 1 1 264 184 480
+702 2 2 1 1 114 263 475
+703 2 2 1 1 266 116 478
+704 2 2 1 1 210 272 530
+705 2 2 1 1 365 232 508
+706 2 2 1 1 110 316 437
+707 2 2 1 1 138 263 489
+708 2 2 1 1 159 266 476
+709 2 2 1 1 304 166 381
+710 2 2 1 1 347 234 459
+711 2 2 1 1 278 178 452
+712 2 2 1 1 127 278 452
+713 2 2 1 1 273 132 468
+714 2 2 1 1 272 118 477
+715 2 2 1 1 314 217 400
+716 2 2 1 1 283 202 539
+717 2 2 1 1 159 337 465
+718 2 2 1 1 415 131 467
+719 2 2 1 1 90 91 391
+720 2 2 1 1 192 273 499
+721 2 2 1 1 153 302 454
+722 2 2 1 1 74 75 378
+723 2 2 1 1 372 145 521
+724 2 2 1 1 178 278 440
+725 2 2 1 1 66 279 495
+726 2 2 1 1 279 198 495
+727 2 2 1 1 315 158 463
+728 2 2 1 1 305 112 547
+729 2 2 1 1 294 180 562
+730 2 2 1 1 348 88 518
+731 2 2 1 1 337 159 535
+732 2 2 1 1 79 349 520
+733 2 2 1 1 115 307 392
+734 2 2 1 1 277 201 466
+735 2 2 1 1 308 169 435
+736 2 2 1 1 200 371 434
+737 2 2 1 1 363 167 510
+738 2 2 1 1 161 317 457
+739 2 2 1 1 202 328 525
+740 2 2 1 1 166 304 453
+741 2 2 1 1 318 162 488
+742 2 2 1 1 376 230 537
+743 2 2 1 1 150 376 537
+744 2 2 1 1 231 377 538
+745 2 2 1 1 377 151 538
+746 2 2 1 1 139 276 507
+747 2 2 1 1 198 279 470
+748 2 2 1 1 185 301 492
+749 2 2 1 1 344 167 393
+750 2 2 1 1 168 345 394
+751 2 2 1 1 175 314 400
+752 2 2 1 1 278 163 551
+753 2 2 1 1 102 368 412
+754 2 2 1 1 187 281 561
+755 2 2 1 1 101 100 397
+756 2 2 1 1 53 54 398
+757 2 2 1 1 157 280 541
+758 2 2 1 1 208 379 427
+759 2 2 1 1 175 297 461
+760 2 2 1 1 133 281 491
+761 2 2 1 1 166 320 511
+762 2 2 1 1 281 187 491
+763 2 2 1 1 239 515 517
+764 2 2 1 1 347 191 417
+765 2 2 1 1 98 347 417
+766 2 2 1 1 293 106 451
+767 2 2 1 1 114 329 399
+768 2 2 1 1 512 237 548
+769 2 2 1 1 188 289 467
+770 2 2 1 1 118 289 477
+771 2 2 1 1 289 188 477
+772 2 2 1 1 427 186 514
+773 2 2 1 1 128 285 492
+774 2 2 1 1 296 141 536
+775 2 2 1 1 322 156 447
+776 2 2 1 1 313 119 406
+777 2 2 1 1 142 283 539
+778 2 2 1 1 110 449 464
+779 2 2 1 1 156 322 431
+780 2 2 1 1 285 185 492
+781 2 2 1 1 317 33 457
+782 2 2 1 1 287 84 549
+783 2 2 1 1 287 16 557
+784 2 2 1 1 84 287 557
+785 2 2 1 1 8 288 558
+786 2 2 1 1 98 99 500
+787 2 2 1 1 173 306 432
+788 2 2 1 1 325 98 500
+789 2 2 1 1 144 325 502
+790 2 2 1 1 325 204 502
+791 2 2 1 1 190 340 428
+792 2 2 1 1 340 42 428
+793 2 2 1 1 336 103 429
+794 2 2 1 1 188 336 429
+795 2 2 1 1 304 92 453
+796 2 2 1 1 470 126 516
+797 2 2 1 1 328 164 405
+798 2 2 1 1 143 306 450
+799 2 2 1 1 35 315 463
+800 2 2 1 1 290 84 560
+801 2 2 1 1 18 290 560
+802 2 2 1 1 27 291 559
+803 2 2 1 1 291 26 559
+804 2 2 1 1 276 321 507
+805 2 2 1 1 550 83 558
+806 2 2 1 1 194 323 513
+807 2 2 1 1 328 202 498
+808 2 2 1 1 123 328 498
+809 2 2 1 1 288 550 558
+810 2 2 1 1 96 95 409
+811 2 2 1 1 306 110 432
+812 2 2 1 1 306 143 519
+813 2 2 1 1 305 145 434
+814 2 2 1 1 101 302 533
+815 2 2 1 1 74 378 556
+816 2 2 1 1 190 375 469
+817 2 2 1 1 48 49 416
+818 2 2 1 1 169 358 435
+819 2 2 1 1 310 39 433
+820 2 2 1 1 125 308 435
+821 2 2 1 1 99 98 417
+822 2 2 1 1 301 182 456
+823 2 2 1 1 58 59 420
+824 2 2 1 1 90 318 488
+825 2 2 1 1 189 310 433
+826 2 2 1 1 309 143 444
+827 2 2 1 1 103 338 455
+828 2 2 1 1 152 350 531
+829 2 2 1 1 515 213 517
+830 2 2 1 1 199 401 441
+831 2 2 1 1 195 353 448
+832 2 2 1 1 353 61 448
+833 2 2 1 1 213 372 521
+834 2 2 1 1 314 175 461
+835 2 2 1 1 105 379 465
+836 2 2 1 1 379 208 465
+837 2 2 1 1 208 427 506
+838 2 2 1 1 13 14 423
+839 2 2 1 1 10 11 424
+840 2 2 1 1 361 187 561
+841 2 2 1 1 110 306 449
+842 2 2 1 1 23 24 425
+843 2 2 1 1 20 21 426
+844 2 2 1 1 306 173 450
+845 2 2 1 1 331 150 537
+846 2 2 1 1 151 332 538
+847 2 2 1 1 42 43 428
+848 2 2 1 1 297 197 497
+849 2 2 1 1 127 512 545
+850 2 2 1 1 39 40 433
+851 2 2 1 1 193 312 479
+852 2 2 1 1 312 133 479
+853 2 2 1 1 353 195 544
+854 2 2 1 1 65 66 495
+855 2 2 1 1 63 64 496
+856 2 2 1 1 316 158 437
+857 2 2 1 1 104 296 505
+858 2 2 1 1 54 284 398
+859 2 2 1 1 284 101 397
+860 2 2 1 1 517 213 521
+861 2 2 1 1 380 127 545
+862 2 2 1 1 141 296 524
+863 2 2 1 1 362 206 529
+864 2 2 1 1 489 157 541
+865 2 2 1 1 385 70 497
+866 2 2 1 1 149 330 482
+867 2 2 1 1 100 101 533
+868 2 2 1 1 51 52 446
+869 2 2 1 1 142 339 522
+870 2 2 1 1 328 405 525
+871 2 2 1 1 176 329 475
+872 2 2 1 1 61 62 448
+873 2 2 1 1 179 336 436
+874 2 2 1 1 298 142 522
+875 2 2 1 1 365 207 410
+876 2 2 1 1 72 314 461
+877 2 2 1 1 309 185 519
+878 2 2 1 1 316 110 464
+879 2 2 1 1 330 177 553
+880 2 2 1 1 252 326 543
+881 2 2 1 1 172 342 526
+882 2 2 1 1 374 229 541
+883 2 2 1 1 180 331 555
+884 2 2 1 1 214 512 548
+885 2 2 1 1 332 181 478
+886 2 2 1 1 180 367 562
+887 2 2 1 1 360 51 446
+888 2 2 1 1 193 360 446
+889 2 2 1 1 458 222 540
+890 2 2 1 1 338 173 455
+891 2 2 1 1 145 300 521
+892 2 2 1 1 302 101 421
+893 2 2 1 1 56 302 421
+894 2 2 1 1 103 419 429
+895 2 2 1 1 419 210 429
+896 2 2 1 1 311 205 536
+897 2 2 1 1 182 337 535
+898 2 2 1 1 362 235 494
+899 2 2 1 1 143 352 444
+900 2 2 1 1 303 154 523
+901 2 2 1 1 165 303 528
+902 2 2 1 1 355 113 551
+903 2 2 1 1 87 348 442
+904 2 2 1 1 349 80 439
+905 2 2 1 1 124 402 466
+906 2 2 1 1 146 333 474
+907 2 2 1 1 183 343 490
+908 2 2 1 1 141 311 536
+909 2 2 1 1 337 105 465
+910 2 2 1 1 116 332 478
+911 2 2 1 1 352 186 444
+912 2 2 1 1 312 193 503
+913 2 2 1 1 84 85 549
+914 2 2 1 1 164 305 547
+915 2 2 1 1 82 83 550
+916 2 2 1 1 329 114 475
+917 2 2 1 1 67 68 493
+918 2 2 1 1 191 347 459
+919 2 2 1 1 308 125 527
+920 2 2 1 1 143 309 519
+921 2 2 1 1 358 104 505
+922 2 2 1 1 205 358 505
+923 2 2 1 1 93 94 546
+924 2 2 1 1 340 190 469
+925 2 2 1 1 323 194 534
+926 2 2 1 1 204 325 500
+927 2 2 1 1 320 111 511
+928 2 2 1 1 319 200 509
+929 2 2 1 1 321 232 507
+930 2 2 1 1 326 144 502
+931 2 2 1 1 430 117 510
+932 2 2 1 1 130 411 532
+933 2 2 1 1 411 227 532
+934 2 2 1 1 245 353 544
+935 2 2 1 1 400 130 513
+936 2 2 1 1 412 194 414
+937 2 2 1 1 203 412 414
+938 2 2 1 1 470 279 542
+939 2 2 1 1 248 385 481
+940 2 2 1 1 83 1 558
+941 2 2 1 1 1 8 558
+942 2 2 1 1 17 84 557
+943 2 2 1 1 16 17 557
+944 2 2 1 1 88 89 518
+945 2 2 1 1 17 18 560
+946 2 2 1 1 84 17 560
+947 2 2 1 1 26 2 559
+948 2 2 1 1 2 27 559
+949 2 2 1 1 78 79 520
+950 2 2 1 1 121 323 534
+951 2 2 1 1 367 180 555
+952 2 2 1 1 322 45 563
+953 2 2 1 1 46 322 563
+954 2 2 1 1 379 186 427
+955 2 2 1 1 177 369 553
+956 2 2 1 1 343 124 490
+957 2 2 1 1 131 436 467
+958 2 2 1 1 73 74 556
+959 2 2 1 1 3 46 563
+960 2 2 1 1 45 3 563
+961 2 2 1 1 101 284 421
+962 2 2 1 1 195 438 544
+963 2 2 1 1 418 209 438
+964 2 2 1 1 163 355 551
+965 2 2 1 1 102 339 525
+966 2 2 1 1 339 202 525
+967 2 2 1 1 414 194 513
+968 2 2 1 1 229 489 541
+969 2 2 1 1 115 330 553
+970 2 2 1 1 125 435 501
+971 2 2 1 1 360 193 479
+972 2 2 1 1 331 117 555
+973 2 2 1 1 335 100 533
+974 2 2 1 1 339 142 539
+975 2 2 1 1 202 339 539
+976 2 2 1 1 301 456 492
+977 2 2 1 1 418 195 516
+978 2 2 1 1 387 239 517
+979 2 2 1 1 126 362 494
+980 2 2 1 1 158 380 545
+981 2 2 1 1 383 129 514
+982 2 2 1 1 401 196 441
+983 2 2 1 1 207 365 508
+984 2 2 1 1 427 129 506
+985 2 2 1 1 422 65 495
+986 2 2 1 1 64 422 496
+987 2 2 1 1 117 363 510
+988 2 2 1 1 113 440 551
+989 2 2 1 1 85 351 549
+990 2 2 1 1 354 82 550
+991 2 2 1 1 195 418 438
+992 2 2 1 1 449 306 519
+993 2 2 1 1 197 385 497
+994 2 2 1 1 386 122 503
+995 2 2 1 1 237 455 548
+996 2 2 1 1 385 197 481
+997 2 2 1 1 362 126 542
+998 2 2 1 1 230 363 537
+999 2 2 1 1 364 231 538
+1000 2 2 1 1 443 176 475
+1001 2 2 1 1 359 155 543
+1002 2 2 1 1 206 362 542
+1003 2 2 1 1 120 361 561
+1004 2 2 1 1 399 211 474
+1005 2 2 1 1 392 212 482
+1006 2 2 1 1 407 192 499
+1007 2 2 1 1 430 182 535
+1008 2 2 1 1 437 158 545
+1009 2 2 1 1 418 126 494
+1010 2 2 1 1 209 418 494
+1011 2 2 1 1 181 445 478
+1012 2 2 1 1 401 199 504
+1013 2 2 1 1 367 137 562
+1014 2 2 1 1 505 296 536
+1015 2 2 1 1 372 213 546
+1016 2 2 1 1 94 372 546
+1017 2 2 1 1 123 387 517
+1018 2 2 1 1 106 401 504
+1019 2 2 1 1 203 414 532
+1020 2 2 1 1 185 449 519
+1021 2 2 1 1 201 408 524
+1022 2 2 1 1 263 443 475
+1023 2 2 1 1 445 266 478
+1024 2 2 1 1 198 422 495
+1025 2 2 1 1 422 198 496
+1026 2 2 1 1 456 128 492
+1027 2 2 1 1 227 411 528
+1028 2 2 1 1 411 165 528
+1029 2 2 1 1 438 209 540
+1030 2 2 1 1 512 214 545
+1031 2 2 1 1 210 552 554
+1032 2 2 1 1 130 414 513
+1033 2 2 1 1 552 249 554
+1034 2 2 1 1 405 102 525
+1035 2 2 1 1 126 418 516
+1036 2 2 1 1 452 237 512
+1037 2 2 1 1 127 452 512
+1038 2 2 1 1 173 432 548
+1039 2 2 1 1 129 427 514
+1040 2 2 1 1 111 460 511
+1041 2 2 1 1 414 130 532
+1042 2 2 1 1 272 477 530
+1043 2 2 1 1 477 188 530
+1044 2 2 1 1 432 214 548
+1045 2 2 1 1 460 265 511
+1046 2 2 1 1 188 429 530
+1047 2 2 1 1 429 210 530
+1048 2 2 1 1 210 419 552
+1049 2 2 1 1 228 430 535
+1050 2 2 1 1 515 93 546
+1051 2 2 1 1 419 178 552
+1052 2 2 1 1 135 438 540
+1053 2 2 1 1 214 437 545
+1054 2 2 1 1 438 135 544
+1055 2 2 1 1 209 458 540
+1056 2 2 1 1 440 278 551
+1057 2 2 1 1 455 173 548
+1058 2 2 1 1 126 470 542
+1059 2 2 1 1 205 505 536
+1060 2 2 1 1 213 515 546
+1061 2 2 1 1 101 6 421
+$EndElements
diff --git a/src/mmdg.cc b/src/mmdg.cc
index e2d4348..4c96269 100644
--- a/src/mmdg.cc
+++ b/src/mmdg.cc
@@ -5,6 +5,7 @@
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <type_traits>
+#include <string>
 
 #include <dune/common/exceptions.hh>
 #include <dune/common/parametertree.hh>
@@ -19,7 +20,8 @@
 #include <dune/mmdg/mmdg.hh>
 #include <dune/mmdg/clockhelper.hh>
 #include <dune/mmdg/problems/coupleddgproblem.hh>
-
+#include <dune/mmdg/problems/mmdgproblem1.hh>
+#include <dune/mmdg/problems/mmdgproblem2.hh>
 
 int main(int argc, char** argv)
 {
@@ -52,31 +54,39 @@ int main(int argc, char** argv)
     const double mu = std::stod(pt["mu"]);
     const double xi = std::stod(pt["xi"]); //coupling parameter
 
-    //create a grid from .dgf file
-    GridFactory gridFactory( "grids/sphere" + std::to_string(dim) + "d.msh" );
-    const Grid& grid = *gridFactory.grid();
-    const GridView& gridView = grid.leafGridView();
-    const IGrid& iGrid = grid.interfaceGrid();
-    const IGridView& iGridView = iGrid.leafGridView();
-
-    //element mapper for the leaf grid views
-    const Mapper mapper(gridView, Dune::mcmgElementLayout());
-    const IMapper iMapper(iGridView, Dune::mcmgElementLayout());
-
     Problem* problem; //problem to be solved
 
+    std::string gridType;
+
     //determine problem type
-    if (pt["problem"] == "poisson")
-    { //TODO
-      problem = new CoupledDGProblem<Coordinate>();
+    if (pt["problem"] == "mmdg1")
+    {
+      problem = new MMDGProblem1<Coordinate>();
+      gridType = "mmdg2";
+    }
+    else if (pt["problem"] == "mmdg2")
+    {
+      problem = new MMDGProblem2<Coordinate>();
+      gridType = "mmdg2";
     }
     else
     {
       DUNE_THROW(Dune::Exception,
         "Invalid problem type or parameter 'problem' not specified in file "
-        "parameterDG.ini (use 'poisson' or TODO)");
+        "parameterDG.ini (use 'mmdg2' or TODO)");
     }
 
+    //create a grid from .dgf file
+    GridFactory gridFactory( "grids/" + gridType + ".msh" );
+    const Grid& grid = *gridFactory.grid();
+    const GridView& gridView = grid.leafGridView();
+    const IGrid& iGrid = grid.interfaceGrid();
+    const IGridView& iGridView = iGrid.leafGridView();
+
+    //element mapper for the leaf grid views
+    const Mapper mapper(gridView, Dune::mcmgElementLayout());
+    const IMapper iMapper(iGridView, Dune::mcmgElementLayout());
+
     MMDG mmdg(grid, gridView, mapper, iGridView, iMapper, *problem);
     mmdg(mu, xi);
 
diff --git a/src/parameterMMDG.ini b/src/parameterMMDG.ini
index c787684..4abb5ef 100644
--- a/src/parameterMMDG.ini
+++ b/src/parameterMMDG.ini
@@ -1,3 +1,3 @@
 mu = 1000
 xi = 0.75
-problem = poisson
+problem = mmdg1
-- 
GitLab