From eff58ab9e7482ed55bedf491c468df2961d50660 Mon Sep 17 00:00:00 2001 From: Elias Pipping <elias.pipping@fu-berlin.de> Date: Wed, 25 Jun 2014 21:10:10 +0200 Subject: [PATCH] [Algorit] Grid: Finer coarse grid --- src/sand-wedge-data/mygrid.cc | 39 +++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/src/sand-wedge-data/mygrid.cc b/src/sand-wedge-data/mygrid.cc index d4fa12ea..b2e95653 100644 --- a/src/sand-wedge-data/mygrid.cc +++ b/src/sand-wedge-data/mygrid.cc @@ -52,7 +52,17 @@ template <class Grid> class GridConstructor { auto const &B = MyGeometry::B; auto const &C = MyGeometry::C; - unsigned int const vc = 3; + auto const AB = midPoint(A, B); + auto const AC = midPoint(A, C); + auto const BC = midPoint(B, C); + + auto const AAB = midPoint(A, AB); + auto const AAC = midPoint(A, AC); + auto const ABB = midPoint(AB, B); + auto const ABC = midPoint(AB, C); // the interiour point + auto const ACC = midPoint(AC, C); + + unsigned int const vc = 11; #if DIM == 3 Dune::FieldMatrix<double, 2 * vc, DIM> vertices; @@ -62,12 +72,28 @@ template <class Grid> class GridConstructor { for (size_t i = 0; i < 2; ++i) { size_t k = 0; vertices[k++][i] = A[i]; + vertices[k++][i] = AAB[i]; + vertices[k++][i] = AB[i]; + vertices[k++][i] = ABB[i]; vertices[k++][i] = B[i]; + vertices[k++][i] = AAC[i]; + vertices[k++][i] = AC[i]; + vertices[k++][i] = ABC[i]; + vertices[k++][i] = BC[i]; + vertices[k++][i] = ACC[i]; vertices[k++][i] = C[i]; assert(k == vc); #if DIM == 3 vertices[k++][i] = A[i]; + vertices[k++][i] = AAB[i]; + vertices[k++][i] = AB[i]; + vertices[k++][i] = ABB[i]; vertices[k++][i] = B[i]; + vertices[k++][i] = AAC[i]; + vertices[k++][i] = AC[i]; + vertices[k++][i] = ABC[i]; + vertices[k++][i] = BC[i]; + vertices[k++][i] = ACC[i]; vertices[k++][i] = C[i]; assert(k == 2 * vc); #endif @@ -95,7 +121,16 @@ template <class Grid> class GridConstructor { #else SimplexManager sm; #endif - sm.addFromVertices(0, 1, 2); + sm.addFromVertices(1, 5, 0); + sm.addFromVertices(1, 6, 5); + sm.addFromVertices(2, 6, 1); + sm.addFromVertices(7, 6, 2); + sm.addFromVertices(7, 2, 3); + sm.addFromVertices(7, 3, 8); + sm.addFromVertices(7, 8, 10); + sm.addFromVertices(7, 10, 9); + sm.addFromVertices(7, 9, 6); + sm.addFromVertices(8, 3, 4); auto const &simplices = sm.getSimplices(); // sanity-check choices of simplices -- GitLab