// 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."));
+ 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
AssertThrow ((n_adj_cells >= 1) &&
(n_adj_cells <= 2),
ExcInternalError())
- else
- AssertThrow ((n_adj_cells >= 1) &&
- (n_adj_cells <= 2),
- ExcMessage ("You have a line in your triangulation "
- "at which more than two cells come together. "
- "\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 line), 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 line, "
- "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 lines have the same "
- "value, using the ConstraintMatrix class."));
+ else
+ AssertThrow ((n_adj_cells >= 1) &&
+ (n_adj_cells <= 2),
+ ExcMessage ("You have a line in your triangulation "
+ "at which more than two cells come together. "
+ "\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 line), 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 line, "
+ "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 lines have the same "
+ "value, using the ConstraintMatrix class."));
// if only one cell: line is at
// boundary -> give it the