From 04282691c165967b60ece8c3e269a583bc747bc4 Mon Sep 17 00:00:00 2001 From: hartmann Date: Tue, 3 Apr 2001 15:42:56 +0000 Subject: [PATCH] New ExcMultiplySetLineInfoOfLine exception. Fix: Check for the error that previously lead to an (wrong) exception thrown somewhere else. git-svn-id: https://svn.dealii.org/trunk@4364 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/include/grid/tria.h | 7 +++++++ deal.II/deal.II/source/grid/tria.cc | 23 ++++++++++++++++++++--- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/deal.II/deal.II/include/grid/tria.h b/deal.II/deal.II/include/grid/tria.h index aed1c76238..457ca134f5 100644 --- a/deal.II/deal.II/include/grid/tria.h +++ b/deal.II/deal.II/include/grid/tria.h @@ -2993,6 +2993,13 @@ class Triangulation : public TriaDimensionInfo, * Exception */ DeclException0 (ExcInteriorQuadCantBeBoundary); + /** + * Exception + */ + DeclException2 (ExcMultiplySetLineInfoOfLine, + int, int, + << "In SubCellData the line info of the line with vertex indices " + << arg1 << " and " << arg2 << " is multiply set."); /** * Exception */ diff --git a/deal.II/deal.II/source/grid/tria.cc b/deal.II/deal.II/source/grid/tria.cc index d368203b64..af652318bd 100644 --- a/deal.II/deal.II/source/grid/tria.cc +++ b/deal.II/deal.II/source/grid/tria.cc @@ -729,9 +729,10 @@ void Triangulation<2>::create_triangulation (const std::vector > &v, }; }; - // Assert that only exterior lines - // are given a boundary indicator - if (! (line->boundary_indicator() == 0)) + // assert that we only set + // boundary info once + if (line->boundary_indicator() != 0 && + line->boundary_indicator() != 255) { // clear will only work if // there are no @@ -750,6 +751,22 @@ void Triangulation<2>::create_triangulation (const std::vector > &v, for (unsigned int i=0; iboundary_indicator() == 255) + { + // same as above + const unsigned int n=n_subscriptions(); + for (unsigned int i=0; i