From fd1ce64163abb8c7a8990e67947958a349a41844 Mon Sep 17 00:00:00 2001 From: Jiaxin Wang Date: Fri, 21 Sep 2018 13:57:49 +0200 Subject: [PATCH] Update step-30.cc --- examples/step-30/step-30.cc | 64 ++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/examples/step-30/step-30.cc b/examples/step-30/step-30.cc index 4e1b19f6aa..096f7a95a8 100644 --- a/examples/step-30/step-30.cc +++ b/examples/step-30/step-30.cc @@ -568,13 +568,13 @@ namespace Step30 // situation of our cell and the neighbor we want to treat // only one half, so that each face is considered only // once. Thus we have the additional condition, that the - // cell with the higher level does the work. In the rare - // case that both cells have the same level, the cell with - // lower index is selected. - if (!cell->neighbor_is_coarser(face_no) && - (neighbor->level() < cell->level() || - (neighbor->index() > cell->index() && - neighbor->level() == cell->level()))) + // cell with the higher level does the work. In case that + // both cells have the same level, the cell with lower index + // is selected. + if (dim>1 && cell->neighbor_is_coarser(face_no) continue; + if (neighbor->level() < cell->level() || + (neighbor->index() > cell->index() && + neighbor->level() == cell->level())) { // Here we know, that the neighbor is not coarser so we // can use the usual @p neighbor_of_neighbor @@ -582,33 +582,33 @@ namespace Step30 // general @p neighbor_face_no function. const unsigned int neighbor2=cell->neighbor_of_neighbor(face_no); - ue_vi_matrix = 0; - ui_ve_matrix = 0; - ue_ve_matrix = 0; - - fe_v_face.reinit (cell, face_no); - fe_v_face_neighbor.reinit (neighbor, neighbor2); - - dg.assemble_face_term2(fe_v_face, - fe_v_face_neighbor, - ui_vi_matrix, - ue_vi_matrix, - ui_ve_matrix, - ue_ve_matrix); + ue_vi_matrix = 0; + ui_ve_matrix = 0; + ue_ve_matrix = 0; - neighbor->get_dof_indices (dofs_neighbor); + fe_v_face.reinit (cell, face_no); + fe_v_face_neighbor.reinit (neighbor, neighbor2); - for (unsigned int i=0; iget_dof_indices (dofs_neighbor); + + for (unsigned int i=0; i