case 2:
break;
default:
- // a node must have one
- // or two adjacent
- // lines
- AssertThrow (false, ExcInternalError());
+ // in 1d, a node must have one or two adjacent lines
+ if (spacedim==1)
+ AssertThrow (false, ExcInternalError())
+ else
+ AssertThrow (false,
+ ExcMessage ("You have a vertex in your triangulation "
+ "at which more than two cells come together. "
+ "(For one dimensional triangulation, cells are "
+ "line segments.)"
+ "\n\n"
+ "This is not currently supported because the "
+ "Triangulation class makes the assumption that "
+ "every cell has zero or one neighbors behind "
+ "each face (here, behind each vertex), but in your "
+ "situation there would be more than one."
+ "\n\n"
+ "Support for this is not currently implemented. "
+ "If you need to work with triangulations where "
+ "more than two cells come together at a vertex, "
+ "duplicate the vertices once per cell (i.e., put "
+ "multiple vertices at the same physical location, "
+ "but using different vertex indices for each) "
+ "and then ensure continuity of the solution by "
+ "explicitly creating constraints that the degrees "
+ "of freedom at these vertices have the same "
+ "value, using the ConstraintMatrix class."));
}
// assert there are no more