template <int dim>
-class MyBoundary : public Boundary<dim>
+class MyBoundary : public Manifold<dim>
{
virtual Point<dim>
- get_new_point_on_line (const typename Triangulation<dim>::line_iterator &line) const
+ get_new_point (const std::vector<Point<dim> > &v,
+ const std::vector<double> &ws) const
{
- deallog << "Finding point between "
- << line->vertex(0) << " and "
- << line->vertex(1) << std::endl;
-
- // in 2d, find a point that
- // lies on the opposite side
- // of the quad. in 3d, choose
- // the midpoint of the edge
- if (dim == 2)
- return Point<dim>(0,0.75);
- else
- return (line->vertex(0) + line->vertex(1)) / 2;
- }
-
- virtual Point<dim>
- get_new_point_on_quad (const typename Triangulation<dim>::quad_iterator &quad) const
- {
- deallog << "Finding point between "
- << quad->vertex(0) << " and "
- << quad->vertex(1) << " and "
- << quad->vertex(2) << " and "
- << quad->vertex(3) << std::endl;
-
- return Point<dim>(0,0,.75);
+ switch(v.size()) {
+ case 2:
+ deallog << "Finding point between "
+ << v[0] << " and "
+ << v[1] << std::endl;
+
+ // in 2d, find a point that
+ // lies on the opposite side
+ // of the quad. in 3d, choose
+ // the midpoint of the edge
+ if (dim == 2)
+ return Point<dim>(0,0.75);
+ else
+ return (v[0] + v[1]) / 2;
+ break;
+ default:
+ deallog << "Finding point between "
+ << v[0] << " and "
+ << v[1] << " and "
+ << v[2] << " and "
+ << v[3] << std::endl;
+
+ return Point<dim>(0,0,.75);
+ break;
+ }
}
};
deallog << cell << std::endl;
for (unsigned int v=0; v<GeometryInfo<3>::vertices_per_cell; ++v)
- deallog << "<" << cell->vertex(v) << "> ";
+ deallog << "< " << cell->vertex(v) << " > ";
deallog << std::endl;
Assert (p.distance (cell->center()) < cell->diameter()/2,
DEAL::2.3
-DEAL::<0.250000 0.250000 0.00000> <0.500000 0.250000 0.00000> <0.250000 0.500000 0.00000> <0.500000 0.500000 0.00000> <0.250000 0.250000 0.250000> <0.500000 0.250000 0.250000> <0.250000 0.500000 0.250000> <0.500000 0.500000 0.250000>
+DEAL::< 0.250000 0.250000 0.00000 > < 0.500000 0.250000 0.00000 > < 0.250000 0.500000 0.00000 > < 0.500000 0.500000 0.00000 > < 0.250000 0.250000 0.250000 > < 0.500000 0.250000 0.250000 > < 0.250000 0.500000 0.250000 > < 0.500000 0.500000 0.250000 >
DEAL::2.435
-DEAL::<0.286905 0.658777 4.33681e-19> <0.209333 0.437629 8.67362e-19> <0.562887 0.562887 8.67362e-19> <0.418667 0.418667 1.73472e-18> <0.269808 0.604598 0.269808> <0.203251 0.422066 0.203251> <0.530301 0.530301 0.245590> <0.406502 0.406502 0.197169>
+DEAL::< 0.286905 0.658777 4.33681e-19 > < 0.209333 0.437629 8.67362e-19 > < 0.562887 0.562887 8.67362e-19 > < 0.418667 0.418667 1.73472e-18 > < 0.269808 0.604598 0.269808 > < 0.203251 0.422066 0.203251 > < 0.530301 0.530301 0.245590 > < 0.406502 0.406502 0.197169 >
deallog << cell << std::endl;
for (unsigned int v=0; v<GeometryInfo<3>::vertices_per_cell; ++v)
- deallog << "<" << cell->vertex(v) << "> ";
+ deallog << "< " << cell->vertex(v) << " > ";
deallog << std::endl;
Assert (p.distance (cell->center()) < cell->diameter()/2,
DEAL::1.0
-DEAL::<0.00000 0.00000 0.00000> <0.500000 0.00000 0.00000> <0.00000 0.00000 -0.500000> <0.500000 0.00000 -0.500000> <0.00000 0.500000 0.00000> <0.500000 0.500000 0.00000> <0.00000 0.500000 -0.500000> <0.500000 0.500000 -0.500000>
+DEAL::< 0.00000 0.00000 0.00000 > < 0.500000 0.00000 0.00000 > < 0.00000 0.00000 -0.500000 > < 0.500000 0.00000 -0.500000 > < 0.00000 0.500000 0.00000 > < 0.500000 0.500000 0.00000 > < 0.00000 0.500000 -0.500000 > < 0.500000 0.500000 -0.500000 >
DEAL::1.16
-DEAL::<0.00000 0.00000 0.00000> <0.500000 0.00000 0.00000> <0.00000 0.00000 -0.500000> <0.500000 0.00000 -0.500000> <0.00000 0.500000 0.00000> <0.500000 0.500000 0.00000> <0.00000 0.500000 -0.500000> <0.500000 0.500000 -0.500000>
+DEAL::< 0.00000 0.00000 0.00000 > < 0.500000 0.00000 0.00000 > < 0.00000 0.00000 -0.500000 > < 0.500000 0.00000 -0.500000 > < 0.00000 0.500000 0.00000 > < 0.500000 0.500000 0.00000 > < 0.00000 0.500000 -0.500000 > < 0.500000 0.500000 -0.500000 >
DEAL::1.50
-DEAL::<0.00000 0.577350 -0.577350> <1.73472e-18 0.394338 -0.394338> <0.577350 0.577350 -0.577350> <0.394338 0.394338 -0.394338> <0.00000 0.577350 0.00000> <1.44560e-19 0.394338 0.00000> <0.577350 0.577350 0.00000> <0.394338 0.394338 1.73472e-18>
+DEAL::< 0.00000 0.577350 -0.577350 > < 1.73472e-18 0.394338 -0.394338 > < 0.577350 0.577350 -0.577350 > < 0.394338 0.394338 -0.394338 > < 0.00000 0.577350 0.00000 > < 1.44560e-19 0.394338 0.00000 > < 0.577350 0.577350 0.00000 > < 0.394338 0.394338 1.73472e-18 >
deallog << cell << std::endl;
for (unsigned int v=0; v<GeometryInfo<3>::vertices_per_cell; ++v)
- deallog << "<" << cell->vertex(v) << "> ";
+ deallog << "< " << cell->vertex(v) << " > ";
deallog << std::endl;
// Transform back and forth
DEAL::3.72
-DEAL::<0.750000 0.00000 0.00000> <0.875000 0.00000 0.00000> <0.750000 0.125000 0.00000> <0.875000 0.125000 0.00000> <0.750000 0.00000 0.125000> <0.875000 0.00000 0.125000> <0.750000 0.125000 0.125000> <0.875000 0.125000 0.125000>
+DEAL::< 0.750000 0.00000 0.00000 > < 0.875000 0.00000 0.00000 > < 0.750000 0.125000 0.00000 > < 0.875000 0.125000 0.00000 > < 0.750000 0.00000 0.125000 > < 0.875000 0.00000 0.125000 > < 0.750000 0.125000 0.125000 > < 0.875000 0.125000 0.125000 >
DEAL::3.65
-DEAL::<0.625000 0.00000 0.00000> <0.750000 0.00000 0.00000> <0.625000 0.125000 0.00000> <0.750000 0.125000 0.00000> <0.625000 0.00000 0.125000> <0.750000 0.00000 0.125000> <0.625000 0.125000 0.125000> <0.750000 0.125000 0.125000>
+DEAL::< 0.625000 0.00000 0.00000 > < 0.750000 0.00000 0.00000 > < 0.625000 0.125000 0.00000 > < 0.750000 0.125000 0.00000 > < 0.625000 0.00000 0.125000 > < 0.750000 0.00000 0.125000 > < 0.625000 0.125000 0.125000 > < 0.750000 0.125000 0.125000 >
DEAL::3.72
-DEAL::<0.750000 0.00000 0.00000> <0.875000 0.00000 0.00000> <0.750000 0.125000 0.00000> <0.875000 0.125000 0.00000> <0.750000 0.00000 0.125000> <0.875000 0.00000 0.125000> <0.750000 0.125000 0.125000> <0.875000 0.125000 0.125000>
+DEAL::< 0.750000 0.00000 0.00000 > < 0.875000 0.00000 0.00000 > < 0.750000 0.125000 0.00000 > < 0.875000 0.125000 0.00000 > < 0.750000 0.00000 0.125000 > < 0.875000 0.00000 0.125000 > < 0.750000 0.125000 0.125000 > < 0.875000 0.125000 0.125000 >
deallog << cell.first << std::endl;
for (unsigned int v=0; v<GeometryInfo<3>::vertices_per_cell; ++v)
- deallog << "<" << cell.first->vertex(v) << "> "<< std::endl;
+ deallog << "< " << cell.first->vertex(v) << " > "<< std::endl;
deallog << "[ " << cell.second << "] ";
deallog << std::endl << std::endl;
DEAL::2.3
-DEAL::<0.250000 0.250000 0.00000>
-DEAL::<0.500000 0.250000 0.00000>
-DEAL::<0.250000 0.500000 0.00000>
-DEAL::<0.500000 0.500000 0.00000>
-DEAL::<0.250000 0.250000 0.250000>
-DEAL::<0.500000 0.250000 0.250000>
-DEAL::<0.250000 0.500000 0.250000>
-DEAL::<0.500000 0.500000 0.250000>
+DEAL::< 0.250000 0.250000 0.00000 >
+DEAL::< 0.500000 0.250000 0.00000 >
+DEAL::< 0.250000 0.500000 0.00000 >
+DEAL::< 0.500000 0.500000 0.00000 >
+DEAL::< 0.250000 0.250000 0.250000 >
+DEAL::< 0.500000 0.250000 0.250000 >
+DEAL::< 0.250000 0.500000 0.250000 >
+DEAL::< 0.500000 0.500000 0.250000 >
DEAL::[ 0.333333 1.00000 0.800000]
DEAL::
DEAL::2.435
-DEAL::<0.286905 0.658777 4.33681e-19>
-DEAL::<0.209333 0.437629 8.67362e-19>
-DEAL::<0.562887 0.562887 8.67362e-19>
-DEAL::<0.418667 0.418667 1.73472e-18>
-DEAL::<0.269808 0.604598 0.269808>
-DEAL::<0.203251 0.422066 0.203251>
-DEAL::<0.530301 0.530301 0.245590>
-DEAL::<0.406502 0.406502 0.197169>
+DEAL::< 0.286905 0.658777 4.33681e-19 >
+DEAL::< 0.209333 0.437629 8.67362e-19 >
+DEAL::< 0.562887 0.562887 8.67362e-19 >
+DEAL::< 0.418667 0.418667 1.73472e-18 >
+DEAL::< 0.269808 0.604598 0.269808 >
+DEAL::< 0.203251 0.422066 0.203251 >
+DEAL::< 0.530301 0.530301 0.245590 >
+DEAL::< 0.406502 0.406502 0.197169 >
DEAL::[ 0.494208 0.406025 0.866848]
DEAL::
deallog << cell.first << std::endl;
for (unsigned int v=0; v<GeometryInfo<3>::vertices_per_cell; ++v)
- deallog << "<" << cell.first->vertex(v) << "> ";
+ deallog << "< " << cell.first->vertex(v) << " > ";
deallog << "[ " << cell.second << "] ";
deallog << std::endl;
DEAL::1.0
-DEAL::<0.00000 0.00000 0.00000> <0.500000 0.00000 0.00000> <0.00000 0.00000 -0.500000> <0.500000 0.00000 -0.500000> <0.00000 0.500000 0.00000> <0.500000 0.500000 0.00000> <0.00000 0.500000 -0.500000> <0.500000 0.500000 -0.500000> [ 0.666667 0.400000 1.00000]
+DEAL::< 0.00000 0.00000 0.00000 > < 0.500000 0.00000 0.00000 > < 0.00000 0.00000 -0.500000 > < 0.500000 0.00000 -0.500000 > < 0.00000 0.500000 0.00000 > < 0.500000 0.500000 0.00000 > < 0.00000 0.500000 -0.500000 > < 0.500000 0.500000 -0.500000 > [ 0.666667 0.400000 1.00000]
DEAL::1.16
-DEAL::<0.00000 0.00000 0.00000> <0.500000 0.00000 0.00000> <0.00000 0.00000 -0.500000> <0.500000 0.00000 -0.500000> <0.00000 0.500000 0.00000> <0.500000 0.500000 0.00000> <0.00000 0.500000 -0.500000> <0.500000 0.500000 -0.500000> [ 0.666667 0.400000 1.00000]
+DEAL::< 0.00000 0.00000 0.00000 > < 0.500000 0.00000 0.00000 > < 0.00000 0.00000 -0.500000 > < 0.500000 0.00000 -0.500000 > < 0.00000 0.500000 0.00000 > < 0.500000 0.500000 0.00000 > < 0.00000 0.500000 -0.500000 > < 0.500000 0.500000 -0.500000 > [ 0.666667 0.400000 1.00000]
DEAL::1.50
-DEAL::<0.00000 0.577350 -0.577350> <1.73472e-18 0.394338 -0.394338> <0.577350 0.577350 -0.577350> <0.394338 0.394338 -0.394338> <0.00000 0.577350 0.00000> <1.44560e-19 0.394338 0.00000> <0.577350 0.577350 0.00000> <0.394338 0.394338 1.73472e-18> [ 0.422650 0.666667 0.600000]
+DEAL::< 0.00000 0.577350 -0.577350 > < 1.73472e-18 0.394338 -0.394338 > < 0.577350 0.577350 -0.577350 > < 0.394338 0.394338 -0.394338 > < 0.00000 0.577350 0.00000 > < 1.44560e-19 0.394338 0.00000 > < 0.577350 0.577350 0.00000 > < 0.394338 0.394338 1.73472e-18 > [ 0.422650 0.666667 0.600000]